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.
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.
An object-oriented approach to Monte Carlo calculation of uncertainties is described. Simple C++ objects are presented that can be used to perform uncertainty calculations by modelling the underlying probability distr...
详细信息
An object-oriented approach to Monte Carlo calculation of uncertainties is described. Simple C++ objects are presented that can be used to perform uncertainty calculations by modelling the underlying probability distributions. The approach allows a calculation to be expressed simply, in terms of the measurement function and the probability distributions of its input quantities. Analysis of the measurement function is not required, nor is the calculation sensitive to measurement function nonlinearity. The C++ computer code is very efficient, allowing desktop computer simulations to provide detailed information on the measurand probability distribution function.
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
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.
Reflects on the contributions made by object-oriented (OO) development and its future. Don't blame OO programming in general for the limitations of those who don't know how to apply the principles! Only a mino...
详细信息
Reflects on the contributions made by object-oriented (OO) development and its future. Don't blame OO programming in general for the limitations of those who don't know how to apply the principles! Only a minority of the industry has tried seriously and without compromise. The experience of others-those who go at it half-heartedly-is not a good technology. So the author's answer to the OO critics is the application to object technology of Gandhi's retort when he was asked for his thoughts about Western civilization: it would be a good idea
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.
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.
Dynamic memory management has been a high cost component in many software system. Studies have shown that memory intensive C programs can consume up to 30% of the program runtime in memory allocation and liberation. T...
详细信息
ISBN:
(纸本)0780352599
Dynamic memory management has been a high cost component in many software system. Studies have shown that memory intensive C programs can consume up to 30% of the program runtime in memory allocation and liberation. The OOP language system tends to perform object creation and deletion prolifically. An empirical study shown that C++ programs can have ten times more memory allocation and deallocation than comparable C programs. However, the allocation behavior of C++ programs is rarely reported. This paper attempts to locate where the dynamic memory allocations are coming from and report an empirical study of dynamic memory invocations in C++ programs. Firstly, this paper summarizes the hypothesis of situations that invoke the dynamic memory management explicitly and implicitly. They are: constructors, copy constructors, overloading assignment operator=, type conversions and application specific member functions. Secondly, the development of a source code level tracing tool is reported as the procedure to investigate the hypothesis. Thirdly, results include behavioral patterns of memory allocations. With these patterns, we may increase the reusability of the resources. For example, a profile-based strategy can be used to improve the performance of dynamic memory management. The C++ programs that were traced include Java compiler, CORBA compliant and visual framework.
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.
暂无评论