Formal Aspects of Computing

, Volume 28, Issue 2, pp 207–231 | Cite as

A general framework for architecture composability

  • Paul Attie
  • Eduard Baranov
  • Simon BliudzeEmail author
  • Mohamad Jaber
  • Joseph Sifakis
Open Access
Original Article


Architectures depict design principles: paradigms that can be understood by all, allow thinking on a higher plane and avoiding low-level mistakes. They provide means for ensuring correctness by construction by enforcing global properties characterizing the coordination between components. An architecture can be considered as an operator A that, applied to a set of components \({\mathcal{B}}\), builds a composite component \({A(\mathcal{B})}\) meeting a characteristic property \({\Phi}\). Architecture composability is a basic and common problem faced by system designers. In this paper, we propose a formal and general framework for architecture composability based on an associative, commutative and idempotent architecture composition operator \({\oplus}\). The main result is that if two architectures A 1 and A 2 enforce respectively safety properties \({\Phi_{1}}\) and \({\Phi_{2}}\), the architecture \({A_{1} \oplus A_{2}}\) enforces the property \({\Phi_{1} \land \Phi_{2}}\), that is both properties are preserved by architecture composition. We also establish preservation of liveness properties by architecture composition. The presented results are illustrated by a running example and a case study.


Architecture composability Component-based frameworks Safety Liveness BIP 


  1. ABB+13.
    Attie PC, Bensalem S, Bozga M, Jaber M, Sifakis J, Zaraket FA (2013) An abstract framework for deadlock prevention in BIP. In: FMOODS/FORTE, pp 161–177Google Scholar
  2. ABB+14a.
    Attie P, Baranov E, Bliudze S, Jaber M, Sifakis J (2014) A general framework for architecture composability. In: Giannakopoulou D, Salaün G (eds) 12th international conference on software engineering and formal methods (SEFM 2014), LNCS, vol 8702. Springer International Publishing, Switzerland, pp 128–143Google Scholar
  3. ABB+14b.
    Attie PC, Baranov E, Bliudze S, Jaber M, Sifakis J (2014) A general framework for architecture composability. Technical Report EPFL-REPORT-196536, EPFL IC IIF RiSD.
  4. AL93.
    Abadi M, Leslie L (1993) Composing specifications. ACM Trans Program Lang Syst 15(1): 73–132CrossRefGoogle Scholar
  5. Arb04.
    Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comput Sci 14(3): 329–366MathSciNetCrossRefzbMATHGoogle Scholar
  6. BBB+11.
    Basu A, Bensalem S, Bozga M, Combaz J, Jaber M, Nguyen T-H, Sifakis J (2011) Rigorous component-based system design using the BIP framework. Softw IEEE 28(3): 41–48CrossRefGoogle Scholar
  7. BCD00.
    Bernardo M, Ciancarini P, Donatiello L (2000) On the formalization of architectural types with process algebras. In: SIGSOFT FSE, pp 140–148Google Scholar
  8. BGK+06.
    Balasubramanian K, Gokhale AS, Karsai G, Sztipanovits J, Neema S (2006) Developing applications using model-driven design environments. IEEE Comput 39(2): 33–40CrossRefGoogle Scholar
  9. BLM06.
    Bruni R, Lanese I, Montanari U (2006) A basic algebra of stateless connectors. Theor Comput Sci 366(1): 98–120MathSciNetCrossRefzbMATHGoogle Scholar
  10. BS07.
    Bliudze S, Sifakis J (2007) The algebra of connectors—structuring interaction in BIP. In: Proceedings of the EMSOFT’07, Salzburg. ACM SigBED, pp 11–20Google Scholar
  11. BS10.
    Bliudze S, Sifakis J (2010) Causal semantics for the algebra of connectors. Formal Methods Syst Des 36(2): 167–194CrossRefzbMATHGoogle Scholar
  12. BS11.
    Bliudze S, Sifakis J (2011) Synthesizing glue operators from glue constraints for the construction of component-based systems. In: Sven A, Ethan J (eds) Software composition, vol 6708. LNCSSpringer, Berlin/Heidelberg, pp 51–67CrossRefGoogle Scholar
  13. BWH+03.
    Balarin F, Watanabe Y, Hsieh H, Lavagno L, Passerone C, Sangiovanni-Vincentelli A (2003) Metropolis: an integrated electronic system design environment. IEEE Comput 36(4): 45–52CrossRefGoogle Scholar
  14. CKMRM03.
    Calder M, Kolberg M, Magill EH, Reiff-Marganiec S (2003) Feature interaction: a critical review and considered forecast. Comput Netw 41(1): 115–141CrossRefzbMATHGoogle Scholar
  15. DG08.
    D’Souza D, Gopinathan M (2008) Conflict-tolerant features. In: CAV, LNCS, vol 5123. Springer, pp 227–239Google Scholar
  16. DPW06.
    Decker G, Puhlmann F, Weske M (2006) Formalizing service interactions. In: Business process management, pp 414–419Google Scholar
  17. EJL+03.
    Eker J, Janneck JW, Lee EA, Liu J, Liu X, Ludvig J, Neuendorffer S, Sachs S, Xiong Y (2003) Taming heterogeneity: the ptolemy approach. Proc IEEE 91(1): 127–144CrossRefGoogle Scholar
  18. FF96.
    Francez N, Forman IR (1996) Interacting processes: a multiparty approach to coordinated distributed programming. ACM Press/Addison-Wesley Publishing Co., New YorkzbMATHGoogle Scholar
  19. Fia04.
    Fiadeiro JL (2004) Categories for Software Engineering. Springer-VerlagGoogle Scholar
  20. HA00.
    Hay JD, Atlee JM (2000) Composing features and resolving interactions. SIGSOFT Softw Eng Notes 25(6): 110–119CrossRefGoogle Scholar
  21. Hoa85.
    Hoare CAR (1985) Communicating sequential processes. Prentice Hall International Series in Computer Science. Prentice HallGoogle Scholar
  22. LG00.
    Liskov B, Guttag J (2000) Program development in java. Addison WesleyGoogle Scholar
  23. LJH06.
    Li Z, Jin Y, Han J (2006) A runtime monitoring and validation framework for web service interactions. In: ASWEC, pp 70–79Google Scholar
  24. LRL10.
    Liu I, Reineke J, Lee EA (2010) A PRET architecture supporting concurrent programs with composable timing properties. In: Signals, systems and computers (ASILOMAR), 2010 Conference record of the forty fourth asilomar conference, pp 2111–2115Google Scholar
  25. Mil89.
    Milner R (1989) Communication and concurrency. Prentice Hall International Series in Computer Science, Prentice HallGoogle Scholar
  26. PR01.
    Plath M, Ryan M (2001) Feature integration using a feature construct. Sci Comput Programm 41(1): 53–84CrossRefzbMATHGoogle Scholar
  27. RC03.
    Ray A, Cleaveland R (2003) Architectural interaction diagrams: AIDs for system modeling. In: ICSE’03: Proceedings of the 25th international conference on software engineering, Washington, DC. IEEE Computer Society, pp 396–406Google Scholar
  28. SG03.
    Spitznagel B, Garlan D (2003) A compositional formalization of connector wrappers. In: ICSE. IEEE Computer Society, pp 374–384Google Scholar
  29. Sif12.
    Sifakis J (2012) Rigorous system design. Found Trends Electron Des Autom 6(4):293–362, 2012Google Scholar
  30. Tar72.
    Tarjan R (1972) Depth-first search and linear graph algorithms. SIAM J Comput 1(2): 146–160MathSciNetCrossRefzbMATHGoogle Scholar
  31. Weg96.
    Wegner P (1996) Coordination as constrained interaction (extended abstract). In: Coordination languages and models, LNCS, vol 1061. Springer, pp 28–33Google Scholar

Copyright information

© The Author(s) 2015

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors and Affiliations

  1. 1.American University of BeirutBeirutLebanon
  2. 2.École Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations