Abstract
Software product lines (SPL) are an established technology for developing families of systems. In particular, they focus on modeling commonality and variability, that is, they are based on identifying features common to all members of the family and variable features that appear only in some members. Model-based development methods for product lines advocate the construction of SPL requirements, analysis and design models for features. This paper describes an approach for maintaining feature separation during modeling using a UML composition language based on graph transformations. This allows models of features to be reused more easily. The language can be used to compose the SPL models for a given set of features. Furthermore, critical pair analysis is used to detect dependencies and conflicts between features during analysis and design modeling. The approach is supported by a tool that allows automated composition of UML models of features and detection of some kinds of feature interactions.
Chapter PDF
References
Weiss, D.M., Lai, C.T.R.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley, Reading (1999)
Parnas, D.: Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering SE-5(2), 128–138 (1979)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)
Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Software Engineering Institute Technical Report CMU/SEI-90-TR-21. Carnegie Mellon University, Pittsburgh, PA (1990)
Gomaa, H.: A Software Modeling Odyssey: Designing Evolutionary Architecture-Centric Real-Time Systems and Product Lines. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 1–15. Springer, Heidelberg (2006)
Gomaa, H.: Designing Software Product Lines With UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Reading (2005)
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)
Taentzer, G.: AGG: A Graph Transformation Environment for Modeling and Validation of Software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004)
Heckel, R., Küster, J.M., Taentzer, G.: Confluence of Typed Attributed Graph Transformation Systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 161–176. Springer, Heidelberg (2002)
Gomaa, H., Saleh, M.: Feature Driven Dynamic Customization of Software Product Lines. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 58–72. Springer, Heidelberg (2006)
Gomaa, H., Kerschberg, L., Sugumaran, V., Bosch, C., Tavakoli, I., O’Hara, L.: A Knowledge-Based Software Engineering Environment for Reusable Software Requirements and Architectures. Automated Software Engineering 3(3-4), 285–307 (1996)
Gomaa, H., Shin, M.E.: Automated Software Product Line Engineering and Product Derivation. In: HICSS. 40th Annual Hawaii International Conference on System Sciences, Waikoloa, HI, p. 285 (2007)
Gomaa, H., Shin, M.E.: A Multiple-View Meta-Modeling Approach for Variability Management in Software Product Lines. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 274–285. Springer, Heidelberg (2004)
Rozenberg, G.: A Handbook of Graph Grammars and Computing by Graph Transformation: Application Languages and Tools. World Scientific Publishing Company, Singapore (1997)
Nickel, U., Niere, J., Zuendorf, A.: The FUJABA Environment. In: International Conference on Software Engineering, Limerick, Ireland, pp. 742–745 (2000)
Agrawal, A.: Graph Rewriting And Transformation (GReAT): A Solution For The Model Integrated Computing (MIC) Bottleneck. In: ASE 2003. 18th IEEE International Conference on Automated Software Engineering, Montréal, Quebec, Canada, pp. 364–368. IEEE Computer Society Press, Los Alamitos (2003)
OMG: MOFTM Query / Views / Transformations Specification (2005)
Csertan, G., Huszerl, G., Majzik, I., Pap, Z., Pataricza, A., Varro, D.: VIATRA - visual automated transformations for formal verification and validation of UML models. In: Automated Software Engineering, 2002 (ASE), Edinburgh, UK, p. 267 (2002)
Philippow, I., Riebisch, M., Boellert, K.: The Hyper/UML approach for feature based software design. In: The 4th AOSD Modeling with UML Workshop, San Francisco, CA, USA (2003)
Ossher, H., Tarr, P.L.: Hyper/J: Multi-Dimensional Separation of Concerns for Java. In: International Conference on Software Engineering (ICSE), Limerick, Ireland, pp. 737–737 (2000)
Whittle, J., Moreira, A., Araújo, J., Jayaraman, P., Elkhodary, A., Rabbi, R.: An Expressive Aspect Composition Language for UML State Diagrams. In: MODELS. International Conference on Model Driven Engineering Languages and Systems, Nashville, TN (2007)
Ziadi, T., Jézéquel, J.-M.: Software Product Line Engineering with the UML: Deriving Products. In: Käköla, T., Duenas, J.C. (eds.) Software Product Lines, pp. 557–588. Springer, Heidelberg (2006)
Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approach Based on Superimposed Variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)
Cottenier, T., van den Berg, A., Elrad, T.: Motorola WEAVR: Model Weaving in a Large Industrial Context. In: Aspect-Oriented Software Development, Vancouver, Canada (2007)
Song, E., Reddy, R., France, R.B., Ray, I., Georg, G., Alexander, R.: Verifiable Composition of Access Control and Application Features. In: SACMAT. ACM Symposium on Access Control Models and Technologies, Stockholm, Sweden, pp. 120–129 (2005)
Klein, J., Helouet, L., Jézéquel, J.: Semantic-Based Weaving of Scenarios. In: Aspect-Oriented Software Development (AOSD), Vancouver, Canada, pp. 27–38 (2006)
Jacobson, I., Ng, P.-W.: Aspect Oriented Software Development with Use Cases. Addison Wesley, Reading (2004)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005)
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: ICSE. 25th International Conference on Software Engineering, Portland, OR, pp. 187–197 (2003)
Egyed, A.: Instant consistency checking for the UML. In: International Conference on Software Engineering, pp. 381–390 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jayaraman, P., Whittle, J., Elkhodary, A.M., Gomaa, H. (2007). Model Composition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds) Model Driven Engineering Languages and Systems. MODELS 2007. Lecture Notes in Computer Science, vol 4735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75209-7_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-75209-7_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75208-0
Online ISBN: 978-3-540-75209-7
eBook Packages: Computer ScienceComputer Science (R0)