The majority of problems arising in science and engineering require the solution of a large set of linear algebraic equations such as, in matrix form. Ax = b. This type of equation is usually solved using some form of...
详细信息
The majority of problems arising in science and engineering require the solution of a large set of linear algebraic equations such as, in matrix form. Ax = b. This type of equation is usually solved using some form of Gaussian elimination. It is necessary to the finite element users that the nodes and elements are numbered correctly since nearly all computer programs contain linear algebra solution routines. These are usually expressly written to operate efficiently on matrices possessing small bandwidths, profiles or wavefronts (frontwidths). The object-oriented implementation of bandwidth, profile and wavefront reduction is based on an algorithm published by Sloan, which seems to perform consistently better to that of the widely used reverse Cuthill-McKee method and the Gibbs-King method. This article presented for the first time during CST'96 Conference [Gajewski, R.R., Lompies, P., object-oriented implementation of bandwidth, profile and wavefront reduction algorithms, In: Advances in Computational Structures Technology, ed. B.H.V. Topping, Civil Comp Press, 1996, pp. 115-120.] provides a full description of the implemented classes, their hierarchy and implementation. It is also illustrated by examples of practical calculations. (C) 1999 Elsevier Science Ltd and Civil-Comp Ltd. All rights reserved.
This paper presents Java language from an object-oriented software construction perspective. It explains the implications of banning generics and multiple inheritance of classes, and explores the patterns and the idio...
详细信息
This paper presents Java language from an object-oriented software construction perspective. It explains the implications of banning generics and multiple inheritance of classes, and explores the patterns and the idioms used by the Java designers and programmers to redeem their benefits. The paper also discusses an alternative to multiple inheritance, as incorporated in Lava, which extends Java with constructs for type-safe automatic forwarding. (C) 2001 Elsevier Science Ltd. All rights reserved.
This paper reports on two experiments comparing mental representations and program comprehension by novices in the object-oriented and procedural styles. The subjects were novice programmers enrolled in a second cours...
详细信息
This paper reports on two experiments comparing mental representations and program comprehension by novices in the object-oriented and procedural styles. The subjects were novice programmers enrolled in a second course in programming which taught either the object-oriented or the procedural paradigm. The first experiment compared the mental representations and comprehension of short programs written in the procedural and object-oriented styles. The second experiment extended the study to a larger program incorporating more advanced language features. For the short programs there was no significant difference between the two groups with respect to the total number of questions answered correctly, but the object-oriented subjects were superior to the procedural subjects at answering questions about program function, This suggests that function information was more readily available in their mental representations of the programs and supports an argument that the object-oriented notation highlights function at the level of the individual class. For the long program a corresponding effect was not found. The comprehension of procedural subjects was superior to object-oriented subjects on all types of question. The difficulties experienced by the object-oriented subjects in answering questions in a larger program suggest that they faced problems in marshaling information and drawing inferences from it. We suggest that this result may be related to a longer learning curve for novices of the object-oriented style, as well as to features of the OO style and the particular OO language notation, (C) 1999 Elsevier Science B.V. All rights reserved.
The Java programming language is a new object-oriented programming language that is gaining widespread popularity in the computer software industry because of its ease of learning, simplicity, generality, portability ...
详细信息
The Java programming language is a new object-oriented programming language that is gaining widespread popularity in the computer software industry because of its ease of learning, simplicity, generality, portability and networking capabilities. In this article, we discuss the semantic implementation in Java of each of the elements of the object model, identified by Booch [G. Booch, object-oriented Analysis and Design with Applications, 2nd Edition, Addison-Wesley, 1994], in addition to the mobility element. We show that Java, unlike other object-oriented languages, covers and simplifies all elements of the object model. An example illustrating those elements in Java will be drawn from a telecom software application. (C) 1999 Elsevier Science B.V. All rights reserved.
A system of formal reasoning, termed object-oriented logic (OOL), is presented which is based on the logical concepts present in modern computer programming and not related directly to predicate logic. It is expected ...
详细信息
A system of formal reasoning, termed object-oriented logic (OOL), is presented which is based on the logical concepts present in modern computer programming and not related directly to predicate logic. It is expected to be efficient in deriving simple conclusions when information is centered around objects and in combining independently designed subsystems. Some examples are discussed, as well as relation to other systems for logic and/or programming. (C) 1999 Elsevier Science B.V. All rights reserved.
This paper describes an integrated intelligent computer-aided design (CAD) system for ceramic kiln with an object-oriented database as its core utilizing object-oriented programming (OOP) technology. In addition to th...
详细信息
This paper describes an integrated intelligent computer-aided design (CAD) system for ceramic kiln with an object-oriented database as its core utilizing object-oriented programming (OOP) technology. In addition to the structure and methods of the object-oriented database, the expert system and the drafting system are discussed in detail. The idea of an integrated intelligent CAD environment is introduced which can greatly improve design efficiency and quality. (C) 1999 Published by Elsevier Science Ltd. All rights reserved.
This paper presents an intelligent design system that enables designers to consider at the early stages of the design process all issues associated with the product life cycle. The evaluation and optimization of machi...
详细信息
This paper presents an intelligent design system that enables designers to consider at the early stages of the design process all issues associated with the product life cycle. The evaluation and optimization of machining processes are among the most important aspects of these issues, requiring the involvement of various types of information from the different aspects of the product life cycle. The representation of this information in efficient format is very important for carrying out different design tasks. In order effectively to manage information exchange within different design and manufacturing domains, it is necessary to provide an efficient and timely communication network system. Therefore, various critical tasks such as overall coordination, control, consistency and data integrity have to be considered in order to avoid costly design iterations. This research article has focused on the development of a prototype system for machining process optimization. The system uses a combination of both mathematical methods and constraint programming techniques and provides designers with the evaluation and optimization of feasible machining processes in a consistent manner at the early stages of the design process. As a result, unexpected and costly design iterations, which result in wastage of a great amount of engineering time and effort, and in a longer lead time, can be avoided. The development process has passed through four major stages. Firstly, an intelligent constraint-based design system for concurrent product and process design, including a machining process optimization module, has been developed. Secondly, the product features, processes, cost, time and requirements have been represented in the format of constraints, frames, objects and production rules in order to be utilized to accomplish different design tasks. Thirdly, rules for the selection and optimization of feasible processes for complex features have been written and finally, an information m
A computer-based intelligent system for Design for Assembly (DFA) within a concurrent engineering environment is presented in this article. The main objective of the current research work is to develop an expert syste...
详细信息
A computer-based intelligent system for Design for Assembly (DFA) within a concurrent engineering environment is presented in this article. The main objective of the current research work is to develop an expert system that supports new techniques for design for assembly and to give users the possibility to assess and reduce the total production cost at an early stage during the design process. The system enables designers to minimise the number of components of a product and select the most economic assembly technique for that specific product. (C) 1999 Published by Elsevier Science Ltd. All rights reserved.
The object-oriented features such as encapsulation, inheritance, and state dependent behavior raise new problems in software testing. In this paper, we describe a reverse engineering approach for software testing of o...
详细信息
ISBN:
(纸本)0769501222
The object-oriented features such as encapsulation, inheritance, and state dependent behavior raise new problems in software testing. In this paper, we describe a reverse engineering approach for software testing of object-oriented programs. The approach is based on a graphic model which consists of three types of diagrams: object relation diagram (ORD), block branch diagram (BBD), and object state diagram (OSD). An ORD presents the inheritance, aggregation, and association relations among the object classes, a BED presents, for a member function, the control structure, the input parameters and output parameters, the external data that are used and affected, and other functions that are invoked. An OSD presents the states and state transitions. These diagrams are generated from C++/Java source code and may be used to 1) provide guidance on the order to test the classes and member functions;2) prepare member function test cases;3) prepare test cases for object state dependent behaviors and interaction between such behaviors;and 4) provide graphic display of coverage information to a tester.
Evolution of object-oriented software involves addition, deletion, and replacement of classes. Maintenance of classes requires detect and resolve inconsistency between classes. The Unified Modeling Language (UML) is b...
详细信息
ISBN:
(纸本)0769501796
Evolution of object-oriented software involves addition, deletion, and replacement of classes. Maintenance of classes requires detect and resolve inconsistency between classes. The Unified Modeling Language (UML) is becoming the defacto standard modeling language. Here, we present a UML-based model of class interrelations for evolving object-oriented software. The model is based on notions contract and protocol. A contract can be used by a class designer to express services and requirments of the class, a protocol to register cooperations between classes. Founded on the UML extension mechanisms, we present an infrastructure for class designers to express contracts and register protocols. The infrastructure lays the foundation for class designers, implementers, and maintainers to validate class changes in software evolution. It makes automated validation possible.
暂无评论