Agility through coordination

Information System Engineering has become under increasing pressure to come up with software solutions that endow systems with the agility that is required to evolve in a continually changing business and technological environment. In this paper, we suggest that Software Engineering has a contribution to make in terms of concepts and techniques that have been recently developed for Parallel Program Design and Software Architectures. We show how such mechanisms can be encapsulated in a new modelling primitive--coordination contract--that can be used for extending Component-Based Development approaches in order to manage such levels of change.

[1]  Peter Fingar,et al.  Component-based frameworks for e-commerce , 2000, CACM.

[2]  José Luiz Fiadeiro,et al.  Categorical Semantics of Parallel Program Design , 1997, Sci. Comput. Program..

[3]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[4]  Jeff Kramer Exoskeletal software , 1994, Proceedings of 16th International Conference on Software Engineering.

[5]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[6]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[7]  Huw Evans,et al.  Zones, contracts and absorbing changes: an approach to software evolution , 1999, OOPSLA '99.

[8]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[9]  Michel Wermelinger,et al.  Connectors for Mobile Programs , 1998, IEEE Trans. Software Eng..

[10]  José Luiz Fiadeiro,et al.  Algebraic Semantics of Coordination or What Is in a Signature , 1998, AMAST.

[11]  Michel Wermelinger,et al.  Towards an algebra of architectural connectors: a case study on synchronization for mobility , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[12]  José Luiz Fiadeiro,et al.  Interconnecting Objects Via Contracts , 1999, UML.

[13]  Michel Wermelinger,et al.  Algebraic software architecture reconfiguration , 1999, ESEC/FSE-7.

[14]  J. L. Contreras,et al.  "Technology of Object-Oriented Languages and Systems , 2001 .

[15]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[16]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[17]  Jan Bosch,et al.  Superimposition: a component adaptation technique , 1999, Inf. Softw. Technol..

[18]  Ralph-Johan Back,et al.  Analysing UML Use Cases as Contracts , 1999, UML.

[19]  Ian M. Holland,et al.  Contracts: specifying behavioral compositions in object-oriented systems , 1990, OOPSLA/ECOOP '90.

[20]  Jon Hopkins,et al.  Component primer , 2000, CACM.

[21]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[22]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[23]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[24]  José Luiz Fiadeiro,et al.  Coordination: the evolutionary dimension , 2001, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 38.

[25]  Michel Wermelinger,et al.  Patterns for Coordination , 2000, COORDINATION.

[26]  José Luiz Fiadeiro,et al.  Semantics of Architectural Connectors , 1997, TAPSOFT.

[27]  Shmuel Katz,et al.  A superimposition control construct for distributed systems , 1993, TOPL.

[28]  José Luiz Fiadeiro,et al.  Tool support for coordination-based software evolution , 2001, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 38.

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

[30]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.