Flexible Component Composition through Communication Abstraction

Fabian Gilson, Vincent Englebert


Software architectures are often abstracted as a combination of reusable components connected to each other by various means. Specifications of components' semantics have been widely studied and many modeling languages have been proposed from coarse-grained loosely-defined elements to operational objects with behavioral semantics that may be generated and executed in a dedicated framework. All these modeling facilities have proven their advantages in many domains through either case studies or real-world applications. However, most of those approaches either consider a subset of composition facilities, \textit{i.e.} the available types of bindings between components, or do not even consider communication properties at all, staying at behavioral-related compatibility between components. Verifications of communication-related properties are then postponed to the hand of software developers and finally considered at deployment-time only. Part of a general architecture framework, we propose an abstraction formalism to specify communication paths between components. This modeling facility relies on a taxonomy of types of links and the specifications of communication protocols. This protocol serves as a \textit{reification} element between abstract component compositions, architecture instances and deployment infrastructure, making explicit communication-related constraints and properties.


  1. Beugnard, A., Jézéquel, J.-M., Plouzeau, N., and Watkins, D. (1999). Making components contract aware. Computer, 32(7):38-45.
  2. Dashofy, E. M., Hoek, A. v. d., and Taylor, R. N. (2005). A comprehensive approach for the development of modular software architecture description languages. ACM Trans. Softw. Eng. Methodol., 14(2):199-245.
  3. de Jonge, M. (2003). To Reuse or to be Reused - Techniques for Component Composition and Construction. PhD thesis, Universiteit van Amsterdam.
  4. Garlan, D., Monroe, R. T., and Wile, D. (1997). Acme: An architecture description interchange language. In Conference of the Centre for Advanced Studies on Collaborative research (CASCON 97), pages 169- 183, Toronto, Ontario.
  5. Gilson, F. (2015). Transformation-Wise Software Architecture Framework. Presse Universitaire de Namur, Namur (Belgium). Ph.D. Thesis.
  6. Gössler, G. and Sifakis, J. (2005). Composition for component-based modeling. Science of Computer Programming, 55(1-3):161 - 183. Formal Methods for Components and Objects: Pragmatic aspects and applications.
  7. Grinkrug, E. (2014). Dynamic component composition. International Journal of Software Engineering & Applications, 5(4).
  8. Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., and Tang, A. (2013). What industry needs from architectural languages: A survey. IEEE Trans. Softw. Eng., 39(6):869-891.
  9. Object Management Group (2011). OMG Unified Modeling Language (OMG UML), Superstructure, version 2.4.1, chapter 8, pages 161-182. Object Management Group. OMG document formal/2011-08-06.
  10. Object Management Group (2012). OMG Systems Modeling Language (OMG SysML™), version 1.3. OMG document formal/2012-06-01.
  11. Open Group (2013). Open Group Standard ArchiMate®2.1 Specification. Document Number: C13L.
  12. Oquendo, F. (2004). p-adl: an architecture description language based on the higher-order typed p-calculus for specifying dynamic and mobile software architectures. SIGSOFT Software Engineering Notes, 29(3):1-14.
  13. Society of Automotive Engineers (2012). Architecture Analysis & Design Language (AADL). Standard number AS5506 Revision: B.
  14. Szyperski, C. (2002). Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2nd edition.

Paper Citation

in Harvard Style

Gilson F. and Englebert V. (2016). Flexible Component Composition through Communication Abstraction . In Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-168-7, pages 442-449. DOI: 10.5220/0005830304420449

in Bibtex Style

author={Fabian Gilson and Vincent Englebert},
title={Flexible Component Composition through Communication Abstraction},
booktitle={Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},

in EndNote Style

JO - Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Flexible Component Composition through Communication Abstraction
SN - 978-989-758-168-7
AU - Gilson F.
AU - Englebert V.
PY - 2016
SP - 442
EP - 449
DO - 10.5220/0005830304420449