Towards Formal Verification of ToolBus Scripts

  • Wan Fokkink
  • Paul Klint
  • Bert Lisser
  • Yaroslav S. Usenko
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5140)

Abstract

ToolBus allows one to connect tools via a software bus. Programming is done using the scripting language Tscript, which is based on the process algebra ACP. Tscript was originally designed to enable formal verification, but this option has so far not been explored in any detail. We present a method for analyzing a Tscript by translating it to the process algebraic language mCRL2, and then applying model checking to verify behavioral properties.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bergstra, J., 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
  2. 2.
    Bergstra, J., Klint, P.: The discrete time ToolBus - a software coordination architecture. Sci. Comput. Program. 31(2-3), 205–229 (1998)MATHCrossRefGoogle Scholar
  3. 3.
    Bergstra, J., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60(1-3), 109–137 (1984)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Groote, J.F., Mathijssen, A., Reniers, M., Usenko, Y., van Weerdenburg, M.: The formal specification language mCRL2. In: Proc. Methods for Modelling Software Systems. Number 06351 in Dagstuhl Seminar Proceedings (2007)Google Scholar
  5. 5.
    Bergstra, J., Heering, J., Klint, P.: Module algebra. J. ACM 37(2), 335–372 (1990)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Garavel, H., Mateescu, R., Lang, F., Serwe, W.: CADP 2006: A toolbox for the construction and analysis of distributed processes. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 158–163. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Wing, J.: Writing Larch interface language specifications. ACM TOPLAS 9(1), 1–24 (1987)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Guaspari, D., Marceau, C., Polak, W.: Formal verification of Ada programs. IEEE Trans. Software Eng. 16(9), 1058–1075 (1990)CrossRefGoogle Scholar
  9. 9.
    Zhao, J., Rinard, M.: Pipa: A behavioral interface specification language for AspectJ. In: Pezzé, M. (ed.) ETAPS 2003 and FASE 2003. LNCS, vol. 2621, pp. 150–165. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Larsson, D., Alexandersson, R.: Formal verification of fault tolerance aspects. In: Proc. ISSRE 2005, pp. 279–280. IEEE, Los Alamitos (2005)Google Scholar
  12. 12.
    Diertens, B.: Simulation and animation of process algebra specifications. Technical Report P9713, University of Amsterdam (1997)Google Scholar
  13. 13.
    Diertens, B.: Software (re-)engineering with PSF III: An IDE for PSF. Technical Report PRG0708, University of Amsterdam (2007)Google Scholar
  14. 14.
    van den Brand, M., de Jong, H., Klint, P., Olivier, P.: Efficient annotated terms. Softw. Pract. Exper. 30(3), 259–291 (2000)CrossRefGoogle Scholar
  15. 15.
    Klint, P.: A meta-environment for generating programming environments. ACM TOSEM 2(2), 176–201 (1993)CrossRefGoogle Scholar
  16. 16.
    van den Brand, M., van Deursen, A., Heering, J., de Jong, H., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P., Scheerder, J., Vinju, J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: a Component-Based Language Development Environment. In: Wilhelm, R. (ed.) CC 2001 and ETAPS 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  17. 17.
    Fokkink, W., Ioustinova, N., Kesseler, E., van de Pol, J., Usenko, Y., Yushtein, Y.: Refinement and verification applied to an in-flight data acquisition unit. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 1–23. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Blom, S., Ioustinova, N., Sidorova, N.: Timed verification with μCRL. In: Broy, M., Zamulin, A.V. (eds.) PSI 2003. LNCS, vol. 2890, pp. 178–192. Springer, Heidelberg (2004)Google Scholar
  19. 19.
    Wijs, A.: Achieving discrete relative timing with untimed process algebra. In: Proc. ICECCS 2007, pp. 35–46. IEEE, Los Alamitos (2007)Google Scholar
  20. 20.
    Alur, R., Dill, D.: A theory of timed automata. Theor. Comput. Sci. 126, 183–235 (1994)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Alur, R.: Timed automata. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 8–22. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Groote, J.F., Reniers, M., Usenko, Y.: Time abstraction in timed μCRL a la regions. In: Proc. IPDPS 2006. IEEE, Los Alamitos (2006)Google Scholar
  23. 23.
    Valero Espada, M., van de Pol, J.: An abstract interpretation toolkit for μCRL. Formal Methods in System Design 30(3), 249–273 (2007)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Wan Fokkink
    • 1
    • 2
  • Paul Klint
    • 1
    • 3
  • Bert Lisser
    • 1
  • Yaroslav S. Usenko
    • 1
    • 4
  1. 1.Software Engineering ClusterCentrum voor Wiskunde en InformaticaAmsterdamThe Netherlands
  2. 2.Theoretical Computer Science SectionVrije Universiteit AmsterdamThe Netherlands
  3. 3.Programming Research GroupUniversiteit van AmsterdamThe Netherlands
  4. 4.Laboratory for Quality Software (LaQuSo)Technische Universiteit EindhovenThe Netherlands

Personalised recommendations