Pattern-driven Reuse in Architecture-centric Evolution for Service Software

Service-based architectures implement business processes as technical software services to develop enterprise software. As a consequence of frequent business and technical change cycles, the architect requires a reusecentered approach to systematically accommodate recurring changes in existing software. Our ‘Pat-Evol’ project aims at supporting pattern-driven reuse in architecture-centric evolution for service software. We propose architecture change mining as a complementary phase to a systematic architecture change execution. Therefore, we investigate the ‘history’ of sequential changes - exploiting change logs - to discover patterns of change that occur during evolution. To foster reuse, a pattern catalogue maintains an updated collection with once-off specification for identified pattern instances. This allows us to exploit change pattern as a generic, first class abstractions (that can be operationalised and parameterised) to support reuse in architecture-centric software evolution. The notion of ‘build-once, use-often’ empowers the role of an architect to model and execute generic and potentially reusable solution to recurring architecture evolution problems.

[1]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[2]  Claus Pahl A Formal Composition and Interaction Model for a Web Component Platform , 2002, Electron. Notes Theor. Comput. Sci..

[3]  G.A. Lewis,et al.  Service-Oriented Architecture and its implications for software maintenance and evolution , 2008, 2008 Frontiers of Software Maintenance.

[4]  Stefanie Rinderle-Ma,et al.  Change Patterns and Change Support Features in Process-Aware Information Systems , 2007, Seminal Contributions to Information Systems Engineering.

[5]  Ivica Crnkovic,et al.  A systematic review of software architecture evolution research , 2012, Inf. Softw. Technol..

[6]  Mourad Oussalah,et al.  Evolution Shelf: Reusing Evolution Expertise within Component-Based Software Architectures , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[7]  Claus Pahl,et al.  A Semantical Framework for the Orchestration and Choreography of Web Services , 2005, WLFM@FM.

[8]  Volker Gruhn,et al.  Data Model Evolution as Basis of Business Process Management , 1995, OOER.

[9]  Claus Pahl,et al.  A Pattern-Based Framework of Change Operators for Ontology Evolution , 2009, OTM Workshops.

[10]  Tom Mens,et al.  Towards a taxonomy of software change , 2005, J. Softw. Maintenance Res. Pract..

[11]  Stefanie Rinderle-Ma,et al.  Change Patterns and Change Support Features in Process-Aware Information Systems , 2007, Seminal Contributions to Information Systems Engineering.

[12]  Juan de Lara,et al.  Pattern-Based Model-to-Model Transformation , 2008, ICGT.

[13]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graph Transformation , 2004, ICGT.

[14]  David A. Carrington,et al.  A Pattern based Model Evolution Approach , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

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

[16]  Bastiaan Stephan Graaf,et al.  Model-Driven Evolution of Software Architectures , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[17]  Claus Pahl,et al.  Pat-Evol: Pattern-Driven Reuse in Architecture-Based Evolution for Service Software , 2012, ERCIM News.

[18]  Bradley R. Schmerl,et al.  Evolution styles: Foundations and tool support for software architecture evolution , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[19]  Claus Pahl,et al.  Graph-Based Pattern Identification from Architecture Change Logs , 2012, CAiSE Workshops.