A Multiple-View Meta-modeling Approach for Variability Management in Software Product Lines

  • Hassan Gomaa
  • Michael E. Shin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3107)


This paper describes a multiple-view meta-modeling approach for managing variability in software product lines using the Unified Modeling Language notation (UML). A multiple-view meta-model for software product lines describes how each view relates semantically to other views. The meta-model depicts life cycle phases, views within each phase, and meta-classes within each view. The relationships between the meta-classes in the different views are described. Consistency checking rules are defined based on the relationships among the meta-classes in the meta-model. This paper briefly describes multiple-view modeling of software product lines before describing the multiple-view meta-modeling approach for software product lines and an approach for consistency checking between meta-model views. The paper then provides a detailed description of the tool support for product line multiple-view meta-modeling, meta-model consistency checking, and product line member configuration from the product line architecture.


Product Line Consistency Check Target System Multiple View Software Product Line 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)Google Scholar
  2. 2.
    Gomaa, H., Kerschberg, L., Sugumaran, V., Bosch, C., Tavakoli, I.: A Knowledge-Based Software Engineering Environment for Reusable Software Requirements and Architectures. J. Automated Software Engineering 3(3/4) (August 1996)Google Scholar
  3. 3.
    Gomaa, H., Farrukh, G.A.: Methods and Tools for the Automated Configuration of Distributed Applications from Reusable Software Architectures and Components. IEE Proceedings – Software 146(6) (December 1999)Google Scholar
  4. 4.
    Gomaa, H.: Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley, Reading (2000)Google Scholar
  5. 5.
    Gomaa, H.: Object Oriented Analysis and Modeling for Families of Systems with the UML. In: Proc. International Conference on Software Reuse, Vienna, Austria (June 2000)Google Scholar
  6. 6.
    Gomaa, H., Shin, M.E.: Multiple-View Meta-Modeling of Software Product Lines. In: The Eighth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2002), Maryland (December 2002)Google Scholar
  7. 7.
    Nuseibeh, B., Kramer, J., Finkelstein, A.: A Framework for Expressing the Relationships Between Multiple Views in Requirements Specification. IEEE Transactions on Software Engineering 20(10), 760–773 (1994)CrossRefGoogle Scholar
  8. 8.
    Parnas, D.: Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering (March 1979)Google Scholar
  9. 9.
    Rumbaugh, J., Booch, G., Jacobson, I.: The Unified Modeling Language Reference Manual. Addison Wesley, Reading (1999)Google Scholar
  10. 10.
    Shin, M.E.: Evolution in Multiple-View Models in Software Product Families. Ph.D. dissertation, George Mason University, Fairfax, VA (2002)Google Scholar
  11. 11.
    Weiss, D.M., Lai, C.T.R.: Software Product-Line Engineering: A Family- Based Software Development Process. Addison-Wesley, Reading (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Hassan Gomaa
    • 1
  • Michael E. Shin
    • 2
  1. 1.Dept. of Information and Software EngineeringGeorge Mason UniversityFairfaxUSA
  2. 2.Dept. of Computer ScienceTexas Tech UniversityLubbockUSA

Personalised recommendations