105
Proc. of the Second Intl. Conf. on Advances In Computing, Communication and Information Technology- CCIT 2014.
Copyright © Institute of Research Engineers and Doctors, USA .All rights reserved.
ISBN: 978-1-63248-051-4 doi: 10.15224/ 978-1-63248-051-4-37
An application of a four-way framework for
validating a specification:
Animating an Object-Z specification using Prolog
Cyrille Dongmo, John Andrew Van der Poll.
Abstract — A great deal of the benefits of formal methods
stems from their ability to rigorously and precisely specify, at an
initial stage, the requirements of the system being developed.
Errors in requirements are detected and eliminated earlier and
important properties of the system can be formally established
thereby, allowing the analysis of the behaviour of the system
before the design. These benefits come at two significant prices:
firstly, due to its rigour and the level of details, the specification
process is a difficult and costly exercise. Secondarily, a formal
specification becomes exploitable when it is carefully validated.
The search for appropriate validation guidelines, frameworks,
methods and techniques is a continuous endeavour of researchers
especially with techniques such as Object-Z for which tool
support are still very scarce. This paper follows a 4-way
framework for validating a specification, to validate an Object-Z
specification. During the validation, a mechanism is proposed to
translate the specification into Prolog facilitating its animation. A
case study is used to illustrate the approach.
Keywords—Formal Specification, Specification validation, 4-
way framework, Object-Z, Animation, Prolog.
I. Introduction
Mathematical approaches to software development are
becoming increasingly popular in both academia and industry.
Formal requirements specification and the specification
validation are two important and challenging phases. The
precision, rigour and the level of detailed analysis expected
from a formal specification makes the process of transforming
informal descriptions of the initial user requirements into
mathematical-like expressions a tedious and difficult task.
Similarly, the validation of a formal specification, aimed at
establishing the correctness of the proprieties of the system
being specified, is equally demanding.
Some of the most rigorous and costly validation approaches,
e.g. automated proofs are by means of theorem provers. Such
Cyrille Dongmo
School of computing/ College of Science Engineering and Technology /
University of South Africa (Unisa)
South Africa
John Andrew Van der Poll
Graduate School of Business Leadership (SBL) / University of South Africa
(Unisa)
South Africa
approaches involve the mathematical formulation of desirable
properties of the system as theorems of which the correctness
are demonstrated by means of specialised software, e.g.
theorem provers [9]. Animation is another technique in
validating a specification and despite criticisms raised against
specification animation for not being rigorous enough,
research in favour of animating formal specifications has been
abundant. Amongst the most prominent reasons put forward in
favour of animation is the ability to make the complex nature
of mathematical notations transparent, thereby facilitating
discussions between developers, users and other stakeholders
[10] [15].
This paper is an extension of research, presently conducted, in
which we suggested a means to exploit enterprise
organograms to address the challenge of scope delimitation in
goal and requirements analysis. The model proposed in our
previous work, as well as the algorithms to manipulate the
model, presented next as a case study, is formalised as an
Object-Z specification and subsequently validated. We
illustrate how existing Z animations with Prolog can usefully
be adapted to animate Object-Z specifications.
II. Case study
Consider the organogram of a college in Figure 1 to which
business objectives and some relationships between such
objectives are defined to facilitate IT goal/requirements
elicitation.
Each node of the organogram (which may be viewed as a
directed graph) is either a decisional element (e.g. a director’s
office) with operational elements attached to it, or simply an
operational element (a leaf). An IT project initiated within the
college aims to produce a tool to support activities either at a
decisional or at an operational level, hence contributing to
achieve the college’s business objectives. In general,
objectives of components at a lower level in the hierarchy of
the organogram are sub-objectives of the objectives of the
components at a higher level. For a given set of objectives to
be supported by an IT project, two search strategies are
defined to traverse the organogram to systematically identify
all the components (decisional or operational) within the
college that may need to be investigated during the
requirements elicitation phase. These are horizontal (cf.
breadth-first) and vertical (cf. depth-first) searches.
The horizontal search purposes to identify, on the basis of
horizontal relationships between objectives, nodes within the
same domain or sub-domain, which objectives directly or