Skip to main content
Log in

A model-based architecture for interactive run-time monitoring

  • Regular Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

We present a model-based architecture for monitoring executions of models of real-time and embedded systems. This architecture is highly configurable and allows for the combination of various run-time monitoring tools, not only for observing the system execution, but also for interacting with it. Using a variety of case studies, we illustrate the use of the architecture for connecting the code generated from a model with a range of external tools for different purposes, including execution animation and run-time verification. However, the external tool can not only consume information from the execution, but also generate input for it and thus influence and steer it.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

(adapted from [16])

Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. The taxonomy of [16] calls them object events.

  2. The registration phase is not illustrated in Fig. 5.

  3. Since the Observer’s SPP port is conjugated, the incoming message becomes an outgoing message for the Observer capsule.

  4. Our implementation is open source and available at https://github.com/nicolas-hili/Observer.

  5. A detailed documentation of our implementation is available at: https://github.com/nicolas-hili/Observer.

  6. A screencast is available at https://youtu.be/EbMIgEX9O58.

References

  1. Agha, G.: The structure and semantics of actor languages. Foundations of Object-Oriented Languages, pp. 1–59. REX School/Workshop, Noordwijkerhout (1990)

    Google Scholar 

  2. Ahmadi, R., Hili, N., Jweda, L., Das, N., Ganesan, S., Dingel, J.: Run-time monitoring of a rover: MDE research with open source software and low-cost hardware. In: Workshop on Open Source for Model Driven Engineering (OSS4MDE’16) (2016)

  3. Bagherzadeh, M., Hili, N., Dingel, J.: Model-level, platform-independent debugging in the context of the model-driven development of real-time systems. In: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, ACM, pp. 419–430 (2017)

  4. Bagherzadeh, M., Hili, N., Seekatz, D., Dingel, J.: MDebugger: a model-level debugger for UML-RT. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceedings, ACM, pp. 97–100 (2018)

  5. Balasubramanian, J., Tambe, S., Lu, C., Gokhale, A., Gill, C., Schmidt, D.C.: Adaptive failover for real-time middleware with passive replication. In: 15th IEEE Symposium on Real-Time and Embedded Technology and Applications, IEEE, pp. 118–127 (2009)

  6. Besnard, V., Teodorov, C., Jouault, F., Brun, M., Dhaussy, P.: Verifying and monitoring UML models with observer automata. In: Model-Driven Engineering Languages and Systems (MODELS’19) (2019)

  7. Bures, T., Weyns, D., Berger, C., Biffl, S., Daun, M., Gabor, T., Garlan, D., Gerostathopoulos, I., Julien, C., Krikava, F., Mordinyi, R., Pronios, N.: Software engineering for smart cyber-physical systems–towards a research agenda: report on the first international workshop on software engineering for smart CPS. SIGSOFT Softw. Eng. Notes 40(6), 28–32 (2015)

    Article  Google Scholar 

  8. Cassar, I., Francalanza, A., Aceto, L., Ingólfsdóttir, A.: A survey of runtime monitoring instrumentation techniques. In: Francalanza, A., Pace, G.J. (eds.) Proceedings Second International Workshop on Pre- and Post-Deployment Verification Techniques, Torino, Italy, 19 September 2017, Open Publishing Association, Electronic Proceedings in Theoretical Computer Science, vol. 254, pp. 15–28 (2017). https://doi.org/10.4204/EPTCS.254.2

  9. Chen, F., Roşu, G.: Java-MOP: A Monitoring Oriented Programming Environment for Java, pp. 546–550. Springer, Berlin (2005)

    MATH  Google Scholar 

  10. Ciccozzi, F., Spalazzese, R.: MDE4IoT: supporting the internet of things with model-driven engineering. In: International Symposium on Intelligent and Distributed Computing, Springer, pp. 67–76 (2016)

  11. Combemale, B., Crégut, X., Giacometti, J.P., Michel, P., Pantel, M.: Introducing simulation and model animation in the MDE topcased toolkit. In: 4th European Congress on Embedded Real Time Software (ERTS’08) (2008)

  12. Costa B, Pires PF, Delicato FC, Li W, Zomaya AY (2016) Design and Analysis of IoT Applications: A Model-Driven Approach. In: Dependable, Autonomic and Secure Computing, 14th Intl Conf on Pervasive Intelligence and Computing, 2nd Intl Conf on Big Data Intelligence and Computing and Cyber Science and Technology Congress (DASC/PiCom/DataCom/CyberSciTech), 2016 IEEE 14th Intl C, IEEE, pp 392–399

  13. Costa, B., Pires, P.F., Delicato, F.C., Li, W., Zomaya, A.Y.: Design and analysis of iot applications: a model-driven approach. In: Dependable, Autonomic and Secure Computing, 14th International Conference on Pervasive Intelligence and Computing, 2nd International Conference on Big Data Intelligence and Computing and Cyber Science and Technology Congress (DASC/PiCom/DataCom/CyberSciTech), 2016 IEEE 14th International Conference, IEEE, pp. 392–399 (2016)

  14. Desnoyers, M., Dagenais, M.: LTTng tracer: a low impact performance and behavior monitor for GNU/Linux. OLS (Ott. Linux Symp.) 2006, 209–224 (2006)

    Google Scholar 

  15. Eclipse Foundation: Papyrus: Moka overview. (2016). http://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution. Accessed 17 Nov 2019

  16. Graf, S., Ober, I., Ober, I.: A real-time profile for UML. Int. J. Softw. Tools Technol. Transf. 8(2), 113–127 (2006). https://doi.org/10.1007/s10009-005-0213-x

    Article  MATH  Google Scholar 

  17. Guerraoui, R., Schiper, A.: Software-based replication for fault tolerance. Computer 30(4), 68–74 (1997)

    Article  Google Scholar 

  18. Hili, N., Posse, E., Dingel, J.: Calur: an action language for UML-RT. In: 9th European Congress on Embedded Real Time Software and Systems (ERTS 2018) (2018)

  19. Hu, B., Huang, K., Chen, G., Cheng, L., Knoll, A.: Evaluation and improvements of runtime monitoring methods for real-time event streams. ACM Trans. Embed. Comput. Syst. (TECS) 15(3), 56 (2016)

    Google Scholar 

  20. IBM: Rational software architect realtime edition (RSARTE): C++ RT services library. (2016). https://www.ibm.com/developerworks/community/wikis/form/anonymous/api/wiki/b7da455c-5c51-4706-91c9-dcca9923c303/page/325220ca-b17d-4ea6-b382-4c704dbad0af/attachment/46c3438c-25d8-43ce-be22-730e46601365/media/RT

  21. IBM: IBM rational rhapsody. http://www-03.ibm.com/software/products/en/ratirhapfami. Accessed 19 July 2016

  22. Kahani, N., Hili, N., Cordy, J.R., Dingel, J.: Evaluation of UML-RT and papyrus-RT for modelling self-adaptive systems. In: Proceedings of the 9th International Workshop on Modelling in Software Engineering, IEEE Press, pp. 12–18 (2017)

  23. Kahani, N., Bagherzadeh, M., Cordy, J.R., Dingel, J., Varró, D.: Survey and classification of model transformation tools. Softw. Syst. Model. 18(4), 2361–2397 (2019). https://doi.org/10.1007/s10270-018-0665-6

    Article  Google Scholar 

  24. 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, 1999. IEEE, pp. 114–122 (1999)

  25. Kim, M., Lee, I., Sammapun, U., Shin, J., Sokolsky, O.: Monitoring, checking, and steering of real-time systems. Electron. Notes Theor. Comput. Sci. 70(4), 95–111 (2002). https://doi.org/10.1016/S1571-0661(04)80579-6

    Article  Google Scholar 

  26. Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebr. Program. 78(5), 293–303 (2009)

    Article  Google Scholar 

  27. Levy, J., Saidi, H., Uribe, T.E.: Combining monitors for runtime system verification. Electron. Notes Theor. Comput. Sci. 70(4), 112–127 (2002)

    Article  Google Scholar 

  28. Magee, J., Kramer, J.: State Models and Java Programs. Wiley, Amsterdam (1999)

    MATH  Google Scholar 

  29. Mayerhofer, T., Langer, P.: Moliz: a model execution framework for UML models. In: International Master Class on Model-Driven Engineering: Modeling Wizards (MW’12) (2012)

  30. Meredith, P.O., Jin, D., Griffith, D., Chen, F., Roşu, G.: An overview of the MOP runtime verification framework. Int. J. Softw. Tech. Technol. Transf. 14(3), 249–289 (2011). https://doi.org/10.1007/s10009-011-0198-6

    Article  Google Scholar 

  31. Nguyen, X.T., Tran, H.T., Baraki, H., Geihs, K.: FRASAD: a framework for model-driven IoT application development. In: 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT), IEEE, pp. 387–392 (2015)

  32. Ober, I., Coulette, B., Lakhrissi, Y.: Behavioral modelling and composition of object slices using event observation. In: International Conference on Model Driven Engineering Languages and Systems, Springer, pp. 219–233 (2008)

  33. OMG: Semantics of a foundational subset for executable UML models (fUML). Standard, Object Management Group. (2016). http://www.omg.org/spec/FUML/1.2.1. Accessed 17 Nov 2019

  34. OMG: Precise semantics of UML state machines (PSSM) v1.0. Standard PSSM/1.0/Beta1, Object Management Group. (2017a). (In process). http://www.omg.org/spec/PSSM/1.0/Beta1/. Accessed 17 Nov 2019

  35. OMG: Precise semantics of UML state machines (PSSM) v1.1. Standard PSCS/1.1, Object Management Group. (2017b). (In process) http://www.omg.org/spec/PSCS/1.1/PDF. Accessed 17 Nov 2019

  36. OMG: Unified modeling language v2.5.1. Standard UML/2.5.1/, Object Management Group. (2017c). https://www.omg.org/spec/UML/2.5.1/PDF. Accessed 17 Nov 2019

  37. Persson, P., Angelsmark, O.: Calvin-merging cloud and IoT. Procedia Comput. Sci. 52, 210–217 (2015)

    Article  Google Scholar 

  38. Posse, E.: PapyrusRT: modelling and code generation. In: Workshop on Open Source for Model Driven Engineering (OSS4MDE’15) (2015)

  39. Raspberry Pi Foundation: Raspberry PI 3 model b product page—raspberry PI. (2016). https://raspberrypi.org/products/raspberry-pi-3-model-b/. Accessed 6 June 2016

  40. Roşu, G., Chen, F.: Semantics and algorithms for parametric monitoring. Log. Methods Comput. Sci. 8(1), 1–47 (2012). https://doi.org/10.2168/LMCS-8(1:9)2012. (short version presented at TACAS 2009)

    Article  MathSciNet  MATH  Google Scholar 

  41. Selic, B.: Using UML for modeling complex real-time systems. In: Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES’98), pp. 250–260 (1998)

  42. Selic, B.: Accounting for platform effects in the design of real-time software using model-based methods. IBM Syst. J. 47(2), 309–320 (2008)

    Article  Google Scholar 

  43. Swartout, W., Balzer, R.: On the inevitable intertwining of specification and implementation. Commun. ACM 25(7), 438–440 (1982)

    Article  Google Scholar 

  44. Taylor, R.N., Medvidovic, N., Dashofy, E.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2009)

    Google Scholar 

Download references

Acknowledgements

This work is supported by Ericsson Canada, EfficiOS, and the Natural Sciences and Engineering Research Council of Canada (NSERC).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicolas Hili.

Additional information

Communicated by Oystein Haugen.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hili, N., Bagherzadeh, M., Jahed, K. et al. A model-based architecture for interactive run-time monitoring. Softw Syst Model 19, 959–981 (2020). https://doi.org/10.1007/s10270-020-00780-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-020-00780-y

Keywords

Navigation