Requirements Engineering

, Volume 22, Issue 2, pp 239–274 | Cite as

Declaratively building behavior by means of scenario clauses

  • Fernando Asteasuain
  • Víctor Braberman
Original Article


Behavior needs to be understood from early stages of software development. In this context, incremental and declarative modeling seems an attractive approach for closely capturing and analyzing requirements without early operational commitment. A traditional choice for such a kind of modeling is a logic-based approach. Unfortunately, in many cases, the formal description and validation of properties result in a daunting task, even for trained people. Moreover, some authors established some practical limitations with temporal logics expressive power. In this work, we present omega-feather weight visual scenarios (\(\omega\)-FVS) a declarative language, not founded on temporal logics, but on simple graphical scenarios, powerful enough to express \(\omega\)-regular properties. The notation is equipped with declarative semantics based on morphisms, and a tableau procedure is given enabling the possibility of automatic analysis.


Requirements Engineering Behavioral modeling Formal Specifications 



This work was partially funded by ANPCYT PICT 1774/11 and 0724/12, UBACYT W0813 and 0384,MEALS 295261, PIP 112 201301 00688 CO and UNDAVCyT 2014. Víctor Braberman is also affiliated to CONICET.


  1. 1.
    Alfonso A, Braberman V, Kicillof N, Olivero A (2004) Visual timed event scenarios. In: 26th ICSE’04, pp 168–177Google Scholar
  2. 2.
    Areces C, Hoffmann G, Denis A (2010) Modal logics with counting. In: 17th workshop on logic, language, information and computation, Brazil. Springer, Berlin, Heidelberg, pp 98–109Google Scholar
  3. 3.
    Asteasuain F, Braberman V (2010) Specification patterns can be formal and also easy. In: The 22nd international conference on software engineering and knowledge engineering (SEKE), pp 430–436Google Scholar
  4. 4.
    Autili M, Inverardi P, Pelliccione P (2007) Graphical scenarios for specifying temporal properties: an automated approach. ASE 14(3):293–340Google Scholar
  5. 5.
    Autili M, Pelliccione P (2008) Towards a graphical tool for refining user to system requirements. In: Electronic notes in theoretical computer science (ENTCS), vol 211, pp 147–157Google Scholar
  6. 6.
    Bianculli D, Ghezzi C, Pautasso C, Senti P (2012) Specification patterns from research to industry: a case study in service-based applications. In: Proceedings of the 2012 international conference on software engineering. IEEE Press, pp 968–976Google Scholar
  7. 7.
    Bloem R, Cavada R, Eisner C, Pill I, Roveri M, Semprini S (2004) Manual for property simulation and assurance tool (deliverable 1.2/4–5). In: Technical report, PROSYD Project, Technical ReportGoogle Scholar
  8. 8.
    Boker U, Chatterjee K, Henzinger TA, Kupferman O (2011) Temporal specifications with accumulative values. In: 26th annual IEEE symposium on logic in computer science (LICS), 2011. IEEE, pp 43–52Google Scholar
  9. 9.
    Bosscher D, Polak I, Vaandrager F (1994) Verification of an audio control protocol. In: Formal techniques in real-time and fault-tolerant systems. Springer, Berlin, Heidelberg, pp 170–192Google Scholar
  10. 10.
    Bouajjani A, Lakhnech Y, Yovine S (1996) Model checking for extended timed temporal logics. In: Formal techniques in real-time and fault-tolerant systems. Springer, Berlin, Heidelberg, pp 306–326Google Scholar
  11. 11.
    Braberman V, Garbervestky D, Kicillof N, Monteverde D, Olivero A (2009) Speeding up model checking of timed-models by combining scenario specialization and live component analysis. In: Formal modeling and analysis of timed systems. Springer, Berlin, Heidelberg, pp 58–72Google Scholar
  12. 12.
    Braberman V, Kicillof N, Olivero A (2005) A scenario-matching approach to the description and model checking of real-time properties. IEEE TSE 31(12):1028–1041Google Scholar
  13. 13.
    Clarke E, Grumberg O, Peled D (1999) Model checking. Springer, New YorkGoogle Scholar
  14. 14.
  15. 15.
    Cobleigh R, Avrunin G, Clarke L (2006) User guidance for creating precise and accessible property specifications. In: Proceedings of the 14th ACM SIGSOFT international symposium on foundations of software engineering. ACM, p 218Google Scholar
  16. 16.
    Dalal S, Jain A, Karunanithi N, Leaton J, Lott C, Patton G, Horowitz B (1999) Model-based testing in practice. In: Proceedings of the 21st international conference on software engineering. ACM, pp 285–294Google Scholar
  17. 17.
    David S, Orni A (2005) Property-by-example guide: a handbook of psl/sugar examples-prosyd deliverable d1. 1/3Google Scholar
  18. 18.
    De Alfaro L, Henzinger T (2001) Interface automata. ACM SIGSOFT Softw Eng Notes 26(5):120CrossRefGoogle Scholar
  19. 19.
    Dillon L, Kutty G, Moser L, Melliar-Smith P, Ramakrishna Y (1994) A graphical interval logic for specifying concurrent systems. ACM Trans Softw Eng Methodol (TOSEM) 3(2):131–165CrossRefzbMATHGoogle Scholar
  20. 20.
    D’Ippolito N, Braberman V, Piterman N, Uchitel S (2010) Synthesis of live behaviour models. In: Proceedings of the 18th ACM SIGSOFT international symposium on foundations of software engineering. ACM SIGSOFTGoogle Scholar
  21. 21.
    Dwyer M, Avrunin G, Corbett J “Specification Patterns Web Site”. In:
  22. 22.
    Dwyer M, Avrunin G, Corbett J (1999) Patterns in property specifications for finite-state verification. In: Proceedings of the 21st international conference on software engineering ICSE, vol 99Google Scholar
  23. 23.
    Eisner C, Fisman D (2006) A practical introduction to PSL (series on integrated circuits and systems). Springer, SecaucusGoogle Scholar
  24. 24.
    Fritz C, Wilke T (2002) State space reductions for alternating büchi automata quotienting by simulation equivalences. In: FST TCS 2002: foundations of software technology and theoretical computer science. Springer, pp 157–168Google Scholar
  25. 25.
    Gary MR, Johnson DS (1979) Computers and intractability: a guide to the theory of np-completeness. W. H. Freeman and Company, San FranciscoGoogle Scholar
  26. 26.
    Giannakopoulou D, Magee J (2003) Fluent model checking for event-based systems. In: Proceedings of the 9th European software engineering conference. ACM, p 266Google Scholar
  27. 27.
    Harel D, Marelly R Playing with time: On the specification and execution of time-enriched lscs. In: MASCOTS ’02. IEEE computer society, pp 193–202Google Scholar
  28. 28.
    Holzmann G (2002) The logic of bugs. ACM Softw Eng Notes 27(6):87CrossRefGoogle Scholar
  29. 29.
    IEEE-Commission et al (2005) Ieee standard for property specification language (psl). Tech. rep., Technical report, IEEE, 2005. IEEE Std 1850-2005Google Scholar
  30. 30.
    Konrad S, Cheng B (2005) Real-time specification patterns. In: Proceedings of the 27th ICSE. ACM, pp 372–381Google Scholar
  31. 31.
    Kupferman O, Piterman N, Vardi M (2001) Extended temporal logic revisited. In: CONCUR 2001 concurrency theory, pp 519–535Google Scholar
  32. 32.
    Lamsweerde AV (2001) Goal-oriented requirements engineering: a guided tour. In: RE’01—international joint conference on REGoogle Scholar
  33. 33.
    Linn J (1993) RFC1508: generic security service application program interface RFC Editor United StatesGoogle Scholar
  34. 34.
    Luckham D (2011) Event processing for business: organizing the real-time enterprise. Wiley, HobokenGoogle Scholar
  35. 35.
    McCarthy J, Hayes P (1968) Some philosophical problems from the standpoint of artificial intelligence. Stanford UniversityGoogle Scholar
  36. 36.
    [MS-NNS] (2008) NET NegotiateStream Protocol Specification v2.0., July (2008)
  37. 37.
    Noda N, Kishi T (2006) An aspect-oriented modeling mechanism based on state diagrams. In: 9th international workshop on AOMGoogle Scholar
  38. 38.
    Pelov N, Denecker M, Bruynooghe M (2007) Well-founded and stable semantics of logic programs with aggregates. Theory Pract Logic Program 7(3):301MathSciNetCrossRefzbMATHGoogle Scholar
  39. 39.
    Piterman N, Pnueli A, Sa’ar Y (2006) Synthesis of reactive (1) designs. In: Lecture notes in computer science, vol 3855, p 364Google Scholar
  40. 40.
    Pnueli A (1977) The temporal logic of programs. In: 18th annual symposium on foundations of computer science, 1977. IEEE, pp 46–57Google Scholar
  41. 41.
    Pnueli A (1986) Applications of temporal logic to the specification and verification of reactive systems: a survey of current trends. Current trends in Concurrency pp 510–584Google Scholar
  42. 42.
    Post A, Hoenicke J (2012) Formalization and analysis of real-time requirements: a feasibility study at bosch. In: VSTTE, pp 225–240Google Scholar
  43. 43.
    Post A, Menzel I, Hoenicke J, Podelski A (2012) Automotive behavioral requirements expressed in a specification pattern system: a case study at bosch. Requir Eng 17(1):19–33CrossRefGoogle Scholar
  44. 44.
    R, RW, Viggers K (2004) Implementing protocols via declarative event patterns. In: ACM sigsoft international symposium on FSE (FSE-12), pp 158–169Google Scholar
  45. 45.
    Sánchez C, Leucker M (2010) Regular linear temporal logic with past. In: Verification, model checking, and abstract interpretation. Springer, pp 295–311Google Scholar
  46. 46.
    Sengupta B, Cleaveland R (2002) Triggered message sequence charts. In: SIGSOFT FSE, pp 167–176Google Scholar
  47. 47.
    Sibay G, Uchitel S, Braberman V (2008) Existential live sequence charts revisited. In: Proceedings of ICSE. ACM New York, pp 41–50Google Scholar
  48. 48.
    Smith M, Holzmann G, Etessami K (2001) Events and constraints: a graphical editor for capturing logic requirements of programs. In: Proceedings of fifth IEEE international symposium on requirements engineering, 2001. IEEE, pp 14–22Google Scholar
  49. 49.
    Smith R, Avrunin G, Clarke L, Osterweil L (2002) Propel: an approach supporting property elucidation. ICSE 24:11–21CrossRefGoogle Scholar
  50. 50.
    Somenzi F, Bloem R (2000) Efficient büchi automata from ltl formulae. In: Computer aided verification. Springer, pp 248–263Google Scholar
  51. 51.
    Tsay Y, Chen Y, Tsai M, Wu K, Chan W (2007) Goal: A graphical tool for manipulating büchi automata and temporal formulae. In: Tools and algorithms for the construction and analysis of systems, pp 466–471Google Scholar
  52. 52.
    Tsay Y, Tsai M, Chang J, Chang Y (2011) Büchi store: an open repository of büchi automata. In: Tools and algorithms for the construction and analysis of systems pp 262–266Google Scholar
  53. 53.
    Uchitel S, Kramer J, Magee J (2002) Negative scenarios for implied scenario elicitation. In: Proceedings of FSE ’02. ACM Press, pp 109–118Google Scholar
  54. 54.
    Utting M, Legeard B (2007) Practical model-based testing: a tools approach. Morgan Kaufmann, San FranciscoGoogle Scholar
  55. 55.
    Van Harmelen F, Lifschitz V, Porter B (2008) Handbook of knowledge representation, vol 1. Elsevier Science, San DiegozbMATHGoogle Scholar
  56. 56.
    Vardiy M, Wolperz P (1994) Reasoning about infinite computationsGoogle Scholar
  57. 57.
    Veanes M, Schulte W (2008) Protocol modeling with model program composition. In: Lecture notes in computer science, vol 5048, p 324Google Scholar
  58. 58.
    Wolper P (1983) Temporal logic can be more expressive. Inf Control 56(1–2):72–99MathSciNetCrossRefzbMATHGoogle Scholar
  59. 59.
    Wolper P, Vardi M, Sistla A (1983) Reasoning about infinite computation paths. In: 24th annual symposium on foundations of computer science, 1983. IEEE, pp 185–194Google Scholar
  60. 60.
    Wu Z (2007) On the expressive power of qltl. In: Proceedings of the 4th international conference on theoretical aspects of computing. Springer, pp 467–481Google Scholar

Copyright information

© Springer-Verlag London 2016

Authors and Affiliations

  1. 1.Departamento de Computación, Facultad de Ciencias Exactas y NaturalesUniversidad de Buenos AiresBuenos AiresArgentina
  2. 2.Ing. en Informática, Departamento de Tecnología y AdministraciónUniversidad Nacional de AvellanedaBuenos AiresArgentina

Personalised recommendations