University of Limerick Institutional Repository

A pattern language for evolution in component-based software architectures

DSpace Repository

Show simple item record

dc.contributor.author Ahmad, Aakash
dc.contributor.author Jamshidi, Pooyan
dc.contributor.author Pahl, Claus
dc.contributor.author Khaliq, Fawad
dc.date.accessioned 2013-05-20T15:42:47Z
dc.date.available 2013-05-20T15:42:47Z
dc.date.issued 2013
dc.identifier.uri http://hdl.handle.net/10344/3107
dc.description peer-reviewed en_US
dc.description.abstract Modern software systems are prone to a continuous evolution under frequently varying requirements. Architecture-centric software evolution enables change in system structure and behavior while maintaining a global view of software to address evolution-centric tradeoffs. The Lehman’s law of continuing change demands for long-living and continuously evolving architectures to prolong the productive life and economic value of deployed software. However, the existing solutions for architectural maintenance and evolution fall short of exploiting generic and reusable expertise to address recurring evolution problems. We argue that architectural evolution process requires an explicit evolution-centric knowledge – that can be discovered, shared and reused – to anticipate and guide change management. Therefore, we propose a pattern language (PatEvol) as a collection of interconnected change patterns that enable reuse-driven and consistent evolution in component-based software architectures (CBSAs). Pattern interconnections represent possible relationships among patterns (such as variants or related patterns) in the language. In component-based architectures, hierarchal configurations of atomic and composite elements express computational components and their connectors to develop and evolve software. More specifically, component-based architecture models and their evolution define the target domain of proposed pattern language. In general, we integrate architecture change mining (PatEvol development) as a complementary and integrated phase to facilitate reuse-driven architecture change execution (PatEvol application). Reuse-knowledge in the proposed pattern language is expressed as a formalised collection of interconnected-patterns. Individual patterns in the language build on each other to facilitate a generic, first-class abstraction – that can be operationalised and parameterisaed – to address recurring evolution tasks. The pattern language itself continuously evolves with an incremental acquisition of new patterns from architecture change logs. en_US
dc.language.iso eng en_US
dc.relation.ispartofseries First Workshop on Patterns Promotion and Anti-patterns Prevention (PPAP) 2013;
dc.subject pattern definition en_US
dc.subject pattern detection en_US
dc.subject pattern language en_US
dc.subject software architecture evolution en_US
dc.subject evolution reuse en_US
dc.title A pattern language for evolution in component-based software architectures en_US
dc.type info:eu-repo/semantics/conferenceObject en_US
dc.type.supercollection all_ul_research en_US
dc.type.supercollection ul_published_reviewed en_US
dc.contributor.sponsor SFI en_US
dc.relation.projectid 10/CE/I1855 en_US
dc.rights.accessrights info:eu-repo/semantics/openAccess en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search ULIR


Browse

My Account

Statistics