Abstract
Formal component-based modeling has been shown to be invaluable for verifying the compatibility of specified components, discovering flaws early in design stages, and enabling the reuse of components, across multiple projects and teams. However, complex system specifications are large and difficult to reason with which has limited the adoption of formal approaches. In this paper, we use a formal language to build a metamodel to represent software architectures consisting of composite components. First, we propose a metamodel to describe the high-level concepts of software architectures in a component-port-connector fashion. We focus on providing hierarchical modeling capabilities by considering the construction of composite components from existing ones. Second, using Alloy as a tooled formal language, we formalize the metamodel concepts to build a reusable framework for modeling complex systems consisting of composite component structures that can be automatically constructed and checked for architectural conformance. We use a smart metering system to demonstrate the use our formal metamodel.
Supported by the Ericsson-Carleton Partnership 5G Fellowship Program.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Available online at https://gitlab.com/CyberSEA-Public/CC-Metamodel.
References
Basu, A., et al.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011)
BSI: Protection Profile for the Gateway of a Smart Metering System (Smart Meter Gateway PP). Common Criteria Protection Profile BSI-CC-PP-0073, Bundesamt für Sicherheit in der Informationstechnik (2014)
Clarke, E.M., Long, D.E., McMillan, K.L.: Compositional model checking. In: Fourth IEEE Symposium on Logic in Computer Science (1989)
Collet, P., Malenfant, J., Ozanne, A., Rivierre, N.: Composite contract enforcement in hierarchical component systems. In: Lumpe, M., Vanderperren, W. (eds.) SC 2007. LNCS, vol. 4829, pp. 18–33. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-77351-1_3
Crnkovic, I., Larsson, M. (eds.): Building Reliable Component-based Software Systems. Artech House, New York City (2002)
He, N., et al.: Component-based design and verification in X-MAN. In: Embedded Real Time Software and Systems (ERTS2012). Toulouse, France, February 2012
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)
Jackson, D.: Alloy: a language and tool for exploring software designs. Commun. ACM 62(9), 66–76 (2019)
Jifeng, H., Li, X., Liu, Z.: rCOS: a refinement calculus of object systems. Theor. Comput. Sci. 365(1–2), 109–142 (2006)
Johnson, K., Calinescu, R., Kikuchi, S.: An incremental verification framework for component-based software systems. In: 16th International ACM Sigsoft Symposium on Component-Based Software Engineering, pp. 33–42. CBSE ’13 (2013)
Kruchten, P.: Architectural blueprints–the “4+1’’ view model of software architecture. IEEE Softw. 12(6), 42–50 (1995)
Lehman, M.M.: Programs, life cycles, and laws of software evolution. IEEE 68(9), 1060–1076 (1980)
Liu, Z., Jifeng, H., Li, X.: Contract oriented development of component software. In: Levy, J.-J., Mayr, E.W., Mitchell, J.C. (eds.) TCS 2004. IIFIP, vol. 155, pp. 349–366. Springer, Boston, MA (2004). https://doi.org/10.1007/1-4020-8141-3_28
Rouland, Q., Hamid, B., Jaskolka, J.: Specification, detection, and treatment of STRIDE threats for software components: modeling, formal methods, and tool support. J. Syst. Architect. 117, 102073 (2021)
Rouland, Q., Hamid, B., Bodeveix, J.P., Filali, M.: A formal methods approach to security requirements specification and verification. In: 2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 236–241. IEEE (2019)
Rouland, Q., Hamid, B., Jaskolka, J.: Formal specification and verification of reusable communication models for distributed systems architecture. Futur. Gener. Comput. Syst. 108, 178–197 (2020)
Saoud, A., Girard, A., Fribourg, L.: Assume-guarantee contracts for continuous-time systems. Automatica 134, 109910 (2021)
Wong, S., Sun, J., Warren, I., Sun, J.: A scalable approach to multi-style architectural modeling and verification. In: 13th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2008), pp. 25–34 (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Baak, J., Rouland, Q., Jaskolka, J. (2024). A Formal Metamodel for Software Architectures with Composite Components. In: Mosbah, M., Kechadi, T., Bellatreche, L., Gargouri, F. (eds) Model and Data Engineering. MEDI 2023. Lecture Notes in Computer Science, vol 14396. Springer, Cham. https://doi.org/10.1007/978-3-031-49333-1_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-49333-1_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-49332-4
Online ISBN: 978-3-031-49333-1
eBook Packages: Computer ScienceComputer Science (R0)