Towards a Colimit-Based Semantics for Visual Programming

  • Jeremy Gibbons
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2315)


Software architects such as Garlan and Katz promote the separation of computation from coordination. They encourage the study of connectors as first-class entities,and superposition of connectors onto components as a paradigm for component-oriented programming. We demonstrate that this is a good model for what visual programming tools like IBM’s VisualAge actually do. Moreover,Fiadeiro and Maibaum’s categorical semantics of parallel programs is applicable to this model,so we can make progress towards a formal semantics of visual programming.


Design Pattern Software Architecture Categorical Semantic Formal Semantic Visual Program 
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.
    R. Allen and D. Garlan. A formal basis for architectural connection. ACM Transactions on Software Engineering Methodology,6(3),1997.Google Scholar
  2. 2.
    S. Bünnig, P. Forbrig, R. Lämmel,and N. Seemann. A programming language for design patterns. In Arbeitstagung Programmiersprachen, Paderborn, October 1999.Google Scholar
  3. 3.
    J. L. Fiadeiro and T.S.E. Maibaum. Categorical semantics of parallel program design. Science of Computer Programming,28(2–3):111–138,1997.zbMATHCrossRefGoogle Scholar
  4. 4.
    E. Gamma, R. Helm, R. Johnson,and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley,1995.Google Scholar
  5. 5.
    J.A. Goguen. Categorical foundations of general systems theory. In F. Pichler and R. Trappl,editors, Advances in Cybernetics and Systems Research,pages 121–130. Transcripta,1973.Google Scholar
  6. 6.
    J. Gosling, B. Joy,and G. Steele. Java Language Specification. Addison-Wesley, 1996.Google Scholar
  7. 7.
    IBM. VisualAge for Java.
  8. 8.
    B. Jacobs. Objects and classes,coalgebraically. In B. Freitag, C. B. Jones, C. Lengauer,and H.-J. Schek,editors, Object-Orientation with Parallelism and Persistence,pages 83–103. Kluwer,1996.Google Scholar
  9. 9.
    S. Katz. A superimposition control construct for distributed systems. ACM Transactions on Programming Languages and Systems,15(2):337–356,1993.CrossRefGoogle Scholar
  10. 10.
    Sun Microsystems. JavaBeans specification.,1997.
  11. 11.
    L. Mikhajlov and E. Sekerinski. A study of the Fragile Base Class problem. In European Conference on Object-Oriented Programming,pages 355–382,1998.Google Scholar
  12. 12.
    B.C. Pierce. Basic Category Theory for Computer Science. MIT Press,1991.Google Scholar
  13. 13.
    M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall,1996.Google Scholar
  14. 14.
    A. Snyder. Encapsulation and inheritance in object-oriented programming languages. In M. Meyrowitz,editor, Object-Oriented Programming, Systems, Languages and Applications,pages 38–45,1986. SIGPLAN Notices 21(11).Google Scholar
  15. 15.
    Y. V. Srinivas and R. Jüllig. SpecWare: Formal support for composing software. In Bernhard Möller,editor, LNCS 947: Mathematics of Program Construction. Springer-Verlag,1995.Google Scholar
  16. 16.
    Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley,1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Jeremy Gibbons
    • 1
  1. 1.University of OxfordOxford

Personalised recommendations