The formal basis for the RAISE specification language
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.
Unable to display preview. Download preview PDF.
- Astesiano, E., and Cerioli, M., Multiparadigm Specification Languages: a First Attempt at Foundations, in this volume.Google Scholar
- Baeten, J.C.M., and Weijland, W.P., Process Algebra, Cambridge Tracts in Theoretical Computer Science, 18, Cambridge University Press (1990).Google Scholar
- 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
- 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
- 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
- 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
- Goguen, J.A., and Winkler, T., Introducing OBJ3, Report SRI-CSL-88–9, SRI International (1988).Google Scholar
- Guttag, J.V., Horning, J.J., and Wing, J.M., Larch in Five Easy Pieces, Technical Report, 5, DEC SRC (1985).Google Scholar
- Havelund, K., Semantics of RSL, RAISE/DDC/KH/43/V1, Computer Resources International (1989).Google Scholar
- Hoare, C.A.R., Communicating Sequential Processes, Prentice-Hall International (1985).Google Scholar
- International Telecommunications Union, Specification and Description Language SDL, Recommendation Z.100 (1992).Google Scholar
- Jones. C.B., Systematic Software Development Using VDM, Prentice-Hall International (1990).Google Scholar
- Kahrs, S., Sannella, D., and Tarlecki, A., The Semantics of Extended ML: A Gentle Introduction, in this volume.Google Scholar
- Larsen, P.G., Towards Proof Rules for Looseness in Explicit Definitions from VDM-SL, in this volume.Google Scholar
- Milne, R•E., Concurrency models and axioms, RAISE/STC/REM/6/V2, STC (1988).Google Scholar
- Milne, R.E., The semantic foundations of the RAISE specification language, RAISE/STC/REM/11/V2, STC (1990).Google Scholar
- Milne, R.E., The proof theory for the RAISE specification language, RAISE/STC/REM/12N2, STC (1990).Google Scholar
- Milne, R.E., Transforming axioms for data types into sequential programs, Proceedings of the Fourth Refinement Workshop, 197--240, Springer-Verlag (1991).Google Scholar
- Milner, A.J.R.G., Communication and Concurrency, Prentice-Hall International (1989).Google Scholar
- Milner, A.J.R.G., Tofte, M., and Harper, R., The Definition of Standard ML, MIT Press (1990).Google Scholar
- 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
- Spivey, M., The Z Notation: A Reference Manual, Prentice-Hall International (1989).Google Scholar
- The RAISE Language Group, The R4ISE Specification Language,Prentice-Hall International (1991).Google Scholar
- Turski, W. M., and Maibaum, T.S.E., The specification of computer programs, Addison-Wesley (1987).Google Scholar