Skip to main content

Deterministic High-Level Executable Models Allowing Efficient Runtime Verification

  • Conference paper
  • First Online:
Book cover Model-Driven Engineering and Software Development (MODELSWARD 2017)

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.

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.

    Simple C is a subset of C used in some examples of antlr [48].

  2. 2.

    A GUI facade with avatars for effector and sensor hardware appears in the simulation at youtu.be/HFm6fbZ6lkg.

  3. 3.

    Diagram for the Timer is 40 s into the video (youtu.be/HFm6fbZ6lkg).

  4. 4.

    youtu.be/HFm6fbZ6lkg at 3 m 32 s.

  5. 5.

    From 3 m 40 s in the above video.

References

  1. Abrial, J.R.: Modeling in Event-B – System and Software Engineering. Cambridge University Press, Cambridge (2010)

    Book  Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. 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

    Google Scholar 

  4. Asarin, E., Caspi, P., Maler, O.: Timed regular expressions. J. ACM 49(2), 172–206 (2002)

    Article  MathSciNet  Google Scholar 

  5. 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

    Chapter  Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. Brooks, R.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986)

    Article  Google Scholar 

  9. 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)

    Google Scholar 

  10. Bryce, R., Kuhn, R.: Software testing [guest editors’ introduction]. Computer 47(2), 21–22 (2014)

    Article  Google Scholar 

  11. 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)

    Article  Google Scholar 

  12. 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

    Chapter  Google Scholar 

  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)

    Google Scholar 

  14. 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)

    Article  Google Scholar 

  15. Dietterich, T.G., Horvitz, E.J.: Rise of concerns about AI: reflections and directions. Commun. ACM 58(10), 38–40 (2015)

    Article  Google Scholar 

  16. 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)

    Article  MathSciNet  Google Scholar 

  17. Dromey, R.G., Powell, D.: Early requirements defect detection. TickIT J. 4Q05, 3–13 (2005)

    Google Scholar 

  18. Drusinsky, D.: Semantics and runtime monitoring of tlcharts: statechart automata with temporal logic conditioned transitions. Electr. Notes Theor. Comput. Sci. 113, 3–21 (2005)

    Article  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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

    Chapter  Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Google Scholar 

  27. 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)

    Google Scholar 

  28. 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

  29. 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)

    Google Scholar 

  30. 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

    Chapter  MATH  Google Scholar 

  31. 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)

    Google Scholar 

  32. 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)

    Google Scholar 

  33. 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

    Google Scholar 

  34. Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)

    Article  Google Scholar 

  35. 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

    Chapter  Google Scholar 

  36. 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)

    Article  Google Scholar 

  37. 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

    Chapter  Google Scholar 

  38. 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)

    Google Scholar 

  39. Kopetz, H.: Should responsive systems be event-triggered or time-triggered? IEICE Trans. Inf. Syst. 76(11), 1325 (1993)

    Google Scholar 

  40. 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

    Book  MATH  Google Scholar 

  41. Kupferman, O., Vardi, Y.M.: Model checking of safety properties. Formal Methods Syst. Des. 19(3), 291–314 (2001)

    Article  Google Scholar 

  42. Lamport, L.: Using time instead of timeout for fault-tolerant distributed systems. ACM Trans. Progr. Lang. Syst. 6, 254–280 (1984)

    Article  Google Scholar 

  43. 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)

    Google Scholar 

  44. Maier, D., Warren, D.S.: Computing with Logic: Logic Programming with Prolog. Benjamin-Cummings Publishing Co. Inc., Redwood City (1988)

    MATH  Google Scholar 

  45. Mellor, S.J., Balcer, M.: Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley Publishing Co., Reading (2002)

    Google Scholar 

  46. Nilsson, N.J.: Teleo-reactive programs and the triple-tower architecture. Electron. Trans. Artif. Intell. 5(B), 99–110 (2001)

    Google Scholar 

  47. 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)

    Article  Google Scholar 

  48. Parr, T.: The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, 2nd edn (2013)

    Google Scholar 

  49. Picek, R., Strahonja, V.: Model driven development-future or failure of software development. In: IIS, vol. 7, pp. 407–413 (2007)

    Google Scholar 

  50. Pnueli, A., de Roever, W.P., et al.: Rendezvous with ADA - a proof theoretical view. Vakgroep informatica RUU-CS-82-12, July 1982

    Google Scholar 

  51. Rumbaugh, J., Blaha, M.R., Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modelling and Design. Prentice-Hall Inc., Englewood Cliffs (1991)

    MATH  Google Scholar 

  52. Samek, M.: Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems, 2nd edn. Newnes, Newton (2008)

    Google Scholar 

  53. Sametinger, J., Rozenblit, J., Lysecky, R., Ott, P.: Security challenges for medical devices. Commun. ACM 58(4), 74–82 (2015)

    Article  Google Scholar 

  54. 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)

    Article  Google Scholar 

  55. 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

    Google Scholar 

  56. Srivastava, A.N., Schumann, J.: Software health management: a necessity for safety critical systems. Innov. Syst. Softw. Eng. 9(4), 219–233 (2013)

    Article  Google Scholar 

  57. 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)

    Article  Google Scholar 

  58. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vladimir Estivill-Castro .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics