Skip to main content

Formalizing Reusable Communication Models for Distributed Systems Architecture

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11163))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    \(\sim Q\) denotes the negation of the statement Q and \(\#A\) denotes the cardinality of the set A.

References

  1. Alloy Analyzer. http://alloy.mit.edu. Accessed June 2017

  2. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)

    Article  Google Scholar 

  3. Coulouris, G., Dollimore, J., Kindberg, T., Blair, G.: Distributed Systems: Concepts and Design, 5th edn. Addison-Wesley Publishing Company, Boston (2011)

    MATH  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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

    Chapter  Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. 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)

    Article  Google Scholar 

  8. 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)

    Google Scholar 

  9. Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)

    Article  Google Scholar 

  10. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)

    Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. Kruchten, P.: Architectural blueprints - the “4+1” view model of software architecture. IEEE Softw. 12(6), 42–50 (1995)

    Article  Google Scholar 

  13. OMG: CORBA Specification, Version 3.1. Part 3: CORBA Component Model (2008). http://www.omg.org/spec/CCM. Accessed Nov 2009

  14. OMG. OMG Systems Modeling Language (OMG SysML), Version 1.1 (2008). http://www.omg.org/spec/SysML/1.1/,. Accessed Jan 2013

  15. OMG: Object Constraint Language (OCL), Version 2.2 (2010). http://www.omg.org/spec/OCL/2.2. Accessed Jan 2013

  16. 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

  17. OMG: Unified Modeling Language (UML), Version 2.4.1 (2011). http://www.omg.org/spec/UML/2.4.1. Accessed Jan 2013

  18. 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

  19. OWASP: Application threat modeling (2017). https://www.owasp.org/index.php/Application_Threat_Modeling. Accessed Dec 2017

  20. 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

    Chapter  Google Scholar 

  21. Ravi, S., Raghunathan, A., Kocher, P., Hattangady, S.: Security in embedded systems: design challenges. ACM Trans. Embed. Comput. Syst. 3(3), 461–491 (2004)

    Article  Google Scholar 

  22. Taylor, R.N., Medvidovic, N.: Software Architecture: Foundation, Theory, and Practice. Wiley, Hoboken (2010)

    Google Scholar 

  23. Rodano, M., Giammarc, K.: A formal method for evaluation of a modeled system architecture. Procedia Comput. Sci. 20, 210–215 (2013)

    Article  Google Scholar 

  24. SAE: Architecture Analysis & Design Language (AADL) (2009). http://www.sae.org/technical/standards/AS5506A. Accessed Jan 2011

  25. Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003)

    Article  Google Scholar 

  26. Zurawski, R.: Embedded systems in industrial applications - challenges and trends. In: International Symposium on Industrial Embedded Systems (SIES). IEEE (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Brahim Hamid .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics