A Use Case Map (UCM) is a scenario-based visual notation facilitating the requirements definition of complex systems. A UCM may be generated either from a set of informal requirements, or from a set of use cases normally expressed in natural language. Natural languages are, however, inherently ambiguous and as a semi-formal notation, UCMs have the potential to bring more clarity into the functional description of a system. It may furthermore eliminate possible errors in the user requirements. The semi-formal notation of UCMs aims to show how things work generally, but is not suitable to reason formally about system behavior. It is plausible, therefore, that the use of a UCM as an intermediate step may facilitate the construction of a formal speci¯cation. To this end this paper proposes a mechanism whereby a UCM may be translated into Object-Z. Int. J. Soft. Eng. Knowl. Eng. 2014.24:285-327. Downloaded from www.worldscientific.com by MONASH UNIVERSITY on 02/03/15. For personal use only.
UCM Model of the Case StudyThis section presents an overview of Use Case Maps followed by the UCM model of the case study where UCM elements used are further explained.
Brief overview of UCMsThe UCM notation, originally developed by Buhr and Casselman [11, 12] embodies a semi-formal notation showing related and interacting use cases in a map-like diagram. The progression of scenarios along use cases is captured by paths shown as wiggle lines. UCM models describe service functionalities with causal relationships between responsibilities, superimposed on organisational structures of abstract components. The strength of a UCM is in utilising a simple graphical notation to describe complex systems. A responsibility represents generic processing, e.g. an operation, a task, an action, a function and so forth.
The case study UCMSince the¯rst expectation of stakeholders is that the speci¯cation describes the functionalities of the envisioned system, we may consider a scenario composed of the following activities:(1) A company (say Helper) to whom a customer returns a purchased item receives the item and temporarily keeps it, waiting to forward it to the provider. (2) The Helper forwards the returned item to the provider.(3) The provider collects the returned item. Figure 1 represents a UCM model of our case study in Sec. 2. The diagram is constructed with UCMs elements that may be grouped into the categories Paths, Path elements, Path connectors, and abstract components.A UCM path indicates the progression route of one or more scenarios in execution. It is a wiggly line that begins with a Start point and ends at an End point (see Fig. 1). The start point is a place where an event occurs to trigger (precondition) the execution of the scenario and the end point is where the resulting events are accumulated (postcondition). Elements encountered along a path segment are: Responsibility points, Path connectors, Timers, etc.A Responsibility point is graphically represented by a cross with a label (e.g. returnItem). It indicates a point along the...