Organizational Abstractions for Adaptive Systems

Computing environments are becoming more open, distributed and pervasive. The software we build for these dynamic environments will need to become more adaptable and adaptive. This paper introduces a methodology developing adaptive systems based on the concept of ontogenic adaptation - the ability of a system to alter its structure while maintaining its organizational viability. This approach extends existing work on the separation of roles from objects, by defining an organizational layer of abstraction based on the separation of operational-management roles from functional roles. Dynamic role-object bindings and role-role associations are created to form a flexible organization that can be adapted by an organizational management role. The methodology is illustrated with an example to contrast it with a traditional object-oriented approach.

[1]  M. Wooldridge,et al.  Organisational Abstractions for the Analysis and Design of Multi-Agent Systems , 2000 .

[2]  Doo-Hwan Bae,et al.  An enhanced role model for alleviating the role‐binding anomaly , 2002, Softw. Pract. Exp..

[3]  Franco Zambonelli,et al.  Developing multiagent systems: The Gaia methodology , 2003, TSEM.

[4]  Simon M. Kaplan,et al.  Viable systems: the control paradigm for software architecture revisited , 2000, Proceedings 2000 Australian Software Engineering Conference.

[5]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[6]  Mary Shaw,et al.  Beyond objects: a software design paradigm based on process control , 1995, SOEN.

[7]  David Garlan,et al.  Software architecture: a roadmap , 2000, ICSE '00.

[8]  J. A. Sykes,et al.  Negotiating early reuse of components: a model-based analysis , 2003 .

[9]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[10]  Leon Sterling,et al.  ROADMAP: extending the gaia methodology for complex open systems , 2002, AAMAS '02.

[11]  Dirk Riehle,et al.  The Role Object Pattern , 1997 .

[12]  Karl J. Lieberherr,et al.  Aspect-oriented programming with adaptive methods , 2001, CACM.

[13]  Dirk Riehle,et al.  Framework Design: A Role Modeling Approach , 2000, Softwaretechnik-Trends.

[14]  Dirk Riehle,et al.  Pattern Languages of Program Design 3 , 1997 .

[15]  H. Maturana,et al.  The Tree of Knowledge: The Biological Roots of Human Understanding , 2007 .

[16]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[17]  M. Lynn Hawaii International Conference on System Sciences , 1996 .

[18]  Elizabeth A. Kendall,et al.  Role modelling for agent system analysis, design, and implementation , 1999, Proceedings. First and Third International Symposium on Agent Systems Applications, and Mobile Agents.

[19]  Elizabeth A. Kendall,et al.  Role model designs and implementations with aspect-oriented programming , 1999, OOPSLA '99.

[20]  H. Van Dyke Parunak,et al.  Changing Roles: Dynamic Role Assignment , 2003, J. Object Technol..

[21]  Bent Bruun Kristensen Associative Modeling and Programming , 2002, OOIS.

[22]  Roles Conceptual Abstraction Theory Practical Language Issues , 1996 .

[23]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[24]  H. Maturana,et al.  Autopoiesis and Cognition : The Realization of the Living (Boston Studies in the Philosophy of Scie , 1980 .

[25]  Kasper Østerbye,et al.  Roles: Conceptual Abstraction Theory and Practical Language Issues , 1996, Theory and Practice of Object Systems.