The property of a (formal) development method which gives the development process the potential for productivity is compositionality. Interference is what makes it difficult to find compositional development methods for concurrent systems. This paper is intended to contribute to tractable development methods for concurrent programs. In particular it explores ways in which object-based language concepts can be used to provide a compositional development method for concurrent programs. This text summarizes results from three draft papers. It firstly shows how object-based concepts can be used to provide a designer with control over interference and proposes a transformational style of development (for systems with limited interference) in which concurrency is introduced only in the final stages of design. The essential idea here is to show that certain object graphs limit interference. Secondly, the paper shows how a suitable logic can be used to reason about those systems where interference plays an essential role. Here again, concepts are used in the design notation which are taken from object-oriented languages since they offer control of granularity and way of pinpointing interference. Thirdly, the paper outlines the semantics of the design notation mapping its constructs to Milner's p-calculus.
|
886
|
A Calculus of Mobile Processes
– Milner, Parrow, et al.
- 1992
|
|
737
|
The temporal logic of actions
– Lamport
- 1994
|
|
693
|
Parallel Program Design { A Foundation
– Chandy, Misra
- 1988
|
|
592
|
Systematic Software Development Using VDM
– Jones
- 1990
|
|
282
|
An object calculus for asynchronous communication
– Honda, Tokoro
- 1991
|
|
281
|
Functions as processes
– Milner
- 1992
|
|
273
|
Larch: Languages and Tools for Formal Specification
– GUTTAG, EDS
- 1993
|
|
257
|
An Axiomatic Proof Technique for Parallel Programs I
– Owicki, Gries
- 1976
|
|
156
|
Systems Programming with Modula-3
– NELSON
- 1991
|
|
135
|
The next 700 programming languages
– Landin
- 1966
|
|
112
|
Specification and Design of (Parallel) Programs
– Jones
- 1983
|
|
91
|
Modal logics for mobile processes
– Milner, Parrow, et al.
- 1993
|
|
85
|
Tentative steps toward a development method for interfering programs
– Jones
- 1999
|
|
81
|
Operational semantics of a parallel object-oriented language
– America, Bakker, et al.
- 1986
|
|
69
|
Issues in the design of a parallel object-oriented language
– America
- 1989
|
|
68
|
mural: A Formal Development Support System
– Jones, Jones, et al.
- 1991
|
|
60
|
The VDM-SL Reference Guide
– Dawes
- 1991
|
|
52
|
Larch in five easy pieces
– Guttag, Horning, et al.
- 1985
|
|
49
|
Development Methods for Computer Programs including a Notion of Interference
– Jones
- 1981
|
|
37
|
Reasoning about dynamically evolving process structures
– America, Boer
- 1994
|
|
26
|
The polyadic p-calculus: a tutorial
– Milner
- 1991
|
|
19
|
Action systems and action refinement in the development of parallel systems
– Janssen, Poel, et al.
- 1991
|
|
17
|
Object Oriented Programming in the Beta Programming Language
– Madsen, Moller-Pedersen, et al.
- 1993
|
|
14
|
A Parallel Object-Oriented Language: Design and Semantic Foundations
– America, Rutten
- 1989
|
|
14
|
The quest for compositionality: A survey of assertion-based proof systems for concurrent programs: Part I: Concurrency based on shared variables
– Roever
- 1985
|
|
14
|
A proof method for cyclic programs
– Francez, A
|
|
14
|
A Small Calculus for Concurrent Objects
– Honda, Tokoro
- 1991
|
|
11
|
Hierarchical development of concurrent systems in a temporal logic framework
– Barringer, Kuiper
- 1985
|
|
8
|
Syntax and Semantics of VVSL -- A Language for Structured VDM Specifications
– Middelburg
- 1990
|
|
7
|
Interference Resumed
– Jones
- 1991
|
|
6
|
A proof theory for a sequential version of POOL
– America, Boer
- 1986
|
|
4
|
Convergence Revisited
– Jones
- 1997
|
|
2
|
A proof system for process creation
– America, Boer
- 1990
|
|
2
|
Formal techniques for parallel object-oriented languages
– America
- 1991
|
|
2
|
Now you can compose temporal logic specification
– Barringer, Kuiper, et al.
- 1984
|
|
2
|
ESPRIT PROJECT 1283: VIP VDM Extensions: Final Report. Technical Report VIP.T.4.3/2.0, PTT Research Neher Laboratories and Praxis Systems
– Bruijning, Middelburg
- 1988
|
|
2
|
A new permutation algorithm for bubble memories
– Chung, Luccio, et al.
- 1979
|
|
2
|
A Methodology for Programming with Concurrency
– Lengauer
- 1982
|
|
2
|
Using transformations to verify parallel programs
– Olderog, Apt
- 1989
|
|
1
|
On bounded buffers: Modularity, robustness, and reliability in reactive systems
– Broy
- 1989
|
|
1
|
specification language protostandard
– VDM
- 1992
|
|
1
|
Zur strukturierung von spezifikationen verteilter systeme
– Dederichs
- 1989
|
|
1
|
Syntactic description of the VDM++ language
– Durr
- 1992
|
|
1
|
An evaluation of rely-guarantee
– Grosvenor, Robinson
- 1989
|