A Heterogeneous Characterisation of Component-Based System Design in a Categorical Setting

  • Carlos Gustavo Lopez Pombo
  • Pablo F. Castro
  • Nazareno Aguirre
  • Tomas S. E. Maibaum
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8687)


In component-based design, components and communication mechanisms have a different nature; while the former represent the agents that cooperate to fulfill a certain goal, the latter formalise the communication mechanism through which these agents interact. A proper formalisation of the heterogeneity that arises from this difference requires one to employ the most adequate formalism for each of the parts of a specification and then proceed to merge the parts of the system specification characterised in different languages. The approach we propose in this paper is based on the notion of institution, and makes extensive use of institution representations in order to relate the specifications of components and communication mechanisms, each of which might be expressed in different formalisms. The contribution focuses on providing tools needed to engineer heterogeneous languages arising from particular choices for the specification of components and communication devices.


Software Architecture Institution Representation Linear Temporal Logic Communication Mechanism Equational Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bidoit, M., Sannella, D., Tarlecki, A.: Architectural Specifications in CASL. In: Haeberer, A.M. (ed.) AMAST 1998. LNCS, vol. 1548, pp. 341–357. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  2. 2.
    Mossakowski, T., Haxthausen, A., Sannella, D., Tarlecki, A.: CASL: The common algebraic specification language: Semantics and proof theory. Computing and Informatics 22 (2003)Google Scholar
  3. 3.
    Castro, P.F., Aguirre, N., López Pombo, C.G., Maibaum, T.: A Categorical Approach to Structuring and Promoting Z Specifications. In: Păsăreanu, C.S., Salaün, G. (eds.) FACS 2012. LNCS, vol. 7684, pp. 73–91. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  4. 4.
    Cengarle, M.V., Knapp, A., Tarlecki, A., Wirsing, M.: A Heterogeneous Approach To UML Semantics. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 383–402. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Diaconescu, R., Futatsugi, K.: Logical foundations of CafeOBJ. Theor. Comp. Sc. 285(2) (2002)Google Scholar
  6. 6.
    Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 2. Springer (1990)Google Scholar
  7. 7.
    Ehrig, H., Große-Rhode, M., Wolter, U.: On the Role of Category Theory in the Area of Algebraic Specification. In: Haveraaen, M., Owe, O., Dahl, O.-J. (eds.) Recent Trends in Data Type Specification. LNCS, pp. 17–48. Springer, Heidelberg (1996)Google Scholar
  8. 8.
    Allen Emerson, E.: Temporal and modal logic. Handbook of Theoretical Computer Science, vol. B. Elsevier (1990)Google Scholar
  9. 9.
    Fiadeiro, J., Maibaum, T.: Temporal Theories as Modularisation Units for Concurrent System Specification. Formal Asp. of Comp. 4(3) (1992)Google Scholar
  10. 10.
    Fiadeiro, J., Maibaum, T.: Describing, Structuring and Implementing Objects. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds.) Proc. of the REX Workshop. LNCS, vol. 489, pp. 274–310. Springer, Heidelberg (1991)Google Scholar
  11. 11.
    Fiadeiro, J., Wermelinger, M.: A graph transformation approach to software architecture reconfiguration. Sc. of Comp. Prog. 44(2) (2002)Google Scholar
  12. 12.
    Fiadeiro, J.L., Schmitt, V.: Structured Co-spans: An Algebra of Interaction Protocols. In: Mossakowski, T., Montanari, U., Haveraaen, M. (eds.) CALCO 2007. LNCS, vol. 4624, pp. 194–208. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Fiadeiro, J.: Categories for Software Engineering. Springer (2004)Google Scholar
  14. 14.
    Fiadeiro, J., Maibaum, T.S.E.: A Mathematical Toolbox for the Software Architect. In: Proc. Workshop on Software Specification and Design. IEEE (1995)Google Scholar
  15. 15.
    Fiadeiro, J., Maibaum, T.S.E.: Categorical Semantics of Parallel Program Design. Sc. of Comp. Prog. 28 (1997)Google Scholar
  16. 16.
    Garlan, D.: Software Architecture: A Roadmap. ACM (2000)Google Scholar
  17. 17.
    Garlan, D., Monroe, R., Wile, D.: Acme: an architecture description interchange language. In: Proc. of CASCON 1997 (1997)Google Scholar
  18. 18.
    Goguen, J., Burstall, R.: Institutions: Abstract Model Theory for Specification and Programming. Journal of the ACM 39(1) (1992)Google Scholar
  19. 19.
    Goguen, J., Rosu, G.: Institution Morphisms. Formal Asp. of Comp. 13 (2002)Google Scholar
  20. 20.
    Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press (2000)Google Scholar
  21. 21.
    Knapp, A., Marczynski, G., Wirsing, M., Zawlocki, A.: A Heterogeneous Approach to Service-Oriented Systems Specification. In: Proc. of SAC 2010. ACM (2010)Google Scholar
  22. 22.
    Lopes, A., Fiadeiro, J.: Superposition: composition vs refinement of non-deterministic, action-based systems. Formal Asp. of Comp. 16(1) (2004)Google Scholar
  23. 23.
    McLane, S.: Categories for working mathematicians. Springer (1971)Google Scholar
  24. 24.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer (1991)Google Scholar
  25. 25.
    Meseguer, J.: General Logics. In: Logic Colloquium 1987. North-Holland (1989)Google Scholar
  26. 26.
    Mossakowski, T.: Heterogeneous Theories and the Heterogeneous Tool Set. In: Semantic Interoperability and Integration, Dagstuhl Seminar Proc. (2005)Google Scholar
  27. 27.
    Mossakowski, T., Maeder, C., Lüttich, K.: The Heterogeneous Tool Set, Hets. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 519–522. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  28. 28.
    Mossakowski, T., Tarlecki, A.: Heterogeneous Logical Environments for Distributed Specifications. In: Corradini, A., Montanari, U. (eds.) WADT 2008. LNCS, vol. 5486, pp. 266–289. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  29. 29.
    Sannella, D., Tarlecki, A.: Foundations of Algebraic Specification and Formal Software Development. Springer (2012)Google Scholar
  30. 30.
    Tarlecki, A.: Moving Between Logical Systems. In: Haveraaen, M., Owe, O., Dahl, O.-J. (eds.) Proc. of COMPASS. LNCS, vol. 1130, pp. 478–502. Springer, Heidelberg (1996)Google Scholar
  31. 31.
    Tarlecki, A.: Toward Specifications for Reconfigurable Component Systems. In: Kleijn, J., Yakovlev, A. (eds.) ICATPN 2007. LNCS, vol. 4546, pp. 24–28. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  32. 32.
    Tarlecki, A.: Towards Heterogeneous Specifications. Frontiers of Combining Systems 2 (2000)Google Scholar
  33. 33.
    Wermelinger, M., Fiadeiro, J.: A graph transformation approach to software architecture reconfiguration. Sc. of Comp. Prog. 44(2) (2002)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Carlos Gustavo Lopez Pombo
    • 1
    • 3
  • Pablo F. Castro
    • 2
    • 3
  • Nazareno Aguirre
    • 2
    • 3
  • Tomas S. E. Maibaum
    • 4
  1. 1.Department of Computing, FCEyNUniversidad de Buenos AiresArgentina
  2. 2.Department of Computing, FCEFQyNUniversidad Nacional de Río CuartoArgentina
  3. 3.Consejo Nacional de Investigaciones Científicas y Tecnológicas (CONICET)Argentina
  4. 4.Department of Computing & SoftwareMcMaster UniversityCanada

Personalised recommendations