Skip to main content

Compiling Formal Specifications to Oz Programs

  • Conference paper
Multiparadigm Programming in Mozart/Oz (MOZ 2004)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3389))

Included in the following conference series:

Abstract

Although formal methods have the potential to greatly enhance software development, they have not been widely used in industry (particularly in the United States). We have developed a system for executing specifications by compiling them to Oz programs. Executability is a great aid in developing specifications, and also increases the usefulness of specifications by allowing them to serve as prototypes and test oracles. In this work, we describe how we have used the Oz language both as a translation target and in implementing a library of procedures used by the generated programs. Oz is ideal for our purposes, as it has allowed us to easily use declarative, concurrent constraint and graphical user interface programming together within a single framework.

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. Jones, C.B.: Systematic Software Development Using VDM, 2nd edn. International Series in Computer Science. Prentice Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  2. Fitzgerald, J.S., Larsen, P.G.: Modelling Systems: Practical Tools and Techniques in Software Development. Cambridge University Press, Cambridge (1998) ISBN 0521623480

    MATH  Google Scholar 

  3. Spivey, J.M.: An introduction to Z and formal specifications. Software Engineering Journal 4, 40–50 (1989)

    Article  Google Scholar 

  4. Davies, J., Woodcock, J.C.P.: Using Z: Specification, Refinement and Proof. International Series in Computer Science. Prentice Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  5. Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996) ISBN 0 521 49619 5

    Book  MATH  Google Scholar 

  6. B-Core(UK) Ltd: B-Core website (2004), http://www.B-core.com/

  7. Leavens, G.T., Leino, K.R.M., Poll, E., Ruby, C., Jacobs, B.: JML: notations and tools supporting detailed design in Java. In: OOPSLA 2000 Companion, Minneapolis, Minnesota, pp. 105–106. ACM, New York (2000)

    Google Scholar 

  8. Wahls, T., Leavens, G.T.: Formal semantics of an algorithm for translating model-based specifications to concurrent constraint programs. In: Proceedings of the 16th ACM Symposium on Applied Computing, Las Vega, Nevada, pp. 567–575 (2001)

    Google Scholar 

  9. Wahls, T., Leavens, G.T., Baker, A.L.: Executing formal specifications with concurrent constraint programming. The Automated Software Engineering Journal 7 (2000)

    Google Scholar 

  10. West, M.M., Eaglestone, B.M.: Software development: Two approaches to animation of Z specifications using Prolog. IEE/BCS Software Engineering Journal 7, 264–276 (1992)

    Article  Google Scholar 

  11. Fuchs, N.: Specifications are (preferably) executable. Software Engineering Journal 7, 323–334 (1992)

    Article  Google Scholar 

  12. Gray, J.G., Schach, S.R.: Constraint animation using an object-oriented declarative language. In: Proceedings of the 38th Annual ACM SE Conference, Clemson, SC, pp. 1–10 (2000)

    Google Scholar 

  13. O’Neill, G.: Automatic translation of VDM specifications into Standard ML programs. The Computer Journal 35, 623–624 (1992)

    Article  Google Scholar 

  14. Elmstrøm, R., Larsen, P.G., Lassen, P.B.: The IFAD VDM-SL toolbox: A practical approach to formal specifications. ACM Sigplan Notices 29, 77–80 (1994)

    Article  Google Scholar 

  15. Fröhlich, B.: Program Generation Based on Implicit Definitions in a VDM-like Language. PhD thesis, Technical University of Graz (1998)

    Google Scholar 

  16. Jackson, D., Damon, C.: Semi-executable specifications. Technical Report CMU-CS-95-216, School of Computer Science, Carnegie Mellon University (1995)

    Google Scholar 

  17. Breuer, P.T., Bowen, J.P.: Towards correct executable semantics for Z. In: Bowen, J.P., Hall, J.A. (eds.) Z User Workshop, Cambridge 1994. Workshops in Computing. Springer, Heidelberg (1994)

    Google Scholar 

  18. Grieskamp, W.: A computation model for Z based on concurrent constraint resolution. In: P. Bowen, J., Dunne, S., Galloway, A., King, S. (eds.) ZB 2000, ZUM 2000, and ZB 2000. LNCS, vol. 1878, pp. 414–432. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  19. Mehl, M., Müller, T., Popov, K., Scheidhauer, R., Schulte, C.: DFKI Oz User’s Manual. Programming Systems Lab, German Research Center for Artificial Intelligence (DFKI) and Universität des Saarlandes, Postfach 15 11 50, D-66041 Saarbrücken, Germany (1998)

    Google Scholar 

  20. Mozart Consortium: Mozart Programming System website (2004), http://www.mozart-oz.org

  21. Van Roy, P., Haridi, S.: Concepts, Techniques and Models of Computer Programming. The MIT Press, Cambridge (2004)

    Google Scholar 

  22. Wu, D., Cheng, Y., Wahls, T.: A graphical user interface for executing formal specifications. The Journal of Computing in Small Colleges 17, 79–86 (2002)

    Google Scholar 

  23. Marriott, K., Stuckey, P.J.: Programming with Constraints: An Introduction. The MIT Press, Cambridge (1998)

    MATH  Google Scholar 

  24. Struyf, J., Blockeel, H.: Query optimization in inductive logic programming by reordering literals. In: Horváth, T., Yamamoto, A. (eds.) ILP 2003. LNCS (LNAI), vol. 2835, pp. 329–346. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  25. Overton, D., Somogyi, Z., Stuckey, P.J.: Constraint-based mode analysis of Mercury. In: Proceedings of the 4th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, Pittsburgh, PA, USA, pp. 109–120. ACM Press, New York (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wahls, T. (2005). Compiling Formal Specifications to Oz Programs. In: Van Roy, P. (eds) Multiparadigm Programming in Mozart/Oz. MOZ 2004. Lecture Notes in Computer Science, vol 3389. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31845-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31845-3_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25079-1

  • Online ISBN: 978-3-540-31845-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics