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.
Similar content being viewed by others
Notes
The taxonomy of [16] calls them object events.
The registration phase is not illustrated in Fig. 5.
Since the Observer’s SPP port is conjugated, the incoming message becomes an outgoing message for the Observer capsule.
Our implementation is open source and available at https://github.com/nicolas-hili/Observer.
A detailed documentation of our implementation is available at: https://github.com/nicolas-hili/Observer.
A screencast is available at https://youtu.be/EbMIgEX9O58.
References
Agha, G.: The structure and semantics of actor languages. Foundations of Object-Oriented Languages, pp. 1–59. REX School/Workshop, Noordwijkerhout (1990)
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)
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)
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)
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)
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)
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)
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
Chen, F., Roşu, G.: Java-MOP: A Monitoring Oriented Programming Environment for Java, pp. 546–550. Springer, Berlin (2005)
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)
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)
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
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)
Desnoyers, M., Dagenais, M.: LTTng tracer: a low impact performance and behavior monitor for GNU/Linux. OLS (Ott. Linux Symp.) 2006, 209–224 (2006)
Eclipse Foundation: Papyrus: Moka overview. (2016). http://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution. Accessed 17 Nov 2019
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
Guerraoui, R., Schiper, A.: Software-based replication for fault tolerance. Computer 30(4), 68–74 (1997)
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)
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)
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
IBM: IBM rational rhapsody. http://www-03.ibm.com/software/products/en/ratirhapfami. Accessed 19 July 2016
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)
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
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)
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
Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebr. Program. 78(5), 293–303 (2009)
Levy, J., Saidi, H., Uribe, T.E.: Combining monitors for runtime system verification. Electron. Notes Theor. Comput. Sci. 70(4), 112–127 (2002)
Magee, J., Kramer, J.: State Models and Java Programs. Wiley, Amsterdam (1999)
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)
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
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)
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)
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
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
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
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
Persson, P., Angelsmark, O.: Calvin-merging cloud and IoT. Procedia Comput. Sci. 52, 210–217 (2015)
Posse, E.: PapyrusRT: modelling and code generation. In: Workshop on Open Source for Model Driven Engineering (OSS4MDE’15) (2015)
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
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)
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)
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)
Swartout, W., Balzer, R.: On the inevitable intertwining of specification and implementation. Commun. ACM 25(7), 438–440 (1982)
Taylor, R.N., Medvidovic, N., Dashofy, E.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2009)
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
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-020-00780-y