AN INTEGRATED COMPUTER SYSTEM FOR ENGINEERING PROBLEM SOLVING

Size: px
Start display at page:

Download "AN INTEGRATED COMPUTER SYSTEM FOR ENGINEERING PROBLEM SOLVING"

Transcription

1 AN INTEGRATED COMPUTER SYSTEM FOR ENGINEERING PROBLEM SOLVING Daniel Roos Department of Civil Engineering Massachusetts Institute of Technology Cambridge, Massachusetts Computers should provide the mechanism that enables engineers to do better engineering. By permitting faster and more accurate and complete problem analysis to be performed, computers assist the engineer in his computational and decision making roles. The engineer today is faced with problems of increasing magnitude and complexity where the effects and interrelationships of all relevant information must be considered. The computer provides the coordinating and integrating mechanism for the problem information needed by the engineer in the decision making process. Computers enable engineers to perform total problem solutions where all pertinent information is properly considered. This role of the computer in engineering is achieved only when the computer is adequately integrated in the problem-solving environment. This integration must be both external and internal. The computer must be integrated externally with the engineer using it and the programmer developing it, and internally through the proper coupling of hardware and software. The engineer must do more than use the computer. He must actively participate in the computer solution. To do this he needs a language to communi- cate with the computer, physical accessibility to the computer, and a mechanism for obtaining engineering-oriented results from the computer. The communication language must be oriented to the problem rather than the machine, and must allow the engineer to easily specify his problem-solving requirements. Accessibility, provided through some type of remote computing facility such as timesharing, permits the engineer to interact with the computer during the problem solution. Meaningful results are obtained using scopes, plotters and other output devices. Integration of the programmer and the computer is provided through a powerful programming language and the necessary system programming capabilities to support the language. The programming language must be dynamic with respect to both proglem solution and computer memory requirements. It must allow total problem solutions where the type and amount of data can vary. To satisfy these requirements the system must have dynamic memory allocation, alternate forms of data structure, and a data management and transfer mechanism so that the same data can be used in all aspects of the problem solution. 423

2 424 PROCEEDINGS - FALL JOINT COMPUTER CONFERENCE, 1965 A modular, machine-independent system design provides the integrating mechanism for hardware and software. The system can then be implemented on any machine configuration to take full advantage of the available hardware. ICES (Integrated Civil Engineering System) satisfies the above requirements. It is a modular computer system, designed to enable the engineer to easily communicate and interact with the computer. The programmer user the ICETRAN (lces-for TRAN) programming language to develop and modify the necessary components of the system. Dynamic memory allocation, alternate data structures and data transfer and management facilities are available to the programmer. These features combine to make ICES an integrated computer system for total civil engineering problem solving. ICES is currently being developed at a cost in excess of 2 million dollars by a group of over 50 people from the Civil Engineering Systems Laboratory at M. I. T. It will provide the necessary mechanism to permit civil engineers to efficiently solve engineering problems. What are the characteristics of these problems and how do they affect the design of an integrated computer system? Each engineering problem has certain unique characteristics that differentiate it from other similar problems. The solution to all problems however is obtained using a series of basic mathematical and engineering operations, where the order in which they are performed varies with the specific problem. These fundamental operations can be considered basic computational building blocks. A problem solution represents a certain combination of these building blocks. An integrated computer system must therefore include a set of subroutines for these building blocks and some mechanism for specifying the sequence of operations for a given problem (i.e., a mechanism for putting the blocks together). There are three different ways this sequence specification can be made, namely: 1. It can be included in the program. 2. It can be specified by the engineer as part of his data. 3. A combination of the above two methods can be used where the engineer can specify some sequencing and the computer will perform the remainder. The mode of operation used is a function of the complexity of the problem being solved and the ability of the engineer. It is highly unlikely that method 1 will be used exclusively since it requires a considerable amount of programming to insure that all possible cases that could arise in the problem solution are accounted for. Methods 2 and 3 require the engineer to commnicate the sequence of operations to the machine. A language is therefore needed to allow the engineer to communicate with the computer. This language should be oriented toward the engineer and not toward the machine'. The engineer should be able to communicate with the machine in much the same way he communicates with another engineer. He must instruct the computer rather than follow instructions that have been imposed by the machine. Man and machine must form a working partnership to effectively arrive at a problem solution. A communication language satisfying the above requirements may be classified as a problemoriented language. The vocabulary of a problem oriented language consists of a series of commands, where each command represents an operation or group of operations the computer is to perform. A command consists of a command name and data relating to the requested operation. The command name is a technical term that has meaning to the engineer. The data is free format so the engineer need not be concerned with cumbersome card column restrictions. Examples of simple commands are: DISTANCE 2 3 which is used to find the distance between points 2 and 3 and, LOCATE/AZIMUTH which is used to locate point 2 at a given distance (500.26) and azimuth (50 degrees, 23 minutes, 10 seconds) from a kn~wn point (1) (see Fig. 1). ~\ Figure 1. The COGO LOCATE/AZIMUTH command. The two example commands are part of the COGO (CO ordinate GeOmetry) problem oriented language 2

