Detecting Inconsistencies in Multi-View Models with Variability

  • Roberto Erick Lopez-Herrejon
  • Alexander Egyed
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6138)

Abstract

Multi-View Modeling (MVM) is a common modeling practice that advocates the use of multiple, different and yet related models to represent the needs of diverse stakeholders. Of crucial importance in MVM is consistency checking — the description and verification of semantic relationships amongst the views. Variability is the capacity of software artifacts to vary, and its effective management is a core tenet of the research in Software Product Lines (SPL). MVM has proven useful for developing one-of-a-kind systems; however, to reap the potential benefits of MVM in SPL it is vital to provide consistency checking mechanisms that cope with variability. In this paper we describe how to address this need by applying Safe Composition — the guarantee that all programs of a product line are type safe. We evaluate our approach with a case study.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Finkelstein, A., Kramer, J., Nuseibeh, B., Finkelstein, L., Goedicke, M.: Viewpoints: A framework for integrating multiple perspectives in system development. International Journal of Software Engineering and Knowledge Engineering 2(1), 31–57 (1992)CrossRefGoogle Scholar
  2. 2.
    Nuseibeh, B., Kramer, J., Finkelstein, A.: A framework for expressing the relationships between multiple views in requirements specification. IEEE Trans. Software Eng. 20(10), 760–773 (1994)CrossRefGoogle Scholar
  3. 3.
    Finkelstein, A., Gabbay, D.M., Hunter, A., Kramer, J., Nuseibeh, B.: Inconsistency handling in multperspective specifications. IEEE Trans. Software Eng. 20(8), 569–578 (1994)CrossRefGoogle Scholar
  4. 4.
    Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw., Pract. Exper. 35(8), 705–754 (2005)CrossRefGoogle Scholar
  5. 5.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE TSE 30(6) (2004)Google Scholar
  6. 6.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)Google Scholar
  7. 7.
    Pohl, K., Bockle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)MATHGoogle Scholar
  8. 8.
    van d Linden, F.J., Schimd, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Heidelberg (2007)Google Scholar
  9. 9.
    Gomaa, H.: Designing Software Product Lines with UML. In: From Use Cases to Pattern-Based Software Architectures, Addison-Wesley, Reading (2004)Google Scholar
  10. 10.
    Jayaraman, P., Whittle, J., Elkhodary, A., Gomaa, H.: Model Composition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 151–165. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Käkölä, T., Dueñas, J.C. (eds.): Software Product Lines - Research Issues in Engineering and Management. Springer, Heidelberg (2006)Google Scholar
  12. 12.
    Thaker, S., Batory, D.S., Kitchin, D., Cook, W.R.: Safe composition of product lines. In: Consel, C., Lawall, J.L. (eds.) GPCE, pp. 95–104. ACM, New York (2007)CrossRefGoogle Scholar
  13. 13.
    Gomaa, H., Olimpiew, E.M.: Managing variability in reusable requirement models for software product lines. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 182–185. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Zhang, H., Jarzabek, S.: Xvcl: a mechanism for handling variants in software product lines. Sci. Comput. Program.(Hongyu Zhang and Stanislaw Jarzabek) 53(3), 381–407Google Scholar
  15. 15.
    Batory, D.: AHEAD Tool Suite (2008), http://www.cs.utexas.edu/users/schwartz/ATS.html
  16. 16.
    Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)CrossRefGoogle Scholar
  17. 17.
    Mezini, M., Ostermann, K.: Variability management with feature-oriented programming and aspects. In: Taylor, R.N., Dwyer, M.B. (eds.) SIGSOFT FSE, pp. 127–136. ACM, New York (2004)Google Scholar
  18. 18.
    Groher, I., Völter, M.: Using aspects to model product line variability. In: Thiel, S., Pohl, K. (eds.) SPLC (2), Lero Int. Science Centre, University of Limerick, Ireland, pp. 89–95 (2008)Google Scholar
  19. 19.
    Groher, I., Völter, M.: Aspect-oriented model-driven software product line engineering. T. Aspect-Oriented Software Development VI 6, 111–152 (2009)CrossRefGoogle Scholar
  20. 20.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. In: The Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  21. 21.
    Trujillo, S., Batory, D., Diaz, O.: Feature Oriented Model Driven Development: A Case Study for Portlets. In: ICSE (2007)Google Scholar
  22. 22.
    Batory, D., O’Malley, S.: The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM Transactions on Software Engineering and Methodology (TOSEM) 1(4), 355–398 (1992)CrossRefGoogle Scholar
  23. 23.
    Zave, P.: Faq sheet on feature interaction, http://www.research.att.com/~pamela/faq.html
  24. 24.
    Lopez-Herrejon, R.E.: Understanding Feature Modularity. PhD thesis, Department of Computer Sciences, The University of Texas at Austin (2006)Google Scholar
  25. 25.
    Batory, D.S., Lopez-Herrejon, R.E., Martin, J.P.: Generating product-lines of product-families. In: ASE, pp. 81–92. IEEE Computer Society, Los Alamitos (2002)Google Scholar
  26. 26.
    Lopez-Herrejon, R.E., Batory, D.S., Lengauer, C.: A disciplined approach to aspect composition. In: Hatcliff, J., Tip, F. (eds.) PEPM, pp. 68–77. ACM, New York (2006)Google Scholar
  27. 27.
    Batory, D.S.: Using modern mathematics as an fosd modeling language. In: Smaragdakis, Y., Siek, J.G. (eds.) GPCE, pp. 35–44. ACM, New York (2008)CrossRefGoogle Scholar
  28. 28.
    Lopez-Herrejon, R.E., Rivera, J.E.: Realizing feature oriented software development with equational logic: An exploratory study. In: Vallecillo, A., Sagardui, G. (eds.) JISBD, pp. 269–274 (2009)Google Scholar
  29. 29.
    Apel, S., Janda, F., Trujillo, S., Kästner, C.: Model superimposition in software product lines. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 4–19. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  30. 30.
    Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness ocl constraints. In: Jarzabek, S., Schmidt, D.C., Veldhuizen, T.L. (eds.) GPCE, pp. 211–220. ACM, New York (2006)CrossRefGoogle Scholar
  31. 31.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  32. 32.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (1990)Google Scholar
  33. 33.
    Benavides, D., Segura, S., Trinidad, P., Cortés, A.R.: Fama: Tooling a framework for the automated analysis of feature models. In: Pohl, K., Heymans, P., Kang, K.C., Metzger, A., eds.: VaMoS. Volume 2007-01 of Lero Technical Report, pp. 129–134 (2007)Google Scholar
  34. 34.
    Batory, D.: Feature Models, Grammars, and Propositional Formulas. In: Proceedings of the International Software Product Line Conference (SPLC), pp. 7–20 (2005)Google Scholar
  35. 35.
    Lucas, F.J., Molina, F., Álvarez, J.A.T.: A systematic review of uml model consistency management. Information & Software Technology 51(12), 1631–1645 (2009)CrossRefGoogle Scholar
  36. 36.
    Usman, M., Nadeem, A., Kim, T.H., Cho, E.S.: A survey of consistency checking techniques for uml models. In: Advanced Software Engineering and Its Applications. ASEA 2008, pp. 57–62 (2008)Google Scholar
  37. 37.
    OMG: Uml infrastructure specification v2.2 (2009)Google Scholar
  38. 38.
    Egyed, A.: Fixing inconsistencies in uml design models. In: ICSE 2007: Proceedings of the 29th International Conference on Software Engineering, Washington, DC, USA, pp. 292–301. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  39. 39.
    Egyed, A., Letier, E., Finkelstein, A.: Generating and evaluating choices for fixing inconsistencies in uml design models. In: ASE, pp. 99–108. IEEE, Los Alamitos (2008)Google Scholar
  40. 40.
    Lopez-Herrejon, R.E., Batory, D.S.: A standard problem for evaluating product-line methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  41. 41.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading (2008)Google Scholar
  42. 42.
    Biere, A.: Picosat, http://fmv.jku.at/picosat/
  43. 43.
    Jacobson, I., Ng, P.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)Google Scholar
  44. 44.
    Lopez-Herrejon, R., Batory, D.: Modeling Features in Aspect-Based Product Lines with Use Case Slices: An Exploratory Case Study. In: Workshops and Symposia at MoDELS (2006)Google Scholar
  45. 45.
    Umapathy, S.: Extension of UML models to Support Feature Modularization of Software Product Lines. Master’s thesis, Computing Laboratory, University of Oxford (2007)Google Scholar
  46. 46.
    Kästner, C., Apel, S., Trujillo, S., Kuhlemann, M., Batory, D.S.: Guaranteeing syntactic correctness for all product line variants: A language-independent approach. In: Oriol, M., Meyer, B. (eds.) TOOLS (47). Lecture Notes in Business Information Processing, vol. 33, pp. 175–194. Springer, Heidelberg (2009)Google Scholar
  47. 47.
    Kuhlemann, M., Batory, D.S., Kästner, C.: Safe composition of non-monotonic features. In: Siek, J.G. (ed.) GPCE, pp. 177–186. ACM, New York (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Roberto Erick Lopez-Herrejon
    • 1
  • Alexander Egyed
    • 1
  1. 1.Institute for Systems Engineering and AutomationJohannes Kepler University LinzAustria

Personalised recommendations