ACM Home Page
Please provide us with feedback. Feedback
A calculus of superimpositions for distributed systems
Full text PdfPdf (1.14 MB)
Source Aspect-oriented software development archive
Proceedings of the 1st international conference on Aspect-oriented software development table of contents
Enschede, The Netherlands
COLUMN: Full papers table of contents
Pages: 28 - 40  
Year of Publication: 2002
ISBN:1-58113-469-X
Authors
Marcelo Sihman  Technion - Israel Institute of Technology, Haifa 32000, Israel
Shmuel Katz  Technion - Israel Institute of Technology, Haifa 32000, Israel
Sponsors
CTIT : Centre for Telematics and Information Technology
IPA : Institute for Software and Arithmetic
KNAW : Koninklijke Nederlandse Akademie van Wetenschappen
PATO : Post Academisch Tecbnisch Onderwijs
University of Twente : University of Twente
NWO : Dutch Orgartisation for Scientific Research
IBMR : IBM Research
AITO : Association Internationale pour les Technologies Objets
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 33,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/508386.508391
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
R. J. R. Back and K. Sere. Superposition refinement of reactive systems. Formal Aspects of Computing, 8(3):324-346, 1996.
2
3
 
4
5
 
6
 
7
N. Francez and I. Forman. Interacting Processes. Addison-Wesley, 1996.
 
8
 
9
10
 
11
 
12
 
13
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings ECOOP'97, LNCS 1241, pages 220-242, Jun 1997.
 
14


Collaborative Colleagues:
Marcelo Sihman: colleagues
Shmuel Katz: colleagues