Skip to main content

The UniForM WorkBench A Higher Order Tool Integration Framework

  • Conference paper
Applied Formal Methods — FM-Trends 98 (FM-Trends 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1641))

Included in the following conference series:

Abstract

The UniForM Workbench is an open ended tool integration framework for developing (formal) Software Development Environments (SDE) from the basis of prefabricated off-the-shelf development tools. The integration framework provides support for data, control and presentation integration as well as utilities for wrapping Haskell interfaces around existing development tools. Entire SDE’s are then glued together on the basis of these encapsulations using Concurrent Haskell as the integration language, thus allowing integration to be done at a level of abstraction that is very close to the one offered by constructive formal specifications. So far, the integration framework has successfully been used to integrate tools for Haskell program development as well as specification and proof tools for Z specifications.

This work has been supported by the German Ministry for Education and Research (BMBF) as part of the project UniForM under grant No. FKZ 01 IS 521 B2.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press, Cambridge, Massachusetts, 1986.

    Google Scholar 

  2. R. Bahlke and G. Snelting. The PSG System: From Formal Language Definitions to Interactive Programming Environments. ACM Transactions on Programming Languages and Systems, October 1986.

    Google Scholar 

  3. J. A. Bergstra and P. Klint. The Toolbus-a Component Interconnection Architecture. Technical Report P9408, University of Amsterdam, 1994.

    Google Scholar 

  4. D. Bjørner and C. B. Jones. Formal Specification and Software Development. International Series in Computer Science. Prentice-Hall, 1982.

    Google Scholar 

  5. B. Borras and D. Clement. CENTAUR: the system. ACM SIGPLAN notices, 24(2), 1989.

    Google Scholar 

  6. Microsoft Corporation. The Component Object Model Specification, 1998.

    Google Scholar 

  7. The H-PCTE Crew. H-PCTE vs. PCTE, version 2.8. Technical report, Universität Siegen, June 1996.

    Google Scholar 

  8. A. Deursen, J. Heering, and P. Kling, editors. Language Prototyping-An Algebraic Specification Approach, volume 5 of AMAST Series in Computing. World Scientific, 1996.

    Google Scholar 

  9. ECMA. Reference Model for Frameworks of Software Engineering Environments, 3 edition, June 1993.

    Google Scholar 

  10. ECMA. Portable Common Tool Environment (PCTE) — Abstract Specification. European Computer Manufacturers Association, 3 edition, December 1994. Standard ECMA-149.

    Google Scholar 

  11. Open Software Foundation. OSF/Motif Series. Prentice Hall, 1992.

    Google Scholar 

  12. M. Fröhlich and M. Werner, da Vinci V2.0.3 Online Documentation. Universität Bremen, http://www.informatik.vmi-bremen.de/~davinci, 1997.

  13. A.N. Habermann and D. Notkin. Gandalf: Software Development Environments. IEEE Transactions on Software Engineering, December 1985.

    Google Scholar 

  14. P. Hudak and M. P. Jones. Haskell vs. Ada vs. C++ vs. Awk vs....-An Experiment in Software Prototyping Productivity. Technical report, Department of Computer Science, Yale University, July 1994.

    Google Scholar 

  15. P. Hudak, S. L. Peyton Jones, and P. Wadler. Report on the Programming Language Haskell-a non strict purely functional language, version 1.2. ACM SIG-PLAN notices, 27(5):1–162, 1992.

    Google Scholar 

  16. M. P. Jones and J. C. Peterson. Hugs 1.4, The Nottingham and Yale Haskell User’s System, April 1997.

    Google Scholar 

  17. E. W. Karlsen. Integrating Interactive Tools using Concurrent Haskell and Synchronous Events. In CLaPF’97: 2nd Latin-American Conference on Functional Programming, September 1997.

    Google Scholar 

  18. E. W. Karlsen. The UniForM Concurrency Toolkit and its Extensions to Concurrent Haskell. In GWFP’97: Glasgow Workshop on Functional Programming, September 1997.

    Google Scholar 

  19. E. W. Karlsen. Tool Integration in a Functional Setting. Forthcoming dissertation, Universität Bremen, August 1998.

    Google Scholar 

  20. E. W. Karlsen and S. Westmeier. Using Concurrent Haskell to Develop Views over an Active Repository. In IFL’97: Implementation of Functional Languages, September 1997.

    Google Scholar 

  21. Kolyang, C. Lüth, T. Meyer, and B. Wolff. TAS and IsaWin: Generic Interfaces for Transformational Program Development and Theorem Proving. In Proc. TAP-SOFT’97, volume 1214 of LNCS. Springer Verlag, 1997.

    Chapter  Google Scholar 

  22. Kolyang, T. Santen, and B. Wolff. A Structure Preserving Encoding of Z in Isabelle/HOL. In 1996 International Conference on Theorem Proving in Higher Order Logic, volume 1125 of LNCS. Springer Verlag, 1996.

    Google Scholar 

  23. G. Krasner and S. Pope. 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 

  24. B. Krieg-Brückner. UniForM Perspectives for Formal Methods. In International Workshop on Current Trends in Applied Formal Methods, October 1998.

    Google Scholar 

  25. B. Krieg-Brückner and B. Hoffmann, editors. Program Development by Specification and Transformation: The PROSPECTRA Methodology, Language Family and System, volume 680 of LNCS. Springer Verlag, 1992.

    Google Scholar 

  26. B. Krieg-Brückner, J. Peleska, E. R. Olderog, D. Balzer, and A. Baer. Universal Formal Methods Workbench. In U. Grote and G. Wolf, editors, Statusseminar des BMBF: Softwaretechnologie. Deutsche Forshungsanstalt für Luft-und Raumfahrt, Berlin, 1996. Available at http://www.informatik.uni-bremen.de/uniform.

    Google Scholar 

  27. M. Lacroix and M. Vanhoedenaghe, editors. Tool Integration in an Open Environment, volume 387 of LNCS. Springer Verlag, 1989.

    Google Scholar 

  28. C. Lewerentz. Extended Programming in the Large in Software Development Environments. ACM SIGPLAN Notices, 24(2), February 1989.

    Google Scholar 

  29. D. Libes. expect: Scripts for controlling interactive processes. In Computing Systems, Vol 4, No. 2, Spring 1991.

    Google Scholar 

  30. C. Lüth, E. W. Karlsen, Kolyang, S. Westmeier, and B. Wolff. HOL-Z in the UniForM WorkBench-a Case Study in Tool Integration for Z. In Proceedings of ZUM’98: 11th International Conference of Z Users, September 1998.

    Google Scholar 

  31. C. Lüth, E. W. Karlsen, Kolyang, S. Westmeier, and B. Wolff. Tool Integration in the UniForM WorkBench. In Proceedings of TOOLS’98: Workshop on Tool Support for System Specification, Development, and Verification, June 1998.

    Google Scholar 

  32. R. Milner. Communication and Concurrency. Prentice Hall, 1989.

    Google Scholar 

  33. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.

    Google Scholar 

  34. B. A. Myers. Separating Application Code from Toolkits: Eliminating the Spaghetti of Call-Backs. In Proceedings of the ACM Symposium on User Interface Software and Technology, November 1991.

    Google Scholar 

  35. J. Nicholls and The Z Standards Panel. Z notation, September 1995. Available at http://www.comlab.ox.ac.uk/oucl/groups/zstandards/.

  36. W. Norzel. Building Abstractions for Concurrent Programming in Concurrent Haskell. Master thesis, Universität Bremen, April 1997.

    Google Scholar 

  37. OMG. The Common Object Request Broker: Architecture and Specification, Revision 2.0. Technical report, The Object Management Group, July 1995.

    Google Scholar 

  38. J. K. Ousterhout. Tcl and the Tk Toolkit. Addison Wesley, 1994.

    Google Scholar 

  39. L. Paulson, editor. Isabelle: A Generic Theorem Prover, volume 828 of LNCS. Springer Verlag, 1995.

    Google Scholar 

  40. S. Peyton Jones, A. Gordon, and S. Finne. Concurrent Haskell. In Principles of Programming Languages’ 96 (POPL’ 96), Florida, 1996.

    Google Scholar 

  41. S. Peyton Jones, E. Meijer, and D. Leijen. Scripting COM components in Haskell. Submitted to Software Reuse, 1998.

    Google Scholar 

  42. S. Peyton Jones, T. Nordin, and A. Reid. Green card: a Foreign-Language Interface for Haskell. In Proc. Haskell Workshop, 1997.

    Google Scholar 

  43. S. Peyton Jones and P. Wadler. Imperative Functional Programming. In Proc. 20th ACM Symposium on Principles of Functional Programming, 1993.

    Google Scholar 

  44. D. Walker R. Milner, J. Parrow. A calculus of mobile processes, part i. Department of Computer Science, University of Edinburgh, June 1989.

    Google Scholar 

  45. J. H. Reppy. Higher-Order Concurrency. PhD thesis, Department of Computer Science, Cornell University, 1992.

    Google Scholar 

  46. T. Reps. Generating Language Based Environments. PhD Thesis, Cornell University. MIT Press, 1983.

    Google Scholar 

  47. D. Sangiorgi. Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD thesis, Department of Computer Science, The University of Edinburgh, 1993. CST-99-93.

    Google Scholar 

  48. D. Schefström and G. van den Broek. Tool Integration. Wiley, 1993.

    Google Scholar 

  49. M. Spivey. The Z Notation: A Reference Manual. Prentice Hall, 1992. 2nd edition.

    Google Scholar 

  50. The GHC Team. The Glorius Glasgow Haskell Compilation System, Version 2.10, User’s Guide, January 1998.

    Google Scholar 

  51. T. Vullings, W. Schulte, and T. Schwinn. The Design of a Functional GUI Library using Constructor Classes. In Perspectives of System Informatics, LNCS. Springer Verlag, 1996.

    Google Scholar 

  52. S. Westmeier. Verwaltung versionierter persistenter Objekte in der UniForM Workbench (UniForM OMS Toolkit). Master thesis, Universität Bremen, February 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Karlsen, E.W. (1999). The UniForM WorkBench A Higher Order Tool Integration Framework. In: Hutter, D., Stephan, W., Traverso, P., Ullmann, M. (eds) Applied Formal Methods — FM-Trends 98. FM-Trends 1998. Lecture Notes in Computer Science, vol 1641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48257-1_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-48257-1_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66462-8

  • Online ISBN: 978-3-540-48257-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics