# Declaratively building behavior by means of scenario clauses

## Abstract

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.

## Keywords

Requirements Engineering Behavioral modeling Formal Specifications## Notes

### Acknowledgments

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.

## References

- 1.Alfonso A, Braberman V, Kicillof N, Olivero A (2004) Visual timed event scenarios. In: 26th ICSE’04, pp 168–177Google Scholar
- 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.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.Autili M, Inverardi P, Pelliccione P (2007) Graphical scenarios for specifying temporal properties: an automated approach. ASE 14(3):293–340Google Scholar
- 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.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.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.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.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.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.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.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.Clarke E, Grumberg O, Peled D (1999) Model checking. Springer, New YorkGoogle Scholar
- 14.“Buchi online Store”. In: http://buchi.im.ntu.edu.tw/index.php/browse/index/
- 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.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.David S, Orni A (2005) Property-by-example guide: a handbook of psl/sugar examples-prosyd deliverable d1. 1/3Google Scholar
- 18.De Alfaro L, Henzinger T (2001) Interface automata. ACM SIGSOFT Softw Eng Notes 26(5):120CrossRefGoogle Scholar
- 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.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.Dwyer M, Avrunin G, Corbett J “Specification Patterns Web Site”. In: http://patterns.projects.cis.ksu.edu/documentation/patterns.shtml
- 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.Eisner C, Fisman D (2006) A practical introduction to PSL (series on integrated circuits and systems). Springer, SecaucusGoogle Scholar
- 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.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.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.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.Holzmann G (2002) The logic of bugs. ACM Softw Eng Notes 27(6):87CrossRefGoogle Scholar
- 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.Konrad S, Cheng B (2005) Real-time specification patterns. In: Proceedings of the 27th ICSE. ACM, pp 372–381Google Scholar
- 31.Kupferman O, Piterman N, Vardi M (2001) Extended temporal logic revisited. In: CONCUR 2001 concurrency theory, pp 519–535Google Scholar
- 32.Lamsweerde AV (2001) Goal-oriented requirements engineering: a guided tour. In: RE’01—international joint conference on REGoogle Scholar
- 33.Linn J (1993) RFC1508: generic security service application program interface RFC Editor United StatesGoogle Scholar
- 34.Luckham D (2011) Event processing for business: organizing the real-time enterprise. Wiley, HobokenGoogle Scholar
- 35.McCarthy J, Hayes P (1968) Some philosophical problems from the standpoint of artificial intelligence. Stanford UniversityGoogle Scholar
- 36.[MS-NNS] (2008) NET NegotiateStream Protocol Specification v2.0. http://msdn.microsoft.com/en-us/library/cc236723.aspx, July (2008)
- 37.Noda N, Kishi T (2006) An aspect-oriented modeling mechanism based on state diagrams. In: 9th international workshop on AOMGoogle Scholar
- 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.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.Pnueli A (1977) The temporal logic of programs. In: 18th annual symposium on foundations of computer science, 1977. IEEE, pp 46–57Google Scholar
- 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.Post A, Hoenicke J (2012) Formalization and analysis of real-time requirements: a feasibility study at bosch. In: VSTTE, pp 225–240Google Scholar
- 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.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.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.Sengupta B, Cleaveland R (2002) Triggered message sequence charts. In: SIGSOFT FSE, pp 167–176Google Scholar
- 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.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.Smith R, Avrunin G, Clarke L, Osterweil L (2002) Propel: an approach supporting property elucidation. ICSE 24:11–21CrossRefGoogle Scholar
- 50.Somenzi F, Bloem R (2000) Efficient büchi automata from ltl formulae. In: Computer aided verification. Springer, pp 248–263Google Scholar
- 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.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.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.Utting M, Legeard B (2007) Practical model-based testing: a tools approach. Morgan Kaufmann, San FranciscoGoogle Scholar
- 55.Van Harmelen F, Lifschitz V, Porter B (2008) Handbook of knowledge representation, vol 1. Elsevier Science, San DiegozbMATHGoogle Scholar
- 56.Vardiy M, Wolperz P (1994) Reasoning about infinite computationsGoogle Scholar
- 57.Veanes M, Schulte W (2008) Protocol modeling with model program composition. In: Lecture notes in computer science, vol 5048, p 324Google Scholar
- 58.Wolper P (1983) Temporal logic can be more expressive. Inf Control 56(1–2):72–99MathSciNetCrossRefzbMATHGoogle Scholar
- 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.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