004%7949/89 53.00 + 0.00 0 1989 Pcrgamon Press plc
Computers & Structures Vol. 33, No. 3, pp. 897402, 1989 Printed in Great Britain.
TECHNICAL NOTE PRETAP: AN EXPERT PREPROCESSOR FOR A STRUCTURAL ANALYSIS PROGRAM OF TALL BUILDINGS CA0 LI The Ninth Design and Research Institute, P.O. Box 5318, Shanghai, China (Receiued 9 August 1988) Ahstraet-PRETAP is a preprocessor for a three-dimensional frame analysis program of tall buildings. It has some facilities to help the designer preparing, checking and modifying a structural knowledge base which contains necessary structural information for the analysis program. With the help of the preprocessor, the designer can create a data flle for the analysis program without consideration of input formats which is usually necessary in conventional programs. This paper is divided into two major sections. The hrst section describes a strategy of intelligent representation of structural information of tall buildings. The second section gives a brief summary about project design and the main functions of the preprocessor. Finally, the preprocessor is evaluated in comparison with the definition of an ideal preprocessor for stuctural analysis programs.
1.
INTRODUCTION
A data file for a structural analysis program usually contains a lot of information about geometry, topology, material properties and loading conditions of a structure. The data file should be prepared carefully according to the input format of a program, without any error remaining. If the designer wants to modify a data file, he has to use the editor commands of the computer system to change it. It would be a hard task for him to pick up many data errors in a data file, if the tile is quite large. The entering and checking of data is really a time consuming and tedious task in the structural analysis stage, which cannot be avoided by designers. This is a common problem of a great deal of conventional structural analysis programs which demand users to enter data files according to fixed input formats. In this case, structural engineers often need somebody to help them to solve this sort of problem, who could be called experts in structural analysis. Usually, it is useful to structural engineers if a structural analysis program has a user-friendly preprocessor, which enables the designer to translate a physical model into a mathematical one easily and efficiently. The term ‘userfriendly’ means that a preprocessor can be operated with relative ease by a user who is an engineer having some familiarity with computer-aided design systems. Some software makes use of an interactive preprocessor with graphics which could automatically generate the geometry and topology information of a structure and allow the designer to choose requirements for a design project [l, 21. This sort of interactive preprocessor is especially suitable to frame building structures, because element and load conditions of frame structures are easy to group. To high-rise building structures with complex configuration, it would be difficult to apply such a strategy in a pmprocessor. An expert preprocessor would be use.ful to structural engineers when they have to prepare data files for a structural analysis program. Recently, there has been increasing effort in the application of artificial intelligence (AI) in structural engineering [3,4]. Computer programs using AI techniques to assist people in solving difficult problems involving knowledge,
heuristics and decision making are called knowledge base systems, expert systems or intelligent systems. A sophisticated expert system is expected to have the following facilities: documentation, help facility, explanation and advice, debugging and knowledge acquisition (51. Although there have been few expert system programs with applications in structural design projects up to the present, expert system methodology would be valuable in developing computer-aided structural design systems. Generally speaking, the application of AI in structural engineering will make it possible for structural engineers to make full use of CAD systems, and to solve many engineering problems which cannot be solved by conventional programs. The idea of expert systems can also be introduced into the engineering domain of preprocessors of structural analysis programs. A database containing structural information for an analysis program can be visualized as a static knowledge base [a]. After a structural knowledge base has been built, an expert preprocessor can be developed which has facilities to help the designer in preparing and checking the knowledge base, then creating a data file for a structural analysis program. PRETAP is such a preprocessor, which will be described in detail as follows. 2. SI’RUCTUEALKNOWLEDGEBASE The TAP-86 Program is a three-dimensional frame analysis program of tall buildings written in FORTRAN, which can be used to analyze such tall building systems as space frame, shear walls and tubular structures under static and seismic loads, as well as to calculate member forces and reinforcing steels of beams, columns and shear walls [7]. There are three kinds of basic elements in the mathematical analysis model: beam, column and thin-wall column elements. Before analyzing a high-rise building structure, a data file including element information, node information and supplementary information about wind loads and material properties should be prepared in advance. Usually, the size of a data file depends on the complexity of a structure. It is possible for a data file to have more than ten thousand lines. The task of entering and checking a large amount of 897
Technical Note
898
1 parameters
Fig. I. The semantic network of structural information.
data is time consuming and tedious, In adddition, the possjbility of a mistake that would lead to meanin~ess results is substantial. The fust step towards developing an expert system is to tind a strategy of knowledge representation. An expert preprocessor for a structural analysis program does this. According to the concept of knowledge representation, there exists three common ways to represent knowledge in expert systems: rules, frames and semantic networks [S]. The major use of semantic networks in an expert system is for representing objects and relationships ]9]. A frame can be used as a description of an object or class of objects that contains slots for all the information about the object or the class [IO]. After sorting structural info~ation for the TAP86 Program, tt was discovered that structural information could be expressed as a sort of semantic network, shown in Fig. 1. The root node of structural info~ation is *structural information’ which contains a set of attributes associated with it. The second level nodes are ‘element information’, ‘node info~at~on’ and ~suppiementary info~ation’. Each information group contains attributes of beam, column and thin-wall column information. Node information contains attributes of node type and nodal coordinates. Supplementary informatron contains material properties and other parameters as well as wind loads. The major part of structural info~ation is element information which consists of a lot of objects having the same number of attributes. These objects are beam. column and thin-wall column info~ation which can be represented in three different frame systems shown in Fig. 2. In a frame system, every object has the same number of slots containing
Ream
Column
Thin-wall coiumn
floor number beam number breadth depth beam connectivity distributed load concentrated load
floor number node number breadth depth angle load
floor number node number wall thickness wall connectivity wall coordinates load
Fig. 2. Frame representation
of element information.
values. An attribute in an object can be searched by the object title and pointer. After the structural info~ation for the TAP-86 Program is expressed as a sort of semantic network or a combination of semantic nets and frames, it is possible to search any item in a structural knowledge base by a method in accordance with the designer’s custom. For example, the section dimension of a column can be searched based on the floor number and node number after entering the column frame system. The logic programming language PROLOG is often referred to as an artificial intelligence language, which has features of backtracking, dynamic database management and interactive man-machine dialogue environment [l I]. A lot of expert system programs are written in PROLOG. There are two types of data structures in PROLOG which are very useful and powerful, namely facts and lists. A fact is an item in PROLOG which has more than one attribute in it. A fact can be used to represent an object in a frame representation system. The title of a fact is equal to that of an object, and the attributes in it are equal to those in slots of an object. A list in PROLOG is an ordered series of items that can be accessed as a single argument. It is quite interesting to compare arrays with lists. Arrays in PORTRAN are also lists, but they have a fixed length for each element and a fixed number of slots for elements. It is ditbcult to insert and delete elements in an array, so arrays are said to be static data structures 1121.But lists in PROLOG are dynamic data structures, which are very useful in dynamic database management systems. The advantage of PROLOG for knowledge representation is not only that it is essentially a very powerful relational database enquiry language, but it is also a practical pro8ra~ng language in its own right fI3]. After a knowledge base is represented in PROLOG, it is easy to build an inference mechanism, also in the same language. It is found that the data structures of PROLOG are suitable for building a structural knowledge base according to the semantic network’s representation of structural information for the TAP-86 Program. Each node can be expressed as a fact which has several attributes, and the title of a fact can be used as the entry pointer of an object. Therefore, a structural knowledge base consisting of eight types of facts about structural information could be set up for convenience. Ream, column and thin-wall column information
899
Technical Note
nodes. Supplementary information is implemented in three types of facts, ‘total’, ‘floor’ and ‘wind load’. The ‘total’ fact has attributes of parameters for structural analysis. The ‘floor’ facts have attributes of material properties, stories and story height of each floor. Here, several stories having the same element and loading information are called a floor. The facts ‘wind load’ only express wind loads and eccentricities of each story of a structure. The architecture of a structural knowledge base is shown in Fig. 3. It is not difficult to find that building a structural knowledge base would be more convenient to the designer than writing a data lile according to the lixed input formats of an analysis program. Also, unlike FORTRAN programs which usually make use of an array to store a lot of data and often get stopped when reading an error datum, the PROLOG program can read in an unlinished knowledge base and then assert it into a dynamic database, never considering what happens in the knowledge base. Users can continue working on an unfinished knowledge base without stopping because PROLOG programs can read a fact as a datum. The advantage in using a strategy such as that described above is that it makes it possible to apply some ideas of expert systems in developing an intelligent preprocessor.
structural knowledge base LI-L5
total(L1, L2, L3, LA, L5) attributes representing structural parameters
Xi, Yi
coor([lxl, Yl] , . . . , wi, Yil , +. . . , lXn, Ynll) coordinates of the ith node node(Ll,[Nl , . . . , Ni, . . . . , Nn])
Ll Ni
floor number node type of the ith node floor(Ll, L2,13, LA, L5, L6)
Ll L2-L6
floor number attributes representing material properties, stories and story height
Ll L2 L3-L 1I
floor number beam number attributes representing section dimension, beam connectivity and load conditions
3. PROJECT DBIGN
AND bum
FUN~ONS
column(Ll, L2, L3, LA, L5, L6) Ll L2 L3-L6
floor number node number attributes representing section dimension and load conditions thin-wall(Ll, L2, L3, L4)
Ll L2 L3-0
floor number node number lists representing wall information and wall point coordinates wind load(L1, L2, L3, LA, L5)
Ll L2-L3
story number attributes representing wind load and eccentricity
Fig. 3. The architecture of a structural knowledge base.
will be included in three different frame systems which consist of beam’, ‘column’ and ‘thin-wall’ facts respectively. Node information is implemented in two types of facts, one is ‘node’ fact which indicates node types of every node, another is ‘coo? which uses a list to express coordinates of
I
User interface
-
-
The project design is based on the concept that a preprocessor should supply efficient means for the designer to build and modify a structural knowledge base interactively using computers, and get help from computers about how to do every step of his work. It is a basic demand that the preprocessor should make it possible for the designer to create a data lile for the TAP-86 Program from beginning to end without any help from an expert. The function of PRETAP can be divided into three main parts: database management, graphics interface and interfacing with the analysis program. The facility of database management includes those function procedures which enable users to build, check and modify a knowledge base. The facility of graphics interface enables users to use a graphics program VIEWER [14] to get a three-dimensional view of a structure. The facility of interfacing with the analysis program enables users to create a data file for the TAP-86 Program and a document of a structural knowledge base. The architecture of PRETAP is shown in Fig. 4. PRETAP is a menu-driven program which consists of 10 function procedures. At the beginning, users can choose. different functions from the main menu. Almost every function procedure has its sub menu or explanations to indicate what functions it has, so users can choose different functions from the sub menu after entering a function procedure from the main menu. If the user finishes work in a function procedure, he can return to the main menu and
Database management
*
Graphics Interface
analysis progrom
Fig. 4. Architecture of PRETAP.
Structural knowledge base
900
Technical Note
Choice No. :
Main menu of PRETAP Function name Purpose Help-build Build
C
COPY
d
Delete
e
Check
f
Record
g
Abandon
h i
Graphics Text
j
Create
k
End
Help to build a database Build facts in a database Copy facts in a database Delete facts in a database Check any item in a database Record a modified database Abandon an old database Interface with VIEWER Produce a document of a database Create a data file for TAP-86 End the preprocessor
Fig. 5. enter another function procedure again. The main menu of PRETAP is shown in Fig. 5. The main program of PRETAP is written in Quintus PROLOG running on VAX11/782(VMS) computers [15], and some FORTRAN subrountines are involved for algorithmic processing. Here, a brief summary about every function procedure on the main menu is described as follows. (1) Help-build. This function procedure will supply information about how to set up every type of fact in a structure knowledge base. If the user doesn’t know what the meaning of an attribute in a fact is, Help-build will give a detailed explanation. There is a sub menu in this function procedure about explanations of different facts. (2) Build. This function procedure enables the user to set up part of or a whole structural knowledge base. If there is an unfinished knowledge base, the user can use this procedure to add some facts to it. With the aid of Help-build procedure, the user can build a structural knowledge base under the instruction of the preprocessor. The user interface is very friendly. An example of inputting a ‘floor’ is given below: BuiId-floor:**You can input ‘floor’ fact m this way: floor (Ll, L2, L3, L4, L5, L6). Please type here * floor (2,4, 3.5, 2600000, 2400,340oo). After the RETURN key is pressed, the computer will read this fact and enter it in the knowledge base. If the user entered a wrong datum, he can enter Check procedure to change it immediately. There is a sub menu in this procedure for building different facts. (3) Copy. This function procedure supplies an efficient way for the user to build a knowledge base. If there are some facts similar to each other, the user can use copy commands to set up these facts in a knowledge base. There is a sub menu in this procedure for copying node, floor, beam, column, thin-wall and wind load facts. (4) Delete. If the user wants to delete some facts in a knowledge base, he can make use of this procedure. After the indicator about a fact is given, this fact will be deleted from a knowledge base. There is a sub menu in this function procedure for deleting node, floor, beam, column, thin-wall and wind load facts. (5) Check. Users can use this function procedure to check and change any type of fact in a structural knowledge base. If the user wants to change an item in a fact when he checks this fact, he can change it immediately. The user interface is useful to users for checking a knowledge base. There is
a sub menu in this function procedure for giving users the choice of different facts. (6) Record. After the user finishes checking and modifying a knowledge base, he can use this procedure to record a modified knowledge base. It is also convenient for the user to record an unfinished knowledge base if he wants to stop working. (7) Abandon. Users can use this function procedure to abandon an old knowledge base and read a new knowledge base at the same time. It is useful for users working on several knowledge bases simultaneously. (8) Graphics. The graphics display of structural shapes IS a necessary demand for a preprocessor. With computer graphics, the description of a problem for analysis and design can be accomplished in less time and with few errors. If there exist geometry errors in a structural knowledge base, it is easy to discover them on a graphics screen. Because the TAP-86 Program is a three-dimensional structural analysis program, a line-style graphics representation of a structure will not satisfy the demand of viewing it. The graphics software VIEWER is able to draw three-dimensional objects in a two-dimensional plane, which can produce orthogonal, parallel or perspective projections of the scene from almost any chosen viewpoint. Although it IS Intended mainly as a tool for vtsual appraisal in building design, it is also suitable for use in structural engineering VIEWER is an interactive program That is, it allows the user at an interactive graphics terminal to communicate with the running program. The pictures generated by the program are known as hidden line drawings. The input for VIEWER is a geometry data file which includes a set of body descriptions, which contain the coordinates of the vertices and the face specification of each body. For structural design purposes. only one type of body will-be used, namely, the regular body The facilitv of araohics interface in PRETAP enables users to output a geometry data file for VIEWER from a structural knowledge base, and then execute the graphics program to get three-dimensional views of a structure This process would be invisible to users, as if the preprocessor had a graphics subroutine within it. The ability in PROLOG of the interfacing with an executable FORTRAN program IS very helpful. The Graphics function procedure has two options, one is to display shapes of a floor m a structure, another is to display shapes of a whole structure. Figure 6 shows a three-dimensional view of a structure with beams, columns and a shear wall core This function makes it possible for users to check a structural knowledge base from one floor to another of a structure in sequence with the help of graphics display. (9) Text, This function procedure can be used to produce a document of a structural knowledge base, in scheduled style, about element and loading information. In a document there are also some calculated results about floor weights and section properties of thin-wall columns. Users can verify a knowledge base again with a document. Actually, this procedure is a FORTRAN subroutine linked with the PROLOG main program, which reads the same data files as the TAP-86 Program. Users can be sure that a structural knowledge base has been fintshed if a document can be obtained. (10) Create After the user fimshes buildmg, checking and modifying a structural knowledge base, he can use this procedure to create a data file for the TAP-86 Program. This process IS automatically undertaken without any control from the user 4. EVALUATION
OF PRETAP
It should be emphasized that PRETAP is not an expert system program in aid of fimte element modeling. It IS only
an interactive preprocessor which applies some ideas of expert systems in the program to make itself more powerful and intelligent. Compared with the definition of an ideal
901
Technical Note
(7) Display simplification. VIEWER is a good thm-dimensional graphics program, which has the ability to fulfil the user’s demand to obtain clear views of a structure. (8) Command duplication. PRETAP is a menu-driven nroaram, which makes it easy for the user to reach the &?tion~procedure or option of commands he wants. (9) On-line documentation. There are facilities of help in PRETAP for each option, which make it easy for users to choose correct options. (10) Exnandabilitv. It is convenient to extend, with the addition of new options and procedures in PRETAP, because of the simplicity of the PROLOG programming style. (11) Transportability. For any preprocessor to be completely successful it should be capable of being used in a variety of different systems. This is-perhaps the most di5cult reauirement to satisfv. But it is nossible for PRETAP to achieve such a goal by adding some facilities to interface with other systems without changing the structural knowledge base.
Fig. 6. A three-dimensional
view of a structure.
preprocessor for structural analysis programs [2], the features of PRETAP can be described as follows. (1) Flexibility. The user should be able to follow any logical path in the definition of a structure. In PRETAP, it is flexible enough for users to search any item in a structural knowledge base according to the semantic network representation of structural information. (2) Previous status recovery. Because a structural knowledge base consists of a lot of facts about structural information which are independent of each other, an incorrect user action will not cause any trouble in the knowledge base. Any wrong action is easy to rectify in PRETAP. (3) Back-up generation. If a fatal error is committed during the operation of PRETAP, the user can interrupt normal operation and run PRETAP again in the same working state. In this case, the knowledge base can be recovered to its previous state without loss of any information. PRETAP allows the user to run itself at the starting point or midway through the program when he is working on the preprocessor. (4) Flexible data entry. The input of information would be as easy as possible if using the Build procedure in PRETAP. There are two alternative input modes provided in PRETAP, terminal and file. (5) Visual feedback. PRETAP can interface with the graphics program VIEWER to verify the geometry information of a structural knowledge information, but does not have the ability to display text information accompanied by a graphics display. (6) Checking. PRETAP has the facility to search any item in a structural knowledge base and allow the user to change it at once. This process can be undertaken with the help of a graphics display of structural shapes.
Generally speaking, PRETAP is not a perfect preprocessor for a structural analysis program. Some improvements should be done to make it more intelligent or contain more expert knowledge. A universal structural knowledge base could be developed which consists of only structural information independent of analysis programs. For example, node infomation should be deleted in a knowledge base, which could be automatically generated for analysis programs. On the other hand, a preprocessor should be connected with some function procedures about structural concept design, which would allow the designer to estimate the number of shear walls, seismic loads and other design parameters of a structure. If it is possible, the designer could search the optimal arrangement of structural design by the preprocessor, and then use structural analysis programs to obtain final results. An expert system program for structural concept design which has no relationship with structural analysis programs will find it difficult to obtain applications in practical design projects. PRETAP is only the first step towards developing an expert system program which could help the designer to optimize preliminary design of high-rise building structures. 5. CONCLUSION
The strategy of intelligent representation of structural information for an analysis program and project design of PRETAP are described in this paper. The research work presented here shows that the logical programming language PROLOG is suitable for use in combining database management and structural analysis techniques as well as graphics software. The idea of outputting data files for structural analysis and graphics programs from a structural knowledge base would be valuable in developing CAD systems. More recently, there is a tendency to develop intelligent integrated structural design systems which include three distinct stages: preliminary or concept design, analysis and detailed design [l&19]. It is the author’s opinion that the PROLOG programming language is suitable for such a task and capable of making it easy in project design. Acknowfedgemenrs-This paper is based on work I accomplished as a visiting research fellow at the University of Strathclyde, Scotland, from 1987 to 1988. I am grateful to Professor T. W. Maver, who invited me to work in ABACUS of Architecture Department and gave me a lot of help. I am also grateful to Professor I. A. MacLeod of the Department of Civil Engineering, as I received many benefits from discussions with the Structural Design Research Group under his guidance.
Technical Note
902 REFERENCES
I. C. 1. Pesquera et al., Interactive graphical preprocessing of three-dimensional framed structures. Compur. Strucr.
17, l-12 (1983). 2. V. E. Saouma et al., Computer graphics aided design of reinforced concrete buildings. Concrete International (June 1985). 3. M. L. Maher, Expert systems for structural design. J. Comput. Civ. Engng l(4) (198’7). 4. R. H. Allen, Expert systems in structural engineermg: works in progress. J. Comput. Civ. Engng l(4) (1987). 5. H. Adeil, Knowledge based expert systems in structural engineering. Proc. Zhd Int. Co& on Civil and Structural Engineering Computing (1985).
6. S. Rajeev et al., Expert system for optimal design of structural steel members. In knowledge Based Expert Systems in Engineering: Planning and Design. Computational Mechanics Publications (1987). 7. Cao Li, TAP-86: a three-dimenstonal frame analysis program of tall buildings. Comput. Struct. 32,953-962. 8. D. A. Waterman, A Guide to Expert Systems. AddisonWesley, Reading, MA (1986). 9. W. J. Black, intelligent nslowfedge Based Systems Van Nostrand Reinhold, Scarborough, CA (1986).
10. M. L. Das, Knowiedge base for structura1 design. In Apphcation of Ar@ea~ ~n~ef~~gen~e in Engineermg Problems. Springer, Berlin (1986). 11. S. Garanglia, PROLOG Programmfng Techniques and Application. Harper & Row (1987). 12. S. Lipschutz. Theory and Problems of Data Structures. McGraw-Hill (1986). 13. P. Laurie, Database. Chapman & Hall/Methuen. (1985). 14 H. Sussock, VIEWER User Manual. ABACUS of Architecture Department. University of Strathclyde, Scotland (1985). 15. Quintus Prolog User’s Gutde (VAX/VMS). Quintus Computer Systems Inc., CA (1987). 16 M. S. Jones, et al., Protype hybrid expert system for R/C design. J. Cornput. Civ. Engng 2(2) (1988). 17. M. Y. Rafiq and I. A. MacLeod. Automatic structural component definition from a spatial geometry model. Engng Struct. 10 (1988). 18 D. Sriram et al., Knowledge-based expert systems in structural design. Comput. Srruct. 20 (l-3) (1985). 19. C.-K. Choi et al., A preliminary model of I-BUILDS. an intelligent building design system. In Knowledge Based Expert Systems fn Engineering: Planning and Design. Compu~tional Mechanics ~blications (1987).