Skip to main content
Log in

Features meet scenarios: modeling and consistency-checking scenario-based product line specifications

  • RE 2012
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

Many modern software-intensive systems consist of multiple components interacting together to deliver the intended functionality. Often, these systems come in many variants (products) and are managed together as a software product line. This variability is the source of additional complexity which can cause inconsistencies and offset the economies of scale promised by product line engineering. Engineers thus need intuitive, yet precise means for specifying requirements and require tools for automatically detecting inconsistencies within these requirements. In recent work, we proposed a technique for the scenario-based specification of interactions in product lines by a combination of Modal Sequence Diagrams and Feature Diagrams. Furthermore, we elaborated an efficient consistency-checking technique based on a dedicated model-checking approach especially tailored for product lines. In this paper, we report on further evaluations that underline significant performance benefits of our approach. We describe further optimizations and detail on how we encode the consistency-checking problem for a model-checker.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. Neue Bahntechnik Paderborn/RailCab, http://www-nbp.upb.de.

  2. Optional features are not used in the example appearing in this paper.

  3. Note that we use the terms consistency and realizability synonymously, but that they are used differently in literature. In Abadi et al. [2], a specification is consistent iff there exists a system and some (friendly) environment that composed can satisfy the specification. Instead, a specification is realizable iff there exists a system that composed with any environment can satisfy the specification. The definition of consistency in Harel et al. [16] instead also takes into account that the system must react to all possible sequences of environment events, which corresponds to realizability in Abadi et al. [2]. Realizability in Harel et al. [16] especially refers to the fact that there exists a distributed implementation for the system objects (one finite-state controller per system object) that implements the specification. (They show that their form of realizability and consistency are equivalent.) In Bontemps et al. [4] (see especially the discussion in [4, Sect. 5.2.1]), the consistency condition by Abadi et al. [2] is called satisfiability. We stick to the terminology used in the LSC/MSD-related literature, based on Harel et al. and Bontemps et al.

  4. The formula does not explicitly state that there must exist a sequence of system messages. However, the model restricts that only system messages can occur if active_system is true (see Listing 8).

  5. http://www.cs.upb.de/index.php?id=scenariotools.

  6. http://code.google.com/a/eclipselabs.org/p/nusmv-tools/.

  7. http://www.cs.uni-paderborn.de/fachgebiete/fachgebiet-softwaretechnik/forschung/projekte/tgg-interpreter.html.

  8. http://info.fundp.ac.be/fts/implementations/msd2smv.

