Formal Aspects of Computing

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

A general framework for architecture composability

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

Abstract

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 A1 and A2 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.

Keywords

Architecture composability Component-based frameworks Safety Liveness BIP 

References

  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. http://infoscience.epfl.ch/record/196536
  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–366MathSciNetCrossRefMATHGoogle 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–120MathSciNetCrossRefMATHGoogle 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–194CrossRefMATHGoogle 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–141CrossRefMATHGoogle 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 YorkMATHGoogle 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–84CrossRefMATHGoogle 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–160MathSciNetCrossRefMATHGoogle 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 (http://creativecommons.org/licenses/by/4.0/), 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