3 AN INTEGRATED COMPUTER SYSTEM 425 used for the solution of geometric problems and developed by Professor C. L. Miller of the Department of Civil Engineering at M.I.T. The important characteristics of the COGO language are: 1. Programs can be written by the engineer in a matter of minutes. No computer programming knowledge is required. 2. A complete problem can be solved by writing a single CO GO program. Because of the small investment of time and money involved in writing a program, a new program is written for each problem and then discarded when the problem is solved. 3. The engineer must choose the necessary commands to obtain the problem solution. The quality and efficiency of a COGO program is dependent on the engineering ability of the user. Two engineers may write completely different COGO programs to obtain the solution to the same problem. It is interesting to note the impact of CO GO on the civil engineering profession since its introduction in It is used by many of the State Highway Departments and private consulting firms. One State Highway Department uses COGO for over 50 percent of its computer runs. The one COGO system supercedes several hundred special purpose geometric programs. COGO allows the engineer to actively participate in the computer solution. It has introduced many engineers to the computer because it is something they can understand. The acceptance and use of COGO and a companion problem-oriented language STRESS (STRuctural Engineering System Solver), also developed by the Department of Civil Engineering at M.LT., are proven examples of the power of problem-oriented languages. They have suggested how a proper balance between engineer and computer can be achieved. A problem-oriented language is necessary because it is impractical to completely pre-program an engineering problem. Part of the programming must be performed at execution time by the engineer. A problem-oriented language enables the engineer to program the machine without actually realizing he is programming. He can specify the characteristics of the problem, the desired method of solution, the requested sequence of operations, and the desired output (what he wants, where he wants it received, and how he wants it displayed) by using the commands of the problem-oriented language. Although the commands appear as a program to the computer, they appear to the engineer as a logical problem statement in engineering terminology. FORTRAN and other compiler languages have sometimes been referred to as problem-oriented languages. However, FORTRAN contains considerable computer terminology (COMMON, GO TO, DIMENSION, etc.) and is more procedureoriented than problem-oriented. It, therefore, appears more realistic to reserv~ the term problemoriented language to a language with the following attributes: 1. It is oriented to the user rather than the programmer. 2. No computer programming knowledge is required to effectively use the language. 3. The language is command structured where the commands are composed of technical terms. In certain cases the engineer can use a problemoriented language to write all the commands for a problem solution, and then submit his run for processing. It is not always possible or desirable, however, for the engineer to function in this manner. Quite often he will formulate part of the solution and then base the remaining portion on the results o~ the first part. This mode of operation is incompatible with typical batch processing operations. Instead, the engineer must be able to communicate with the computer in an interactive environment where he can: 1. Request an operation. 2. Examine his results. 3. Determine the next operation to be performed based on the previous results. This suggests that a problem-oriented language functions best in a time-sharing environment. With time-sharing the engineer can try many alternate designs and compress into one session the same work that would require many individual sessions over a long period of time in a batch processing mode. Engineering is typically performed under severe time restraints. The turn-around time problem in-

4 426 PROCEEDINGS - FALL JOINT COMPUTER CONFERENCE, 1965 herent in batch processing can totally negate the otherwise beneficial results of computers. The engineer needs immediate access to the computer. Time-sharing or some other form of remote computing offers him this access. The combination of the accessibility of remote computing and the communication capability of problem-oriented languages provides the enginp,er with the necessary tools for effective man-computer communication and interaction. COGO and STRESS represent a significant step forward in effective computer utilization. However, both of these systems are limited to problems or portions of problems of a particular discipline. Civil engineering problems generally involve the consideration of many disciplines. Even in a relatively small problem such as the design of a highway interchange, the engineer must consider the highway location and design (highway engineering), settlement, stability and foundation conditions (soil engineering), highway bridges (structural engineering), drainage (hydraulic engineering) and traffic flow (transportation engineering). As engineers we recognize each of these separate disciplines and the necessary interactions that must exist for effective problem solving. In an integrated computer system each of these disciplines must be present as a subsystem and the subsystems must be able to interact with one another. The engineer must be able to procede in his problem solution by using the necessary subsystems at the proper time. At any point in his problem solution, he can leave one subsystem, enter another to perform calculations, and then reenter the original subsystem using the results just obtained. In the past the complexity of engineering problems and the large amount of data often forced the engineer to unnaturally decompose his problem into non-interactive tasks. Many of the feedback aspects of the problem had to be overlooked. The computer now offers the mechanism to permit total problem solutions where all relevant factors and interactions are considered. One data file residing on secondary storage can be associated with the total problem solution. Certain portions of that file can be used by each of the subsystems. A data management facility must supervise the organization of the entire data file and a data transfer mechanism must transfer appropriate data between the sybsystems. What about this data associated with the subsystems? It is difficult to classify engineering data since it is of many types and varieties. In some cases only the numeric value of the data is important, where in other cases, hierarchical and structural relationships between the data are also important. Data with different external characteristics requires different internal computer representation. So~e engineering data is best stored as arrays, other as lists, and other as combinations of lists and arrays. In the past, computer systems have generally been limited to one predominant form of storage ( either list or array). An integrated engineering system must have alternate forms of data structure; namely, arrays, lists and array~lists. The programmer will then choose the proper internal structure for his data based on considerations such as space requirements, access time, information content, manipulation ability and system overhead. The alternate forms of data structure will allow new representations of engineering problems to be achieved on the computer. Most engineering data is best represented in the computer in array form. To achieve optimum capability and remove the restrictions presently associated with normal FORTRAN DIMENSIONed array storage, arrays should be dynamically allocated. Dynamic allocation of data achieves the following: 1. Arrays are allocated space at execution time rather than at compilation time. They are only allocated the amount of space needed for the problem being solved. The size of the array (i.e., the amount of space used) may be changed at any time during program execution. If an array is not used during the execution of a particular problem, then no space will be allocated. 2. Arrays are automatically shifted between primary and secondary storage to optimize the use of primary memory. Dynamic memory allocation is a necessary requirement for an engineering computer system capable of solving different problems with different data size requirements. A dynamic command structured language requires a dynamic internal data structure. The result of dynamic memory allocation is that the size of a problem that can be solved is virtually unlimited since secondary storage becomes a logical extension of primary storage~

5 AN. INTEGRATED COMPUTER SYSTEM 427 Dynamic memory allocation would extend to programs as well as data. Programs can then be brought into primary memory only when they are needed. The allocation of programs and data must be properly balanced so that the use of primary memory is optimized. The memory allocation problem has been considerably simplified as a result of newly announced third generation computer hardware, in particular new random access storage devices. The new machines are faster, more powerful, larger and cheaper than their second generation counterparts. The large primary and secondary storage available at reduced prices should increase the size of problems that can. be solved' on the computer and decrease the cost of the problem solution. Briefly summarizing, then, an integrated engineering computer system should have the following computer oriented characteristics: 1. A flexible powerful problem-oriented language for the engineer, to communicate with the computer. 2. Remote computing to make the computer accessible to the engineer. 3. An orientation toward total problem solving, not just computation. 4. An interaction between discipline areas~r subsystems-for solving a problem which encompasses more than one engineering discipline. 5. A data management scheme to organize the data and a data transfer mechanism to pass the data between subsystems. 6. A modular internal building-block structure. 7. An efficient internal data structure where alternate forms of data can be represented. 8. Dynamic allocation of data and programs based on the problem being solved. 9. Computer hardware to accommodate the necessary software. All these features have been incorporated into a computer system for civil engineering called ICES (Integrated Civil Engineering System). The engineer uses ICES to obtain solutions to the problems he faces. The internal capabilities of ICES provide the mechanism for efficient and powerful problem solutions. To function correctly, these internal computer capabilities must be properly linked together. ICES, therefore, includes a programming language ICE TRAN to create the engineering subsystems, and an operating system to coordinate and supervise ICES computer runs, both of which incorporate the necessary internal computer capabilities. ICETRAN and the ICES operating system programs are unique because they are developed by people who are expert in both the information sciences and civil engineering. In the past a schism has existed between the computer language developers and application users. The language developers could not completely appreciate the needs of the users, and their languages therefore were not well suited for the intended users. ICES, however, is developed for civil engineers by engineers. Every computer system needs a basic programming language. With respect to engineering, the FORTRAN language contains many desirable features, and could serve as the basis for the ICES programming language. However, additional capabilities are needed. For this reason, FORTRAN has been extended into a language called ICETRAN which will be used to program the ICES subsystems. ICETRAN contains all of the FORTRAN statements plus additional capabilities to facilitate the problem-solving features of ICES. These additional capabilities are imbedded in the normal FORTRAN structure. No new programming restrictions are imposed on the programmer. One of the additional capabilities contained in ICETRAN is dynamic memory allocation. A typical ICETRAN program illustrating the use of dynamic memory allocation is shown below: SUBROUTINE ADD (I) COMMON A, B, C,... DYNAMIC ARRAYS A, B, C DEFINE C, I, HIGH.. DO I L=I, I 1 C (L) =A(L) + B(L) DESTROY A RELEASE B RETURN END This subroutine adds two one-dimensional dy-. namic arrays (A and B) together to form a new dynamic array (C). To understand the ICETRAN dynamic memory allocation statements it is first necessary to briefly summarize the ICES dynamic memory allocation scheme.

