The formal basis for the RAISE specification language

  • Robert Milne
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


The RAISE specification language was developed for industrial use on the basis of experience in applying VDM and other approaches to software development. This experience suggested the need to have, in one common framework, some specification concepts besides those of VDM, together with methods and tools to make them easier to use.

The language meets this need by unifying the model oriented and property oriented specification techniques for both applicative and imperative systems. It also provides a unified approach to the development of applicative and imperative systems, based on a proof theoretic view of refinement. All this affects how the semantic foundations and proof theory for the language are formalised.

In this paper, some language design decisions are motivated and the associated effects on the formal basis of the language are discussed. Particular attention is paid to how semantic difficulties are resolved. The design decisions are placed in a wider context by looking at other ways of unifying specification techniques, some of which have been adopted in other projects. Some conclusions are drawn about the completed formal work and the outstanding tasks.


Proof Theory Type Unit Semantic Rule Communicate Sequential Process Semantic Domain 
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]
    Astesiano, E., and Cerioli, M., Multiparadigm Specification Languages: a First Attempt at Foundations, in this volume.Google Scholar
  2. [2]
    Baeten, J.C.M., and Weijland, W.P., Process Algebra, Cambridge Tracts in Theoretical Computer Science, 18, Cambridge University Press (1990).Google Scholar
  3. [3]
    Bauer, F.L., Moller, B., Parsch, H., and Pepper, P., Programming by formal reasoning: computer-aided intuition-guided programming, IEEE Transactions on Software Engineering, 15 (2), 165–180 (1989).MATHCrossRefGoogle Scholar
  4. [4]
    Bergstra, J.A., Heering, J., and Klint, P., Module Algebra, Journal of the ACM, 37 (2), 335–372 (1990).MathSciNetMATHCrossRefGoogle Scholar
  5. [5]
    Bolignano, D., and Debabi, M., Higher Order Communicating Processes with Value-Passing, Assignment and Return of Results, Algorithms and Computation, Lecture Notes in Computer Science, 650, 319–331, Springer-Verlag (1992).Google Scholar
  6. [6]
    De Nicola, R., and Hennessy, M., CCS without is, TAPSOFT ‘87. Volume 1, Lecture Notes in Computer Science, 249, 138–152, Springer-Verlag (1987).Google Scholar
  7. [7]
    Ehrig, H., and Mahr, B., Fundamentals of Algebraic Specification 1, Equations and Initial Semantics, EATCS Monographs on Theoretical Computer Science, 6, Springer-Verlag (1985).Google Scholar
  8. [8]
    Feijs, L.M.G., and Jonkers, H.B.M., Formal Specification and Design, Cambridge Tracts in Theoretical Computer Science, 35, Cambridge University Press (1992).Google Scholar
  9. [9]
    Goguen, J.A., and Winkler, T., Introducing OBJ3, Report SRI-CSL-88–9, SRI International (1988).Google Scholar
  10. [10]
    Gordon, M.J.C., HOL: A Proof Generating System for Higher-Order Logic, VLSI Specification, Verification and Synthesis, 73–128, Kluwer (1988).CrossRefGoogle Scholar
  11. [11]
    Guttag, J.V., Horning, J.J., and Wing, J.M., Larch in Five Easy Pieces, Technical Report, 5, DEC SRC (1985).Google Scholar
  12. [12]
    Havelund, K., Semantics of RSL, RAISE/DDC/KH/43/V1, Computer Resources International (1989).Google Scholar
  13. [13]
    Hennessy, M., Acceptance Trees, Journal of the ACM, 32 (4), 896–928 (1985).MathSciNetMATHCrossRefGoogle Scholar
  14. [14]
    Hennessy, M., A Proof System for Communicating Processes with Value-Passing, Formal Aspects of Computing, 3 (4), 346–366 (1991).MATHCrossRefGoogle Scholar
  15. [15]
    Hoare, C.A.R., Communicating Sequential Processes, Prentice-Hall International (1985).Google Scholar
  16. [16]
    International Telecommunications Union, Specification and Description Language SDL, Recommendation Z.100 (1992).Google Scholar
  17. [17]
    Jones. C.B., Systematic Software Development Using VDM, Prentice-Hall International (1990).Google Scholar
  18. [18]
    Kahrs, S., Sannella, D., and Tarlecki, A., The Semantics of Extended ML: A Gentle Introduction, in this volume.Google Scholar
  19. [19]
    Larsen, P.G., Towards Proof Rules for Looseness in Explicit Definitions from VDM-SL, in this volume.Google Scholar
  20. [20]
    Milne, R•E., Concurrency models and axioms, RAISE/STC/REM/6/V2, STC (1988).Google Scholar
  21. [21]
    Milne, R.E., The semantic foundations of the RAISE specification language, RAISE/STC/REM/11/V2, STC (1990).Google Scholar
  22. [22]
    Milne, R.E., The proof theory for the RAISE specification language, RAISE/STC/REM/12N2, STC (1990).Google Scholar
  23. [23]
    Milne, R.E., Transforming axioms for data types into sequential programs, Proceedings of the Fourth Refinement Workshop, 197--240, Springer-Verlag (1991).Google Scholar
  24. [24]
    Milner, A.J.R.G., Communication and Concurrency, Prentice-Hall International (1989).Google Scholar
  25. [25]
    Milner, A.J.R.G., Tofte, M., and Harper, R., The Definition of Standard ML, MIT Press (1990).Google Scholar
  26. [26]
    Sannella, D., and Tarlecki, A., Extended ML: an institution-independent framework for formal program development, Category Theory and Computer Programming, Lecture Notes in Computer Science, 240, 364–389, Springer Verlag (1986).Google Scholar
  27. [27]
    Sannella, D., and Tarlecki, A., Towards formal development of programs from algebraic specifications: implementation revisited, Acta Informatica, 25, 223–281 (1988).MathSciNetCrossRefGoogle Scholar
  28. [28]
    Spivey, M., The Z Notation: A Reference Manual, Prentice-Hall International (1989).Google Scholar
  29. [29]
    Stirling, C., Modal Logics for Communicating Systems, Theoretical Computer Science, 49, 311–347 (1987).MathSciNetMATHCrossRefGoogle Scholar
  30. [30]
    The RAISE Language Group, The R4ISE Specification Language,Prentice-Hall International (1991).Google Scholar
  31. [31]
    Turski, W. M., and Maibaum, T.S.E., The specification of computer programs, Addison-Wesley (1987).Google Scholar

Copyright information

© British Computer Society 1994

Authors and Affiliations

  • Robert Milne
    • 1
  1. 1.BNR Europe LimitedHarlow EssexUK

Personalised recommendations