{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

10-The Logic of the RAISE Specification

10-The Logic of the RAISE Specification - The Logic of the...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
The Logic of the RAISE Specification Language Chris George 1 and Anne E. Haxthausen 2 1 International Institute for Software Technology, United Nations University, Macao, [email protected] 2 Department of Informatics and Mathematical Modelling, Technical University of Denmark, Lyngby, Denmark, [email protected] Summary. This chapter describes the logic of the RAISE Specification Language, RSL. It explains the particular logic chosen for RAISE, and motivates this choice as suitable for a wide-spectrum language to be used for designs as well as initial specifications, and supporting imperative and concurrent specifications as well as applicative sequential ones. It also describes the logical definition of RSL, its ax- iomatic semantics, as well as the proof system for carrying out proofs. Finally, a case study illustrates specification and verification methods in RAISE. Key words: formal methods, logic, proof, RAISE, RSL 1 Introduction An important technique for increasing the reliability of software systems is to use formal development methods. Formal methods provide mathematically based languages for specifying software systems and proof systems for verifi- cation purposes. During the last two decades a whole range of formal methods have been developed. One of these is RAISE. The goal of this chapter is to describe and motivate the logic of the RAISE specification language, RSL. This logic is non trivial and interesting because the language supports many different specification styles. It should be noted that for a given, formal language the term ‘logic’ can be used in two different but related senses. It may refer to the meanings of the ‘logical’ (truth-valued) expressions of a language. Alternatively, ‘logic’ may refer to the proof system, to the inference rules by which one may reason about terms of the language. In designing a language, choices made in the assignment of meanings to expressions influence the possible design of the proof system. For this reason we have chosen to use the term ‘logic’ as encompassing both senses. In the remaining part of this section, we give a short introduction to RAISE including a survey of the major specification styles supported by RSL. Then,
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
350 Chris George and Anne E. Haxthausen in Sect. 2, we describe the rationale behind the design choices made for the meanings of ‘logical’ (truth-valued) expressions in RSL. Next, in Sect. 3, we outline how RSL is formally given an axiomatic semantics in the form of a collection of inference rules that defines well-formedness and meanings of RSL constructs. In Sect. 4 we describe how a proof system is derived from the axiomatic semantics in such a way that it is suitable for doing proofs in practice using a computer based tool. After that, in Sect. 5, a case study shows how a harbour information system can be specified and verified in various ways. Finally, in Sect. 6, we state our conclusions.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}