6 428 PROCEEDINGS - FALL JOINT COMPUTER CONFERENCE, 1965 Associated with each dynamic array is one COMMON location known as a codeword-pointer. This location contains the following information about the dynamic array: 1. The size of the array. 2. The residence of the array (primary storage, secondary storage or space not yet allocated). 3. A pointer to the beginning location of the array in the data pool. All dynamic arrays are allocated space in a data pool, which consists of the unused primary memory space at program execution time. 4. The status and the priority of the array, to be used for memory reorganization. Dynamic memory allocation implies that the array space requirements are constantly changing. If the data pool becomes full and more space is needed, then a memory reorganization must be performed. This reorganization is based on the status (active, released, or destroyed) and the assigned priority (high or low) of the array. A sufficient number of arrays are transferred to secondary storage to make room for new active arrays. If an array on secondary storage is later referenced and therefore needed it will automatically be brought back into primary memory. Returning now to our sample program, the DY NAMIC ARRAY statement is used to specify all dynamic arrays. The statement does not cause any instructions to be generated by the compiler. The DEFINE statement is used by the programmer to specify information about a dynamic array that will be stored in the codeword-pointer. The DEFINE statement in the above example causes the size (I) and priority (HIGH) of dynamic array C to be inserted in the codeword-pointer of array C. Dynamic arrays A and B have already been DEFINED in the subprogram that called subroutine ADD. The DEFINE statement does not cause allocation of space for the array. The allocation of space is delayed until the first reference to an array element is made (statement 1 in the above example). The first time statement 1 is referenced "I + 1" contiguous unused locations in the data pool will be located. If they are unavailable a memory reorganization will occur. The pointer of the codeword will then be set to a point to the first of the I + 1 locations, which will contain a backpointer to the codeword. The remaining I locations will be used to store the array. If the array is shifted in the data pool during memory reorganization the pointer of the codeword is appropriately adjusted. After the DOP loop is completed, array A is destroyed (DESTROY A) and array B is temporarily released (RELEASE B). An array should be destroyed if it is no longer needed and released if it is not presently needed. Intelligent use by the programmer of the DESTROY and RELEASE statements decreases the likelihood of memory reorganization and increases the efficiency of one when it does occur. The dynamic memory allocation scheme is quite powerful and can handle arrays of any number of dimensions. An n dimensional array is treated internally as a partitioned set of subarrays. This offers extreme flexibility since 1. Only the subarray the engineer is working on need be in core. 2. The size of each sub array can differ. Figure 2 shows a two dimensional array where the size of each subarray (column) varies (2, 4 and 3). Figure 2. Array size variation. 3. The structure of the subarray can vary so that tree structures can be represented using array notation. A tree structure with the associated subscript notation is shown in Fig. 3. T A (1) I,,\_,.Figure 3. Array structure variations. The programmer can easily set up desired structures using the DEFINE command and then operate

7 AN INTEGRATED COMPUTER SYSTEM 429 on the structure using normal FORTRAN array notation. Dynamic memory allocation capability is merely one of many features available with ICETRAN. Others include list processing, data management, subsystem data transfer, and matrix manipulation. A completed ICETRAN program must first be processed by the ICES precompiler, which will translate the ICETRAN statements into legitimate FORTRAN statements. Although the generated FORTRAN statements might appear somewhat confusing to a FORTRAN programmer, they will accomplish the requested operations. The resulting FORTRAN program is then processed by the conventorial FORTRAN compiler. The use of the precompiler eliminates the necessity of modifying the FORTRAN compiler or developing a totally new programming language. The ICES precompiler is but one of the system programs comprising the ICES operating system. Other are described separately below. ICES Executive The principal form of input that engineers will use with ICES is problem-oriented language commands. Each ICES subsystem will have a command vocabulary associated with it. The ICES executive processes the problem-oriented language commands that the engineer issues by performing the following operations. Read and encode command. Analyze, convert and store data. Perform consistency checks. Transfer control to routine for command execution. The running of a submitted program therefore essentially consists of two phases; the analysis of the command by the ICES executive, and the execution of the command by the appropriate processing subprograms. A command is completely processed before the next command is read. In this regard the system operates somewhat as an interpreter, except that the commands do not cause computer instructions to be generated. Instead programs that have previously been translated to machine. language instructions are used. The executive has been designed to allow many powerful features to be included in the ICES problem-oriented command input language that were not incorporated in the previously discussed COGO problem-oriented language. It may be recalled that with COGO only numeric data given in a specified order was permitted. The new expanded problemoriented language capabilities and executive features of ICES include: 1. The data associated with a command may be identified by labels and specified in any order. If the engineer prefers, he may omit the labels and enter the data in a standard order (as in CO GO ). An example of a command with labeled data items is STORE POINT 10 X 50 Y which cause the X and Y coordinates of a point to be stored. 2. The engineer may omit a command data item and a standard value will automatically be used by the executive. This value may be either: ( a) permanently present by the programmer when the command is initially set up; (b) temporarily present for a problem by the engineer at' the beginning of the problem; or ( c) may be the value of the data item presently stored in the computer. The programmer who initially sets up the command indicates which of these options should be followed. If a standard value is not associated with the data item, the executive will indicate an error condition whenever the data item is omitted by the engineer. The use of standard values reduces the amount of unnecessary data an engineer must include with a command, since input entries are made only when a nonstandard value is encountered. 3. Data values may be alphanumeric as well as numeric. For example, in a geometric problem the quadrant of an angle may be identi~ fied as NE, SE, SW, or NW. The executive will automatically set a switch based on the alphanumeric value given by the user. This switch can then be interrogated by the command processing routines. 4. Incremental as well as total processing of the input command is permitted. If so instructed, the executive will process part of the data, transfer control to execute that portion of the data, and then return to repeat

