ToolBus: The Next Generation

  • Hayco de Jong
  • Paul Klint
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2852)


The ToolBus is a software coordination architecture for the integration of components written in different languages running on different computers. It has been used since 1994 in a variety of projects, most notably in the complete renovation of the Asf+Sdf Meta-Environment. In this paper we summarize the experience that has been gained in these projects and sketch preliminary ideas how the ToolBus can be further improved. Topics to be discussed include the structuring of message exchanges, crash recovery in distributed applications, and call-by-value versus call-by-reference.


Parse Tree Object Management Group Exception Handling Remote Object Address Book 
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.
    Klint, P.: A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology 2, 176–201 (1993)CrossRefGoogle Scholar
  2. 2.
    van den Brand, M.G.J., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: a Component-Based Language Development Environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Bakker, H.C.N., Koorn, J.W.C.: Building an editor from existing components: an exercise in software re-use. Technical Report P9312, Programming Research Group, University of Amsterdam (1993)Google Scholar
  4. 4.
    van Vlijmen, S.F.M., Vriend, P.N., van Waveren, A.: Control and data transfer in the distributed editor of the ASF+SDF meta-environment. Technical Report P9415, University of Amsterdam, Programming Research Group (1994)Google Scholar
  5. 5.
    Mauw, S., Veltink, G.J.: A process specification formalism. Fundamenta Informaticae XIII, 85–139 (1990)Google Scholar
  6. 6.
    Bergstra, J.A., Klint, P.: The ToolBus: a component interconnection architecture. Technical Report P9408, University of Amsterdam, Programming Research Group (1994)Google Scholar
  7. 7.
    Bergstra, J.A., Klint, P.: The ToolBus coordination architecture. In: Hankin, C., Ciancarini, P. (eds.) COORDINATION 1996. LNCS, vol. 1061, pp. 75–88. Springer, Heidelberg (1996)Google Scholar
  8. 8.
    Bergstra, J.A., Klop, J.W.: Process algebra: specification and verification in bisimulation semantics. In: Hazewinkel, M., Lenstra, J.K., Meertens, L.G.L.T. (eds.) Mathematics & Computer Science II. CWI Monograph., vol. 4. North-Holland, Amsterdam (1986)Google Scholar
  9. 9.
    Olivier, P.A.: Embedded system simulation: testdriving the ToolBus. Technical Report P9601, University of Amsterdam, Programming Research Group (1996)Google Scholar
  10. 10.
    Dams, D., Groote, J.F.: Specification and Implementation of Components of a muCRL toolbox. Logic Group Preprint Series 152, Utrecht University, Dept. of Philosoph (1995)Google Scholar
  11. 11.
    Lisser, B., van Wamel, J.J.: Specification of components in a proposition solver. Technical Report SEN-R9720, Centrum voorWiskunde en Informatica, CWI (1997)Google Scholar
  12. 12.
    Diertens, B.: Simulation and animation of process algebra specifications. Technical Report P9713, Programming Research Group, University of Amsterdam (1997)Google Scholar
  13. 13.
    Bergstra, J.A., Klint, P.: The discrete time ToolBus. Technical Report P9502, University of Amsterdam, Programming Research Group (1995)Google Scholar
  14. 14.
    Bergstra, J.A., Klint, P.: The discrete time ToolBus. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 286–305. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  15. 15.
    Bergstra, J.A., Klint, P.: The discrete time ToolBus—a software coordination architecture. Science of Computer Programming 31, 205–229 (1998)zbMATHCrossRefGoogle Scholar
  16. 16.
    van den Brand, M.G.J., Heering, J., Klint, P.: Renovation of theASF+SDF meta-environment - current state of affairs. In: Sellink, M.P.A. (ed.) Proceedings of the 2nd International Workshop on the Theory and Practice of Algebraic Specifications. electronic Workshops in Computing, Springer, Heidelberg (1997)Google Scholar
  17. 17.
    van den Brand, M.G.J., de Jong, H.A., Klint, P., Olivier, P.A.: Efficient Annotated Terms. Software, Practice & Experience 30, 259–291 (2000)CrossRefGoogle Scholar
  18. 18.
    Olivier, P.A.: A Framework for Debugging Heterogeneous Applications. PhD thesis, University of Amsterdam (2000)Google Scholar
  19. 19.
    van de Brand, M.G.J., Moreau, P.E., Vinju, J.J.: Environments for Term Rewriting Engines for Free. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, Springer, Heidelberg (2003) (to appear)CrossRefGoogle Scholar
  20. 20.
    Gelernter, D., Carriero, N.: Coordination languages and their significance. Communications of the ACM 35, 96 (1992)CrossRefGoogle Scholar
  21. 21.
    de Jong, H.A., Olivier, P.A.: Generation of abstract programming interfaces from syntax definitions. Technical Report SEN-R0212, St. Centrum voorWiskunde en Informatica (CWI), Submitted to Journal of Logic and Algebraic Programming (2002)Google Scholar
  22. 22.
    Mosses, P.D.: System demonstration: Action semantics tools. In: van den Brand, M.G.J., Lämmel, R. (eds.) Proceedings of the Second Workshop on Language Descriptions, Tools and Applications (LDTA 2002). Electronic Notes in Theoretical Computer Science, vol. 65.3 (2002)Google Scholar
  23. 23.
    van de Brand, M.G.J., Ringeissen, C.: ASF+SDF parsing tools applied to ELAN. In: Futatsugi, K. (ed.) Third International Workshop on Rewriting Logic and its Applications (WRLA 2000). Electronic Notes in Theoretical Computer Science, vol. 36, Elsevier Science Publishers, Amsterdam (2001)Google Scholar
  24. 24.
    Blom, S.C.C., Fokkink, W.J., Groote, J.F., van Langevelde, I., Lisser, B., van de Pol, J.C.: μCRL: A toolset for analysing algebraic specifications. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 250–254. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  25. 25.
    Brinksma, E.: On the Design of Extended LOTOS–A Specification Language for Open Distributed Systems. PhD thesis, University Twente (1988)Google Scholar
  26. 26.
    Diertens, B.: New features in PSF I – Interrupts, Disrupts, and Priorities. Technical Report P9417, Programming Research Group, University of Amsterdam (1994)Google Scholar
  27. 27.
    Elnozahy, E.N.M., Alvisi, L., Wang, Y., Johnson, D.B.: A survey of rollback-recovery protocols in message-passing systems. ACM Computing Surveys (CSUR) 34, 375–408 (2002)CrossRefGoogle Scholar
  28. 28.
    Randell, B.: System structures for software fault tolerance. IEEE Transactions on Software Engineering SE-1, 21–232 (1975)Google Scholar
  29. 29.
    Klint, P.: A Study in String Processing Languages. LNCS, vol. 205. Springer, Heidelberg (1985)zbMATHGoogle Scholar
  30. 30.
    Zorzo, A., Romanovsky, A., Xu, J., Randell, B., Stroud, R., Welch, I.: Using coordinated atomic actions to design dependable distributed object systems. In: OOPSLA 1997 Workshop on Dependable Distributed Object Systems (1997)Google Scholar
  31. 31.
    Bergstra, J.A., Ponse, A., van Wamel, J.: Process algebra with backtracking. In: REX School/Symposium, pp. 46–91 (1993)Google Scholar
  32. 32.
    Object Management Group (OMG): The Common Object Request Broker: Architecture and Specification (1999),
  33. 33.
    Sun MicroSystems Inc.: Java Remote Method Specification (2003),
  34. 34.
    Object Management Group: CORBA IIOP Specification (2003),
  35. 35.
    Business Process Management Initiative: Business Process Modeling Language (2002),
  36. 36.
    W3C:World Wide Web Consortium: Web Services Description Language (2001),

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Hayco de Jong
    • 1
  • Paul Klint
    • 1
    • 2
  1. 1.Centrum voor Wiskunde en InformaticaAmsterdamThe Netherlands
  2. 2.Informatics InstituteUniversity of AmsterdamThe Netherlands

Personalised recommendations