A Type-Safe Model of Adaptive Object Groups

Joakim Bjørk
(University of Oslo)
Dave Clarke
(Katholieke Universiteit Leuven)
Einar Broch Johnsen
(University of Oslo)
Olaf Owe
(University of Oslo)

Services are autonomous, self-describing, technology-neutral software units that can be described, published, discovered, and composed into software applications at runtime. Designing software services and composing services in order to form applications or composite services requires abstractions beyond those found in typical object-oriented programming languages. This paper explores service-oriented abstractions such as service adaptation, discovery, and querying in an object-oriented setting. We develop a formal model of adaptive object-oriented groups which offer services to their environment. These groups fit directly into the object-oriented paradigm in the sense that they can be dynamically created, they have an identity, and they can receive method calls. In contrast to objects, groups are not used for structuring code. A group exports its services through interfaces and relies on objects to implement these services. Objects may join or leave different groups. Groups may dynamically export new interfaces, they support service discovery, and they can be queried at runtime for the interfaces they support. We define an operational semantics and a static type system for this model of adaptive object groups, and show that well-typed programs do not cause method-not-understood errors at runtime.

In Natallia Kokash and António Ravara: Proceedings 11th International Workshop on Foundations of Coordination Languages and Self Adaptation (FOCLASA 2012), Newcastle, U.K., September 8, 2012, Electronic Proceedings in Theoretical Computer Science 91, pp. 1–15.
Published: 15th August 2012.

ArXived at: https://dx.doi.org/10.4204/EPTCS.91.1 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org