Abstract
Building distributed computing systems involves complex concerns integrating a multitude of communication styles, technologies (IoT, cloud and big data...), stakeholders (architects, developers, integrators, etc.) and addressing a multitude of application domains (smart cities, health, mobility, etc.). Existing architectural description languages fail to rigorously bridge the gap between the abstract representation of communication styles and those supported by existing execution infrastructures. In this paper, we aim at specifying software architecture of distributed systems using an approach combining semi-formal and formal languages to build reusable model libraries to represent communication solutions. Our contribution is two fold. First, we propose a metamodel to describe high level concepts of architecture in a component- port- connector fashion focusing on communication styles. Second, we attempt to formalize those concepts and their semantics following some properties (specifications) to check architectural conformance. To validate our work, we provide a set of reusable connector libraries within a set of properties to define architectures for systems with explicit communications models like message passing and remote procedure calls, that are common to most distributed systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
\(\sim Q\) denotes the negation of the statement Q and \(\#A\) denotes the cardinality of the set A.
References
Alloy Analyzer. http://alloy.mit.edu. Accessed June 2017
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)
Coulouris, G., Dollimore, J., Kindberg, T., Blair, G.: Distributed Systems: Concepts and Design, 5th edn. Addison-Wesley Publishing Company, Boston (2011)
Crnkovic, I.: Component-based software engineering for embedded systems. In: Proceedings of the 27th International Conference on Software Engineering, ICSE 2005, pp. 712–713. ACM (2005)
Garlan, D.: Formal modeling and analysis of software architecture: components, connectors, and events. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 1–24. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39800-4_1
Hamid, B., Gürgens, S., Fuchs, A.: Security patterns modeling and formalization for pattern-based development of secure software systems. Innov. Syst. Softw. Eng. 12(2), 109–140 (2016)
Hamid, B., Perez, J.: Supporting pattern-based dependability engineering via model-driven development: approach, tool-support and empirical validation. J. Syst. Softw. 122, 239–273 (2016)
Heyman, T., Scandariato, R., Joosen, W.: Reusable formal models for secure software architectures. In: Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, pp. 41–50 (2012)
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)
Khosravi, R., Sirjani, M., Asoudeh, N., Sahebi, S., Iravanchi, H.: Modeling and analysis of Reo connectors using alloy. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 169–183. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-68265-3_11
Kruchten, P.: Architectural blueprints - the “4+1” view model of software architecture. IEEE Softw. 12(6), 42–50 (1995)
OMG: CORBA Specification, Version 3.1. Part 3: CORBA Component Model (2008). http://www.omg.org/spec/CCM. Accessed Nov 2009
OMG. OMG Systems Modeling Language (OMG SysML), Version 1.1 (2008). http://www.omg.org/spec/SysML/1.1/,. Accessed Jan 2013
OMG: Object Constraint Language (OCL), Version 2.2 (2010). http://www.omg.org/spec/OCL/2.2. Accessed Jan 2013
OMG: UML profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE), Version 1.1 (2011). http://www.omg.org/spec/MARTE/1.1/. Accessed Jan 2013
OMG: Unified Modeling Language (UML), Version 2.4.1 (2011). http://www.omg.org/spec/UML/2.4.1. Accessed Jan 2013
OMG: Unified Component Model for Distributed, Real-Time And Embedded Systems, Version 1.0 (2017). http://www.omg.org/spec/UCM/20170601/. Accessed Jan 2018
OWASP: Application threat modeling (2017). https://www.owasp.org/index.php/Application_Threat_Modeling. Accessed Dec 2017
Alur, R., Dill, D.: The theory of timed automata. In: de Bakker, J.W., Huizing, C., de Roever, W.P., Rozenberg, G. (eds.) REX 1991. LNCS, vol. 600, pp. 45–73. Springer, Heidelberg (1992). https://doi.org/10.1007/BFb0031987
Ravi, S., Raghunathan, A., Kocher, P., Hattangady, S.: Security in embedded systems: design challenges. ACM Trans. Embed. Comput. Syst. 3(3), 461–491 (2004)
Taylor, R.N., Medvidovic, N.: Software Architecture: Foundation, Theory, and Practice. Wiley, Hoboken (2010)
Rodano, M., Giammarc, K.: A formal method for evaluation of a modeled system architecture. Procedia Comput. Sci. 20, 210–215 (2013)
SAE: Architecture Analysis & Design Language (AADL) (2009). http://www.sae.org/technical/standards/AS5506A. Accessed Jan 2011
Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003)
Zurawski, R.: Embedded systems in industrial applications - challenges and trends. In: International Symposium on Industrial Embedded Systems (SIES). IEEE (2007)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Rouland, Q., Hamid, B., Jaskolka, J. (2018). Formalizing Reusable Communication Models for Distributed Systems Architecture. In: Abdelwahed, E., Bellatreche, L., Golfarelli, M., Méry, D., Ordonez, C. (eds) Model and Data Engineering. MEDI 2018. Lecture Notes in Computer Science(), vol 11163. Springer, Cham. https://doi.org/10.1007/978-3-030-00856-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-00856-7_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-00855-0
Online ISBN: 978-3-030-00856-7
eBook Packages: Computer ScienceComputer Science (R0)