8 430 PROCEEDINGS ~ FALL JOINT COMPUTER CONFERENCE, 1965 the cycle, continuing until the data is exhausted. Incremental processing minimizes storage requirements when the data field contains a variable number of data items. 5. The executive can initialize variables and incremental counters that are specified by the programmer at command definition time. These variables and counters can then be used by the command processing routines. 6. The command data field can contain command name modifiers which permit complicated tree structured commands to be set up by the programmer. To illustrate command name modifiers consider the three versions of the INTERSECT command shown below. The command data consists of the POINT number assigned to the intersection point and the two geometric objects (ARC, LINE) being intersected. In the last two commands a known point NEAR the desired intersection point must be specified since a line and an arc or two arcs can intersect at two different points: INTERSECT POINT 5 LINE 10 LINE 20 INTERSECT POINT 5 LINE 10 ARC 20 NEAR 3 INTERSECT POINT 5 ARC 10 ARC 20 NEAR 3 The engineer thinks of these as the same command (INTERSECT) but the programmer must think in terms of three different commands, since each has a different type and amount of data associated with it and each requires different subroutines for execution. The programmer views the command as the tree structure shown in Fig. 4, where the labels ARC and LINE serve as command name modi- Figure 4. The use of command name modifiers. Command name modifiers minimize the number of necessary commands and increase the capabilities of the commands. With ICES the structure of the problem oriented language input has been generalized so that the same executive can be used for all ICES subsystems. The command vocabulary of each subsystem differs but the command structure is identical. Each subsystem has associated with it a set of internally stored tables which define the commands to the executive. When the executive processes the engineer's commands, it uses the appropriate set of command tables for the sybsystem the engineer is working with. A programmer uses a command definition language to set up the subsystem commands and generate these command tables. This command definition language is a problem-oriented language designed for the subsystem developer. ICES therefore includes a problem-oriented language to generate problem-oriented languages. In addition to generating new problem-oriented languages, the command definition language can be used to easily add, modify or delete commands from a subsystem that already exists. This ability to easily modify a subsystem is a necessary requirement in engineering organizations where both the problems and the organization itself can change. The simple example below illustrates some of the features of the ICES executive and the command definition language. The STORE command used to define the X and Y coordinates of a known point will be added to the COG0 subsystem of ICES. A typical STORE command as entered by the engineer could appear: STORE POINT 10 X Y 960 The command definition program below adds the new command to the COGO vocabulary. The underlined words are the vocabulary of the command definition language and the information in quotes is the input data that the programmer supplies. SYSTEM 'COGO' ADD 'STORE' ID 'P' INTEGER 'N POINT' REQUIRED ID 'X' REAL 'XCOORD' STANDARD 0 ID 'V' REAL 'YCOORD' STANDARD 0 EXECUTE'STORE' FILE SYSTEM specifies the ICES subsystem (COGO) being modified, and ADD specifies the type of modification (addition of a command) and the name of the command (STORE). ID gives the characteristics of the data items associated with the command. One ID entry is required for each of the three data items of the STORE command. The information included as part of the ID entry includes:

9 AN INTEGRATED COMPUTER SYSTEM The identifier for the data item. The identifier defines permissable labels that the engineer can use to label the data items. A permissible label is one that begins with the specified identifier. For example the identifier of P permits the engineer to use P, PT, POINT etc. as labels for the point number. The identifiers for the X and Y coordinates given in the second and third ID commands are X and Y. 2. The internal machine representation of the data item (REAL or INTEGER). 3. The computer location where the data item will be stored (NPOINT, XCOORD, YCOORD in the above example). 4. The action to be followed if the data item is omitted by the engineer. A REQUIRED data item must be entered by the engineer or an error will be indicated by the executive. The STANDARD entry is used to specify a preset data value that will be used by the executive if the data item is omitted by the engineer. Since the coordinates of a point are quite often (0, 0), they have been preset to these values in the above example. If the action field of the ID command is left blank (this does not occur in the above example), then the data item will retain its current value if omitted from the command by the engineer. EXECUTE specifies the subroutine to be entered (STORE) to execute the command, and FILE con~ eludes the command definition. If no errors have been detected by the command definition program, the necessary tables for the newly defined command will be generated and the command will be added to the COGO subsystem of ICES. The above system modification can be run as a normal ICES job. This example is for a trivial command and does not demonstrate many of the capabilities of the ex~ ecutive and the command definition language. Unfortunately, space does not permit more interesting commands to be discussed. The reader is referred to reference 13 which contains a complete description of the executive capabilities and the command definition language. Many examples of different types of command structures are included in that paper. Dynamic Memory Allocation A series of programs has been developed to facilitate the dynamic allocation of data and programs. With regard to data, these programs define, allocate, destroy and release arrays by operating on the codeword-pointers and data pool. They retrieve and store referenced array elements, transfer arrays between primary and secondary storage and reorganize the data pool whenever necessary. Dynamic allocation of programs is accomplished by system programs which generate program segment modules from compiled subprograms, and then load and relocate these modules as they are needed during command execution. Data Management Data management system programs control the organization of the data files which reside on secondary storage and are associated with the engineer's problem solution. The data management programs allow the same data file to be used by all the subsystems of ICES, and each subsystem to use different names to refer to the same data. Variable and array names in one subsystem are mapped into different variable and array names in the other subsystems. Whenever an engineer switches from one subsystem to a different subsystem, data transfer programs use the mapping function to automatically rearrange the data to reflect the new subsystem. Data management also allows the engineer to easily operate on data files. He can print, modify or delete any of his files. The data files can serve as permanent documents of completed problems. Space considerations will of course influence how much information the engineer should keep on secondary storage and for how long this information can be retained. The data management facility will permit public files to be created so that several engineers can have access to the data to work on the same problem. Suitable protection features will be provided to ensure that unauthorized users may not examine another person's files. System Generation and Modification Necessary utility programs have been developed to set up the ICES system on a computer configuration and then make modifications to the system.

