Currently popular notions of types, such as signature compatibility, fail to express essential properties of concurrent active objects that are necessary for their correct use in new contexts. We propose and explore a new notion of compatibility called interaction conformance defined in terms of the possible interactions between an object and its clients. We relate interaction conformance to known equivalence relations between communicating concurrent agents, and we show that, by viewing types as certain kinds of indeterminate agents, interaction conformance gives us a subtype relationship. We briefly explore the potential for applying these ideas to concurrent objectoriented languages. 1
|
2762
|
Communication and Concurrency
– Milner
- 1989
|
|
2677
|
Communicating Sequential Processes
– Hoare
- 1978
|
|
1190
|
Object-oriented Software Construction
– Meyer
- 1988
|
|
1127
|
SmallTalk 80: The Language and its Implementation
– Goldberg, Robson
- 1983
|
|
865
|
ACTORS, a model of concurrent computation in distributed systems
– Agha
- 1986
|
|
762
|
On understanding types, data abstraction, and polymorphism
– Cardelli, Wegner
- 1985
|
|
170
|
Specifying concurrent program modules
– Lamport
- 1983
|
|
133
|
Denotational semantics of inheritance
– Cook
- 1989
|
|
123
|
Inheritance as an incremental modification mechanism or what like is and isn’t like
– Wegner, Zdonik
- 1988
|
|
114
|
The specification of process synchronization by path expressions
– Campbell, Habermann
- 1974
|
|
99
|
POOL-T: A Parallel Object-Oriented Language
– America
|
|
76
|
The Denotational Description of Programming Languages
– Gordon
- 1979
|
|
70
|
Verification of concurrent programs, the temporal framework
– Manna, Pnueli
- 1981
|
|
68
|
Active Objects in Hybrid
– Nierstrasz
- 1987
|
|
61
|
Inheritance in Actor Based Concurrent Object-Oriented Languages
– Kafura, Lee
- 1989
|
|
53
|
Type theories and object-oriented programming
– Danforth, Tomlinson
- 1988
|
|
51
|
Viewing Objects as Patterns of Communicating Agents
– Nierstrasz, Papathomas
|
|
49
|
The beta programming language
– Kristensen, Madsen, et al.
- 1987
|
|
47
|
Concurrent object-oriented programming in Act 1
– Lieberman
- 1987
|
|
42
|
Object-oriented concurrent programming in ABCL/1
– Yonezawa, Briot, et al.
- 1986
|
|
37
|
Message passing between sequential processes: the reply primitive and the administrator concept
– Gentleman
- 1981
|
|
31
|
Concurrency features for the Trellis/Owl language
– Moss, Kohler
- 1987
|
|
27
|
Concurrency issues in object-oriented programming languages
– PAPATHOMAS
- 1989
|
|
27
|
Concurrent Programming in ConcurrentSmalltalk
– Yokote, Tokoro
- 1987
|
|
26
|
Inheritance and synchronization in concurrent OOP
– Briot, Yonezawa
- 1987
|
|
26
|
Towards a Type Theory for Active Objects
– Nierstrasz, Papathomas
- 1991
|
|
20
|
AVANCE: An Object Management System
– Bjornerstedt, Britts
- 1988
|
|
19
|
Inheritance and Synchronization with Enabled Sets
– Tomlinson, Singh
- 1989
|
|
18
|
Experience and Evolution of ConcurrentSmalltalk
– Yokote, Tokoro
- 1987
|
|
14
|
Limitations of synchronous communication with static process structure in languages for distributed computing
– Liskov, Herlihy, et al.
- 1986
|
|
13
|
A Guide to Specifying Concurrent Behaviour with Abacus
– Nierstrasz
- 1990
|
|
13
|
Distribution and abstract data types in emerald
– Black, Hutchinson, et al.
- 1987
|
|
10
|
Integrating Concurrency and Object-Oriented Programming: An Evaluation of Hybrid
– Papathomas, Konstantas
- 1990
|
|
8
|
A Law-Based Approach to Object-Oriented Programming
– Minsky, Rozenshtein
- 1987
|
|
2
|
Using Process Algebra for the Description and Comparison of Concurrent Object-Oriented Languages
– Papathomas
|
|
1
|
den Bos, "PROCOL -- A Parallel Object Language with Protocols
– van
- 1989
|