Results 1 - 10
of
19
Systematic Concurrent Object-Oriented Programming
- COMMUNICATIONS OF THE ACM
, 1993
"... Judging by the looks of the two parties, the marriage between concurrent computation and object-oriented programminga union much desired by practitioners in such fields as telecommunications, high-performance computing, banking and operating systems- appears easy enough to arrange. This appearance, ..."
Abstract
-
Cited by 103 (1 self)
- Add to MetaCart
Judging by the looks of the two parties, the marriage between concurrent computation and object-oriented programminga union much desired by practitioners in such fields as telecommunications, high-performance computing, banking and operating systems- appears easy enough to arrange. This appearance, however, is deceptive: the problem is a hard one. This article points the way toward a possible solution. The precise problem examined here is restricted to: What is the smallest, smallest and most convincing extension to the method of systematic object-oriented software construction that can address the need of concurrent and distributed computinng as well as those of sequential computations? The article does not claim to discuss concurrency and distribution in a general and unbiased way
Requirements for a Composition Language
, 1995
"... Abstract The keyrequiwD6( for open systemsi that they be flexi55N or recomposab7 .Thi suggests that they must first of all be composable.Object-oriw2+ techniori help by allowio appli))1wD6 to be vi wed ascomposiD6+ of collaborati ( objects, but areliw2+ i supportiD other kier ofabstracti6+ that ma ..."
Abstract
-
Cited by 47 (6 self)
- Add to MetaCart
Abstract The keyrequiwD6( for open systemsi that they be flexi55N or recomposab7 .Thi suggests that they must first of all be composable.Object-oriw2+ techniori help by allowio appli))1wD6 to be vi wed ascomposiD6+ of collaborati ( objects, but areliw2+ i supportiD other kier ofabstracti6+ that may have finer or coarsergranulari2 than objects. Acomposi676 language supports thetechni21 requi21wD67 of acomponent-orii development approach by shi62+N emphasi from programmiD andiw151+NwD6 of classes tospeci)wD657 andcomposiwD6 of components. Objects are vi wed as processes, and components areabstracti61 over the object space.Anappli(wD61 i vi wed as an expli5+ composiw62 of software components. Bymaki6 softwarearchiew15) expli51 andmani)2+wD62 we expect to better support applitw62+ evolutiN and flexi2(7( . Inthi posi267 paper wewi5 elaborate ourrequi27wD6N andoutli( a strategy for the desi6 andiw2111)wD7)N) of acomposi7)N language for the development of open systems. * In Proceedi+ of the...
Formal Object Oriented Development of Software Systems using LOTOS
, 1993
"... Formal methods are necessary in achieving correct software: that is, software that can be proven to fulfil its requirements. Formal specifications are unambiguous and analysable. Building a formal model improves understanding. The modelling of nondeterminism, and its subsequent removal in formal ste ..."
Abstract
-
Cited by 21 (10 self)
- Add to MetaCart
Formal methods are necessary in achieving correct software: that is, software that can be proven to fulfil its requirements. Formal specifications are unambiguous and analysable. Building a formal model improves understanding. The modelling of nondeterminism, and its subsequent removal in formal steps, allows design and implementation decisions to be made when most suitable. Formal models are amenable to mathematical manipulation and reasoning, and facilitate rigorous testing procedures. However, formal methods are not widely used in software development. In most cases, this is because they are not suitably supported with development tools. Further, many software developers do not recognise the need for rigour. Object oriented techniques are successful in the production of large, complex software systems. The methods are based on simple mathematical models of abstraction and classification. Further, the object oriented approach offers a conceptual consistency across all stages of soft...
Integration of Concurrency Control in a Language with Subtyping and
- Subclassing”, Proceedings of the 1 st USENIX Conference on Object-Oriented Technology and Systems (COOTS
, 1995
"... This paper describes the integration of concurrency control in BALLOON, an object-oriented language that separates the concepts of type and class as well of subtyping and subclassing. Types are interface specifications enriched with concurrency control annotations. Classes are used to implement the ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
This paper describes the integration of concurrency control in BALLOON, an object-oriented language that separates the concepts of type and class as well of subtyping and subclassing. Types are interface specifications enriched with concurrency control annotations. Classes are used to implement the operational functionality of types as well as concurrency control mechanisms. Types, classes and concurrency control annotations are independently reusable and derivable. The language takes advantage of this separation to solve the typical problems of the inheritance anomaly. 1
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 12 (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 ...
Concurrent Object-Oriented Languages and the Inheritance Anomaly
- In ISIPCALA'93
, 1993
"... . A survey of concurrent object-oriented languages is presented. The survey is organized around three models: the Animation Model that describes a variety of relationships between threads and objects, an Interaction Model that classi#es the possible semantics of invocations and returns between a ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
. A survey of concurrent object-oriented languages is presented. The survey is organized around three models: the Animation Model that describes a variety of relationships between threads and objects, an Interaction Model that classi#es the possible semantics of invocations and returns between a client object and a server object, and a Synchronization Model that shows di#erentways in which concurrentinvocations can be managed bya server.Anumber of representative languages are brie#y presented. The problem of synchronization in concurrent object-oriented languages is considered in detail including a discussion of the inheritance anomaly. A synchronization mechanism, called a behavior set , is shown to avoid this anomaly in certain cases. The implementation of behavior sets in ACT++, an actor-based concurrent programming framework implemented in C++, is described. 1 Introduction This survey of concurrent object-oriented programming languages is organized along the following ...
On the Concurrent Object Model of UML
- In Proceedings of EUROPAR’99, LNCS
, 1999
"... Abstract. Designing object models with concurrency features was a preoccupation of numerous researchers for the past two decades. UML, the standard object-oriented modeling language adopted by the OMG, does not tackle the issues of concurrency in its object model in a systematic way. In this paper w ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
Abstract. Designing object models with concurrency features was a preoccupation of numerous researchers for the past two decades. UML, the standard object-oriented modeling language adopted by the OMG, does not tackle the issues of concurrency in its object model in a systematic way. In this paper we outline the position of the UML object model within the design space of concurrent object models described in [10], discuss the inconsistencies in the UML semantics and finally propose an object model, comprising features from UML and ATOM – a state-of-the-art concurrent object model. 1
ATOM: An Active Object Model for Enhancing Reuse in the Development of Concurrent Software
- in the Development of Concurrent Software. RR 963-I-LSR-2, LSR - IMAG
, 1996
"... Substantial research activity in the past few years concentrated on the design of languages and models for integrating concurrency and object-oriented features with the intention to enhance the potential for software reuse in the development of concurrent systems. Most of the work in the area has fo ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Substantial research activity in the past few years concentrated on the design of languages and models for integrating concurrency and object-oriented features with the intention to enhance the potential for software reuse in the development of concurrent systems. Most of the work in the area has focused on the problem of specifying and reusing through inheritance synchronization constraints on the invocation of object methods. Currently, this is a widely recognized problem and several approaches have been proposed. More recent and far fewer research has addressed the issue of coordinating the execution of several objects and specifying and reusing coordination algorithms among objects. However, most proposals have addressed these problems in isolation. Furthermore, few languages supporting the proposed features are widely available and relatively little experience has been gained from their use. In this paper we present an active object model that aims at a more comprehensive approach...
Concurreny Support for C++: An Overview
- C++ Report
, 1993
"... Many attempts have been made in adding concurrency to C ++ either by extending the language or through the use of a class library. This paper reviews and analyzes some of the concurrent C ++ -based systems. We study the various approaches taken by these systems in adding concurrency to C ++ ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Many attempts have been made in adding concurrency to C ++ either by extending the language or through the use of a class library. This paper reviews and analyzes some of the concurrent C ++ -based systems. We study the various approaches taken by these systems in adding concurrency to C ++ and how these approaches interact with the object-oriented paradigm. 1 Introduction Concurrency has been the subject of much research for over three decades. Traditionally, concurrency is concerned with threads of control and problems of synchronization and mutual exclusion. Object-oriented programming (OOP) languages provide a natural facility for modeling and decomposing a problem into self-contained entities called objects. An object is self-contained in the sense that it has exclusive control over its own internal state and communicates with the outside world through message passing. Thus it appears that the integration of the two paradigms of OOP and concurrent programming is promis...