10 432 PROCEEDINGS - FALL JOINT COMPUTER CONFERENCE, 1965 The modifications are performed as normal jobs under ICES so that the system is self-modifying. ICES is modular so that each organization can adapt the system to their problem solving requirements and hardware capabilities. ICES has been designed to be manufacturer- and machine-independent. The original system has been developed for the IBM System 360. Minimum hardware requirements for ICES include: 65 k bytes core storage (any model of the System 360 may be used) ; two 2311 disk drives (three drives will result in a superior system); card input/output facilities. The usefulness of ICES is substantially improved when on-line plotting devices, graphical input/ output devices and remote computing are available. The ICES system being implemented on the model 40 System 360 of the Civil Engineering Systems Laboratory at M.l. T. features all of these capabilities. A substantial portion of the civil engineering community, however, cannot afford these added capabilities, and others who can afford them do not feel they are economically justified. As a result none of these capabilities are required in a minimum ICES system. The inclusion of any or all of the features will result in a far superior ICES system. ICES Supervisor The ICES supervisor coordinates all of the ICES system programs' and supervises the use of the computer. It calls on the proper system program or user program based on the requested operations. Some people will no doubt express concern over the time overhead of the above system programming capabilities. A system objective should be the minimization of time required for problem solution. However, this must not be done at the expense of finding the optimal or best solution to a problem. Quite often an increase of several microseconds is completely justified by the benefits obtained from the operations performed. For example, dynamic memory allocation does involve additional machine cycles, but it also eliminates many bookkeeping requirements and the packing of information that are necessary without its Use. It also allows increased problem-solving capabilities. One principle of ICES is that no system programming capabilities are forced upon the programmer. He is, for example, given the choice between normal dimensioned arrays and dynamic arrays, between the input capability of the executive or normal FOR TRAN READ statements. The programmer must consider the problem being solved and the tradeoffs associated with each of the available alternatives, and then make his choice. Let us now reexamine the ICES system in total. One approach is shown in Fig. 5. Each of the vertical boxes represents a subsystem of ICES. These subsystems utilize the basic engineering building-block routines represented by the horizontal box at the bottom, and the system programming capabilities of the ICES operating system (top horizontal box). This framework enables subsystem programmers with no system programming capabilities to easily develop high-performance subsystems using the ICE TRAN language. ICES SYSTEM PROGRAMS Sub- Sub- Sub- -- System System ~ System A B N BASIC ENGINEERING BUILDING BLOCKS Figure 5. The ICES system. The Civil Engineering Systems Laboratory at M.1. T. is currently developing a comprehensive series of ICES subsystems. (See, for example, references 4 and 5 and 8 for a description of subsystems being implemented for ICES). ICES subsystem development should not, however, be restricted to M.LT. Instead, ICES should be considered as a framework for civil engineering computer \vork, where all members of the profession make contributions. It is the integrating mechanism for the programs that have been developed 'in the past and the work that will be performed in the future. User groups such as SHARE have demonstrated how needless duplication of programming effort can be reduced. The ICES concept is a natural extension of this idea. The user organizations provided a framework for rational development and distribution of the necessary component programs. ICES provides a framework for uniting these components in ':1n -inte-

11 AN INTEGRATED COMPUTER SYSTEM 433 grated system. We can now, therefore, think of system coordination as well as program coordination. What then is ICES? ICES is many partnerships. A partnership between the third generation hardware and the ICES programming software, a partnership between ICETRAN and programmers, a partnership between the problem-oriented language command structure and the engineer, and a partnership between the integrated computer system and the engineering organization. It is an integrated system for civil engineering where each of the necessary components (hardware, software, engineer, manager, and programmer), properly contribute and interact. ACKNOWLEDGMENTS A project such as ICES is the result of careful planning and represents a natural evolution of previous work. For the past ten years Professor C. L. Miller as director of the Civil Engineering Systems Laboratory at M.I. T. has demonstrated how computers can effectively be used in engineering practice and education. This past work serves as the foundation for ICES, which was conceived by Professor Miller and is now being developed by individuals who were trained and inspired by him. These individuals include Robert Logcher, Jay Walton, Alan Hershdorfer, Alden Foster, Ron Walter, and Richard Goodman. The work reported in this paper was formulated by these people. The author is also indebted to Miss Betsy Schumacker of IBM for her advice and contributions. REFERENCES 1. J. A. Champy, "Man Machine Computer Systems in a Public Works Agency: A Management View," Industrial Management Review, Spring S. J. Fenves et ai, Stress: A Users Manual, M.I.T. Press, , R. D. Logcher and S. P. Mauch, Stress: A Reference Manual, M.I.T. Press, , "The Form and Use of an Interactive Problem Oriented Language," this volume. 5., et ai, "A Users Manual for the On- Line Use of the Structural Design Language," Internal Project MAC Memo M-234, M.I.T. 6. C. L. Miller, "Man-Machine Communications in Civil Engineering," Department of Civil Engineering, T63-3, M.I.T. (June 1963). 7. and R. Walter, "Communicating with Computers in Civil Engineering Design," Department of Civil Engineering, T65-4, M.LT. (Mar. 1965). 8. P. O. Roberts and J. H. Suhrbier, "Highway Location Analysis, An Example Problem," Department of Civil Engineering, R62-1, M.LT. (Mar. 1962). 9. D. Roos and B. Schumacker, "ICES: Integrated Civil Engineering System," American Association of State Highway Officials Conference on Improved Highway Engineering Productivity, Boston (May 1965). 10. and C. L. Miller, "COGO-90: Engineering Users Manual," Department of Civil Engineering, R64-12, M.I.T. (Apr. 1964). 11. and, "The Internal Structure of COGO-90," Department of Civil Engineering, M.I.T. (Feb. 1964). 12. and, "COGO-90 Time-Sharing Versions," Department of Civil Engineering, M.I.T. (May 1964). 13. R. A. Walter, "A System for the Generation of Problem Oriented Languages," this v~_lume.

12

1-04-10 Configuration Management: An Object-Based Method Barbara Dumas

1-04-10 Configuration Management: An Object-Based Method Barbara Dumas 1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

