RUCM: A Restricted Uase Case Modelling Methodology


Use case modeling, including use case diagrams and use case specifications (UCSs), is commonly applied to structure and document requirements. UCSs are usually structured, unrestricted textual documents complying with a certain use case template. However, because UCSs remain essentially textual, ambiguity is inevitably introduced. Being aware of the above observvations, Dr. Tao Yue propose a use case modeling approach, called Restricted Use Case Modeling (RUCM), which is composed of a use case template that merges several aspects of existing templates and a set of well-defined restrictions to the use of plain language for documenting UCSs. The goal is two-fold: (1) restrict the way users can document use case specifications in order to reduce ambiguity and (2) facilitate automated analysis in order to provide tool support to derive initial analysis models, which in UML are typically composed of class diagrams, interaction diagrams, and possibly other types of diagrams and constraints.

RUCM Methodology

  • RUCM Use Case Template
    Use Case Name The name of the use case. It usually starts with a verb.
    Brief Description Summarizes the use case in a short paragraph.
    Precondition What should be true before the use case is executed.
    Primary Actor The actor which initiates the use case.
    Secondary Actors Other actors the system relies on to accomplish the services of the use case.
    Dependency Include and extend relationships to other use cases.
    Generalization Generalization relationships to other use cases.
    Basic Flow Specifies the main successful path, also called “happy path”.
    Steps (numbered) Flow of events.
    Postcondition What should be true after the basic flow executes.
    Specific Alternative Flows Applies to one specific step of the basic flow.
    RFS A reference flow step number where flow branches from.
    Steps (numbered) Flow of events.
    Postcondition What should be true after the alternative flow executes.
    Global Alternative Flows Applies to all the steps of the basic flow.
    Steps (numbered) Flow of events.
    Postcondition What should be true after the alternative flow executes.
    Bounded Alternative Flows Applies to more than one step of the basic flow, but not all of them.
    RFS A list of reference flow steps where flow branches from.
    Steps (numbered) Flow of events.
    Postcondition What should be true after the alternative flow execute
  • RUCM Restriction Rules

    RUCM provides the inherent ability for balancing the Natural Language based specification and formal specification by using well-designed restriction rules for documenting use cases.

    Restriction rules constraining the use of natural language
    # Description Explanation
    R1 The subject of a sentence in basic and alter- native flows should be the system or an actor. Enforce describing flows of events correctly. These rules conform to our use case template (the five interactions).
    R2 Describe the flow of events sequentially.
    R3 Actor-to-actor interactions are not allowed.
    R4 Describe one action per sentence. (Avoid compound predicates.) Otherwise it is hard to decide the sequence of multiple actions in a sentence.
    R5 Use present tense only. Enforce describing what the system does, rather than what it will do or what it has done.
    R6 Use active voice rather than passive voice. Enforce explicitly showing the subject and/or object(s) of a sentence.
    R7 Clearly describe the interaction between the system and actors without omitting its sender and receiver.
    Restriction rules applying to all sentences in a RUCM use case specification
    # Description Explanation
    R8 Use declarative sentence only. “Is the system idle?” is a non-declarative sentence. Commonly required for writing UCSs.
    R9 Use words in a consistent way. Keep one term to describe one thing.
    R10 Don’t use modal verbs (e.g., might) Modal verbs and adverbs usually indicate uncertainty; Instead, metrics should be used if possible.
    R11 Avoid adverbs (e.g., very).
    R12 Use simple sentences only. A simple sentence must contain only one subject and one predicate. Facilitate automated natural language parsing and reduce ambiguity.
    R13 Don’t use negative adverb and adjective (e.g., hardly, never), but it is allowed to use not or no.
    R14 Don’t use pronouns (e.g. he, this)
    R15 Don’t use participle phrases as adverbial modifier. For example, the italic-font part of the sentence “ATM is idle, displaying a Welcome message”, is a participle phrase.
    R16 Use “the system” to refer to the system under design consistently. Keep one term to describe the system; therefore reduce ambiguity.
    Restriction rules enforcing the use of specific keywords for specifying control structures
    # Description # Description
    R19 RFS R24 ABORT
    R21 MEANWHILE R26 Each basic flow and alternative flow should have its own postconditions.

  • UCMeta

    UCMeta is the intermediate model in RUCM methodology, which is the formalization mechanism used to bridge the gap between textual UCMods and UML analysis models. As a result, the transformation is divided into two steps: the transformation from the textual UCMod to the intermediate model (FormalizeUCM) and from the intermediate model to the analysis model (GenerateUML). We chose not to directly transform textual UCMods to UML analysis models because: 1) requirements are usually text-based and automated transformations cannot be easily supported with unrestricted, textual requirements representations such as UCMods, and 2) with the intermediate model, different types of diagrams can be generated such as class, sequence, activity diagrams without repeating the inevitable step of parsing the UCS NL sentences; thereby improving the overall efficiency of the transformations.


  • UCMeta Model API

    More details regarding the metamodel of UCMeta please refer to the UCMeta.

  • UCMeta Ecore Files

    Download UCMeta Ecore files here!



aToucan (Automated Transformation Of Use Case model into ANalysis model) is built as an Eclipse plug-in, using the Eclipse development platform. It relies on a number of existing technologies: EMF (for metamodeling), the Standford Parser (as a natural language parser), Kermeta (for model transformation), and Eclipse UML2 (as an EMF-based implementation of the UML 2 standard). aToucan can automatically generate a UML analysis model comprising class, sequence and activity diagrams from requirements (expressed as use cases) and generate traceability links between them.

Automated Generation of UML Analysis Models from Zen-RUCM Use Case Model


RUCM Manual Book

Download RUCM Manual Book here!


  • Tao Yue, Lionel Briand, and Yvan Labiche. aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models, in ACM Transactions on Software Engineering and Methodology (TOSEM), 24, no. 3, 2015.
  • Tao Yue, Lionel Briand, and Yvan Labiche. Facilitating the Transition from Use Case Models to Analysis Models: Approach and Experiments, Transactions on Software Engineering and Methodology (TOSEM) 22(1), 2013.
  • Tao Yue, Shaukat Ali, and Lionel Briand, Automated Transition from Use Cases to UML State Machines to Support State-based Testing, In: 7th European Conference on Modelling Foundations and Applications (ECMFA) 2011.
  • Tao Yue, Lionel Briand, and Yvan Labiche, A Use Case Modeling Approach to Facilitate the Transition Towards Analysis Models: Concepts and Empirical Evaluation, In: ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), 2009.
  • Tao Yue, Lionel Briand, and Yvan Labiche. An Automated Approach to Transform Use Cases into Activity Diagrams, In: 6th European Conference, on Modelling Foundations and Applications(ECMFA) 2010.

Special Acknowledgement

We wish to convey special thanks to Beihang University (BUAA) for the contribution of the initial development of RUCM editor. Many thanks to Ji Wu and his team at BUAA, especially Gong Zhang (former master student in BUAA) for his hard work on the RUCM framework.


RUCM Eclipse plug-in is only available for education purpose. You can Download RUCM trial version from here