Formalization of UML Use Case Diagram—A Z Notation Based Approach Sabnam Sengupta 1 ,Swapan Bhattacharya 2 Department of Computer Science & Engineering, Jadavpur University, Kolkata – 700032, India. 1 sabnam_sg@yahoo.com , 2 bswapan2000@yahoo.co.in Abstract- A Unified Modeling Language (UML) [1, 2] use case diagram is a visual tool that provides a way for developers to come to a common understanding with system’s end users and domain experts. The behavior of a use case can be specified by describing a flow of events in text for an outsider to understand it easily. The flow of events of a use case is specified in an informal structured text. Therefore, it is not possible to automate the verification of tracking requirements captured in a use case diagram in the design phase. On the other hand, Z is a formal language, which is non-executable, but, a strongly typed specification language. We here propose a structured-expandable format of a use case, which is expressed in Z notation and then represented visually using an Entity-Relationship diagram. Implementation of our approach would bridge the gap between a formal language, which is mathematical and difficult to understand and UML use case diagram that is visual, easy to comprehend and that is used widely to capture requirements. Development of a tool based on this approach will produce a visual representation of a formalized UML use case diagram, from which automated traceability and verification of the design phase can be achieved. Index Terms: UML, Use case diagram, Z notation, Formalization, ER Diagram, Traceability, Automated verification. I. INTRODUCTION A use case is an object-oriented modeling construct that is used to define the behavior of a system. Interactions between the user and the system are described through a prototypical course of actions along with a possible set of alternative courses of action. Primarily, use cases have been associated with requirements gathering and domain analysis. However, with the release of the Unified Modeling Language (UML) specification version 1.1, the scope of use cases has broadened to include modeling constructs at all levels. Due to this expanded scope, the representation of use cases has taken an increasing importance. UML use case diagrams are important for visualizing, specifying and documenting behavior of an element. They are applied to capture the intended behavior of the system being developed without specifying how the behavior is implemented. When the system is implemented, collaboration or sequence diagrams realize the use cases. Formal specifications use mathematical notation to describe in a precise way the properties, which an information system must have, without unduly constraining the way in which these properties are achieved. This abstraction makes formal specifications useful in the process of developing a computer system. A formal specification can serve as a single, reliable reference point for all associated with the entire software life cycle. Because it is independent of the program code, a formal specification of a system can be completed early in its development. It can be a valuable means of promoting a common understanding among all those concerned with the system. The Z notation [3, 4] is a strongly typed, mathematical, specification language. It is not an executable notation; it cannot be interpreted or compiled into a running program. There are some tools for checking Z texts for syntax and type errors in much the same way that a compiler checks code in an executable programming language. Z is a model-based notation. One of the other main ingredients in Z is a way of decomposing a specification into small pieces called schemas. The schema is the feature that most distinguishes Z from other formal notations. In Z, schemas are used to describe both static and dynamic aspects of a system. As “abstraction” is the key concept for both use case diagrams and Z notation, we here propose an approach to “formalize” UML use case diagram using Z notation and representing it visually using a Entity Relationship diagram as that is understandable for the users and developers. II. REVIEW OF RELATED WORKS Lots of research work is going on in the direction of formalizing UML using Z notation. There are a very few works in the direction of visualizing Z notation, [19] is an example of the works in that domain. In the domain of formalization, some of the works are getting done with an objective to map Object-Z [6], which is an object-oriented extension to Z with UML and some of the works are done with an objective to formalize UML with Z or any extension of Z. A comparison of formalizing approaches of UML class constructs in Z and Object-Z is presented in [12]. As in Z, a system is modeled by representing its state, a collection of state variables and their values,- and some