Abstract
Software systems are rapidly growing in complexity and scale, and are subject to different kinds of uncertainties related to the dynamics of resource availability or changes in system objectives. So, many real usage scenarios might be impossible to reproduce and validate at design-time. As envisioned by the Models@run.time research community, the use of models at runtime is fundamental to address this challenge. Our focus is on providing guarantees for changing safety goals at runtime (a form of uncertainty) with the employment of mathematically-based runtime analysis techniques from the area of formal methods (FM@run.time).
In this paper, we propose a novel framework for the runtime simulation of Abstract State Machine models and the on-the-fly changes of safety assertions at the model level to provide software assurance guarantees at runtime. The framework is called AsmetaS@run.time and is being developed as part of the ASM specification and analysis toolset ASMETA.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Defence standard 00–56, issue 4: Safety management requirements for defence systems, June 2007
Alemzadeh, H., Kalbarczyk, Z., Iyer, R., Raman, J.: Analysis of safety-critical computer failures in medical devices. IEEE Secur. Priv. 11(4), 14–26 (2013). https://doi.org/10.1109/MSP.2013.49
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
Arcaini, P., Gargantini, A., Riccobene, E., Scandurra, P.: A model-driven process for engineering a toolset for a formal method. Softw. Pract. Exp. 41, 155–166 (2011). https://doi.org/10.1002/spe.1019. http://dx.doi.org/10.1002/spe.1019
Arcaini, P., Riccobene, E., Scandurra, P.: Formal design and verification of self-adaptive systems with decentralized control. ACM Trans. Auton. Adapt. Syst. 11(4), 25:1–25:35 (2017)
Aßmann, U., Götz, S., Jézéquel, J.-M., Morin, B., Trapp, M.: A reference architecture and roadmap for models@run.time systems. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.) Models@run.time. LNCS, vol. 8378, pp. 1–18. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08915-7_1
Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and run-time. In: Roman, G., Sullivan, K.J. (eds.) Proceedings of the Workshop on Future of Software Engineering Research, FoSER 2010, at the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2010, Santa Fe, NM, USA, 7–11 November 2010, pp. 17–22. ACM (2010)
Bencomo, N., Götz, S., Song, H.: Models@run.time: a guided tour of the state of the art and research challenges. Softw. Syst. Model. 18(5), 3049–3082 (2019). https://doi.org/10.1007/s10270-018-00712-x
Bonfanti, S., Gargantini, A., Mashkoor, A.: Design and validation of a C++ code generator from Abstract State Machines specifications. J. Softw. Evol. Process 32(2), e2205 (2020). https://doi.org/10.1002/smr.2205. https://onlinelibrary.wiley.com/doi/abs/10.1002/smr.2205
Börger, E., Raschke, A.: Modeling Companion for Software Practitioners. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-56641-1
Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-642-18216-7
Calinescu, R., Weyns, D., Gerasimou, S., Iftikhar, M.U., Habli, I., Kelly, T.: Engineering trustworthy self-adaptive software with dynamic assurance cases. IEEE Trans. Software Eng. 44(11), 1039–1069 (2018)
Calinescu, R., Kikuchi, S.: Formal methods @ runtime. In: Calinescu, R., Jackson, E. (eds.) Monterey Workshop 2010. LNCS, vol. 6662, pp. 122–135. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21292-5_7
Falcone, Y., Mariani, L., Rollet, A., Saha, S.: Runtime failure prevention and reaction. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification. LNCS, vol. 10457, pp. 103–134. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5_4
Gargantini, A., Riccobene, E., Rinzivillo, S.: Using spin to generate tests from ASM specifications. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 263–277. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36498-6_15
Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based language and a simulation engine for abstract state machines. J. UCS 14(12), 1949–1983 (2008). https://doi.org/10.3217/jucs-014-12-1949
Goldsby, H.J., Cheng, B.H.C., Zhang, J.: AMOEBA-RT: run-time verification of adaptive software. In: Giese, H. (ed.) MODELS 2007. LNCS, vol. 5002, pp. 212–224. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69073-3_23
Gurevich, Y., Huggins, J.K.: The railroad crossing problem: an experiment with instantaneous actions and immediate reactions. In: Kleine Büning, H. (ed.) CSL 1995. LNCS, vol. 1092, pp. 266–290. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61377-3_43
Jackson, E.K., Schulte, W.: Understanding specification languages through their model theory. In: Calinescu, R., Garlan, D. (eds.) Monterey Workshop 2012. LNCS, vol. 7539, pp. 396–415. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34059-8_21
Legay, A., Delahaye, B., Bensalem, S.: Statistical model checking: an overview. In: Barringer, H., et al. (eds.) RV 2010. LNCS, vol. 6418, pp. 122–135. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16612-9_11
Liang, H., Dong, J.S., Sun, J., Wong, W.E.: Software monitoring through formal specification animation. ISSE 5(4), 231–241 (2009). https://doi.org/10.1007/s11334-009-0096-1
Moreno, G.A., Cámara, J., Garlan, D., Schmerl, B.R.: Proactive self-adaptation under uncertainty: a probabilistic model checking approach. In: Nitto, E.D., Harman, M., Heymans, P. (eds.) Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2015, Bergamo, Italy, 30 August–4 September 2015, pp. 1–12. ACM (2015). https://doi.org/10.1145/2786805.2786853
Pinisetty, S., Roop, P.S., Smyth, S., Allen, N., Tripakis, S., von Hanxleden, R.: Runtime enforcement of cyber-physical systems. ACM Trans. Embed. Comput. Syst. 16(5s), 178:1–178:25 (2017). https://doi.org/10.1145/3126500
Riccobene, E., Scandurra, P.: Exploring the concept of abstract state machines for system runtime enforcement. In: Raschke, A., Méry, D., Houdek, F. (eds.) ABZ 2020. LNCS, vol. 12071, pp. 244–247. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-48077-6_18
Riganelli, O., Micucci, D., Mariani, L.: Controlling interactions with libraries in android apps through runtime enforcement. ACM Trans. Auton. Adapt. Syst. 14(2), 8:1–8:29 (2019). https://doi.org/10.1145/3368087
Tendeloo, Y.V., Mierlo, S.V., Vangheluwe, H.: A multi-paradigm modelling approach to live modelling. Softw. Syst. Model. 18(5), 2821–2842 (2019). https://doi.org/10.1007/s10270-018-0700-7
Trapp, M., Schneider, D.: Safety assurance of open adaptive systems – a survey. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.) Models@run.time. LNCS, vol. 8378, pp. 279–318. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08915-7_11
Weyns, D., Iftikhar, M.U.: Model-based simulation at runtime for self-adaptive systems. In: Kounev, S., Giese, H., Liu, J. (eds.) 2016 IEEE International Conference on Autonomic Computing, ICAC 2016, Wuerzburg, Germany, 17–22 July 2016, pp. 364–373. IEEE Computer Society (2016). https://doi.org/10.1109/ICAC.2016.67
Weyns, D., Iftikhar, M.U.: ActivFORMS: a model-based approach to engineer self-adaptive systems. CoRR abs/1908.11179 (2019). http://arxiv.org/abs/1908.11179
Zhuang, C., Liu, J., Xiong, H.: Digital twin-based smart production management and control framework for the complex product assembly shop-floor. Int. J. Adv. Manuf. Technol. 96(1), 1149–1163 (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Riccobene, E., Scandurra, P. (2020). Model-Based Simulation at Runtime with Abstract State Machines. In: Muccini, H., et al. Software Architecture. ECSA 2020. Communications in Computer and Information Science, vol 1269. Springer, Cham. https://doi.org/10.1007/978-3-030-59155-7_29
Download citation
DOI: https://doi.org/10.1007/978-3-030-59155-7_29
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-59154-0
Online ISBN: 978-3-030-59155-7
eBook Packages: Computer ScienceComputer Science (R0)