Zen-RUCM: A Tool for Supporting a Comprehensive and Extensible Use Case Modeling Framework

The Restricted Use Case Modeling (RUCM) approach is composed of a set of well-defined restriction rules and a new template, aiming to reduce ambiguity and facilitate automated analysis. Zen-RUCM is an RUCM-based framework to tackle the challenges of requirement specification in different application domains (e.g., real-time systems) and from various requirement specification concerns (e.g., variability). In this demonstration, we discuss an implementation of the Zen-RUCM framework with the focus on its lightweight design architecture and extension mechanism. (Demonstration video link: http://youtu.be/a8YZ_wuVxQg) 1 Motivation and Overview Requirements state the necessary attributes, capabilities, characteristics, or qualities of a system in order for it to have value and utility to a user, and thus play a central role in the communications between different stakeholders in the system engineering value chain. More precise, consistent, and complete requirements can significantly improve the quality of the system being developed. Vice versa, vague, inconsistent, and inadequate requirements can result in significant consequences including system failures, excessive maintenance costs, and future loss of credibility and business. There is a wide range of techniques that one may use for requirements specification from informal to formal [1]. Informal specifications in unstructured and unrestricted Natural Language (NL) tend to be easier to understand by many stakeholders and no special training is required. However, requirements in unstructured and unrestricted NL are often ambiguous and therefore different stakeholders may interpret the same requirement in different ways, in turn affecting the quality of subsequent system development activities such as design and testing. In addition, the absence of formalization precludes any form of automated analysis. In contrast, formal specification languages (which are grounded on formal logic) have higher precision than informal specifications. Sophisticated forms of validation and verification can then be built on top of such specifications and automated by tools. However, formal specification languages have limited expressiveness, are hard to write and read without extensive training, and thus may be very difficult, if not impossible, to communicate to end users and domain experts. Disciplined specifications in structured and restricted NL strike a fine balance between informal and formal specifications. They capture requirements in a more precise way than informal textual specifications and thus enable automated processing by tools. Use case modeling is one of the most promising and widely-used, disciplined specification techniques in structured NL. By combining diagrammatic and textual descriptions, use case models offer a very intuitive and yet precise foundation for requirements specification. Tao et al. [4, 5] have devised a Restricted Use Case Modelling approach, RUCM, which is composed of UML use case diagrams, a set of well-defined restriction rules and a use case template. The goal is to reduce ambiguity and facilitate the automated analysis of use case models. As shown in Fig. 1, built on the top of RUCM, Zen-RUCM aims to tackle the challenges of requirement specification in different application domains (e.g., realtime systems, distributed systems, communication systems) and from various requirement specification concerns (e.g., variability, Non-Functional Requirements (NFR), crosscutting concerns). RUCM is a generic framework and has not been tailored for use in any particular domain. Specifically, the use case template in RUCM captures only the generic aspects of use cases. They are not specific to a particular problem or application domain. We believe, and as strongly suggested by our previous studies [3, 5-7], that RUCM has substantial room for improvement by making use of domain-specific abstractions. Introducing these abstractions is expected to bring several major benefits, including more succinct use case descriptions, less ambiguity, and more precision in automated analysis. In addition, RUCM does not provide solutions for commonly arising requirement specification concerns like NFR. Fig. 1. Overview of the Zen-RUCM Framework As the first step towards the full realization of the Zen-RUCM framework, in this demonstration, we presents the Zen-RUCM tool, which includes an RUCM modeling editor and mostly important has an extensible, lightweight architecture design to facilitate future extensions of RUCM for e.g., having crosscutting concerns and variability modeling capabilities as shown in Fig. 1. 2 Background: RUCM and UCMeta RUCM encompasses a use case template and 26 well-defined restriction rules [5]. Rules are classified into two groups: restrictions on the use of NL, and rules enforcing the use of specific keywords for specifying control structures. The goal of RUCM is to reduce ambiguity and facilitate automated analysis, which have been empirically evaluated [4, 5] and positive results were obtained. A RUCM use case specification has one basic flow and can have one or more alternative flows. An alternative flow always depends on a condition occurring in a specific step in a flow of reference, referred to as reference flow, which is either the basic flow or an alternative flow itself. We classify alternative flows into three types: A specific alternative flow refers to a specific step in the reference flow; A bounded alternative flow refers to more than one step (consecutive or not) in the reference flow; A global alternative flow refers to any step in the reference flow. The 26 restriction rules of RUCM are classified into two categories: restrictions on the use of natural language and rules enforcing the use of keywords for specifying control structures. Eleven restriction rules are to reduce ambiguity in use case specifications and 15 rules defines a set of keywords to specify concurrency sentences (MEANWHILE), condition checking sentences (VALIDATES THAT), etc. UCMeta is the intermediate model in aToucan [7], used to bridge the gap between a textual use case model and a UML model including class, sequence, activity, and state machine diagrams. It can be also used as a formal representation of textual RUCM models. UCMeta is hierarchical and contains five packages: UML::UseCases, UCSTemplate, SentencePatterns, SentenceSemantics, and SentenceStructure. UML::UseCases is a package of UML 2 superstructure [2], which defines the key concepts used for modeling use cases such as actors and use cases. Package UCSTemplate models the concepts of the use case template of RUCM. SentencePatterns describes different types of sentence patterns. SentenceSemantics is a package modeling the classification of sentences from the aspect of their semantic functions. Package SentenceStructure takes care of NL concepts in sentences such as subject or noun phrase. The detailed description of UCMeta is given in [7].