Software adaptation patterns for service-oriented architectures

This paper describes the concept of software adaptation patterns and how they can be used in software adaptation of service-oriented architectures. The patterns are described in terms of a three-layer architecture for self-management. A software adaptation pattern defines how a set of components that make up an architecture pattern dynamically cooperate to change the software configuration to a new configuration. In our approach, adaptation connectors are introduced to encapsulate adaptation state machine models so that the adaptation patterns can be more reusable. A change management model for dynamically evolving service-oriented applications is also described with a case study.

[1]  Mark Lycett,et al.  Service-oriented architecture , 2003, 2003 Symposium on Applications and the Internet Workshops, 2003. Proceedings..

[2]  Sam Malek,et al.  A Modeling Language for Activity-Oriented Composition of Service-Oriented Software Systems , 2009, MoDELS.

[3]  Hassan Gomaa,et al.  Software reconfiguration patterns for dynamic evolution of software architectures , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[4]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[5]  Sam Malek,et al.  Scenario-Driven Dynamic Analysis of Distributed Architectures , 2007, FASE.

[6]  Serge Mankovskii,et al.  Service Oriented Architecture , 2009, Encyclopedia of Database Systems.

[7]  Dimitra Giannakopoulou,et al.  Behaviour Analysis of Software Architectures , 1999, WICSA.

[8]  Richard N. Taylor,et al.  An infrastructure for the rapid development of XML-based architecture description languages , 2002, ICSE '02.

[9]  Patrick Donohoe,et al.  Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1) , 1999 .

[10]  Yanbo Han,et al.  Facilitating Dynamic Service Compositions by Adaptable Service Connectors , 2006, Int. J. Web Serv. Res..

[11]  Andres J. Ramirez,et al.  Applying adaptation design patterns , 2009, ICAC '09.

[12]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[13]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[14]  Hassan Gomaa,et al.  A software modeling odyssey: designing evolutionary architecture-centric real-time systems and product lines , 2006, MoDELS'06.

[15]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[16]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[17]  Minseong Kim,et al.  From Product Lines to Self-Managed Systems: An Architecture-Based Runtime Reconfiguration Framework , 2005 .

[18]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[19]  E. Gat On Three-Layer Architectures , 1997 .

[20]  Sam Malek,et al.  A framework for utility-based service oriented design in SASSY , 2010, WOSP/SIPEW '10.

[21]  Paolo Traverso,et al.  Service-Oriented Computing: State of the Art and Research Challenges , 2007, Computer.

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

[23]  Sam Malek,et al.  Self-Architecting Software SYstems (SASSY) from QoS-annotated activity models , 2009, 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems.

[24]  Jaejoon Lee,et al.  A feature-oriented approach to developing dynamically reconfigurable products in product line engineering , 2006, 10th International Software Product Line Conference (SPLC'06).

[25]  Klaus Meyer-Wegener,et al.  Runtime adaptation in a service-oriented component model , 2008, SEAMS '08.

[26]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[27]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..