Abstract
The increasing complexity of current Software Systems is generating the urge to find new ways to check the correct functioning of models during runtime. Runtime verification helps ensure that a system is working as expected even after being deployed, essential when dealing with systems working in critical or autonomous scenarios. This paper presents an improvement to an existing tool, named CRESCO, linking it with another tool to enable performing periodical verification based on event logs. These logs help determine whether the functioning of the system is inadequate or not after the last periodic check. If the system is determined to be working incorrectly, new code files are automatically generated from the traces of the log file, so they can be replaced when a faulty scenario is to occur. Thanks to this improvement, the CRESCO components are able to evaluate their correctness and adapt themselves at runtime, making the system more robust against unforeseen faulty scenarios.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Acceleo. Technical report (2016). https://www.eclipse.org/acceleo/
Prom tools. Technical report (2020). https://www.promtools.org/doku.php
van der Aalst, W.M.: A practitioner’s guide to process mining: limitations of the directly-follows graph (2019)
Al-Shaer, E.S.: A hierarchical filtering-based monitoring architecture for large-scale distributed systems. Old Dominion University (1998)
Arcaini, P., Gargantini, A., Riccobene, E.: CoMA: conformance monitoring of java programs by abstract state machines. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 223–238. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29860-8_17
Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional (2015)
Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009). https://doi.org/10.1109/MC.2009.326
Bruegge, B., Gottschalk, T., Luo, B.: A framework for dynamic program analyzers. In: ACM SIGplan Notices, vol. 28, pp. 65–82. ACM (1993)
Cassar, I., Francalanza, A.: Runtime adaptation for actor systems. In: Bartocci, E., Majumdar, R. (eds.) RV 2015. LNCS, vol. 9333, pp. 38–54. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23820-3_3
Daian, P., Guth, D., Hathhorn, C., Li, Y., Pek, E., Saxena, M., Şerbănuţă, T.F., Roşu, G.: Runtime verification at work: a tutorial. In: Falcone, Y., Sánchez, C. (eds.) RV 2016. LNCS, vol. 10012, pp. 46–67. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46982-9_5
Diaz, M., Juanole, G., Courtiat, J.P.: Observer-a concept for formal on-line validation of distributed systems. IEEE Trans. Software Eng. 20(12), 900–913 (1994)
Engler, D.R., Proebsting, T.A.: DCG: an efficient, retargetable dynamic code generation system. ACM SIGPLAN Not. 29(11), 263–272 (1994)
Falcone, Y., Havelund, K., Reger, G.: A tutorial on runtime verification. Eng. Dependable Softw. Syst. 141–175 (2013)
Frtunikj, J., Rupanov, V., Camek, A., Buckl, C., Knoll, A.: A safety aware run-time environment for adaptive automotive control systems. In: Embedded Real-Time Software and Systems (ERTS2) (2014)
Garlan, D., Schmerl, B.: Model-based adaptation for self-healing systems. In: Proceedings of the First Workshop on Self-healing Systems, pp. 27–32. ACM (2002)
Group, X.W.: IEEE standard for extensible event stream (XES) for achieving interoperability in event logs and event streams. IEEE Std 1849-2016, pp. 1–50 (2016). https://doi.org/10.1109/IEEESTD.2016.7740858
Gu, T., Sun, C., Ma, X., Lü, J., Su, Z.: Automatic runtime recovery via error handler synthesis. In: 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 684–695. IEEE (2016)
Guo, C.G., Zhu, J., Li, X.L.: A generic software monitoring model and feature analysis. J. Softw. 6(3), 395–403 (2011)
Illarramendi, M., Etxeberria, L., Elkorobarrutia, X., Sagardui, G.: Runtime observable and adaptable UML state machines: models@ run. time approach. In: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, pp. 1818–1827. ACM (2019)
Illarramendi, M., Etxeberria, L., Larrinaga, F., Sagardui, G.: Cresco framework and checker: automatic generation of reflective UML state machine’s C++ code and checker. In: 2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), pp. 25–30. IEEE (2020)
Industriees, B.: Devops (2021). https://www.bigindustries.be/blog/6-proven-steps-to-become-a-devops-engineer. Accessed 10 May 2023
Jabbari, R., bin Ali, N., Petersen, K., Tanveer, B.: What is devops? A systematic mapping study on definitions and practices. In: Proceedings of the Scientific Workshop Proceedings of XP2016, pp. 1–11 (2016)
Kim, M., Viswanathan, M., Kannan, S., Lee, I., Sokolsky, O.: Java-MaC: a run-time assurance approach for java programs. Formal Methods Syst. Design 24(2), 129–155 (2004)
Laboratory, F.S.: Monitoring oriented programming. http://fsl.cs.illinois.edu/index.php/MOP
Leemans, S.J., Fahland, D., Van der Aalst, W.M.: Scalable process discovery and conformance checking. Softw. Syst. Model. 17(2), 599–631 (2018)
Long, F., Sidiroglou-Douskos, S., Rinard, M.: Automatic runtime error repair and containment via recovery shepherding. ACM SIGPLAN Not. 49(6), 227–238 (2014)
Mitsch, S., Platzer, A.: ModelPlex: verified runtime validation of verified cyber-physical system models. Formal Methods Syst. Design 49(1–2), 33–74 (2016)
Pezzé, M., Wuttke, J.: Model-driven generation of runtime checks for system properties. Int. J. Softw. Tools Technol. Transf. 18(1), 1–19 (2016). https://doi.org/10.1007/s10009-014-0325-2
Saxonica: Developers of the saxon processor for XSLT, XQuery, and XML schema, including the only XSLT 3.0 conformant toolset (2022)
Schmidt, D.C.: Model-driven engineering. Comput.-IEEE Comput. Soc. 39(2), 25 (2006)
Schneider, D., Trapp, M.: A safety engineering framework for open adaptive systems. In: 2011 Fifth IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO), pp. 89–98. IEEE (2011)
Spinczyk, O., Gal, A., Schröder-Preikschat, W.: AspectC++: an aspect-oriented extension to the C++ programming language. In: Proceedings of the Fortieth International Conference on Tools Pacific: Objects for Internet, Mobile and Embedded Applications, pp. 53–60. Australian Computer Society, Inc. (2002)
Van Der Aalst, W.: Process mining. Commun. ACM 55(8), 76–83 (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Da Silva, J., Illarramendi, M., Iriarte, A. (2023). Using Runtime Information of Controllers for Safe Adaptation at Runtime: A Process Mining Approach. In: Guiochet, J., Tonetta, S., Schoitsch, E., Roy, M., Bitsch, F. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2023 Workshops. SAFECOMP 2023. Lecture Notes in Computer Science, vol 14182. Springer, Cham. https://doi.org/10.1007/978-3-031-40953-0_8
Download citation
DOI: https://doi.org/10.1007/978-3-031-40953-0_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-40952-3
Online ISBN: 978-3-031-40953-0
eBook Packages: Computer ScienceComputer Science (R0)