Abstract
With the emergence of ambient and adaptive computing, dynamic architectures have become increasingly important. Dynamic architectures describe an evolving state space of systems over time. In such architectures, components can appear or disappear, and connections between them can change over time. Due to the evolving state space of such architectures, verification is challenging. To address this problem, we developed FACTum Studio, a tool that combines model checking and interactive theorem proving to support the verification of dynamic architectures. To this end, a dynamic architecture is first specified in terms of component types and architecture configurations. Next, each component type is verified against asserted contracts using nuXmv. Then, the composition of the contracts is verified using Isabelle/HOL. In this paper, we discuss the tool’s extended features with an example of an encrypted messaging system. It is developed with Eclipse and active on Github.
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
Aravantinos, V., Voss, S., Teufl, S., Hölzl, F., Schätz, B.: AutoFOCUS 3: tooling concepts for seamless, model-based development of embedded systems. In: CEUR Workshop Proceedings, vol. 1508, pp. 19–26. CEUR-WS.org (2015)
Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(03), 329–366 (2004). https://doi.org/10.1017/s0960129504004153
Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by constraint automata. Sci. Comput. Program. 61(2), 75–113 (2006)
Broy, M.: A model of dynamic systems. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) ETAPS 2014. LNCS, vol. 8415, pp. 39–53. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54848-2_3
Bruni, R., Bucchiarone, A., Gnesi, S., Melgratti, H.: Modelling dynamic software architectures using typed graph grammars. Electron. Notes Theor. Comput. Sci. 213(1), 39–53 (2008)
Bucchiarone, A., Galeotti, J.P.: Dynamic software architectures verification using DynAlloy. In: Electronic Communications of the EASST, vol. 10 (2008)
Gerostathopoulos, I., Skoda, D., Plasil, F., Bures, T., Knauss, A.: Architectural homeostasis in self-adaptive software-intensive cyber-physical systems. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds.) ECSA 2016. LNCS, vol. 9839, pp. 113–128. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-48992-6_8
Gidey, H.K., Marmsoler, D.: FACTum Studio (2018). https://habtom.github.io/factum/
Koza, J.R.: Genetic programming: on the programming of computers by means of natural selection, vol. 1. MIT Press (1992)
Li, C., Huang, L., Chen, L., Li, X., Luo, W.: Dynamic software architectures: formal specification and verification with CSP. In: Proceedings of the Fourth Asia-Pacific Symposium on Internetware, p. 5. ACM (2012)
Li, Y., Sun, M.: Modeling and analysis of component connectors in Coq. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 273–290. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07602-7_17
Manna, Z., Sipma, H.B.: Deductive verification of hybrid systems using step. In: Henzinger, T.A., Sastry, S. (eds.) HSCC 1998. LNCS, vol. 1386, pp. 305–318. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-64358-3_47
Marmsoler, D.: Towards a calculus for dynamic architectures. In: Hung, D., Kapur, D. (eds.) ICTAC 2017. LNCS, vol. 10580, pp. 79–99. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67729-3_6
Marmsoler, D.: A framework for interactive verification of architectural design patterns in Isabelle/HOL. In: Sun, J., Sun, M. (eds.) ICFEM 2018. LNCS, vol. 11232, pp. 251–269. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02450-5_15
Marmsoler, D.: Hierarchical specification and verification of architectural design patterns. In: Russo, A., Schürr, A. (eds.) FASE 2018. LNCS, vol. 10802, pp. 149–168. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89363-1_9
Marmsoler, D., Gidey, H.K.: FACTum studio: a tool for the axiomatic specification and verification of architectural design patterns. In: Bae, K., Ölveczky, P.C. (eds.) FACS 2018. LNCS, vol. 11222, pp. 279–287. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02146-7_14
Marmsoler, D., Gidey, H.K.: Interactive verification of architectural design patterns in FACTum. Formal Aspects Comput. 31(5), 541–610 (2019)
Marmsoler, D., Gleirscher, M.: Specifying properties of dynamic architectures using configuration traces. In: Sampaio, A., Wang, F. (eds.) ICTAC 2016. LNCS, vol. 9965, pp. 235–254. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46750-4_14
Miyazawa, A., Cavalcanti, A., Ribeiro, P., Li, W., Woodcock, J., Timmis, J.: Robochart reference manual. Technical report, University of York (2017)
Oquendo, F.: Dynamic software architectures: formally modelling structure and behaviour with Pi-ADL. In: 2008 The Third International Conference on Software Engineering Advances, pp. 352–359. IEEE (2008)
Oreizy, P., et al.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. Appl. 14(3), 54–62 (1999)
Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science (Vol. B), pp. 675–788. MIT Press, Cambridge (1990)
Acknowledgments
Parts of the work on which we report in this paper were funded by the German Federal Ministry of Economics and Technology (BMWi) under grant no. 0325811A.
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
Gidey, H.K., Collins, A., Marmsoler, D. (2020). Modeling and Verifying Dynamic Architectures with FACTum Studio. In: Arbab, F., Jongmans, SS. (eds) Formal Aspects of Component Software. FACS 2019. Lecture Notes in Computer Science(), vol 12018. Springer, Cham. https://doi.org/10.1007/978-3-030-40914-2_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-40914-2_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-40913-5
Online ISBN: 978-3-030-40914-2
eBook Packages: Computer ScienceComputer Science (R0)