USL: Towards Precise Specification of Use Cases for Model-Driven Development

Use cases have been widely employed as an efficient means to capture and structure software requirements. A use case model is often represented by a loose combination between a UML use case diagram and a textual description in natural language. The use case model expressed in such a form often contains ambiguous and imprecise parts. This prevents integrating it into model-driven approaches, where use case models are often taken as the source of transformations. This paper introduces a domain specific language named the Use case Specification Language (USL) to precisely specify use cases with two main features: (1) The USL has a concrete syntax in graphical form that allows us to achieve the usability goal; (2) The precise semantics of USL that is defined by mapping the USL to a Labelled Transition System (LTS) opens a possibility for transformations from USL models to other artifacts such as test cases and analysis class models.

[1]  Martin Giese,et al.  From Informal to Formal Specifications in UML , 2004, UML.

[2]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[3]  Alberto Rodrigues da Silva,et al.  Use Case Specification Using the SILABREQ Domain Specific Language , 2015, Comput. Informatics.

[4]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[5]  Atul Gupta,et al.  Automatic generation of sequence diagram from use case specification , 2014, ISEC '14.

[6]  Lionel C. Briand,et al.  Facilitating the transition from use case models to analysis models: Approach and experiments , 2013, TSEM.

[7]  Atul Gupta,et al.  A systematic literature review of use case specifications research , 2015, Inf. Softw. Technol..

[8]  Gudmund Grov,et al.  UC-B: Use Case Modelling with Event-B , 2016, ABZ.

[9]  Duc-Hanh Dang Triple Graph Grammars and OCL for Validating System Behavior , 2008, ICGT.

[10]  James J. Hunt,et al.  A case study of specification and verification using JML in an avionics application , 2006, JTRES '06.

[11]  Michal Smialek,et al.  From Requirements to Java in a Snap , 2015, Springer International Publishing.

[12]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit , 2009 .

[13]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[14]  Martin Gogolla,et al.  Checking the Conformance between Models Based on Scenario Synchronization , 2010, J. Univers. Comput. Sci..

[15]  Mohammed Misbhauddin,et al.  Extending the UML use case metamodel with behavioral information to facilitate model analysis and interchange , 2013, Software & Systems Modeling.

[16]  Liwu Li,et al.  Translating use cases to sequence diagrams , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[17]  Markus Lepper,et al.  Using use cases in Executable Z , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[18]  Jesús Manuel Almendros-Jiménez,et al.  Describing Use Cases with Activity Charts , 2004, Metainformatics.

[19]  Atul Gupta,et al.  An Approach of Generating Test Requirements for Agile Software Development , 2015, ISEC.

[20]  Michal Smialek,et al.  From Requirements to Java in a Snap: Model-Driven Requirements Engineering in Practice , 2015 .

[21]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[22]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[23]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .