To handle finite memory efficiently, it is necessary to allocate and deallocate objects at suitable times. Two main approaches to object management are garbage collection and direct management. Garbage collection remo...
详细信息
To handle finite memory efficiently, it is necessary to allocate and deallocate objects at suitable times. Two main approaches to object management are garbage collection and direct management. Garbage collection removes the responsibility of managing object memory from the user but can be expensive. Direct management relies on user management of object memory but can be implemented with no runtime cost. In the latter, coding patterns can reduce the potential for error. We propose a new coding pattern for object management which supports the encapsulation, inheritance and overloading capabilities associated with object-orientedlanguages while achieving zero-cost memory management.
We describe how to express homomorphic translations with an object-oriented design. This includes a uniform approach to the addition of external functionality to data structures. We present the tradeoffs of distributi...
详细信息
We describe how to express homomorphic translations with an object-oriented design. This includes a uniform approach to the addition of external functionality to data structures. We present the tradeoffs of distributing intrinsic and extrinsic properties to data structures and external functions respectively. A mini-architecture (design pattern) for the emulation of multi-dispatching functions is presented in order to allow the definition of local translation functions. Actually, we present a variant of the Visitor pattern, but add the idea of maintaining a homomorphism between source and target and introduce a target structure between source structure and target semantics. Combined, these concepts pave the way to incremental evaluation.
Most of the database research on modeling time has concentrated on the definition of a particular temporal model and its incorporation into a (relational or object) database management system. This has resulted in qui...
详细信息
Most of the database research on modeling time has concentrated on the definition of a particular temporal model and its incorporation into a (relational or object) database management system. This has resulted in quite a large number of different temporal models, each providing a specific set of temporal features. This paper presents an object-oriented framework for temporal models which supports multiple notions of time. The framework can be used to accommodate the temporal needs of different applications, and derive existing temporal models by making a series of design decisions through subclass specialization. It can also be used to derive a series of new more general temporal models that meet the needs of a growing number of emerging applications.
Aspect oriented programming promotes the separation of the different aspects of a system into their natural form. Synchronization is an important aspect of concurrent object-orientedsystems, but treating synchronizat...
详细信息
Aspect oriented programming promotes the separation of the different aspects of a system into their natural form. Synchronization is an important aspect of concurrent object-orientedsystems, but treating synchronization as a single monolithic aspect leads to inflexibility and limited possibilities for reuse. We suggest that synchronization has a number of different aspects, and introduce the `synchronization rings' model which allows the aspects of a synchronized object to be specified independently. By separating the different aspects of synchronization we can provide flexible, generic implementations of common synchronization constraints, which can be re-used in many different contexts.
object Addressing is an important aspect with heavy influence on system peiformance of object-oriented database. After discussing variant factors relevant to object addressing, we present the object addressing technol...
详细信息
The design of complex distributed objects applications such as transactional systems (e.g. nested transactions, two or three phases commit protocols), network algorithms (e.g. routing, spanning tree construction, grou...
详细信息
The design of complex distributed objects applications such as transactional systems (e.g. nested transactions, two or three phases commit protocols), network algorithms (e.g. routing, spanning tree construction, group causal delivery) or cooperative applications is a hard task. In this paper we present a meta-object protocol (MOP for short) called CAO-LAC, to assist developers in implementing these applications. A prototype was developed for the language of the GUIDE distributed object system. The MOP uses a state/transition approach to synchronize concurrent objects. We propose some extensions to manage intra-object parallelism. Then we report on a spanning tree construction algorithm that was implemented with this MOP.
A technique for transparent access to persistent objects is presented, which is a key technique for achieving the seamless integration of object-oriented databases and programming languages, in the condition of keepin...
详细信息
In this paper we discuss how to generate wrapper code that allows existing C++ class libraries to be accessed from scripting languages such as Tcl and Perl. Previously suggested approaches to this problem are reviewed...
详细信息
In this paper we discuss how to generate wrapper code that allows existing C++ class libraries to be accessed from scripting languages such as Tcl and Perl. Previously suggested approaches to this problem are reviewed and compared. We point out some problems related to the C++ object model and the difficulties introduced by advanced C++ constructs such as templates, nested types, type definitions, temporaries, implicit casts, multiple inheritance and overloading. We argue that it is necessary to support all of these features, as they are used frequently in all modern C++ libraries. A new system called TIDE, which integrates C++ and Tcl, is presented and we describe the ideas behind its design. As an example, we show how TIDE can be used for accessing the ISO C++ draft standard library.
The intent of this work is to contribute to the field of distributed process engineering involving a large network of heterogeneous, autonomous and distributed models and process engines. Distributed process engineeri...
详细信息
The intent of this work is to contribute to the field of distributed process engineering involving a large network of heterogeneous, autonomous and distributed models and process engines. Distributed process engineering is becoming increasingly popular. Such an environment consists of heterogeneous, autonomous, locally managed and distributed process systems that cooperate to provide complex services. These process systems may be business or software engineering environments. These systems have provided a model for process engineering and a foundation on which to build solutions supporting the automation of processes execution and support, involving human and machine based activities. Cooperation between such environments is needed because sites have limited resources to perform activities. Interoperability is becoming a major issue of cooperative work environments. The goal of this work is to provide a framework for process systems interoperability. We provide system interoperability favoring the use of an objectoriented framework. objectorientedtechnology has proved to achieve interoperability at a semantic level and can lead to a canonical model with homogeneous views of local process environments. In this way global process engineering is specified uniformly on top of local systems. We present here the architecture of the environment and then we will focus on the objectoriented framework for interoperability.
暂无评论