A feature-oriented approach for developing reusable product line assets of service-based systems

Service orientation (SO) is a relevant promising candidate for accommodating rapidly changing user needs and expectations. One of the goals of adopting SO is the improvement of reusability, however, the development of service-based system in practice has uncovered several challenging issues, such as how to identify reusable services, how to determine configurations of services that are relevant to users' current product configuration and context, and how to maintain service validity after configuration changes. In this paper, we propose a method that addresses these issues by adapting a feature-oriented product line engineering approach. The method is notable in that it guides developers to identify reusable services at the right level of granularity and to map users' context to relevant service configuration, and it also provides a means to check the validity of services at runtime in terms of invariants and pre/post-conditions of services. Moreover, we propose a heterogeneous style based architecture model for developing such systems.

[1]  David S. Rosenblum,et al.  Integrating C2 with the Unified Modeling Language , 1997 .

[2]  Asit Dan,et al.  SOA service reuse by design , 2008, SDSOA '08.

[3]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[4]  Jaejoon Lee,et al.  Feature-oriented variability management in product line engineering , 2006, CACM.

[5]  dizayn İç dekor Design by Contract , 2010 .

[6]  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).

[7]  Gordon S. Blair,et al.  Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems , 2008, SPLC.

[8]  Haibin Zhu,et al.  Building reusable components with service-oriented architectures , 2005, IRI -2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005..

[9]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[10]  Sven Apel,et al.  Research challenges in the tension between features and services , 2008, SDSOA '08.

[11]  Jaejoon Lee,et al.  Concepts and Guidelines of Feature Modeling for Product Line Software Engineering , 2002, ICSR.

[12]  Ali Arsanjani,et al.  Service-Oriented Modeling and Architecture for Realization of an SOA , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).

[13]  Jaejoon Lee,et al.  Feature Binding Analysis for Product Line Component Development , 2003, PFE.

[14]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[15]  Yérom-David Bromberg,et al.  The Amigo Service Architecture for the Open Networked Home Environment , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[16]  Marin Litoiu,et al.  Proceedings of the 2nd international workshop on Systems development in SOA environments , 2008, ICSE 2008.

[17]  Jan Bosch,et al.  Software Reuse: Methods, Techniques, and Tools , 2004, Lecture Notes in Computer Science.

[18]  Bertrand Meyer,et al.  Advances in object-oriented software engineering , 1992 .

[19]  Jaejoon Lee,et al.  An Approach for Developing Service Oriented Product Lines , 2008, 2008 12th International Software Product Line Conference.

[20]  Kyo Chul Kang,et al.  A feature-oriented approach to developing dynamically reconfigurable products in product line engineering , 2006 .

[21]  Dirk Krafzig,et al.  Enterprise SOA: Service-Oriented Architecture Best Practices , 2004 .

[22]  Svein O. Hallsteinsen,et al.  Using product line techniques to build adaptive systems , 2006, 10th International Software Product Line Conference (SPLC'06).

[23]  Thomas Erl,et al.  SOA Principles of Service Design , 2007 .

[24]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[25]  MeyerBertrand,et al.  Design by Contract , 1997 .

[26]  Liang-Jie Zhang,et al.  S3: A Service-Oriented Reference Architecture , 2007, IT Professional.

[27]  Georg Herzwurm,et al.  Software Product Lines, Service-Oriented Architecture and Frameworks: Worlds Apart or Ideal Partners? , 2006, TEAA.

[28]  Jaejoon Lee,et al.  Feature-Oriented Analysis and Specification of Dynamic Product Reconfiguration , 2008, ICSR.

[29]  Schahram Dustdar,et al.  Towards recovering the broken SOA triangle: a software engineering perspective , 2007, IW-SOSWE '07.

[30]  C.A. Long Software product lines: practices and patterns [Book Review] , 2002, IEEE Software.

[31]  Jan Mendling,et al.  Business Process Execution Language for Web Services , 2006, EMISA Forum.

[32]  William C. Chu,et al.  Feature analysis for service-oriented reengineering , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).