Abstract
Software systems are becoming more open, distributed, pervasive, and connected. In such systems, the relationships between loosely-coupled application elements become non-deterministic. Coordination can be viewed as a way of making such loosely coupled systems more adaptable. In this paper we show how coordination-systems, which are analogous to nervous systems, can be defined independently from the functional systems they regulate. Such coordination systems are a network of organisers and contracts. We show how the contracts that make up the coordination-system can be used to monitor, regulate and configure the interactions between clusters of software entities called roles. Management and functional levels of contracts are defined. Management contracts regulate the flow of control through the roles. Functional contracts allow the specification of performance conditions. These contracts bind clusters of roles into self-managed composites — each composite with its own organiser role. The organiser roles can control, create, abrogate and reassign contracts. Adaptive systems are built from a recursive structure of such self-managed composites. The network of organiser roles and the contracts they control constitute a coordination-system that is a separate concern to the functional system. Association aspects are suggested as a mechanism to implement such coordination-systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: Role Object. In: Foote, H., Rohnert, H. (eds.) Pattern languages of program design, vol. 4, pp. 15–32. Addison-Wesley, Reading (2000)
Kendall, E.A.: Role Modelling for Agents System Analysis, Design and Implementation. In: First International Symposium on Agent Systems and Applications. IEEE CS Press, Los Alamitos (1999)
Kristensen, B.B., Osterbye, K.: Roles: Conceptual Abstraction Theory & Practical Language Issues. In: Special Issue of TAPOS on Subjectivity in Object-Oriented Systems (1996)
Lee, J.S., Bae, D.H.: An enhanced role model for alleviating the role-binding anomaly. Software: practice and experience 32, 1317–1344 (2002)
Colman, A., Han, J.: Operational management contracts for adaptive software organisation. In: Proc. Australian Software Engineering Conference, ASWEC 2005 (2005)
Riehle, D.: Bureaucracy. In: Martin, R., Buschmann (eds.) Pattern Languages of Program Design, 3rd edn., pp. 163–186. Addison-Wesley, Reading (1998)
The Foundation for Physical Intelligent Agents, FIPA Communicative Act Library Specification (2002), http://www.fipa.org/specs/fipa00037/ (last accessed 27 August 2004)
Bracciali, A., Brogi, A., Canal, C.: Dynamically Adapting the Behaviour of Software Components. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, p. 88. Springer, Heidelberg (2002)
Han, J., Ker, K.K.: Ensuring Compatible Interactions within Component-based Software Systems. In: Proc. 10th Asia-Pacific Software Engineering Conference(APSEC) (2003)
Meyer, B.: Object-oriented software construction. Prentice-Hall, New York (1988)
Colman, A., Han, J.: Organizational abstractions for adaptive systems. In: Proceedings of the 38th Hawaii International Conference of System Sciences, Hawaii, USA (2005)
Colman, A., Han, J.: Implementation of Contracts using Association Aspects., SUT Report, SUTICT-TR2005.04/SUT.CeCSES-TR007 (2005), http://www.it.swin.edu.au/centres/CeCSES
Eclipse Foundation, AspectJ (2004), http://eclipse.org/aspectj/ (last accessed 7 October 2004)
Sullivan, K., Gu, L., Cai, Y.: Non-modularity in aspect-oriented languages: integration as a crosscutting concern for AspectJ. In: Proc. of the 1st international conference on Aspect-oriented software development, AOSD 2002, Enschede, The Netherlands (2002)
Sakurai, K., Masuharat, H., Ubayashi, N., Matsuura, S., Komiya, S.: Association Aspects. In: Proc. of the Aspect-Oriented Software Development 2004, Lancaster U.K (2004)
Kendall, E.A.: Role model designs and implementations with aspect-oriented programming. In: Proc. Object-Oriented Systems, Languages, and Applications (1999)
Arbab, F.: What Do You Mean, Coordination? Bulletin of the Dutch Association for Theoretical Computer Science, NVTI (1998)
Andrade, L., Fiadeiro, J.L., Gouveia, J., Koutsoukos, G., Lopes, A., Wermelinger, M.: Patterns for coordination. In: Porto, A., Roman, G.-C. (eds.) COORDINATION 2000. LNCS, vol. 1906, pp. 317–322. Springer, Heidelberg (2000)
Wermelinger, M., Fiadeiro, J.L., Andrade, L., Koutsoukos, G., Gouveia, J.: Separation of Core Concerns: Computation, Coordination, and Configuration. In: Workshop on Advanced Separation of Concerns in Object-Oriented Systems, OOPSL (2001)
Andrade, L., Fiadeiro, J.L., Gouveia, J., Koutsoukos, G.: Separating computation, coordination aand configuration. Journal of Software Maintenance and Evolution: Research and Practice 14(5), 353–369 (2002)
Zambonelli, F., Jennings, N.R., Wooldridge, M.: Developing multiagent systems: The Gaia methodology. ACM Transactions on Software Engineering and Methodology (TOSEM) 12(3), 317–370 (2003)
Juan, T., Pearce, A., Sterling, L.: ROADMAP: extending the Gaia methodology for complex open systems. In: Proceedings of the first international joint conference on Autonomous agents and multiagent systems, Bologna, Italy, pp. 3–10. ACM, New York (2002)
Odell, J., Parunak, H.V.D., Brueckner, S., Sauter, J.: Changing Roles: Dynamic Role Assignment. Journal of Object Technology, ETH Zurich 2(5), 77–86 (2003)
Zambonelli, F., Jennings, N.R., Wooldridge, M.J.: Organisational Abstractions for the Analysis and Design of Multi-Agent Systems. In: Workshop on Agent-oriented Software Engineering ICSE 2000 (2000)
Herring, S., Kaplan, C.: Viable Systems: The Control Paradigm for Software Architecture Revisited. In: Australian Software Engineering Conference, pp. 97–105 (2000)
Object Management Group, UML 2.0 Superstructure (Final Adopted specification) (2004), http://www.uml.org/#UML2.0 (last accessed 13 October 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Colman, A., Han, J. (2005). Coordination Systems in Role-Based Adaptive Software. In: Jacquet, JM., Picco, G.P. (eds) Coordination Models and Languages. COORDINATION 2005. Lecture Notes in Computer Science, vol 3454. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11417019_5
Download citation
DOI: https://doi.org/10.1007/11417019_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25630-4
Online ISBN: 978-3-540-32006-7
eBook Packages: Computer ScienceComputer Science (R0)