A Calculus of Superimpositions for Distributed Systems

Marcelo Sihman, Shmuel Katz

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

13 Scopus citations

Abstract

A superimposition is a program module that can augment an underlying distributed program with added functionality, while cutting across usual language modularity constructs like processes, packages, or objects. Two ways of combining superimpositions to create new superimpositions are presented. In sequential combinations a new superimposition is obtained that is equivalent to first applying one, and then applying the second to the result. In merging combinations, it is as if each component superimposition is applied independently to a basic program, without mutual influences. In both cases the applicability conditions and the result assertions of the component superimpositions are compared and used to determine whether the combination is possible. If so, they are then combined along with the code of the components to obtain both the specification and the code of the resultant superimposition, without considering any specific basic program. By using combinations of superimpositions from libraries, fewer components need be constructed manually, and programming techniques for independent issues can be codified. Among the examples we consider are versions of dining philosopher algorithms (exemplifying different scheduling techniques), a superimposition to make a program with a fixed number of processes able to handle process addition and deletion, and snapshot algorithms.

Original languageEnglish
Title of host publication1st International Conference on Aspect-Oriented Software Development
EditorsG. Kinzales
PublisherAssociation for Computing Machinery (ACM)
Pages28-40
Number of pages13
ISBN (Print)158113469X, 9781581134698
DOIs
StatePublished - 2002
Externally publishedYes
Event1st International Conference on Aspect-Oriented Software Development (AOSD 2002) - Enschede, Netherlands
Duration: 22 Apr 200226 Apr 2002

Publication series

Name1st International Conference on Aspect-Oriented Software Development

Conference

Conference1st International Conference on Aspect-Oriented Software Development (AOSD 2002)
Country/TerritoryNetherlands
CityEnschede
Period22/04/0226/04/02

Fingerprint

Dive into the research topics of 'A Calculus of Superimpositions for Distributed Systems'. Together they form a unique fingerprint.

Cite this