| A calculus of superimpositions for distributed systems |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 5, Downloads (12 Months): 33, Citation Count: 2
|
|
|
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
|
H.-M. Järvinen , R. Kurki-Suonio , M. Sakkinen , K. Systä, Object-oriented specification of reactive systems, Proceedings of the 12th international conference on Software engineering, p.63-71, March 26-30, 1990, Nice, France
|
 |
10
|
|
| |
11
|
|
| |
12
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
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
|
|
CITED BY 2
|
|
|
|
|
Rémi Douence , Didier Le Botlan , Jacques Noyé , Mario Südholt, Concurrent aspects, Proceedings of the 5th international conference on Generative programming and component engineering, October 22-26, 2006, Portland, Oregon, USA
|
|