Chapter 12 File Management

Chapter 12 File Management Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access

More information

Chapter 12 File Management. Roadmap

Chapter 12 File Management. Roadmap Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access

More information

2) Write in detail the issues in the design of code generator.

2) Write in detail the issues in the design of code generator. COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

More information

A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts

A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts [Mechanical Translation, vol.5, no.1, July 1958; pp. 25-41] A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts A notational

More information

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and

More information

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

More information

How To Understand The History Of An Operating System

How To Understand The History Of An Operating System 7 Operating Systems 7.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 7.2 Understand the role of the operating system.

More information

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University

Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications

More information

3 SOFTWARE AND PROGRAMMING LANGUAGES

3 SOFTWARE AND PROGRAMMING LANGUAGES 3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization

More information

File Management. Chapter 12

File Management. Chapter 12 Chapter 12 File Management File is the basic element of most of the applications, since the input to an application, as well as its output, is usually a file. They also typically outlive the execution

More information

Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design

Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design Chapter 6: Physical Database Design and Performance Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Robert C. Nickerson ISYS 464 Spring 2003 Topic 23 Database

More information

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1 Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems

More information

Robot Task-Level Programming Language and Simulation

Robot Task-Level Programming Language and Simulation Robot Task-Level Programming Language and Simulation M. Samaka Abstract This paper presents the development of a software application for Off-line robot task programming and simulation. Such application

More information

File Management. Chapter 12

File Management. Chapter 12 File Management Chapter 12 File Management File management system is considered part of the operating system Input to applications is by means of a file Output is saved in a file for long-term storage

More information

AS/400 System Overview

AS/400 System Overview Chapter 1 AS/400 System Overview 1.1 Major Characteristics of AS/400 1.1.1 High Level of Integration 1.1.2 Object Orientation 1.1.3 Relational and Integrated Database 1.1.4 Data and Program Independence

More information

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm

More information

50 Computer Science MI-SG-FLD050-02

50 Computer Science MI-SG-FLD050-02 50 Computer Science MI-SG-FLD050-02 TABLE OF CONTENTS PART 1: General Information About the MTTC Program and Test Preparation OVERVIEW OF THE TESTING PROGRAM... 1-1 Contact Information Test Development

More information

1. INTRODUCTION TO RDBMS

1. INTRODUCTION TO RDBMS Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one

More information

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè. CMPT-354-Han-95.3 Lecture Notes September 10, 1995 Chapter 1 Introduction 1.0 Database Management Systems 1. A database management system èdbmsè, or simply a database system èdbsè, consists of æ A collection

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES Subarea Educational Computing and Technology Literacy Computer Systems, Data, and Algorithms Program Design and Verification Programming Language

More information

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler 1) Operating systems a) Windows b) Unix and Linux c) Macintosh 2) Data manipulation tools a) Text Editors b) Spreadsheets

More information

Operating System Structures

Operating System Structures Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

TRAFFIC ACCIDENT STUDY GUIDE 2010

TRAFFIC ACCIDENT STUDY GUIDE 2010 TRAFFIC ACCIDENT STUDY GUIDE 2010 SECTION SEVEN This study guide is designed to provide the law enforcement Explorer with basic principles. The guide is not all inclusive, and does not delineate specific

More information

File-System Implementation

File-System Implementation File-System Implementation 11 CHAPTER In this chapter we discuss various methods for storing information on secondary storage. The basic issues are device directory, free space management, and space allocation

More information

Resource Allocation Schemes for Gang Scheduling

Resource Allocation Schemes for Gang Scheduling Resource Allocation Schemes for Gang Scheduling B. B. Zhou School of Computing and Mathematics Deakin University Geelong, VIC 327, Australia D. Walsh R. P. Brent Department of Computer Science Australian

More information

Chapter 3. Operating Systems

Chapter 3. Operating Systems Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating

More information

DATA ITEM DESCRIPTION

DATA ITEM DESCRIPTION DD Form 1664, APR 89 Previous editions are obsolete Page 1 of 4 Pages 135/123 DATA ITEM DESCRIPTION Form Approved OMB NO.0704-0188 Public reporting burden for collection of this information is estimated

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

INTRODUCTION TO MANUFACTURING EXECUTION SYSTEMS MES CONFERENCE & EXPOSITION. Baltimore, Maryland

INTRODUCTION TO MANUFACTURING EXECUTION SYSTEMS MES CONFERENCE & EXPOSITION. Baltimore, Maryland INTRODUCTION TO MANUFACTURING EXECUTION SYSTEMS MES CONFERENCE & EXPOSITION JUNE 4-6, 2001 Baltimore, Maryland Michael McClellan President MES Solutions Incorporated Terrebonne, Oregon 97760 541 548 6690

More information

The structure of accounting systems: how to store accounts Lincoln Stoller, Ph.D.

The structure of accounting systems: how to store accounts Lincoln Stoller, Ph.D. The structure of accounting systems: how to store accounts Lincoln Stoller, Ph.D. balances In my most recent article I considered the simplest accounting system consisting of a single file of general ledger

More information

ERserver. iseries. Work management

ERserver. iseries. Work management ERserver iseries Work management ERserver iseries Work management Copyright International Business Machines Corporation 1998, 2002. All rights reserved. US Government Users Restricted Rights Use, duplication

More information

2) What is the structure of an organization? Explain how IT support at different organizational levels.

2) What is the structure of an organization? Explain how IT support at different organizational levels. (PGDIT 01) Paper - I : BASICS OF INFORMATION TECHNOLOGY 1) What is an information technology? Why you need to know about IT. 2) What is the structure of an organization? Explain how IT support at different

More information

Chapter 7 Memory Management

Chapter 7 Memory Management Operating Systems: Internals and Design Principles Chapter 7 Memory Management Eighth Edition William Stallings Frame Page Segment A fixed-length block of main memory. A fixed-length block of data that

More information

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note: Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the

More information

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of

More information

Operating system Dr. Shroouq J.

Operating system Dr. Shroouq J. 3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well

More information

Selecting the Best Approach to Teach 3D Modeling to Technical College Engineering

Selecting the Best Approach to Teach 3D Modeling to Technical College Engineering Paper ID #12358 Selecting the Best Approach to Teach 3D Modeling to Technical College Engineering Students Dr. Farzin Heidari, Texas A&M University, Kingsville c American Society for Engineering Education,

More information

Vector storage and access; algorithms in GIS. This is lecture 6

Vector storage and access; algorithms in GIS. This is lecture 6 Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector

