Skip to main content

From Requirements to Verifiable Executable Models Using Rebeca

  • Conference paper
  • First Online:
Software Engineering and Formal Methods. SEFM 2020 Collocated Workshops (SEFM 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12524))

Included in the following conference series:

Abstract

Software systems are complicated, and the scientific and engineering methodologies for software development are relatively young. We need robust methods for handling the ever-increasing complexity of software systems that are now in every corner of our lives. In this paper we focus on asynchronous event-based reactive systems and show how we start from the requirements, move to actor-based Rebeca models, and formally verify the models for correctness. The Rebeca models include the details of the signals and messages that are passed at the network level including the timing, and can be mapped to the executable code. We show how we can use the architecture design and structured requirements to build the behavioral models, including Rebeca models, and use the state diagrams to write the properties of interest, and then use model checking to check the properties. The formally verified models can then be used to develop the executable code. The natural mappings among the models for requirements, the formal models, and the executable code improve the effectiveness and efficiency of the approach. It also helps in runtime monitoring and adaptation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    We use this format based on the experience of the second author of the paper who worked for seven years as requirements manager in industry.

  2. 2.

    The TCTL model checking tool for Timed Rebeca is not yet integrated in the Eclipse tool suite of Afra.

  3. 3.

    A different design for the model, derived from a different allocation of functions in the architecture, can be modeled and model checked. More explanation will be in Sect. 7.

