RML(ID:2944/rml001)

Requirements Modelling Language 


Requirements Modelling Language
Greenspan et al University of Toronto

Formal specification language based on possible worlds semantics

Places
Related languages
RML => CML   Evolution of

References:
  • Greenspan, S., Requirements Modelling: A Knowledge Representation Approach to Requirements Definition, Ph.D. thesis, Department of Computer Science, University of Toronto, 1984. view details
  • Borgida, A.; Greenspan, S.,; and Mylopoulos, J. "Knowledge representation as the basis for requirements specifications" IEEE Comput. 18, 4 (Apr. 1985), 82-91 view details
  • Tuzhilin, Alexander "Templar: a knowledge-based language for software specifications using temporal logic" ACM Transactions on Information Systems (TOIS) 13(03) July 1995 pp269-304 view details Extract: RML
    RML [Borgida et al. 1985; Greenspan 1984] is a requirements specification language based on the object-oriented framework and multisorted first-order logic. An RML specification consists of a set of interrelated object definitions. RML distinguishes three types of objects, i.e., entity, activity, and assertion. Also, RML supports time, but unlike TRIO, ERAE, INFOLOG, and RDL, it is based on first-order rather than on temporal logic. Moreover, RML has a formal semantics, as described by Greenspan [1984].
    However, RML does not fully satisfy some of the objectives stated in the introduction. Greenspan tries to design RML so that specifiers could organize knowledge in a natural and convenient fashion and make RML specifications easily understood by end-users. Although he achieves his objective in many respects, RML specifiers still have to use some encoding techniques in their specifications. For example, the statement ?a new patient?s location after he has been admitted is the ward to which he is being admitted? [Borgida et al. 1985, p. 87] has to be rephrased as ?at the end of an ADMIT event, the value of the toWard property of the ADMIT event equals the value of the location property of the patient being admitted? [Borgida et al. 1985, p. 87, footnote] and is expressed in RML as:
    toWard of ADMIT at end(ADMIT) =
    location of (newPatient of ADMIT at end(ADMIT)) at end(ADMIT)
    We believe that this kind of statement would require less encoding if RML were based on temporal logic, especially since the English statement has conjunction ?after? in it.1 Also, RML does not fully satisfy our third objective because it is more difficult to map requirements specifications written in RML into a broad range of design specification languages than for some of the previously considered specification languages, such as ERAE or TRIO, mainly because RML supports a wide range of knowledge representation primitives.
    For example, it would be more difficult to map RML requirements specifications into the design specification language Z [Spivey 1988] than it would be to map TRIO specifications into Z. The reason for that is that object-oriented constructs of RML are mapped into set-theoretic constructs of Z, and this requires a paradigm shift from the rich knowledge representation world of RML objects to the simpler world of Z values.