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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
The TCTL model checking tool for Timed Rebeca is not yet integrated in the Eclipse tool suite of Afra.
- 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
Rebeca: Rebeca. http://www.rebeca-lang.org/. Accessed July 2019
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)
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
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
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)
North, D.: Introducing BDD. Better Software Magazine, March 2006. https://dannorth.net/introducing-bdd/. Accessed July 2019
Ptolemaeus, C.: System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org, Berkeley (2014)
Rebeca: Afra Tool (2019). http://rebeca-lang.org/alltools/Afra. Accessed July 2019
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)
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)
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)
Fowler, M.: ThoughtWorks: GivenWhenThen (2013). https://martinfowler.com/bliki/GivenWhenThen.html. Accessed July 2019
Rebeca: RMC Tool (2016). http://rebeca-lang.org/alltools/RMC. Accessed July 2019
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)
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
de Boer, F.S., et al.: A survey of active object languages. ACM Comput. Surv. 50(5) 76:1–76:39 (2017)
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
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
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)
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)
Konrad, S., Cheng, B.H.C.: Real-time specification patterns. In: International Conference on Software Engineering, ICSE, pp. 372–381 (2005)
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)
Konrad, S., Cheng, B.H.: Real-time specification patterns. IEEE Trans. Softw. Eng. 30, 970–992 (2004)
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)
Object Management Group: OMG Systems Modeling Language v1.5 (2017). https://sysmlforum.com/sysml-specs/. Accessed July 2019
Object Management Group: UML profile for MARTE, beta 2 (2008). https://www.omg.org/omgmarte/Specification.htm. Accessed July 2019
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)
MathWorks: Stateflow: model and simulate decision logic using state machines and flow charts (2018). https://www.mathworks.com/products/stateflow.html. Accessed July 2019
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)