References

  1. Rebeca: Rebeca. http://www.rebeca-lang.org/. Accessed July 2019

  2. Sirjani, M., Movaghar, A., Shali, A., de Boer, F.S.: Modeling and verification of reactive systems using Rebeca. Fundam. Inform. 63(4), 385–410 (2004)

    MathSciNet  MATH  Google Scholar 

  3. Sirjani, M.: Rebeca: theory, applications, and tools. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 102–126. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74792-5_5

    Chapter  Google Scholar 

  4. Sirjani, M.: Power is overrated, go for friendliness! expressiveness, faithfulness, and usability in modeling: the actor experience. In: Lohstroh, M., Derler, P., Sirjani, M. (eds.) Principles of Modeling. LNCS, vol. 10760, pp. 423–448. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-95246-8_25

    Chapter  Google Scholar 

  5. Sirjani, M., Movaghar, A., Shali, A., de Boer, F.S.: Model checking, automated abstraction, and compositional verification of Rebeca models. J. UCS 11(6), 1054–1082 (2005)

    Google Scholar 

  6. North, D.: Introducing BDD. Better Software Magazine, March 2006. https://dannorth.net/introducing-bdd/. Accessed July 2019

  7. Ptolemaeus, C.: System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org, Berkeley (2014)

    Google Scholar 

  8. Rebeca: Afra Tool (2019). http://rebeca-lang.org/alltools/Afra. Accessed July 2019

  9. Provenzano, L., Häninnen, K., Zhou, J., Lundqvist, K.: An ontological approach to elicit safety requirements. In: Asia-Pacific Software Engineering Conference, APSEC, pp. 713–718 (2017)

    Google Scholar 

  10. Zhou, J., Häninnen, K., Lundqvist, K., Provenzano, L.: An ontological approach to hazard identification for safety-critical systems. In: 2nd International Conference Reliability and System Engineering, ICRSE, pp. 54–60 (2017)

    Google Scholar 

  11. Zhou, J., Häninnen, K., Lundqvist, K., Provenzano, L.: An ontological approach to identify the causes of hazards for safety-critical systems. In: 2nd International Conference System Reliability and Safety, ICSRS, pp. 405–413 (2017)

    Google Scholar 

  12. Fowler, M.: ThoughtWorks: GivenWhenThen (2013). https://martinfowler.com/bliki/GivenWhenThen.html. Accessed July 2019

  13. Rebeca: RMC Tool (2016). http://rebeca-lang.org/alltools/RMC. Accessed July 2019

  14. Lee, E.A.: Cyber physical systems: design challenges. In: 11th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC), pp. 363–369 (2008)

    Google Scholar 

  15. David, A., Larsen, K.G., Legay, A., Mikučionis, M., Poulsen, D.B.: Uppaal SMC tutorial. Int. J. Softw. Tools Technol. Transfer 17(4), 397–415 (2015). https://doi.org/10.1007/s10009-014-0361-y

    Article  Google Scholar 

  16. de Boer, F.S., et al.: A survey of active object languages. ACM Comput. Surv. 50(5) 76:1–76:39 (2017)

    Google Scholar 

  17. Khamespanah, E., Sirjani, M., Mechitov, K., Agha, G.: Modeling and analyzing real-time wireless sensor and actuator networks using actors and model checking. STTT 20(5), 547–561 (2018). https://doi.org/10.1007/s10009-017-0480-3

    Article  Google Scholar 

  18. Yousefi, B., Ghassemi, F., Khosravi, R.: Modeling and efficient verification of wireless ad hoc networks. Formal Asp. Comput. 29(6), 1051–1086 (2017). https://doi.org/10.1007/s00165-017-0429-z

    Article  MathSciNet  MATH  Google Scholar 

  19. Sharifi, Z., Mosaffa, M., Mohammadi, S., Sirjani, M.: Functional and performance analysis of network-on-chips using actor-based modeling and formal verification. ECEASST 66, 1–16 (2013)

    Google Scholar 

  20. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: International Conference on Software Engineering, ICSE, pp. 411–420 (1999)

    Google Scholar 

  21. Konrad, S., Cheng, B.H.C.: Real-time specification patterns. In: International Conference on Software Engineering, ICSE, pp. 372–381 (2005)

    Google Scholar 

  22. Mavin, A., Wilkinson, P., Harwood, A., Novak, M.: Easy approach to requirements syntax (ears). In: IEEE International Requirements Engineering Conference, RE, pp. 317–322 (2009)

    Google Scholar 

  23. Konrad, S., Cheng, B.H.: Real-time specification patterns. IEEE Trans. Softw. Eng. 30, 970–992 (2004)

    Article  Google Scholar 

  24. Filipovikj, P., Jagerfield, T., Nyberg, M.G., Rodriguez-Navas, C.S.: Integrating pattern-based formal requirements specification in an industrial tool-chain. In: IEEE Annual Computer Software and Applications Conference, COMPSAC, pp. 167–173 (2016)

    Google Scholar 

  25. Object Management Group: OMG Systems Modeling Language v1.5 (2017). https://sysmlforum.com/sysml-specs/. Accessed July 2019

  26. Object Management Group: UML profile for MARTE, beta 2 (2008). https://www.omg.org/omgmarte/Specification.htm. Accessed July 2019

  27. Alavizadeh, F., Nekoo, A.H., Sirjani, M.: ReUML: a UML profile for modeling and verification of reactive systems. In: International Conference on Software Engineering Advances ICSEA, pp. 50–55 (2007)

    Google Scholar 

  28. MathWorks: Stateflow: model and simulate decision logic using state machines and flow charts (2018). https://www.mathworks.com/products/stateflow.html. Accessed July 2019

  29. Molnár, V., Graics, B., Vörös, A., Majzik, I., Varró, D.: The Gamma statechart composition framework. In: International Conference on Software Engineering, ICSE, pp. 113–116 (2018)

    Google Scholar 

Download references

Acknowledgment

We would like to thank Edward Lee for reading the paper and giving us very useful comments. The research of the first three authors for this work is supported by the Serendipity project funded by the Swedish Foundation for Strategic Research (SSF). The research of the first two authors is also supported by the DPAC project funded by the Knowledge Foundation (KK-stiftelsen). The research of the fourth author is funded partially by Vinnova through the ITEA3 TESTOMAT and XIVT projects.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marjan Sirjani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Sirjani, M., Provenzano, L., Abbaspour Asadollah, S., Moghadam, M.H. (2021). From Requirements to Verifiable Executable Models Using Rebeca. In: Cleophas, L., Massink, M. (eds) Software Engineering and Formal Methods. SEFM 2020 Collocated Workshops. SEFM 2020. Lecture Notes in Computer Science(), vol 12524. Springer, Cham. https://doi.org/10.1007/978-3-030-67220-1_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-67220-1_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-67219-5

  • Online ISBN: 978-3-030-67220-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics