Results 1 - 10
of
50
A Foundation for Actor Computation
- Journal of Functional Programming
, 1998
"... We present an actor language which is an extension of a simple functional language, and provide a precise operational semantics for this extension. Actor configurations represent open distributed systems, by which we mean that the specification of an actor system explicitly takes into account the in ..."
Abstract
-
Cited by 198 (48 self)
- Add to MetaCart
We present an actor language which is an extension of a simple functional language, and provide a precise operational semantics for this extension. Actor configurations represent open distributed systems, by which we mean that the specification of an actor system explicitly takes into account the interface with external components. We study the composability of such systems. We define and study various notions of testing equivalence on actor expressions and configurations. The model we develop provides fairness. An important result is that the three forms of equivalence, namely, convex, must, and may equivalences, collapse to two in the presence of fairness. We further develop methods for proving laws of equivalence and provide example proofs to illustrate our methodology.
From Coloured Petri Nets to Object Petri Nets
, 1995
"... ion Abstract: This paper seeks to establish within a formal framework how Coloured Petri Nets can be enhanced to produce Object Petri Nets. It does so by defining a number of intermediate Petri Net formalisms and identifying the features introduced at each step of the development. Object Petri Nets ..."
Abstract
-
Cited by 53 (6 self)
- Add to MetaCart
ion Abstract: This paper seeks to establish within a formal framework how Coloured Petri Nets can be enhanced to produce Object Petri Nets. It does so by defining a number of intermediate Petri Net formalisms and identifying the features introduced at each step of the development. Object Petri Nets support a complete integration of object-oriented concepts into Petri Nets, including inheritance and the associated polymorphism and dynamic binding. In particular, Object Petri Nets have a single class hierarchy which includes both token types and subnet types. Interaction between subnets can be either synchronous or asynchronous depending on whether the subnet is defined as a super place or a super transition. The single class hierarchy readily supports multiple levels of activity in the net and the generation and removal of tokens has been defined so that all subcomponents are simultaneously generated or removed, thus simplifying memory management. Despite this descriptive power, Object...
Reasoning about Meta Level Activities in Open Distributed Systems
- In Principles of Distributed Computing
, 1995
"... this paper we consider remote creation, migration, and reachability snapshot services: their specification at different levels of abstraction, and their composition. 1.1 About Actors ..."
Abstract
-
Cited by 42 (18 self)
- Add to MetaCart
this paper we consider remote creation, migration, and reachability snapshot services: their specification at different levels of abstraction, and their composition. 1.1 About Actors
Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications
- European Conference on Object-Oriented Programming
, 1994
"... ing Process-to-Function Relations in Concurrent Object-Oriented Applications ? Cristina Videira Lopes ?? , Karl J. Lieberherr College of Computer Science Northeastern University Cullinane Hall Boston, MA 02115, USA email: fcrista, lieberg@ccs.neu.edu Abstract. This paper presents a progra ..."
Abstract
-
Cited by 37 (9 self)
- Add to MetaCart
ing Process-to-Function Relations in Concurrent Object-Oriented Applications ? Cristina Videira Lopes ?? , Karl J. Lieberherr College of Computer Science Northeastern University Cullinane Hall Boston, MA 02115, USA email: fcrista, lieberg@ccs.neu.edu Abstract. This paper presents a programming model for concurrent object-oriented applications by which concurrency issues are abstracted and separated from the code. The main goal of the model is to minimize dependency between application specific functionality and concurrency control. Doing so, software reuse can be effective and concurrent programs are more flexible, meaning that changes in the implementation of the operations don't necessarily imply changes in the synchronization scheme (and vice-versa). We make an analysis of concurrent computation, review existing systems and their inherent limitations, and discuss the fundamental problems in abstracting concurrency. Then we propose a solution based on lessons lea...
Heterogeneous Concurrent Modeling and Design in Java (Volumes 1: Introduction to Ptolemy II)
, 2005
"... ..."
Open Heterogeneous Computing in ActorSpace
- Journal of Parallel and Distributed Computing
, 1994
"... A number of efforts in heterogeneous computing involve the development of basic architecture independent communication primitives. We present a new programming paradigm, called ActorSpace, which provides a new communication model based on destination patterns. An actorspace is a computationally pas ..."
Abstract
-
Cited by 32 (7 self)
- Add to MetaCart
A number of efforts in heterogeneous computing involve the development of basic architecture independent communication primitives. We present a new programming paradigm, called ActorSpace, which provides a new communication model based on destination patterns. An actorspace is a computationally passive container of actors which acts as a context for matching patterns. Patterns are matched against listed attributes of actors and actorspaces that are visible in the actorspace. Both visibility and attributes are dynamic. Messages may be sent to one or all members of a group defined by a pattern. The paradigm provides powerful support for component-based construction of heterogeneous scalable distributed applications. In particular, it supports open interfaces to servers and pattern-directed access to software repositories. 1 Introduction Heterogeneous systems are an integral part of computing today. Our approach to heterogeneity is to provide an abstraction layer on top of different arc...
Efficient Support of Location Transparency in Concurrent Object-Oriented Programming Languages
- In Supercomputing '95
, 1995
"... We describe the design of a runtime system for a fine-grained concurrent object-oriented (actor) language and its performance. The runtime system provides considerable flexibility to users; specifically, it supports location transparency, actor creation and dynamic placement, and migration. The runt ..."
Abstract
-
Cited by 31 (14 self)
- Add to MetaCart
We describe the design of a runtime system for a fine-grained concurrent object-oriented (actor) language and its performance. The runtime system provides considerable flexibility to users; specifically, it supports location transparency, actor creation and dynamic placement, and migration. The runtime system includes an efficient distributed name server, a latency hiding scheme for remote actor creation, and a compiler-controlled intra-node scheduling mechanism for local messages and dynamic load balancing. Our preliminary evaluation results suggest that the efficiency that is lost by the greater flexibility of actors can be restored by an efficient runtime system which provides an open interface that can be used by a compiler to allow optimizations. On several standard algorithms, the performance results for our system are comparable to efficient C implementations. Key Words: Concurrent Object-Oriented Programming, Actors, Location Transparency, Migration 1 Introduction We argue t...
Customization and composition of distributed objects: Middleware abstractions for policy management
- In Sixth International Symposium on the Foundations of Software Engineering (FSE-6, SIGSOFT ’98
, 1998
"... Current middleware solutions such as CORBA and Java's RMI emphasize compositional design by separating functional aspects of a system (e.g. objects) i~om the mechanisms used for interaction (e.g. remote procedure call through stubs and skeletons). While this is an effective solution for handling dis ..."
Abstract
-
Cited by 28 (11 self)
- Add to MetaCart
Current middleware solutions such as CORBA and Java's RMI emphasize compositional design by separating functional aspects of a system (e.g. objects) i~om the mechanisms used for interaction (e.g. remote procedure call through stubs and skeletons). While this is an effective solution for handling distributed interactions, higher-level requirements such as heterogeneity, availability, and adaptability require policies for resource management as well as interaction. We describe the Distributed Connection Language (DCL): an architecture description language based on the Actor model of distributed objects. System components and the policies which govern an architecture are specified as encapsulated groups of actors. Composition operators are used to build connections between components as well as customize their behavior. This customization is realized using a metaarchitecture. We describe the syntax and semantics of DCL, and illustrate the language by way of several examples. 1
Actor Languages for Specification of Parallel Computations
- DIMACS. Series in Discrete Mathematics and Theoretical Computer Science. vol 18. Specification of Parallel Algorithms
, 1994
"... . We describe high-level language constructs for specifying parallel programs and show how they may be used to provide modular specification of communication, synchronization and placement. The high-level constructs are translated into actors which provide flexible low-level primitives for interconn ..."
Abstract
-
Cited by 16 (8 self)
- Add to MetaCart
. We describe high-level language constructs for specifying parallel programs and show how they may be used to provide modular specification of communication, synchronization and placement. The high-level constructs are translated into actors which provide flexible low-level primitives for interconnecting distributed components and efficient execution on concurrent computers. We argue that our linguistic constructs allow parallel program specifications that are easier to reason about and efficient to implement. 1. Introduction Current methods for programming parallel computers involve very low-level mechanisms which allow efficient execution only on particular architectures. In order to raise the level of abstraction at which programs are specified, a number of requirements must be met by high-level languages for parallel computing. Specifically, in order for high-level parallel languages to be practical they must: ffl provide constructs which abstract over the coordination structure...

