In an evolving software system, components must be able to change independently while remaining compatible with their peers. One obstacle to independent evolution is the brittle parameter problem: the ability of two c...
详细信息
ISBN:
(纸本)9781581137125
In an evolving software system, components must be able to change independently while remaining compatible with their peers. One obstacle to independent evolution is the brittle parameter problem: the ability of two components to communicate can depend on a number of inessential details of the types, structure, and/or contents of the values communicated. If these details change, then the components can no longer communicate, even if the essential parts of the message remain *** present HydroJ, an extension of Java that addresses this problem. In HydroJ, components communicate using self-describing, semi-structured messages, and programmers use pattern matching to define the handling of messages. This design stems from two central ideas: first, that self-describing messages reduce dependence on inessential message format details; and second, that object-oriented pattern matching naturally focuses on the essential information in a message and is insensitive to inessential *** have developed these ideas in the context of Rain, a distributed, heterogeneous messaging system for ubiquitous computing. To evaluate the design, we have constructed a prototype HydroJ compiler, implemented some Rain services in HydroJ, studied the evolution of an existing Rain service over time, and formalized HydroJ's key features in a core language.
Although classical object-oriented programming languages provide high-level modeling capacities (abstract data type, inheritance etc.), they remain low-level relative to data manipulation. Addressing this problem with...
详细信息
ISBN:
(纸本)9781581131826
Although classical object-oriented programming languages provide high-level modeling capacities (abstract data type, inheritance etc.), they remain low-level relative to data manipulation. Addressing this problem with objectorientedprogramming languages is an important mission of today's research. Considerable work has already been done, leading to the development of tools such as object query languages, with mixed results. In this paper, we present the key points of a new approach to this problem. We propose an enhancement of objectorientedprogramming at the core level, by integrating Array programming, a high-level model for computing. Our solution is based on an extension to objectorientedprogramming. This integration of object technology and Array programming allows for high-level object-oriented programming. At the same time, it opens Array programming to the powerful world of objects.
The general deformation problem with material and geometric non-linearities is typically divided into a number of subproblems including the kinematic, the constitutive, and the contact/friction subproblems. These prob...
详细信息
The general deformation problem with material and geometric non-linearities is typically divided into a number of subproblems including the kinematic, the constitutive, and the contact/friction subproblems. These problems are introduced for algorithmic purposes;however, each of them represents distinct physical aspects of the deformation process. For each of these subproblems, several well-established mathematical and numerical models based on the finite element method have been proposed for their solution. Recent developments in software engineering and in the field of object-oriented C++ programming have made it possible to model physical processes and mechanisms more expressively than ever before. In particular, the various subproblems and computational models in a large inelastic deformation analysis can be implemented using appropriate hierarchies of classes that accurately represent their underlying physical, mathematical and/or geometric structures. This paper addresses such issues and demonstrates that an approach to deformation processing using classes, inheritance and virtual functions allows a very fast and robust implementation and testing of various physical processes and computational algorithms. Here, specific ideas are provided for the development of an object-oriented C++ programming approach to the FEM analysis of large inelastic deformations. It is shown that the maintainability, generality, expandability, and code re-usability of such FEM codes are highly improved. Finally, the efficiency and accuracy of an object-oriented programming approach to the analysis of large inelastic deformations are investigated using a number of benchmark metal-forming examples. Copyright (C) 1999 John Wiley & Sons, Ltd.
A new method of writing boundary element programmes using the programming paradigms known as object-oriented programming (OOP) is presented in this paper. Among OOP paradigms, C++ is more suited to numerical programmi...
详细信息
A new method of writing boundary element programmes using the programming paradigms known as object-oriented programming (OOP) is presented in this paper. Among OOP paradigms, C++ is more suited to numerical programming than a pure OOP language, and the fact that C++ is chosen in this paper intends to illustrate the efficiency of object-orient boundary element programming. The advantage of object-orient boundary element programming-i.e. being superior to other paradigms such as FORTRAN-is shown by discussion of a sample C++ code of boundary element methods. (C) 1998 Published by Elsevier Science Ltd. All rights reserved.
This research paper presents a prototype object-oriented and rule-based system for product cost modelling and design for automation at an early design stage. The developed system comprises a computer aided design (CAD...
详细信息
This research paper presents a prototype object-oriented and rule-based system for product cost modelling and design for automation at an early design stage. The developed system comprises a computer aided design (CAD) solid modelling system, a material selection module, a knowledge-based system (KBS), a process optimization module, a design for assembly module, a cost estimation module and a user interface. The system development process has passed through four major steps: constructing the knowledge-based and process optimization system;developing a design for assembly module;integrating the KBS with both a material selection database and the CAD system;developing and implementing a fuzzy logic approach to generate reliable estimation of cost and to handle the uncertainty in the cost estimation model that cannot be addressed by traditional analytical methods. Two manufacturing processes, namely machining and injection moulding processes, were considered in the developed system. The main function of the system, besides estimating the product cost, is to generate initial process planning, including the generation and selection of machining processes, their sequence and their machining parameters, and to recommend the most economical assembly technique for a product and provide design improvement suggestions based on a design feasibility technique. In addition, a feature-by-feature cost estimation report is generated using the proposed system to highlight the features of high manufacturing cost. Two case studies were used to validate the developed system.
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.
FC++ is a library for programming functionally in C++. Compared to other C++ functional programming libraries, FC++ is distinguished by its powerful type system which allows the manipulation of parametrically polymorp...
详细信息
FC++ is a library for programming functionally in C++. Compared to other C++ functional programming libraries, FC++ is distinguished by its powerful type system which allows the manipulation of parametrically polymorphic functions (e.g., passing them as arguments to other functions and returning them as results). In this paper, we show how FC++ can be used in common object-oriented programming tasks. We demonstrate FC++ implementations of several common design patterns (Adapter, Builder, Command, and more). Compared to conventional C++ implementations of these patterns, our implementations are either simpler (in that fewer classes/dependencies are needed), more efficient, or more type-safe (thanks to parametric polymorphism and type inference). Copyright (C) 2002 John Wiley Sons, Ltd.
A major challenge facing software libraries for scientific computing is the ability to provide adequate flexibility to meet sophisticated, diverse, and evolving application requirements. object-oriented design techniq...
详细信息
A major challenge facing software libraries for scientific computing is the ability to provide adequate flexibility to meet sophisticated, diverse, and evolving application requirements. object-oriented design techniques are valuable tools for capturing characteristics of complex applications in a software architecture. In this paper, we describe certain prominent object-oriented features of the SAMRAI software library that have proven to be useful in application development. SAMRAI is used in a variety of applications and has demonstrated a substantial amount of code and design re-use in those applications. This flexibility and extensibility is illustrated with three different application codes. We emphasize two important features of our design. First, we describe the composition of complex numerical algorithms from smaller components which are usable in different applications. Second, we discuss the extension of existing framework components to satisfy new application needs. Published in 2002 by John Wiley Sons, Ltd.
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.
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.
暂无评论