Message Driven Computation, derived in part from the parallel object oriented language Actors, provides a more general computational style than strict object orientation, but does include object oriented programming a...
详细信息
Message Driven Computation, derived in part from the parallel object oriented language Actors, provides a more general computational style than strict object orientation, but does include object oriented programming as a special case. Message Driven Computation can also support control-flow, data-flow, and demand-driven computational models. In this article we have embodied MDC in two languages, extensions of Icon and of C. The C version is running multiprocessing on an Encore and multicomputing on an Ncube. In addition to a number of small algorithms, we are running an FP interpreter written in MDC and have an LALR(1) parser generator under construction. We have distributed, parallel garbage collectors for MDC written in an extension of MDC (they have access to the data-structures on a node.)
We examine the interaction of abstraction, distribution, and synchronization in determining the granularity of modules in object-based concurrent systems. The relation between linearizability and serializability as co...
详细信息
We examine the interaction of abstraction, distribution, and synchronization in determining the granularity of modules in object-based concurrent systems. The relation between linearizability and serializability as correctness criteria for processes with internal concurrency is explored.
A major characteristic of many computersystems is the potential sharing of data by a number of concurrent activities. This sharing must be controlled in order to guarantee that the shared data remain in a consistent ...
详细信息
A major characteristic of many computersystems is the potential sharing of data by a number of concurrent activities. This sharing must be controlled in order to guarantee that the shared data remain in a consistent state. This problem has been known for a long time, and a number of solutions have been proposed. However, two new features have appeared in recent systems: object orientation and distribution. The synchronization mechanism presented in this paper has been designed for the object-oriented distributed system Guide, currently being implemented at Grenoble, as a joint project of Laboratoire de Genie Informatique and Bull Research Center. This system also embodies the object-oriented architecture defined in the Comandos project under the ESPRIT Program supported by the Commission of European Communities.
Two views of concurrency in an object system exist. Those pursuing concurrent programming believe that activities in the real world are inherently concurrent and therefore objects are themselves active. Objects engage...
详细信息
Two views of concurrency in an object system exist. Those pursuing concurrent programming believe that activities in the real world are inherently concurrent and therefore objects are themselves active. Objects engage in shared events by sending and receiving messages. Communicating Sequential Processes and Actors embrace this view. On the other hand, those pursuing models of concurrency control believe that objects are data and that concurrent access to data needs to be controlled by the system according to some correctness notion. In this paper we are pursuing models embracing concurrency control primarily because a programmer is not required to consider concurrency. The operations on an object can be specified in terms of preconditions and postconditions and traditional program verification techniques can be used to verify an operation's implementation. A programmer only considers the serial behavior of an object in isolation;he need not concern himself with how other concurrent activities might affect the object. Correctness of interleavings is left to the system.
This note is based on the following three observations: object-oriented techniques have been used successfully in designing, coding, and modeling of sequential programs;writing distributed programs is currently a form...
详细信息
This note is based on the following three observations: object-oriented techniques have been used successfully in designing, coding, and modeling of sequential programs;writing distributed programs is currently a formidable task, clearly lacking - and in need of - a methodological approach;and objects may prove useful also in distributed applications but they will probably have to be extended. By examining the structure of distributed programs, we derive some requirements for the object paradigm to support the design and development of distributed systems.
This paper discusses the question whether the Actor model could implement a wait-free shared queue. Processes are guaranteed to complete queue operations in a finite amount of steps even if other processes may fail at...
详细信息
This paper discusses the question whether the Actor model could implement a wait-free shared queue. Processes are guaranteed to complete queue operations in a finite amount of steps even if other processes may fail at arbitrary points. Consequently, the queue may not have an implementation based on mutual exclusion, but may be implemented with non-trivial atomic operations. The main topics are concurrent queue implementation and the implementation of the actor model under the Matrashka model.
In this paper, we describe a systolic algorithm for extracting all of the fundamental regions in a planar graph. It takes O(n) computation time and uses O(n) processing elements, where n is the number of edges of the ...
详细信息
In this paper, we describe a systolic algorithm for extracting all of the fundamental regions in a planar graph. It takes O(n) computation time and uses O(n) processing elements, where n is the number of edges of the input planar graph.
MITRE - through its Future Generation computer Architectures program - has conducted research in parallel computing since 1983. Our research is currently directed toward operating systems for massive distributed-memor...
详细信息
MITRE - through its Future Generation computer Architectures program - has conducted research in parallel computing since 1983. Our research is currently directed toward operating systems for massive distributed-memory MIMDs running general-purpose, object-oriented programs. Scalability and reliability are central concerns in our research. To us, scalability means that a system can be expanded incrementally, and the addition of processors always increases the processing power of the system. Reliability means that application programs continue to run, and run correctly, in spite of isolated hardware failures.
A prettyprinter is a program that formats a source code listing to illuminate its structure and thereby improve its readability. A prettyprinter replaces white spaces (new lines, returns, tabs, spaces) in the program ...
详细信息
A prettyprinter is a program that formats a source code listing to illuminate its structure and thereby improve its readability. A prettyprinter replaces white spaces (new lines, returns, tabs, spaces) in the program using formatting instructions that specify what layout the source code should have. In this article we describe IPP, a prototype flexible, intelligent prettyprinter for Pascal that 'learns' the formatting style preferred user by examining a sample of source code formatted in the preferred style. We will describe the motivation, design, implementation, capabilities and limitations of IPP. Even though IPP was designed for Pascal, its principles and concepts apply to flexible prettyprinters for other programming languages (though not necessarily all programming languages).
Some papers discuss and point out the synergetic advantages of combining logic and object-based programming. This work is mainly focussed on outlining those advantages with particular reference to concurrency. At the ...
详细信息
Some papers discuss and point out the synergetic advantages of combining logic and object-based programming. This work is mainly focussed on outlining those advantages with particular reference to concurrency. At the state of the art the most interesting, complete proposals on this topic that deal with concurrency are built on the top of the Concurrent- Prolog logic programming language (CP), which is intrinsically parallel and not compatible with the sequential model of Prolog. An alternative approach could be to directly extend Prolog, the most widely used logic programming language, in order to introduce in it concepts that are typical of parallel and distributed object-oriented systems without losing the advantages of a declarative language.
暂无评论