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.
The programming language POOL (Parallel object Oriented Logic) allows computation to be represented as a collection of parallel objects which communicate via asynchronous message passing. object procedures are Constra...
详细信息
The programming language POOL (Parallel object Oriented Logic) allows computation to be represented as a collection of parallel objects which communicate via asynchronous message passing. object procedures are Constraint Logic programming (CLP) programs. POOL objects are mapped transparently to a network of CLP machines which execute concurrently. An implementation on a distributed network of workstations supports parallel object execution, automatic object placement, and a global object name space. This paper summarizes the essentials of POOL and its implementation on a distributed network of processors.
Over the last ten years, as the use of concurrentprogramming languages increased with a corresponding increase in the effort spent for building parallel machines, the importance of Petri nets grew. About one year ago...
详细信息
Over the last ten years, as the use of concurrentprogramming languages increased with a corresponding increase in the effort spent for building parallel machines, the importance of Petri nets grew. About one year ago, we have started to use Petri nets in order to describe the semantics of object oriented languages (O-O for short), and in particular as a semantic model of the most representative O-O language, namely Smalltalk-80. The main objective of this paper is to give an outline of the semantic function and how it can be used for concurrency identification and control, and program verification.
concurrent systems in which the number of processes and their interconnections can change dynamically suffer from the problem of ensuring that process interconnections are correctly maintained at all times. We propose...
详细信息
concurrent systems in which the number of processes and their interconnections can change dynamically suffer from the problem of ensuring that process interconnections are correctly maintained at all times. We propose a hybrid solution to this problem in which processes are described textually, but interconnections are described graphically using a graph grammar to constrain the legal sets of processes and interconnections that the system may evolve. This paper discusses GARP, a hybrid graphical/textual concurrentprogramming language that acts as a testbed for our ideas, and illustrates its use with an example.
Two views of concurrency in an object system exist. Those pursuing concurrentprogramming 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 concurrentprogramming 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.
Our original goal was to design a programming language for writing software engineering environments. The most important requirements were reusability and the ability to integrate separately developed tools. Our scope...
详细信息
Our original goal was to design a programming language for writing software engineering environments. The most important requirements were reusability and the ability to integrate separately developed tools. Our scope was later expanded to general applications, and then to parallel and distributed systems. Our current focus is on 'growing' distributed software environments and tools, that is, building a core environment or tool assuming a long-term evolution path. MELD is a multiparadigm language that combines object-oriented, macro dataflow, transaction processing and module interconnection styles of programming. The most unusual aspect is the dataflow at the source level among the inputs and outputs of statements.
concurrentobject-oriented programming systems (COOPS) require support for fault tolerance, concurrency control, consistent commitment of changes and program-initiated rollback. It is sometimes suggested that the clas...
详细信息
concurrentobject-oriented programming systems (COOPS) require support for fault tolerance, concurrency control, consistent commitment of changes and program-initiated rollback. It is sometimes suggested that the classical transaction processing model successfully applied in databases and operating systems be integrated directly into COOPS facilities. This is clearly desirable, but by itself is too limiting. COOPS applications require several granularities of transaction-like facilities. A number of transaction-like mechanisms were addressed, and no doubt there are many others suitable for COOPS. This paper briefly surveys four basic levels of granularity that were discussed. The paper also discusses the author's plans for integrating medium granularity transactions - that is, classical transactions with atomicity and serializability as the correctness conditions - into Meld.
This paper presents Matroshka a model of parallel programming that enables programmers to use several styles of programming within the same simple framework and enables programmers to bind the granularity of paralleli...
详细信息
This paper presents Matroshka a model of parallel programming that enables programmers to use several styles of programming within the same simple framework and enables programmers to bind the granularity of parallelism late in program development. A consequence of the late binding is that programs may be effectively ported among a wide range of multiprocessor architectures. The model is a synthesis of a few concepts and is minimal in that the loss of a single concept severely degrades its expressive power. The model may serve as a base for a wide variety of possible programming languages.
Graphical information is more helpful for users to understand software structures than textual information. Even when the information is represented with textual form, some arrangements among a lot of information are ...
详细信息
Graphical information is more helpful for users to understand software structures than textual information. Even when the information is represented with textual form, some arrangements among a lot of information are desired. We propose that visualization is a way to display information to the user with graphical expressions. We presented the program design visualization system for object-oriented programs, which visualize a structure of the program and its behavior. We suppose that it is also effective for understanding concurrent behaviors.
We describe a concurrency control model that supports cooperative data sharing among transactions. Serializability is replaced by application- and data-specific correctness criteria that are explicitly defined by prog...
详细信息
We describe a concurrency control model that supports cooperative data sharing among transactions. Serializability is replaced by application- and data-specific correctness criteria that are explicitly defined by programmers. The model is relevant to applications that provide computer support for cooperative activities, such as office information systems, graphical programming environments, and CAD tools for electronic or mechanical domains. Its context is an object-oriented database: an object is accessed only by operations defined on its abstract type.
暂无评论