In current-day software development, programmers often use programming patterns to clarify their intents and to increase the understandability of their programs. Unfortunately, most software development environments d...
详细信息
In current-day software development, programmers often use programming patterns to clarify their intents and to increase the understandability of their programs. Unfortunately, most software development environments do not adequately support the declaration and use of such patterns. To explicitly codify these patterns, we adopt a declarative meta programming approach. In this approach, we reify the structure of a (object-oriented) program in terms of logic clauses. We declare programming patterns as logic rules on top of these clauses. By querying the logic system, these rules allow us to check, enforce and search for occurrences of certain patterns in the software. As such, the programming patterns become an active part of the software development and maintenance environment. (C) 2002 Elsevier Science Ltd. All rights reserved.
Simulation by a software model, is one of the most frequently used techniques for the analysis and design of manufacturing systems. In the software engineering research area, the object-oriented approach has fully dem...
详细信息
Simulation by a software model, is one of the most frequently used techniques for the analysis and design of manufacturing systems. In the software engineering research area, the object-oriented approach has fully demonstrated to be an effective technique with respect to the design and implementation phases of complex software projects. Even if object-oriented programming has proven to be a powerful technique, a systematic design method should also be used in order to implement reliable software, in particular in the development of simulation models. This paper presents a new procedure to develop flexible manufacturing system (FMS) simulation models, based on the UML analysis/design tools and on the ARENA(R) simulation language. The two main features of the proposed procedure are the definition of a systematic conceptual procedure to design FMS simulation models and of a set of rules for the conceptual model translation in a simulation language. The goal is to improve the software development efficiency through a rule-based approach and to add some of the fundamental object-oriented features to the ARENA(R) simulation environment. (C) 2002 Elsevier Science B.V. All rights reserved.
A computational framework has been developed for step-by-step implementation of global spectral projection methods used for solving boundary-value problems and for subsequent analysis of solutions produced using the n...
详细信息
A computational framework has been developed for step-by-step implementation of global spectral projection methods used for solving boundary-value problems and for subsequent analysis of solutions produced using the numerical techniques of this framework. A set of MATLAB-based functions corresponding to each step in a Galerkin discretization procedure has been developed with emphasis on simplifying the implementation of discretization methods for nonlinear, distributed-parameter system models in up to three-dimensional physical domains. A key feature of this computational approach is that a set of object classes was developed to facilitate implementation of the weighted residual methods (MWR) in an effort to make the connection between the solution procedures and modeling equations as clear as possible. The utility of the computational procedures is demonstrated through applications to two-dimensional reaction-diffusion and fluid flow problems, and a three-dimensional heat transfer model relevant to semiconductor manufacturing. (C) 2002 Elsevier Science Ltd. All rights reserved.
Due to the complexity of the numerical simulation of flow and/or water quality, there is an increasing demand for integration of recent knowledge management, artificial intelligence technology with the conventional hy...
详细信息
Due to the complexity of the numerical simulation of flow and/or water quality, there is an increasing demand for integration of recent knowledge management, artificial intelligence technology with the conventional hydraulic algorithmic models in order to assist novice application users in selection and manipulation of various mathematical tools. In this paper, a prototype knowledge management system on flow and water quality is addressed to simulate human expertise during the problem solving by incorporating artificial intelligence and coupling various descriptive knowledge, procedural knowledge and reasoning knowledge involved in the coastal hydraulic and transport processes. The system is developed through employing Visual Rule Studio, a hybrid expert system shell, as an ActiveX Designer under Microsoft Visual Basic 6.0 environment since it combines the advantages of both production rules and object-oriented programming technology. The architecture, the development and the implementation of the prototype system are delineated in details. Based on the succinct features and conditions of a variety of flow and water quality models, three kinds of class definitions, Section and Problem as well as Question are defined and the corresponding knowledge rule sets are also established. Both forward chaining and backward chaining are used collectively during the inference process. A typical example is also presented to demonstrate the application of the prototype knowledge management system. (C) 2002 Elsevier Science Ltd. All rights reserved.
This article describes an approach for verifying programs in the presence of data abstraction and information hiding, which are key features of modern programming languages with objects and modules. This article draws...
详细信息
This article describes an approach for verifying programs in the presence of data abstraction and information hiding, which are key features of modern programming languages with objects and modules. This article draws on our experience building and using an automatic program checker, and focuses on the property of modular soundness: that is, the property that the separate verifications of the individual modules of a program suffice to ensure the correctness of the composite program. We found this desirable property surprisingly difficult to achieve. A key feature of our methodology for modular soundness is a new specification construct: the abstraction dependency, which reveals which concrete variables appear in the representation of a given abstract variable, without revealing the abstraction function itself. This article discusses in detail two varieties of abstraction dependencies: static and dynamic. The article also presents a new technical definition of modular soundness as a monotonicity property of verifiability with respect to scope and uses this technical definition to formally prove the modular soundness of a programming discipline for static dependencies.
Many object-oriented languages used in practice descend from Algol. With this motivation, we study the theoretical issues underlying such languages via the theory of Algol-like languages. It is shown that the basic fr...
详细信息
Many object-oriented languages used in practice descend from Algol. With this motivation, we study the theoretical issues underlying such languages via the theory of Algol-like languages. It is shown that the basic framework of this theory extends cleanly and elegantly to the concepts of objects and classes. Moreover, a clear correspondence emerges between classes and abstract data types, whose theory corresponds to that of existential types. Equational and Hoare-like reasoning methods and relational parametricity provide powerful formal tools for reasoning about Algol-like object-oriented programs. (C) 2002 Elsevier Science.
An object-oriented environment for reinforcement dimensioning of two- and three-dimensional concrete panel structures is suggested and a new finite element design (FED) object is introduced. In the framework of an obj...
详细信息
An object-oriented environment for reinforcement dimensioning of two- and three-dimensional concrete panel structures is suggested and a new finite element design (FED) object is introduced. In the framework of an object-oriented environment for finite element analysis, the FE object commonly providing the stiffness matrix for analysis is extended to the FED object used for design. The FED object provides the finite element yield conditions in terms of the element nodal forces as opposed to conventional yield conditions formulated for stresses at an infinitesimal point. It can be used for any kind of material provided the corresponding resistance values are used in the yield condition. Class definitions and methods for the FED object are defined. Other major design classes to be used in an object-oriented finite element-based design environment of concrete panel structures are presented. Further, a progressive linear programming approach is suggested in which the tableau is progressively expanded to include new optimization variable columns and constraint rows while most of the computation is performed outside of the tableau. This method is applied to the reinforcement minimization. Possibilities of parallelization of the method on a network of workstations are explained. (C) 2002 Elsevier Science B.V. All rights reserved.
The software interface P2MESH is a collection of C CC class templates suitable for developing prototypes of high-performance PDE solvers on unstructured 2-D meshes. P2MESH supports several discretization methods on tr...
详细信息
The software interface P2MESH is a collection of C CC class templates suitable for developing prototypes of high-performance PDE solvers on unstructured 2-D meshes. P2MESH supports several discretization methods on triangles and quadrilaterals, such as finite volume or finite element. The design philosophy of P2MESH does not consider specific model problems or built-in approximation algorithms. The software package is general purpose and it may also be used as a building block in the implementation of numerical codes both for engineering applications and mathematical problems.
NEURobjects is a set of C++ library classes for neural network development, exploiting the potentialities of object-oriented design and programming. The main goal of the library consists in supporting experimental res...
详细信息
NEURobjects is a set of C++ library classes for neural network development, exploiting the potentialities of object-oriented design and programming. The main goal of the library consists in supporting experimental research in neural networks and fast prototyping of inductive machine learning applications. We present NEURobjects design issues, its main functionalities, and programming examples, showing how to map neural network concepts into the design of library classes. (C) 2002 Elsevier Science B.V. All rights reserved.
The three access modifiers-public, protected, and private-control the accessibility of the members of a type in the Java programming language. Furthermore, the accessibility may be transmitted along the two structures...
详细信息
The three access modifiers-public, protected, and private-control the accessibility of the members of a type in the Java programming language. Furthermore, the accessibility may be transmitted along the two structures-package structure and inheritance structure. It is difficult to identify the weaknesses of the access modifiers from the informal semantics stated in the language manual. We develop a formal framework for specifying the accessibility in Java programs based on attribute grammars. With the help of this framework, we found several situations in the language specification that are irregular or counter-intuitive or ambiguous. These situations may confuse the programmers and hence may create weaknesses in Java programs. (C) 2002 Elsevier Science Ltd. All rights reserved.
暂无评论