This paper is concerned with the software development of distributed real-time measurement systems. Major gears are modularity, reusability and independency from hardware devices, processors and comunications networks...
详细信息
This paper is concerned with the software development of distributed real-time measurement systems. Major gears are modularity, reusability and independency from hardware devices, processors and comunications networks. A light-weight architecture for real-time (DART) is proposed which delivers a systematic methodology centred on object-oriented techniques. The effectiveness of DART is illustrated by means of its application to a distributed measurement system for electrical power plants. (C) 1997 Elsevier Science B.V.
A new object-oriented C + + library (SolidEOS) for calculating the thermoelastic properties of solids is presented. The implementation is based on the Mie-Gruneisen-Debye equation of state (EOS) augmented by lowest or...
详细信息
A new object-oriented C + + library (SolidEOS) for calculating the thermoelastic properties of solids is presented. The implementation is based on the Mie-Gruneisen-Debye equation of state (EOS) augmented by lowest order correction for anharmonicity. Several commonly used static EOS like Birch Murnaghan and Vinet models are available. Although some widely used approximation for the Debye-Gruneisen parameter and static EOS are implemented, the final behaviour of the EOS can be easily modified by overloading predefined virtual functions. The article provides a basic physical background of the modern theory of high-pressure EOS. The detailed documentation of the class hierarchy is summarized in the appendix, which accompanies the source. Several examples of practical use are given in the appendix as well. The library is appropriate for applications in geophysics, petrology, material science or any other field where thermodynamic and elastic properties of solids are relevant. The source code is available from the Computers & Geoscience software archive. (c) 2005 Elsevier Ltd. All rights reserved.
Properties that are needed in a language for programming computer vision tasks are described, and a new object-oriented programming language and data management system approach is suggested. An example from automatic ...
详细信息
Properties that are needed in a language for programming computer vision tasks are described, and a new object-oriented programming language and data management system approach is suggested. An example from automatic pose estimation is used to illustrate the necessity for the properties in a language system, it is indicated where other languages and data management systems fail to provide these properties, and the type constructors used in the authors' system and features of the language semantics of their system are discussed
Advanced driving assistance systems (ADAS) have huge potential for improving road safety and travel times. However, their take-up in the market is very slow;and these systems should consider driver's preferences t...
详细信息
Advanced driving assistance systems (ADAS) have huge potential for improving road safety and travel times. However, their take-up in the market is very slow;and these systems should consider driver's preferences to increase adoption rates. The aim of this study is to develop a model providing drivers with the optimal trajectory considering the motorist's driving style in real time. Travel duration and safety are the main parameters used to find the optimal trajectory. A simulation framework to determine the optimal trajectory was developed in which the ego car travels in a highway environment scenario, using an agent-oriented approach. The performance of the algorithm was compared against optimal trajectories computed offline with the hybrid A* algorithm. The new framework provides trajectories close to the optimal trajectory and is computationally achievable. The agents were shown to follow safe and fast trajectories in three tests scenarios: emergency braking, overtaking and a complex situation with multiple vehicles around the ego vehicle. Different driver profiles were then tested in the complex scenario, showing that the proposed approach can adapt to driver preferences and provide a solution close to the optimal solution given the defined safety constraints.
We address the problem of how to handle exceptions in distributed object systems. In a distributed computing environment, exceptions may be raised simultaneously in different processing nodes and thus need to be treat...
详细信息
We address the problem of how to handle exceptions in distributed object systems. In a distributed computing environment, exceptions may be raised simultaneously in different processing nodes and thus need to be treated in a coordinated manner. Mishandling concurrent exceptions can lead to catastrophic consequences. We take two kinds of concurrency into account: 1) Several objects are designed collectively and invoked concurrently to achieve a global goal and 2) multiple objects (or object groups) that are designed independently compete for the same system resources. We propose a new distributed algorithm for resolving concurrent exceptions and show that the algorithm works correctly even in complex nested situations, and is an improvement over previous proposals in that it requires only O(n(max)N(2)) messages, thereby permitting quicker response to exceptions.
Fortran has been with us for a long time. It was the first computer languageto be standardized (in 1966and has since been revised three times (Fortran 77, Fortran 90, andFortran 95). The Fortran 90 revision was major;...
详细信息
Fortran has been with us for a long time. It was the first computer languageto be standardized (in 1966and has since been revised three times (Fortran 77, Fortran 90, andFortran 95). The Fortran 90 revision was major; those of Fortran 77 and Fortran 95 were relativelyminor. Almost all compilers now implement Fortran 95. The next revision, Fortran 2000, will bemajor. Its principal features were chosen in 1997, taking into account the requirements of users (asexpressed through their national bodies). The delay was caused by the task's magnitude and the factthat the work is done by a small number of volunteers. Final publication is expected next yearafter two more stages of consultation, which are designed to ensure that it has internationalconsensus.
Message dispatch in object-oriented programming (OOP) involves target method lookup in dispatch table/tree. Reflective environment builds dispatch data-structure at runtime as types can be added at runtime. Hence, alg...
详细信息
Message dispatch in object-oriented programming (OOP) involves target method lookup in dispatch table/tree. Reflective environment builds dispatch data-structure at runtime as types can be added at runtime. Hence, algorithms for reflective environments require dynamic data structure for dispatch. In this paper, we propose a tree-based algorithm for multiple dispatch in reflective runtime environment. New classes can be added to the system at runtime. Proposed algorithm per-forms lookup in time proportional to log(n) times the polymorphic arguments, where n is number of classes in a system. Proposed algorithm uses type-safe approach for multimethod lookup resolving ambiguities. We compare performance of the proposed algorithm with the dispatch mechanism in commonly used virtual/reflexive systems, e.g., Java and Microsoft's Common Language Runtime (MS-CLR), in respect of efficiency and type-safety. (c) 2005 Elsevier Ltd. All rights reserved.
The Common object Request Broker Architecture (CORBA), is a major industrial standard for distributed object-based applications. Today's large-scale CORBA applications have to deal with object crashes, node failur...
详细信息
The Common object Request Broker Architecture (CORBA), is a major industrial standard for distributed object-based applications. Today's large-scale CORBA applications have to deal with object crashes, node failures, networks partitioning and unpredictable communication delays. Existing efforts to enhance the CORBA reliability can be roughly categorized into three approaches: integration approach, interception approach and service approach. Each approach has its own merits and prices. In this paper, we propose a service approach solution called object Fault-tolerance Service (OFS). Solutions that adopt the service approach usually specify their service in terms of CORBA IDL interfaces. The implementations of such solutions in general do not modify the ORE infrastructure or IDL language mappings, and thus applications developed with those systems appear to be more portable. OFS differs from other service approach solutions in that OFS does not assume underlying support of reliable group communication. Applications with advance registration can rely on OFS for detection of object and node crashes, and for customized recovery. In this paper, we first present the service specification of OFS. We then give the system architecture of an OFS implementation. This OFS implementation is developed on the Solaris 2.5 platform and with IONA's Orbix 2.0. The performance evaluation of the OFS implementation is also presented. The preliminary experiments indicate that OFS overhead is minimal and client objects experience little response delay when a service object is under OFS surveillance. (C) 1999 Elsevier Science Inc. All rights reserved.
Using object-oriented programming (OOP) techniques and philosophies, a collection of C++ tools for the rapid development of finite element applications has been created. The object-oriented finite element analysis (OO...
详细信息
Using object-oriented programming (OOP) techniques and philosophies, a collection of C++ tools for the rapid development of finite element applications has been created. The object-oriented finite element analysis (OOFEA) toolkit provides both the geometrical and mathematical management tools necessary for this task in the form of useful class hierarchies. In particular, the OOFEA toolkit features methods for evaluating arbitrary weak forms provided by the user in order to solve particular problems of interest. A description of the underlying concepts, philosophies and techniques used to develop the toolkit are included. A strong effort has been made to concentrate on its possibly beneficial usage in the computational fluid dynamics area. In order to demonstrate the toolkit capabilities of managing complex projects, a simulator for laminar and turbulent natural convective flows in enclosures has been developed and a numerical study of some of these flows has been conducted. Using a primitive variable approach, the Galerkin FEM is used to obtain the weak form of the coupled unsteady Navier-Stokes and energy equations for incompressible, viscous, Newtonian fluids in two and three dimensions. By including a k-epsilon turbulence model in the governing equations, the analysis of both laminar and turbulent convective flows in enclosures is possible. With the help of a semi-implicit time stepping scheme, combined with a projection scheme, the resulting systems of equations are solved iteratively using the preconditioned conjugate gradient (PCG) algorithm. Time accurate two-dimensional simulations have been performed for a differentially heated square cavity in the laminar and turbulent regimes, for air with a Prandtl number of 0.71, and values of the Rayleigh number ranging between 10(3) and 10(10). Consistency tests show that the simulator correctly implements the k-epsilon turbulence model, and the numerical results compare well with results reported in the literature. T
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.
暂无评论