Copyright © 2006 Elsevier B.V. All rights reserved.
Roles as a Coordination Construct: Introducing powerJava
Available online 28 February 2006.
References and further reading may be available for this article. To view references and further reading you must purchase this article.
Abstract
In this paper we apply the role metaphor to coordination. Roles are used in sociology as a way to structure organizations and to coordinate their behavior. In our model, the features of roles are their dependence on an institution, and the powers they assign to players of roles. The institution represents an environment where the components interact with each other by using the powers attributed to them by the roles they play, even when they do not know each other. The interaction between a component playing a role and the role is performed via interfaces stating the requirements to play a role, and which powers are attributed by roles. Roles encapsulate their players' capabilities to interact with the institution and with the other roles, thus achieving separation of concerns between computation and coordination. The institution acts as a coordinator which manages the interactions among components by acting on the roles they play, thus achieving a form of exogenous coordination. As an example, we introduce the role construct in the Java programming language, providing a precompiler for it. In order to better explain the proposal, we show how to use the role construct as a coordination means by applying it to a dining philosophers problem extended with dynamic reconfiguration.
Keywords: Social roles; Java extensions; control-driven coordination; requirements and empowerments






E-mail Article
Add to my Quick Links

Cited By in Scopus (3)





