HOL-Z in the UniForM-Workbench – A Case Study in Tool Integration for Z

  • C. Lüth
  • E. W. Karlsen
  • ( ) Kolyang
  • S. Westmeier
  • B. Wolff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1493)


The UniForM-Workbench is an open tool-integration environment providing type-safe communication, a toolkit for graphical user-interfaces, version management and configuration management.

We demonstrate how to integrate several tools for the Z specification language into the workbench, obtaining an instantiation of the workbench suited as a software development environment for Z. In the core of the setting, we use the encoding HOL-Z of Z into Isabelle as semantic foundation and for formal reasoning with Z specifications. In addition to this, external tools like editors and small utilities are integrated, showing the integration of both self-developed and externally developed tools.

The resulting prototype demonstrates the viability of our approach to combine public domain tools into a generic software development environment using a strongly typed functional language.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bahlke, R., Snelting, G.: The PSG system: From formal language definitions to interactive programming environments. ACM Transactions on Programming Languages and Systems (October 1986)Google Scholar
  2. 2.
    Bloesch, A., Kazmierczak, E., Kearney, P., Traynor, O.: Cogito: A methodology and system for formal development. International Journal of Software Engineering 4(3) (1995)Google Scholar
  3. 3.
    Bowen, J.P., Gordon, M.J.C.: Z and HOL. In: Bowen, J.P., Hall, J.A. (eds.) Workshops in Computing, Z Users Workshops, Cambridge, UK, pp. 141–167. Springer, Heidelberg (1994)Google Scholar
  4. 4.
    The H-PCTE Crew. H-PCTE vs. PCTE, version 2.8. Technical report, Universität Siegen (June 1996)Google Scholar
  5. 5.
    ECMA. Reference model for frameworks of software engineering environments. Technical Report TR/55, European Computer Manufacturers Association (June 1993)Google Scholar
  6. 6.
    ECMA. Portable Common Tool Environment (PCTE) – Abstract Specification. European Computer Manufacturers Association, 3 edition, Standard ECMA-149 (December 1994)Google Scholar
  7. 7.
    Open Software Foundation. OSF/Motif Series. Prentice Hall (1992)Google Scholar
  8. 8.
    Fröhlich, M., Werner, M.: daVinci V2.0.3 online documentation. Universität Bremen, German (1997), http://www.informatik.uni-bremen.de/~davinci/
  9. 9.
    Habermann, A.N., Notkin, D.: Gandalf: Software Development Environments. IEEE Transactions on Software Engineering (December 1985)Google Scholar
  10. 10.
    Hudak, P., Peyton Jones, S.L., Wadler, P.: Report on the programming language Haskell – a non strict purely functional language. version 1.2. ACM SIGPLAN notices 27(5), 1–162 (1992)Google Scholar
  11. 11.
    Jones, R.B.: ICL ProofPower. BCS FACS FACTS, Series III 1(1), 10–13 (1992)Google Scholar
  12. 12.
    Karlsen, E.W.: Integrating interactive tools using concurrent Haskell and synchronous events. In: CLaPF 1997: 2nd Latin-American Conference on Functional Programming (September 1997)Google Scholar
  13. 13.
    Karlsen, E.W.: The UniForM concurrency toolkit and its extensions to concurrent Haskell. In: GWFP 1997: Glasgow Workshop on Functional Programming (September 1997)Google Scholar
  14. 14.
    Karlsen, E.W.: The UniForM user interaction manager. Draft technical report, FB 3, Universität Bremen (1998)Google Scholar
  15. 15.
    Karlsen, E.W.: The UniForM WorkBench – a higher order tool integration framework. In: International Workshop on Current Trends in Applied Formal Methods, Boppard, Germany, October 7–9 (1998), http://www.dfki.de/vse/fm-trends/
  16. 16.
    Karlsen, E.W., Westmeier, S.: Using concurrent haskell to develop views over an active repository. In: Clack, C., Hammond, K., Davie, T. (eds.) IFL 1997. LNCS, vol. 1467, p. 285. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  17. 17.
    Kolyang, Lüth, C., Meier, T., Wolff, B.: TAS and IsaWin: Generic interfaces for transformational program development and theorem proving. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 855–859. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  18. 18.
    Kolyang, Santen, T., Wolff, B.: A structure preserving encoding of Z in Isabelle/ HOL. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 283–298. Springer, Heidelberg (1996)Google Scholar
  19. 19.
    Kraan, I., Baumann, P.: Implementing Z in Isabelle. In: Bowen, J.P., Hinchey, M. (eds.) ZUM 1995. LNCS, vol. 967, pp. 355–373. Springer, Heidelberg (1995)Google Scholar
  20. 20.
    Krasner, G., Pope, S.: A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. Journal of Object Oriented Programming 1(3), 26–49 (1988)Google Scholar
  21. 21.
    Lacroix, M., Vanhoedenaghe, M. (eds.): Tool Integration in an Open Environment. LNCS, vol. 387. Springer, Heidelberg (1989)Google Scholar
  22. 22.
    Libes, D.: expect: Scripts for controlling interactive processes. Computing Systems 4(2) (Spring 1991)Google Scholar
  23. 23.
    Nagl, M. (ed.): IPSEN 1996. LNCS, vol. 1170. Springer, Heidelberg (1996)Google Scholar
  24. 24.
    Nicholls, J., The Z Standards Panel: Z notation (September 1995), http://www.comlab.ox.ac.uk/oucl/groups/zstandards/
  25. 25.
    Ousterhout, J.K.: Tcl and the Tk Toolkit. Addison-Wesley, Reading (1994)MATHGoogle Scholar
  26. 26.
    Paulson, L.C. (ed.): Isabelle – A Generic Theorem Prover. LNCS, vol. 828. Springer, Heidelberg (1994)MATHGoogle Scholar
  27. 27.
    Peyton Jones, S., Gordon, A., Finne, S.: Concurrent Haskell. In: Principles of Programming Languages 1996 (POPL 1996), Florida (1996)Google Scholar
  28. 28.
    Reif, W., Schellhorn, G., Stenzel, K.: Proving system correctness with KIV. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 859–862. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  29. 29.
    Reppy, J.H.: Higher-Order Concurrency. PhD thesis, Department of Computer Science, Cornell University, USA (1992)Google Scholar
  30. 30.
    Reps, T.: Generating Language Based Environments. PhD Thesis, Cornell University, USA. MIT Press (1983)Google Scholar
  31. 31.
    Schefström, D., van den Broek, G.: Tool Integration. John Wiley & Sons, Chichester (1993)Google Scholar
  32. 32.
    Westmeier, S.: Verwaltung versionierter persistenter objekte in der UniForM Work- Bench (UniForM OMS toolkit). Diplomarbeit, FB 3, Universität Bremen, Germany (January 1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • C. Lüth
    • 1
  • E. W. Karlsen
    • 1
  • ( ) Kolyang
    • 1
  • S. Westmeier
    • 1
  • B. Wolff
    • 2
  1. 1.Bremen Institute for Safe Systems, FB 3Universität BremenBremenGermany
  2. 2.Institut für InformatikUniversität FreiburgGermany

Personalised recommendations