Reuse across Multiple Architectures

The commonality across software systems can be exploited to develop multiple heterogeneous systems successfully without undue cost, time, and effort. The systematic reuse across different systems is of paramount importance. With a well-planned reuse approach, a vendor can offer individualized products, which are products tailored to meet the requirements of a particular user effectively, as well as the products constructed to deliver solutions for a greater variety of application domains such as enterprise application integration and business process management. This chapter describes the development of software systems having different architectures reusing most of the implementations of the required functionalities as-is. It presents a systematic process for crafting multi-architecture reusable components and for using those components in formulating software systems. Furthermore, the chapter highlights the significance of the strategic reuse across systems in three contemporary research spheres.

[1]  Jesper Andersson Issues in Dynamic Software Architectures , 2001 .

[2]  Wil M.P. van der Aalst,et al.  YAWL: yet another workflow language , 2005, Inf. Syst..

[3]  Wei Sun,et al.  Software as a Service: Configuration and Customization Perspectives , 2008, 2008 IEEE Congress on Services Part II (services-2 2008).

[4]  Sam Malek,et al.  Qos architectural patterns for self-architecting software systems , 2010, ICAC '10.

[5]  Ralph Mietzner Using variability descriptors to describe customizable SaaS application templates , 2008 .

[6]  Mary Shaw,et al.  Architectural issues in software reuse: it's not just the functionality, it's the packaging , 1995, SSR '95.

[7]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[8]  Bernhard Merkle,et al.  Stop the software architecture erosion: building better software systems , 2010, SPLASH/OOPSLA Companion.

[9]  Sundar Balasubramaniam,et al.  A Method to Support Variability of Enterprise Services on the Cloud , 2009, 2009 IEEE International Conference on Cloud Computing.

[10]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[11]  Soo Dong Kim,et al.  A Systematic Process for Developing High Quality SaaS Cloud Services , 2009, CloudCom.

[12]  Arun Anandasivam,et al.  Cloud Services from a Consumer Perspective , 2010, AMCIS.

[13]  Jan Bosch,et al.  Design erosion: problems and causes , 2002, J. Syst. Softw..

[14]  Danilo Beuche,et al.  Variability management with feature models , 2004, Sci. Comput. Program..

[15]  Vincenzo De Florio,et al.  Application-layer Fault-Tolerance Protocols , 2008, ArXiv.

[16]  Martin L. Griss Architecting for large-scale systematic component reuse , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[17]  Peyman Oreizy,et al.  Reuse of off-the-shelf components in C2-style architectures , 1997, ICSE '97.

[18]  N. Ilker Altintas,et al.  Managing Large Scale Reuse Across Multiple Software Product Lines , 2008, ICSR.

[19]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[20]  Yang Qun,et al.  A framework for dynamic software architecture-based self-healing , 2005 .