Course Descriptions Course Descriptions
Duration Calculus: A Logical Approach to Real-Time Systems Duration Calculus: A Logical Approach to Real-Time Systems
Return to UNU-IIST's home pageUNU-IIST Home
Formal Software Specification Using RAISE

II/2/1/1 Formal Software Specification Using RAISE

RAISE: An Overview

RAISE stands for Rigorous Approach to Industrial Software Engineering. RAISE emphasises the use of formal (mathematical) techniques in the development of software: in requirements analysis and formulation, specification, design and development. RAISE offers the RAISE Specification Language (RSL) and the RAISE method.

RAISE was initially developed in the European ESPRIT Project RAISE, from 1985 to 1990, with the aim of providing a unifying improvement over formal methods such as VDM, Z, CSP, CCS, Larch and OBJ. It was later further developed in the ESPRIT Project LaCoS (Large scale Correct Systems using formal methods), from 1990 to 1995.

RSL provides a rich, mathematically based notation in which requirements, specifications and steps of design of software may be formulated and reasoned about. RSL is a wide-spectrum language: it facilitates abstract, axiomatic styles of description as well as concrete, operational styles. It may be used from initial domain and requirements analysis through design to a level at which it may be translated into code.

The RAISE method provides a set of techniques and recommendations for how to use RSL in the various life-cycle phases of software development, as well as techniques for verifying properties of specifications, implementations and their relationships, formally, rigorously or informally.

RAISE comes with comprehensive documentation. Books on the language and method are available. The first [1] on RSL is provided to institutions from which course attendees come (one per institution or one per every two participants, whichever is the larger number, in either case to be given to the institution library). The second [2] on the RAISE method is available by ftp and is copied for all participants.

If at all possible a number (at least one per two or three participants) of PCs or workstations should be available for exercise sessions. The tools usually used for the course have been developed at UNU-IIST by staff and fellows and are also available by ftp. They will run on PCs under Dos, Windows or Linux as well as on Sun workstations and may be downloaded and installed in advance or brought and installed by the lecturer. Participants are encouraged to make their own copies.

Course Contents

All the course materials are available by ftp.

  1. Introduction

  2. RAISE Specification Language (RSL)

  3. RAISE tools

  4. RAISE method

Specific Information about the Course

Course Attendees
Participants must be graduates (already have a BSc or BA) in Computer Science or a discipline with a substantial computing component. It is useful if people have some experience in large software projects. They are not expected to know about formal methods in advance, but some familiarity with basic predicate logic and simple set theory is assumed.

Course Materials
In addition to the two textbooks on RAISE discussed above, participants receives copies of the course foils, exercises and solutions.

Course Length
The course can be tailored to meet local requirements, from a minimum of one week to a maximum of two weeks. Each day consists of approximately six hours of lecture and exercise sessions. A two week course has a much greater practical component in the second week.

References

  1. The RAISE Language Group: The RAISE Specification Language. BCS Practitioner Series. Prentice Hall, 1992.

  2. The RAISE Method Group: The RAISE Development Method. BCS Practitioner Series. Prentice Hall, 1995.

  3. B. Dandanell, J. Gørtz, J. Storbank Pedersen, and E. Zierau: Experiences from Applications of RAISE. In FME'93: Industrial-Strength Formal Methods, First International Symposium of Formal Methods Europe, volume 670 of Lecture Notes in Computer Science, pages 52-63. Springer-Verlag, 1993.

  4. D. Bolignano and M. Debabi: On the Semantic Foundations of RSL: a Concurrent, Functional and Imperative Specification Language. In Proceedings of FORTE'93, Boston University, 1993.

  5. F. Erasmy and E. Sekerinsky: RAISE. In Formal Development of Reactive Systems: Case Study Production Cell, volume 891 of Lecture Notes in Computer Science, Springer-Verlag, 1995.

  6. C.W. George: The RAISE Specification Language: A Tutorial. In Proceedings of VDM'91, volume 551 of Lecture Notes in Computer Science, Springer-Verlag, 1991.

  7. C.W. George: The NDB Database Specified in the RAISE Specification Language. In Formal Aspects of Computer Science, volume 4, number 1, 1992.

  8. C.W. George: A Theory of Distributed Train Rescheduling. In Proceedings of FME'96: Industrial Benefit and Advances in Formal Methods, volume 1051 of Lecture Notes in Computer Science, Springer-Verlag, 1996.

  9. C.W. George and R.E. Milne: Specifying and Refining Concurrent Systems -- an Example from the RAISE Project. In Proceedings of 3rd Refinement Workshop, Springer-Verlag, 1990.

  10. J. Gørtz: Specifying Safety and Progress Properties with RSL. In Proceedings of FME'94: Industrial Benefits of Formal Methods, volume 873 of Lecture Notes in Computer Science, Springer-Verlag, 1994.

  11. A.E. Haxthausen and C.W. George: A Concurrency Case Study Using RAISE. In Proceedings of FME'93: Industrial Strength Formal Methods, volume 670 of Lecture Notes in Computer Science, Springer-Verlag, 1993.

  12. A.E. Haxthausen and J. Storbank Pedersen and S. Prehn: RAISE: a Product Supporting Industrial Use of Formal Methods. Technique et Science Informatiques, volume 12, number 3, Afcet/Hermes, 1993.

  13. R.E. Milne: The proof theory for the RAISE specification language. Technical Report RAISE/STC/REM/12, STC/STL, Harlow, UK, 1990.

  14. R.E. Milne: The semantic foundations of the RAISE specification language. Technical Report RAISE/STC/REM/11, STC/STL, Harlow, UK, 1990.

  15. R.E. Milne: Transforming axioms for data types into sequential programs. In 4th Refinement Workshop, Workshops in Computing. Springer-Verlag, 1991.

  16. R.E. Milne: The formal basis for the RAISE specification language. In Semantics of Specification Languages, Workshops in Computing. Springer-Verlag, 1993.

  17. E. Zierau: Use of the Formal Method RAISE in Practice. In Proceedings of SAFECOMP'94, 1994.

iistinfo@iist.unu.edu, February 1997

Formal Software Specification Using RAISE
Course Descriptions Course Descriptions
Duration Calculus: A Logical Approach to Real-Time Systems Duration Calculus: A Logical Approach to Real-Time Systems
Return to UNU-IIST's home pageUNU-IIST Home