Results 1 - 10
of
23
D: A LANGUAGE FRAMEWORK FOR DISTRIBUTED PROGRAMMING
, 1997
"... Two of the most important issues in distributed systems are the synchronization of concurrent threads and the application-level data transfers between execution spaces. At the design level, addressing these issues typically requires analyzing the components under a different perspective than is requ ..."
Abstract
-
Cited by 185 (10 self)
- Add to MetaCart
(Show Context)
Two of the most important issues in distributed systems are the synchronization of concurrent threads and the application-level data transfers between execution spaces. At the design level, addressing these issues typically requires analyzing the components under a different perspective than is required to analyze the functionality. Very often, it also involves analyzing several components at the same time, because of the way those two issues cross-cut the units of functionality. At the implementation level, existing programming languages fail to provide adequate support for programming in terms of these different and cross-cutting perspectives. The result is that the programming of synchronization and remote data transfers ends up being tangled throughout the components code in more or less arbitrary ways. This thesis presents a language framework called D that untangles the implementation of synchronization
ABC++: Concurrency by Inheritance in C++
, 1995
"... Many attempts have been made to add concurrency to C ++ , but much of the work has not exploited the power of C ++ , and often extensive compiler extensions are made. This paper shows how the object-oriented facilities of C ++ are powerful enough to encapsulate concurrency creation and contr ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
Many attempts have been made to add concurrency to C ++ , but much of the work has not exploited the power of C ++ , and often extensive compiler extensions are made. This paper shows how the object-oriented facilities of C ++ are powerful enough to encapsulate concurrency creation and control. We have developed a concurrent C ++ -based system which we call ABC ++ . We show how we can provide, with a standard compiler, almost all of the functionality offered by a new or extended language. Active objects, object distribution, selective method acceptance, and synchronous and asynchronous object interaction are supported. Concurrency control and synchronization are encapsulated at the active object level. The goal of ABC ++ is to allow its users to write concurrent programs without dealing with explicit synchronization and mutual exclusion constructs, and with as few restrictions on the use of C ++ as possible. ABC ++ can be implemented on either a shared memory ...
A Stub Generation System For C++
, 1994
"... This paper describes the implementation of a Stub Generation system targeted specifically at C++. It enables distributed C++ applications to be constructed in a straightforward manner with minimal programmer assistance. The system does not require the use of an auxiliary interface definition languag ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
This paper describes the implementation of a Stub Generation system targeted specifically at C++. It enables distributed C++ applications to be constructed in a straightforward manner with minimal programmer assistance. The system does not require the use of an auxiliary interface definition language but instead processes existing C++ header files to maximise transparency. The generated code exploits the power of C++ by using operator overloading for parameter marshalling and constructors and destructors to drive the remote binding process. The system described here is fully implemented and can be obtained as part of the
Designing an Efficient Resource Management for Parallel Distributed Systems by the Use of a Graph Replacement System
- In Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'96
, 1996
"... This paper presents a new approach to design an efficient resource management for parallel distributed systems. The basic idea is to describe the whole system with the help of a graph. The graph includes abstract /software objects as well as hardware objects. The nodes of the graph represent both ty ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
(Show Context)
This paper presents a new approach to design an efficient resource management for parallel distributed systems. The basic idea is to describe the whole system with the help of a graph. The graph includes abstract /software objects as well as hardware objects. The nodes of the graph represent both types of objects on different levels of abstraction. The edges of the graph represent dependencies among the objects. Nodes and edges are labeled with attributes storing additional information. Based on this graph a graph replacement system is introduced, which defines all resource management services. Each replacement rule is based on the graph and describes on the one hand the preconditions which are necessary to apply the rule and on the other hand the postconditions which must hold after its execution. The complete knowledge of the whole system, represented by the nodes, the attributes and the edges of the graph, allows the graph replacement system to manage the system efficiently. Keywor...
Streamlining Object-Oriented Software for Deeply Embedded Applications
- In Proceedings of the TOOLS Europe 2000, Mont Saint-Michel, Saint
, 2000
"... Most of today's computer systems are embedded and a substantial amount of them are deeply embedded systems with very limited resources. Object-oriented software is rarely to be found in those systems. In this paper we discuss reasons why currently object orientation is seldom used in this area. ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
(Show Context)
Most of today's computer systems are embedded and a substantial amount of them are deeply embedded systems with very limited resources. Object-oriented software is rarely to be found in those systems. In this paper we discuss reasons why currently object orientation is seldom used in this area. We also propose a set of design and implementation techniques based on modern objectoriented methods, which reconcile the reusability and flexibility of object-oriented software with the required efficiency of deeply embedded systems. 1 Introduction Most of today's computer systems are more or less hidden in embedded applications like mobile phones or cars. Even some kitchen aids have their own processors. More and more application areas are "computerized". In many if not most of them only very limited computational power is available. These so called "deeply" embedded systems are a great challenge for today's software producers. In contrast to PCs the various constraints like cost reduction,...
Object Models for Distributed or Persistent Programming
- The Computer Journal
, 1998
"... As use of object orientation for application development has increased, many researchers have investigated the design of object-based programming languages for the distributed and persistent programming. This paper concentrates on reviewing a number of object-oriented languages for distributed or pe ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
(Show Context)
As use of object orientation for application development has increased, many researchers have investigated the design of object-based programming languages for the distributed and persistent programming. This paper concentrates on reviewing a number of object-oriented languages for distributed or persistent programming. In each case, the focus is on the object model supported and the mechanisms and policies employed in the implementation of distributed or persistent objects. In particular, each language reviewed has been chosen to illustrate a particular object model or implementation strategy. Key words: Distributed Systems Implementation, Persistence, Distributed Programming, Object Orientation. Introduction In recent years, considerable interest in the design of parallel and distributed applications has emerged from various computer disciplines such as database systems, network systems, operating systems, and computer architecture as well as the traditional high performance commun...
Meeting the Application in User Space
, 1994
"... INTRODUCTION Today's operating systems still offer a static interface, not designed for customization by the application programmer. At the same time, application requirements are getting more and more specific, demanding higher flexibility from the underlying system. Emerging needs are, in pa ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
INTRODUCTION Today's operating systems still offer a static interface, not designed for customization by the application programmer. At the same time, application requirements are getting more and more specific, demanding higher flexibility from the underlying system. Emerging needs are, in particular, adequate support for concurrency, distribution, and persistence. However, there seems to be no commonly accepted single interface satisfying every kind of user application. Rather than trying to meet diverse user requirements by further broadening existing interfaces, a more suitable approach is to supply highly customizable operating system services [5]. These services should be accessible in user-space like any application-specific service in the chosen programming model. For example, in an object-oriented programming model, the programmer should be able to apply inheritance to existing classes of operating system objects. Such flexible access to existing primitives enables ea
Multi-level Architecture of object-oriented Operating Systems
, 1994
"... Applications should be provided with optimal infrastructures at their run time. The proposed architecture encourages to structure a system into sets of interacting instances supported by optimal infrastructures at multiple levels. Infrastructures are organized as sets of instances as well, but of m ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Applications should be provided with optimal infrastructures at their run time. The proposed architecture encourages to structure a system into sets of interacting instances supported by optimal infrastructures at multiple levels. Infrastructures are organized as sets of instances as well, but of more elementary quality. Thus, a recursive architecture results with related infrastructures and instance areas that forms an n-ary tree. Each instance area provides the infrastructure for higher instance areas and needs itself a lower level infrastructure. Processing is considered as performing services among instances. Object-orientation is proved to be suitable for structuring instance areas and infrastructures. Instances performing services are objects. A discussion of general principles of object-orientation gives the background to apply it to this architecture. Most existing object-oriented systems only consider one kind or "quality" of objects, which is however inadequate for operating...
The Shared Objects Net-interconnected Computer (SONiC); Informatik Bericht Nr. 52
, 1995
"... We present a novel approach to parallel computing in a workstation environment. We introduce Replicated Shared Objects as a programming paradigm which allows encapsulation of communication and synchronization operations within an object’s implementation. It also provides an easy-to-use interface to ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
We present a novel approach to parallel computing in a workstation environment. We introduce Replicated Shared Objects as a programming paradigm which allows encapsulation of communication and synchronization operations within an object’s implementation. It also provides an easy-to-use interface to the application programmer. Shared Objects Memory implements our programming paradigm as an object-based, replicated distributed shared memory system on top of network-transparent communication in the Mach operating system. Together with a Remote Execution Service it provides a complete environment for execution of shared-memory parallel programs in workstation clusters. Our system allows for definition and configuration of a virtual parallel machine called ‘‘Shared Objects Net-interconnected Computer’ ’ within such a cluster through an easy-to-use graphical interface. Besides a description of our programming paradigm and the ‘‘Shared Objects Net-interconnected Computer’ ’ this paper includes promising runtime statistics from early experiments, showing that a cluster of four lowend workstations may have comparable performance with a four-processor shared memory multicomputer such as Sequent Balance.