More information

OKLAHOMA SUBJECT AREA TESTS (OSAT )

OKLAHOMA SUBJECT AREA TESTS (OSAT ) CERTIFICATION EXAMINATIONS FOR OKLAHOMA EDUCATORS (CEOE ) OKLAHOMA SUBJECT AREA TESTS (OSAT ) FIELD 081: COMPUTER SCIENCE September 2008 Subarea Range of Competencies I. Computer Use in Educational Environments

More information

Chapter 1 File Organization 1.0 OBJECTIVES 1.1 INTRODUCTION 1.2 STORAGE DEVICES CHARACTERISTICS

Chapter 1 File Organization 1.0 OBJECTIVES 1.1 INTRODUCTION 1.2 STORAGE DEVICES CHARACTERISTICS Chapter 1 File Organization 1.0 Objectives 1.1 Introduction 1.2 Storage Devices Characteristics 1.3 File Organization 1.3.1 Sequential Files 1.3.2 Indexing and Methods of Indexing 1.3.3 Hash Files 1.4

More information

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:

More information

Historical Software Issue 2: Statistical Package for the Social Sciences (SPSS) Thaller, Manfred

Historical Software Issue 2: Statistical Package for the Social Sciences (SPSS) Thaller, Manfred www.ssoar.info Historical Software Issue 2: Statistical Package for the Social Sciences (SPSS) Thaller, Manfred Veröffentlichungsversion / Published Version Zeitschriftenartikel / journal article Empfohlene

More information

Position Classification Flysheet for Logistics Management Series, GS-0346

Position Classification Flysheet for Logistics Management Series, GS-0346 Position Classification Flysheet for Logistics Management Series, GS-0346 Table of Contents SERIES DEFINITION... 2 SERIES COVERAGE... 2 EXCLUSIONS... 4 DISTINGUISHING BETWEEN LOGISTICS MANAGEMENT AND OTHER

More information

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc. CHAPTER 1 ENGINEERING PROBLEM SOLVING Computing Systems: Hardware and Software The processor : controls all the parts such as memory devices and inputs/outputs. The Arithmetic Logic Unit (ALU) : performs

More information

Remote Copy Technology of ETERNUS6000 and ETERNUS3000 Disk Arrays

Remote Copy Technology of ETERNUS6000 and ETERNUS3000 Disk Arrays Remote Copy Technology of ETERNUS6000 and ETERNUS3000 Disk Arrays V Tsutomu Akasaka (Manuscript received July 5, 2005) This paper gives an overview of a storage-system remote copy function and the implementation

More information

Essbase Calculations: A Visual Approach

Essbase Calculations: A Visual Approach Essbase Calculations: A Visual Approach TABLE OF CONTENTS Essbase Calculations: A Visual Approach... 2 How Essbase Refers To Cells: Intersections and Intersection Names... 2 Global Calculation... 3 Relative

More information

THE NAS KERNEL BENCHMARK PROGRAM

THE NAS KERNEL BENCHMARK PROGRAM THE NAS KERNEL BENCHMARK PROGRAM David H. Bailey and John T. Barton Numerical Aerodynamic Simulations Systems Division NASA Ames Research Center June 13, 1986 SUMMARY A benchmark test program that measures

More information

Enterprise Storage Manager. Managing Video As A Strategic Asset November 2009

Enterprise Storage Manager. Managing Video As A Strategic Asset November 2009 Enterprise Storage Manager Managing Video As A Strategic Asset November 2009 Table of Contents About Verint Video Intelligence Solutions... 1 About Verint Systems... 1 Preface: The Significance of Video

More information

================================================================

================================================================ ==== ==== ================================================================ DR 6502 AER 201S Engineering Design 6502 Execution Simulator ================================================================

More information

Innovative Techniques and Tools to Detect Data Quality Problems

Innovative Techniques and Tools to Detect Data Quality Problems Paper DM05 Innovative Techniques and Tools to Detect Data Quality Problems Hong Qi and Allan Glaser Merck & Co., Inc., Upper Gwynnedd, PA ABSTRACT High quality data are essential for accurate and meaningful

More information

MULTIPLE COMPUTER NETWORKS AND INTERCOMPUTER COMMUNICATION. Lawrence G. Roberts Advanced Research Projects Agency Washington, D. C.

MULTIPLE COMPUTER NETWORKS AND INTERCOMPUTER COMMUNICATION. Lawrence G. Roberts Advanced Research Projects Agency Washington, D. C. MULTIPLE COMPUTER NETWORKS AND INTERCOMPUTER COMMUNICATION Lawrence G. Roberts Advanced Research Projects Agency Washington, D. C. There are many reasons for establishing a network which allows many computers

More information

Chapter 13 File and Database Systems

Chapter 13 File and Database Systems Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation

More information

Chapter 13 File and Database Systems

Chapter 13 File and Database Systems Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation

More information

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 Computer Science the study of algorithms, including Their formal and mathematical properties Their hardware realizations

More information

Towards Analytical Data Management for Numerical Simulations

Towards Analytical Data Management for Numerical Simulations Towards Analytical Data Management for Numerical Simulations Ramon G. Costa, Fábio Porto, Bruno Schulze {ramongc, fporto, schulze}@lncc.br National Laboratory for Scientific Computing - RJ, Brazil Abstract.

More information

5. Binary objects labeling

5. Binary objects labeling Image Processing - Laboratory 5: Binary objects labeling 1 5. Binary objects labeling 5.1. Introduction In this laboratory an object labeling algorithm which allows you to label distinct objects from a

More information

SAN Conceptual and Design Basics

SAN Conceptual and Design Basics TECHNICAL NOTE VMware Infrastructure 3 SAN Conceptual and Design Basics VMware ESX Server can be used in conjunction with a SAN (storage area network), a specialized high speed network that connects computer

More information

Enterprise Backup and Restore technology and solutions

Enterprise Backup and Restore technology and solutions Enterprise Backup and Restore technology and solutions LESSON VII Veselin Petrunov Backup and Restore team / Deep Technical Support HP Bulgaria Global Delivery Hub Global Operations Center November, 2013

More information

Solution of Linear Systems

Solution of Linear Systems Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start

More information

Image Compression through DCT and Huffman Coding Technique

Image Compression through DCT and Huffman Coding Technique International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Rahul

More information

LAB1 INTRODUCTION TO PSS/E EE 461 Power Systems Colorado State University

