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. KeywordsFormal 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