References

  1. UML 2.4.1 Superstructure Specification (2011) OMG document formal/2011-08-06

  2. Abadi M, Lamport L, Wolper P (1989) Realizable and unrealizable specifications of reactive systems. In: Proceedings of the 16th international colloquium on automata, languages and programming, ICALP ’89. Springer, London, pp 1–17. http://dl.acm.org/citation.cfm?id=646243.681448

  3. Alférez M, Lopez-Herrejon RE, Moreira A, Amaral V, Egyed A (2011) Supporting consistency checking between features and software product line use scenarios. In: Proceedings of 12th international conference on top productivity through software reuse, ICSR’11. Springer, Berlin, pp 20–35

  4. Bontemps Y, Heymans P (2005) From live sequence charts to state machines and back: a guided tour. Trans Softw Eng 31(12):999–1014

    Article  Google Scholar 

  5. Cimatti A, Clarke E, Giunchiglia E, Giunchiglia F, Pistore M, Roveri M, Sebastiani R, Tacchella A (2002) NuSMV version 2: an opensource tool for symbolic model checking. In: Proceedings of international conference on computer-aided verification (CAV 2002), LNCS, vol 2404. Springer, Copenhagen

  6. Clarke EM, Emerson EA (1981) Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Logic of programs, LNCS, vol 131, pp 52–71. Springer

  7. Classen A, Heymans P, Schobbens PY, Legay A (2011) Symbolic model checking of software product lines. In: Proceedings of 33rd international conference on software engineering (ICSE’11). ACM, pp 321–330

  8. Classen A, Heymans P, Schobbens PY, Legay A, Raskin JF (2010) Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of 32nd international conference on software engineering (ICSE’10), ICSE’10. ACM, pp 335–344. doi:10.1145/1806799.1806850

  9. Cordy M, Classen A, Perrouin G, Heymans P, Schobbens PY, Legay A (2012) Simulation-based abstractions for software product-line model checking. In: ICSE’12, pp 672–682. IEEE

  10. Damas C, Lambeau B, van Lamsweerde A (2006) Scenarios, goals, and state machines: a win-win partnership for model synthesis. In: Proceedings 14th international symposium on foundations of software engineering, SIGSOFT ’06/FSE-14. ACM, New York, pp 197–207. doi:10.1145/1181775.1181800

  11. Damm W, Harel D (2001) LSCs: breathing life into message sequence charts. In: Formal methods in system design, vol 19. Kluwer Academic Publishers, pp 45–80

  12. Frieben J, Greenyer J (2012) Consistency checking scenario-based specifications of dynamic systems. In: Proceedings of 4th workshop on behavioural modelling: foundations and application (BM-FA 2012). ACM

  13. Ghezzi C, Molzam Sharifloo A (2012) Model-based verification of quantitative non-functional properties for software product lines. Information and software technology. doi:10.1016/j.infsof.2012.07.017

  14. Greenyer J (2011) Scenario-based design of mechatronic systems. Ph.D. thesis, University of Paderborn

  15. Greenyer J, Sharifloo AM, Cordy M, Heymans P (2012) Efficient consistency checking of scenario-based product line specifications. In: Proceedings of 30th IEEE international requirements engineering conference, RE 2012, September 24–28, 2012, Chicago, pp 161–170

  16. Harel D, Kugler H (2002) Synthesizing state-based object systems from LSC specifications. In: Foundations of Computer Science vol. 13:1, pp 5–51

  17. Harel D, Kugler H, Marelly R, Pnueli A (2002) Smart play-out of behavioral requirements. In: Proceedings of 4th international conference on formal methods in computer-aided design, FMCAD ’02. Springer, London, pp 378–398

  18. Harel D, Kugler H, Pnueli A (2005) Synthesis revisited: generating statechart models from scenario-based requirements. In: Kreowski HJ, Montanari U, Orejas F, Rozenberg G, Taentzer G (eds) Formal methods in software and systems modeling vol 3393. Springer, Heidelberg, pp 309–324

    Chapter  Google Scholar 

  19. Harel D, Maoz S (2008) Assert and negate revisited: modal semantics for UML sequence diagrams. Softw Syst Model (SoSyM) 7(2):237–252. doi:10.1007/s10270-007-0054-z

    Article  Google Scholar 

  20. Harel D, Marelly R (2002) Specifying and executing behavioral requirements: the Play-In/Play-Out approach. Softw Syst Model (SoSyM) 2:2003

  21. Harel D, Marelly R (2003) Come, let’s play: scenario-based programming using LSCs and the play-engine. Springer, Heidelberg

    Google Scholar 

  22. Harhurin A, Hartmann J (2008) Towards consistent specifications of product families. In: Proceedings of 15th international symposium on formal methods, FM ’08. Springer, Berlin, pp 390–405. doi:10.1007/978-3-540-68237-0_27

  23. Jayaraman P, Whittle J, Elkhodary A, Gomaa H (2007) Model composition in product lines and feature interaction detection using critical pair analysis. In: Engels G, Opdyke B, Schmidt D, Weil F (eds) Model driven engineering languages and systems LNCS vol 4735. Springer, Heidelberg, pp 151–165

    Chapter  Google Scholar 

  24. Kang K, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (FODA) feasibility study. Technical repot software engineering institute, Carnegie Mellon University

  25. Lauenroth K, Pohl K (2008) Dynamic consistency checking of domain requirements in product line engineering. In: International requirements engineering, 2008. RE ’08. 16th IEEE, pp 193–202. doi:10.1109/RE.2008.21

  26. Maoz S, Harel D (2006) From multi-modal scenarios to code: Compiling LSCs into AspectJ. In: Proceedings of international symposium on foundations of software engineering (FSE’05), pp 219–230

  27. Plath M, Ryan M (2001) Feature integration using a feature construct. Sci Comput Program 41(1):53–84

    Article  MATH  Google Scholar 

  28. Pohl K, Böckle G, van der Linden FJ (2005) Software product line engineering: foundations, principles and techniques. Springer, Heidelberg

    Google Scholar 

  29. Possomps T, Dony C, Huchard M, Tibermacine C (2011) Design of a UML profile for feature diagrams and its tooling implementation. In: Proceedings of 23rd international conference on software engineering and knowledge engineering (SEKE’11). Knowledge Systems Institute Graduate School, pp 693–698

  30. Schobbens PY, Heymans P, Trigaux JC (2006) Feature diagrams: a survey and a formal semantics. In: 14th International conference requirements engineering, pp 139–148. doi:10.1109/RE.2006.23

  31. Shaker P, Atlee JM, Wang S (2012) A feature-oriented requirements modelling language. In: Proceedings of 30th IEEE international requirements engineering conference, RE 2012, September 24–28, 2012, Chicago, Illinois, USA, pp 151–160

  32. Vierhauser M, Grünbacher P, Egyed A, Rabiser R, Heider W Flexible and scalable consistency checking on product line variability models. In: Proceedings of international conference on automated software engineering (ASE’10). ACM, pp 63–72

  33. Whittle J, Schumann J (2000) Generating statechart designs from scenarios. In: Proceedings of 22nd international conference on software engineering (ICSE’00), pp 314–323

  34. Ziadi T, Hlout L, Jzquel JM (2004) Behaviors generation from product lines requirements. In: Proceedings of UML2004 workshop on software architecture description

Download references

Acknowledgments

This research is funded by the European Commission, Programme IDEAS-ERC, Project 227977 SMScom, and by the Fund for Scientific Research—FNRS in Belgium, Project FC 91490. We thank the Collaborative Research Center 614 at the University of Paderborn for providing the infrastructure for our experiments, and especially Jürgen Maniera for the technical support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maxime Cordy.

Additional information

Maxime Cordy:FNRS research fellow.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Greenyer, J., Molzam Sharifloo, A., Cordy, M. et al. Features meet scenarios: modeling and consistency-checking scenario-based product line specifications. Requirements Eng 18, 175–198 (2013). https://doi.org/10.1007/s00766-013-0169-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-013-0169-4

Keywords

Navigation