Abstract
We present an architecture that enables run-time verification with executable models of behaviour. Our uniform modelling paradigm is logic-labelled finite-state machines (LLFSMs). Behaviours are constructed by parameterizable, loadable, and suspendable LLFSMs executed in predictable sequential schedules, but they are also verified at run-time by LLFSMs as well. Our architecture enables runtime verification (to monitor the quality of software during execution) as well as set up, tear down, and enforcement of quality behaviour during runtime. The LLFSMs models are executable and efficient because they are compiled (not interpreted). The LLFSMs can be derived from requirement engineering approaches such as behaviour trees, and also validated using test-driven development. However, in situations where software evolves incorporating elements of adaptive systems or machine learning, the software in execution may have never existed during development. We demonstrate the features of the architecture with illustrative case studies from robotics and embedded systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Simple C is a subset of C used in some examples of antlr [48].
- 2.
A GUI facade with avatars for effector and sensor hardware appears in the simulation at youtu.be/HFm6fbZ6lkg.
- 3.
Diagram for the Timer is 40 s into the video (youtu.be/HFm6fbZ6lkg).
- 4.
youtu.be/HFm6fbZ6lkg at 3 m 32 s.
- 5.
From 3 m 40 s in the above video.
References
Abrial, J.R.: Modeling in Event-B – System and Software Engineering. Cambridge University Press, Cambridge (2010)
Alur, R., Henzinger, T.A.: Logics and models of real time: a survey. In: de Bakker, J.W., Huizing, C., de Roever, W.P., Rozenberg, G. (eds.) REX 1991. LNCS, vol. 600, pp. 74–106. Springer, Heidelberg (1992). https://doi.org/10.1007/BFb0031988
Arney, D., Fischmeister, S., Lee, I., Takashima, Y., Yim, M.: Model-based programming of modular robots. In: 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, pp. 66–74, May 2010
Asarin, E., Caspi, P., Maler, O.: Timed regular expressions. J. ACM 49(2), 172–206 (2002)
Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.: Quantified event automata: towards expressive and efficient runtime monitors. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 68–84. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32759-9_9
von der Beeck, M.: A comparison of statecharts variants. In: Langmaack, H., de Roever, W.-P., Vytopil, J. (eds.) FTRTFT 1994. LNCS, vol. 863, pp. 128–148. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58468-4_163
Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Requirements engineering via non-monotonic logics and state diagrams. In: Maciaszek, L.A., Loucopoulos, P. (eds.) ENASE 2010. CCIS, vol. 230, pp. 121–135. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23391-3_9
Brooks, R.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986)
Brooks, R.: The behavior language; user’s guide. Technical report, AIM-1227, Massachusetts Institute of Technology - MIT, Artificial Intelligence Lab Publications, Department of Electronics and Computer Science (1990)
Bryce, R., Kuhn, R.: Software testing [guest editors’ introduction]. Computer 47(2), 21–22 (2014)
Chen, F., Roşu, G.: Towards monitoring-oriented programming: a paradigm combining specification and implementation. Electr. Notes Theor. Comput. Sci. 89(2), 108–127 (2003)
Colombo, C., Pace, G.J., Schneider, G.: Dynamic event-based runtime monitoring of real-time and contextual properties. In: Cofer, D., Fantechi, A. (eds.) FMICS 2008. LNCS, vol. 5596, pp. 135–149. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03240-0_13
CĂ´tĂ©, C., Brosseau, Y., LĂ©tourneau, D., RaĂ¯evsky, C., Michaud, F.: Robotic software integration using MARIE. Int. J. Adv. Rob. Syst. 3(1), 055–060 (2006)
Delgado, N., Gates, A.Q., Roach, S.: A taxonomy and catalog of runtime software-fault monitoring tools. IEEE Trans. Softw. Eng. 30(12), 859–872 (2004)
Dietterich, T.G., Horvitz, E.J.: Rise of concerns about AI: reflections and directions. Commun. ACM 58(10), 38–40 (2015)
Dongol, B., Hayes, I.H., Robinson, P.J.: Reasoning about goal-directed real-time teleo-reactive programs. Formal Asp. Comput. 26(3), 563–589 (2014)
Dromey, R.G., Powell, D.: Early requirements defect detection. TickIT J. 4Q05, 3–13 (2005)
Drusinsky, D.: Semantics and runtime monitoring of tlcharts: statechart automata with temporal logic conditioned transitions. Electr. Notes Theor. Comput. Sci. 113, 3–21 (2005)
Estivill-Castro, V., Ferrer-Mesters, J.: Path-finding in dynamic environments with PDDL-planners. In: 16th International Conference on Advanced Robotics (ICAR), Montevideo, Uruguay, pp. 1–7 (2013)
Estivill-Castro, V., Hexel, R.: Arrangements of finite-state machines semantics, simulation, and model checking. In: Hammoudi, S., Ferreira Pires, L., Filipe, J., César das Neves, R. (eds.) International Conference on Model-Driven Engineering and Software Development MODELSWARD, Barcelona, Spain, 19–21 February 2013, pp. 182–189. SCITEPRESS Science and Technology Publications (2013)
Estivill-Castro, V., Hexel, R.: Module isolation for efficient model checking and its application to FMEA in model-driven engineering. In: ENASE 8th International Conference on Evaluation of Novel Approaches to Software Engineering, Angers Loire Valley, France, 4th–6th July 2013, pp. 218–225. INSTCC (2013)
Estivill-Castro, V., Hexel, R.: Simple, not simplistic – the middleware of behaviour models. In: ENASE 10 International Conference on Evaluation of Novel Approaches to Software Engineering, Barcelona, Spain. INSTCC, April 2015
Estivill-Castro, V., Hexel, R.: Deterministic executable models verified efficiently at runtime - an architecture for robotic and embedded systems. In: Ferreira Pires, L., Hammoudi, S., Selic, B. (eds.) Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2017, 19th–21st February 2017, pp. 29–40. SciTePress (2017)
Estivill-Castro, V., Hexel, R., Lusty, C.: High performance relaying of C++ objects across processes and logic-labeled finite-state machines. In: Brugali, D., Broenink, J.F., Kroeger, T., MacDonald, B.A. (eds.) SIMPAR 2014. LNCS (LNAI), vol. 8810, pp. 182–194. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11900-7_16
Estivill-Castro, V., Hexel, R., RamĂrez Regalado, A.: Architecture for logic programing with arrangements of finite-state machines. In: Cheng, A.M.K. (ed.) First Workshop on Declarative Cyber-Physical Systems (DCPS) at Cyber-Physical Systems, pp. 1–8. IEEE, 12 April 2016
Estivill-Castro, V., Hexel, R., Rosenblueth, D.A.: Efficient modelling of embedded software systems and their formal verification. In: Leung, K.R., Muenchaisri, P. (eds.) The 19th Asia-Pacific Software Engineering Conference (APSEC), Hong Kong, pp. 428–433. IEEE Computer Society, December 2012
Estivill-Castro, V., Hexel, R., Stover, J.: Modeling, validation, and continuous integration of software behaviours for embedded systems. In: Al-Dabass, D., Romero, G., Orsoni, A., Pantelous, A. (eds.) 9th IEEE European Modelling Symposium, Madrid, Spain, 6th–8th October 2015, pp. 89–95 (2015)
Estivill-Castro, V., Hexel, R., Stover, J.: Models testing models in continuous integration of model-driven development. In: Cheng, A.M.K. (ed.) Proceedings of the IASTED International Symposium Software Engineering and Applications (SEA 2015), Marina del Rey, USA, 26th–27th October 2015. https://doi.org/10.2316/P.2015.829-016
Harel, D., Gery, E.: Executable object modeling with statecharts. In: Proceedings of the 18th International Conference on Software Engineering, ICSE 1996, Washington, DC, USA, pp. 246–257. IEEE Computer Society (1996)
Havelund, K.: Using runtime analysis to guide model checking of Java programs. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 245–264. Springer, Heidelberg (2000). https://doi.org/10.1007/10722468_15
Hayes, I.J.: Towards reasoning about teleo-reactive programs for robust real-time systems. In: Guelfi, N., et al. (eds.) SERENE 2008, RISE/EFTS Joint International Workshop on Software Engineering for REsilient SystEms, Newcastle Upon Tyne, UK, 17–19 November 2008, pp. 87–94. ACM (2008)
Hayes-Roth, B.: A blackboard architecture for control. In: Bond, A.H., Gasser, L. (eds.) Distributed Artificial Intelligence, pp. 505–540. Morgan Kaufmann Publishers Inc., San Francisco (1988)
He, K., Lahijanian, M., Kavraki, L.E., Vardi, M.Y.: Towards manipulation planning with temporal logic specifications. In: 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 346–352, May 2015
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)
Huang, J., Erdogan, C., Zhang, Y., Moore, B., Luo, Q., Sundaresan, A., Rosu, G.: ROSRV: runtime verification for robots. In: Bonakdarpour, B., Smolka, S.A. (eds.) RV 2014. LNCS, vol. 8734, pp. 247–254. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11164-3_20
Iwu, F., Galloway, A., McDermid, J., Toyn, I.: Integrating safety and formal analyses using UML and PFS. Reliab. Eng. Syst. Saf. 92, 156–170 (2007)
Joukoff, D., Estivill-Castro, V., Hexel, R., Lusty, C.: Fast MAV control by control/status OO-messages on shared-memory middleware. In: Kim, J.-H., Karray, F., Jo, J., Sincak, P., Myung, H. (eds.) Robot Intelligence Technology and Applications 4. AISC, vol. 447, pp. 195–211. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-31293-4_16
Kim, M., Viswanathan, M., Ben-Abdallah, H., Kannan, S., Lee, I., Sokolsky, O.: Formally specified monitoring of temporal properties. In: Proceedings of the 11th Euromicro Conference on Real-Time Systems, pp. 114–122 (1999)
Kopetz, H.: Should responsive systems be event-triggered or time-triggered? IEICE Trans. Inf. Syst. 76(11), 1325 (1993)
Kopetz, H.: Real-Time Systems - Design Principles for Distributed Embedded Applications. Real-Time Systems Series, 2nd edn. Springer, New York (2011). https://doi.org/10.1007/978-1-4419-8237-7
Kupferman, O., Vardi, Y.M.: Model checking of safety properties. Formal Methods Syst. Des. 19(3), 291–314 (2001)
Lamport, L.: Using time instead of timeout for fault-tolerant distributed systems. ACM Trans. Progr. Lang. Syst. 6, 254–280 (1984)
Li, J.J., Wong, W.E.: Automatic test generation from communicating extended finite state machine (CEFSM)-based models. In: Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, (ISORC 2002), pp. 181–185 (2002)
Maier, D., Warren, D.S.: Computing with Logic: Logic Programming with Prolog. Benjamin-Cummings Publishing Co. Inc., Redwood City (1988)
Mellor, S.J., Balcer, M.: Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley Publishing Co., Reading (2002)
Nilsson, N.J.: Teleo-reactive programs and the triple-tower architecture. Electron. Trans. Artif. Intell. 5(B), 99–110 (2001)
Pap, Z., Majzik, I., Pataricza, A., Szegi, A.: Methods of checking general safety criteria in UML statechart specifications. Reliab. Eng. Syst. Saf. 87(1), 89–107 (2005)
Parr, T.: The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, 2nd edn (2013)
Picek, R., Strahonja, V.: Model driven development-future or failure of software development. In: IIS, vol. 7, pp. 407–413 (2007)
Pnueli, A., de Roever, W.P., et al.: Rendezvous with ADA - a proof theoretical view. Vakgroep informatica RUU-CS-82-12, July 1982
Rumbaugh, J., Blaha, M.R., Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modelling and Design. Prentice-Hall Inc., Englewood Cliffs (1991)
Samek, M.: Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems, 2nd edn. Newnes, Newton (2008)
Sametinger, J., Rozenblit, J., Lysecky, R., Ott, P.: Security challenges for medical devices. Commun. ACM 58(4), 74–82 (2015)
SĂ¡nchez, P., Alonso, D., Morales, J.M., Navarro, P.J.: From teleo-reactive specifications to architectural components: a model-driven approach. J. Syst. Softw. 85(11), 2504–2518 (2012)
Simons, A.: On the compositional properties of UML statechart diagrams. In: Rigorous Object-Oriented Methods 2000. Electronic Workshops in Computing (eWiC), York, UK, January 2000
Srivastava, A.N., Schumann, J.: Software health management: a necessity for safety critical systems. Innov. Syst. Softw. Eng. 9(4), 219–233 (2013)
Thati, P., Roşu, G.: Monitoring algorithms for metric temporal logic specifications. In: Fourth Workshop on Runtime Verification (RV 2004), vol. 113, pp. 145–162 (2005)
Weiss, M., Eidson, J., Barry, C., Broman, D., Goldin, L., Iannucci, B., Lee, E.A., Stanton, K.: Time-aware applications, computers, and communication systems (TAACCS). Technical report, Technical Note 1867, The National Institute of Standards and Technology (NIST), U.S. Department of Commerce, February 2015
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Estivill-Castro, V., Hexel, R. (2018). Deterministic High-Level Executable Models Allowing Efficient Runtime Verification. In: Pires, L., Hammoudi, S., Selic, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2017. Communications in Computer and Information Science, vol 880. Springer, Cham. https://doi.org/10.1007/978-3-319-94764-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-94764-8_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94763-1
Online ISBN: 978-3-319-94764-8
eBook Packages: Computer ScienceComputer Science (R0)