LAB1 INTRODUCTION TO PSS/E EE 461 Power Systems Colorado State University LAB1 INTRODUCTION TO PSS/E EE 461 Power Systems Colorado State University PURPOSE: The purpose of this lab is to introduce PSS/E. This lab will introduce the following aspects of PSS/E: Introduction to

More information

Memory Systems. Static Random Access Memory (SRAM) Cell

Memory Systems. Static Random Access Memory (SRAM) Cell Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled

More information

Glossary of Object Oriented Terms

Glossary of Object Oriented Terms Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction

More information

Notice of Clarification

Notice of Clarification U. S. ELECTION ASSISTANCE COMMISSION VOTING SYSTEM TESTING AND CERTIFICATION PROGRAM 1225 New York Avenue, NW, Suite 1100 Washington, DC. 20005 Notice of Clarification NOC 09-004: Development and Submission

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper. The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide

More information

Chapter 2: OS Overview

Chapter 2: OS Overview Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:

More information

How To Trade With Properly Scaled Static Charts

How To Trade With Properly Scaled Static Charts Trading With Properly Scaled Static Charts Dr. Al Larson 2/17/2013 Stock, commodity, and currency traders who use most modern trading programs are missing some great opportunities. Why? Because most modern

More information

Darshan Institute of Engineering & Technology Unit : 7

Darshan Institute of Engineering & Technology Unit : 7 1) Explain quality control and also explain cost of quality. Quality Control Quality control involves the series of inspections, reviews, and tests used throughout the software process to ensure each work

More information

Evaluating the Effect of Online Data Compression on the Disk Cache of a Mass Storage System

Evaluating the Effect of Online Data Compression on the Disk Cache of a Mass Storage System Evaluating the Effect of Online Data Compression on the Disk Cache of a Mass Storage System Odysseas I. Pentakalos and Yelena Yesha Computer Science Department University of Maryland Baltimore County Baltimore,

More information

technology brief RAID Levels March 1997 Introduction Characteristics of RAID Levels

technology brief RAID Levels March 1997 Introduction Characteristics of RAID Levels technology brief RAID Levels March 1997 Introduction RAID is an acronym for Redundant Array of Independent Disks (originally Redundant Array of Inexpensive Disks) coined in a 1987 University of California

More information

Using Data Mining for Mobile Communication Clustering and Characterization

Using Data Mining for Mobile Communication Clustering and Characterization Using Data Mining for Mobile Communication Clustering and Characterization A. Bascacov *, C. Cernazanu ** and M. Marcu ** * Lasting Software, Timisoara, Romania ** Politehnica University of Timisoara/Computer

More information

Flowchart Techniques

Flowchart Techniques C H A P T E R 1 Flowchart Techniques 1.1 Programming Aids Programmers use different kinds of tools or aids which help them in developing programs faster and better. Such aids are studied in the following

More information

COMPUTER AND COMPUTERISED ACCOUNTING SYSTEM

COMPUTER AND COMPUTERISED ACCOUNTING SYSTEM MODULE - 2 Computer and Computerised Accounting System 12 COMPUTER AND COMPUTERISED ACCOUNTING SYSTEM With the expansion of business the number of transactions increased. The manual method of keeping and

More information

Aquifer Simulation Model for Use on Disk Supported Small Computer Systems

Aquifer Simulation Model for Use on Disk Supported Small Computer Systems ISWS-73-CIR 114 Circular 114 STATE OF ILLINOIS DEPARTMENT OF REGISTRATION AND EDUCATION Aquifer Simulation Model for Use on Disk Supported Small Computer Systems by T. A. PRICKETT and C. G. LONNQUIST ILLINOIS

More information

2. Basic Relational Data Model

2. Basic Relational Data Model 2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that

More information

STRAND: Number and Operations Algebra Geometry Measurement Data Analysis and Probability STANDARD:

STRAND: Number and Operations Algebra Geometry Measurement Data Analysis and Probability STANDARD: how August/September Demonstrate an understanding of the place-value structure of the base-ten number system by; (a) counting with understanding and recognizing how many in sets of objects up to 50, (b)

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 The Universal Machine n A computer -- a machine that stores and manipulates information under the control of a

More information

Programming Languages

Programming Languages Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:

More information

Classification Appeal Decision Under section 5112 of title 5, United States Code

Classification Appeal Decision Under section 5112 of title 5, United States Code U.S. Office of Personnel Management Office of Merit Systems Oversight and Effectiveness Classification Appeals and FLSA Programs Atlanta Oversight Division 75 Spring Street, SW., Suite 1018 Atlanta, GA

More information

Tivoli Storage Manager Explained

Tivoli Storage Manager Explained IBM Software Group Dave Cannon IBM Tivoli Storage Management Development Oxford University TSM Symposium 2003 Presentation Objectives Explain TSM behavior for selected operations Describe design goals

More information

Contributions to Gang Scheduling

Contributions to Gang Scheduling CHAPTER 7 Contributions to Gang Scheduling In this Chapter, we present two techniques to improve Gang Scheduling policies by adopting the ideas of this Thesis. The first one, Performance- Driven Gang Scheduling,

More information

Performance Tuning for the Teradata Database

Performance Tuning for the Teradata Database Performance Tuning for the Teradata Database Matthew W Froemsdorf Teradata Partner Engineering and Technical Consulting - i - Document Changes Rev. Date Section Comment 1.0 2010-10-26 All Initial document

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 Objectives To understand the respective roles of hardware and software in a computing system. To learn what computer

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1.1 INTRODUCTION Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. In this dynamic

More information

Kaseya 2. User Guide. Version 1.0

Kaseya 2. User Guide. Version 1.0 Kaseya 2 Kaseya Service Desk User Guide Version 1.0 April 19, 2011 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private Sector IT organizations.

More information

Introduction to the Hewlett-Packard (HP) 10BII Calculator and Review of Mortgage Finance Calculations

Introduction to the Hewlett-Packard (HP) 10BII Calculator and Review of Mortgage Finance Calculations Introduction to the Hewlett-Packard (HP) 10BII Calculator and Review of Mortgage Finance Calculations Real Estate Division Sauder School of Business University of British Columbia Introduction to the Hewlett-Packard

More information

Curriculum Map. Discipline: Computer Science Course: C++

Curriculum Map. Discipline: Computer Science Course: C++ Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code

More information

CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen

CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen LECTURE 14: DATA STORAGE AND REPRESENTATION Data Storage Memory Hierarchy Disks Fields, Records, Blocks Variable-length

More information