Multiple-view meta-modeling of software product lines

This paper describes a multiple-view meta-modeling approach for software product lines using the Unified Modeling Language notation (UML). A multiple-view model for a software product line is an object-oriented domain model which defines the different aspects of a software product line, namely the use case model, static model, collaboration model, statechart model, and feature model, including the commonality and variability. The meta-model depicts life cycle phases, views within each phase, and meta-classes within each view. The relationships between the different views are described. Consistency checking rules are defined based on the relationships among meta-classes in the meta-model. Finally, tool support for the approach is described.

[1]  Hassan Gomaa,et al.  Methods and tools for the automated configuration of distributed applications from reusable software architectures and components , 1999, IEE Proc. Softw..

[2]  Colin Atkinson,et al.  Component-Based Software Engineering : The KobrA Approach , 2000 .

[3]  Hassan Gomaa,et al.  Dynamic Software Reconfiguration in Software Product Families , 2003, PFE.

[4]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[5]  Paul Clements,et al.  A framework for software product line practice - version 2 , 1999 .

[6]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[7]  Hassan Gomaa,et al.  Object Oriented Analysis and Modeling for Families of Systems with UML , 2000, ICSR.

[8]  Daniel A. Menascé,et al.  Performance Engineering of Component-Based Distributed Software Systems , 2001, Performance Engineering.

[9]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[10]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[11]  Daniel A. Menascé,et al.  Design and performance modeling of component interconnection patterns for distributed software architectures , 2000, WOSP '00.

[12]  Hassan Gomaa,et al.  Inter-Agent Communication in Cooperative Information Agent-Based Systems , 1999, CIA.

[13]  Daniel A. Menascé,et al.  A Method for Design and Performance Modeling of Client/Server Systems , 2000, IEEE Trans. Software Eng..

[14]  Kevin L. Mills,et al.  Knowledge-based Automation of a Design Method for Concurrent and Real-Time Systems , 1998 .

[15]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[16]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[17]  Hassan Gomaa,et al.  Evolution in multiple-view models of software product families , 2002 .

[18]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[19]  M. Morisio,et al.  Extending UML to support domain analysis , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[20]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[21]  Hassan Gomaa,et al.  Dynamic navigation in multiple view software specifications and designs , 1998, J. Syst. Softw..

[22]  Larry Kerschberg,et al.  Domain modeling of software process models , 2000, Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000.

[23]  Kevin L. Mills,et al.  A Knowledge-Based Method for Inferring Semantic Concepts from Graphical Models of Real-time Systems , 1998 .

[24]  Vijayan Sugumaran,et al.  A Knowledge-Based Software Engineering Environment for Reusable Software Requirements and Architectures , 1996 .

[25]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[26]  Michael Eonsuk Shin,et al.  Modelling complex systems by separating application and security concerns , 2004, Proceedings. Ninth IEEE International Conference on Engineering of Complex Computer Systems.

[27]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[28]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

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

[30]  Mike Mannion,et al.  Using Patterns to Model Variability in Product Families , 1999, IEEE Softw..