USL: A Domain-Specific Language for Precise Specification of Use Cases and Its Transformations

Chu Thi Minh Hue, Dang Duc Hanh, Nguyen Ngoc Binh, Le Minh Duc


A use case model is often represented by a UML use case diagram and loosely structured textual descriptions. The use case model expressed in such a form 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. In this paper, we introduce a domain-specific language named the Use case Specification Language (USL) to precisely specify use cases. We define the abstract syntax of USL using a metamodel together with OCL wellformedness rules and then provide a graphical concrete syntax for
the usability goal. We also define a precise semantics for USL by mapping USL models to Labelled Transition Systems (LTSs). It opens a possibility to transform USL models to software artifacts such as test cases and design models. We focus on a transformation from a USL model to a template-based use case description in order to illustrate our method. A language evaluation of USL is also performed in this paper.

Full Text:



I. Jacobson, Object-Oriented Software Engineering: A Use Case Driven Approach, Addison Wesley Longman Publishing Co., Inc., 2004.

OMG, “UML 2.5,” May 2005.

T. Yue, L.C. Briand, and Y. Labiche, “Facilitating the Transition from Use Case Models to Analysis Models: Approach and Experiments,” ACM Trans. Softw. Eng. Methodol., vol.22, no.1, pp.5:1–5:38, March 2013.

M. Misbhauddin and M. Alshayeb, “Extending the UML Use Case Metamodel with Behavioral Information to Facilitate Model

Analysis and Interchange,” Software & Systems Modeling, vol.14, no.2, pp.813–838, May 2015.

P. Kruchten, The Rational Unified Process: An Introduction, 3 ed., Addison-Wesley Professional, 2004.

D. Liu, K. Subramaniam, B.H. Far, and A. Eberlein, “Automating Transition from Use-Cases to Class Model,” Proc. Canadian Conf. Electrical and Computer Engineering. Toward a Caring and Humane Technology (Cat. No.03CH37436)(CCECE), pp.831–834,

vol. 2, 2003.

P. Haumer, “Use case-based software development,” in Scenarios, Stories, Use Cases: Through the Systems Development LifeCycle, ed. I. Alexander and N. Maiden, ch. 12, pp.237–264, Wiley, 2004.

S. Tiwari and A. Gupta, “A Systematic Literature Review of Use Case Specifications Research,” Inf. Softw. Technol., vol.67, no.C,

pp.128–158, Nov. 2015.

D.H. Dang, “Triple Graph Grammars and OCL for Validating System Behavior,” Proc. 4th Int. Conf. Graph Transformations

(ICGT), LNCS 5214, pp.481–483, Springer, 2008.

R. Murali, A. Ireland, and G. Grov, “UCB: Use Case Modelling with Event-B,” Proc. 5th Int. Conf. Abstract State Machines, Alloy, B, TLA, VDM, and Z(ABZ), ed. M. Butler, K.D. Schewe, A. Mashkoor, and M. Biro, LNCS 9675, pp.297–302, Springer, 2016.

W. Grieskamp and M. Lepper, “Using Use Cases in Executable Z,” Proc. 3th Int. Conf. Formal Engineering Methods (ICFEM), pp.111–119, IEEE, 2000.

J.S. Thakur and A. Gupta, “Automatic Generation of Sequence Diagram from Use Case Specification,” Proc. 7th India Conf. Software Engineering (ISEC), pp.20:1–20:6, ACM, 2014.

L. Li, “Translating Use Cases to Sequence

Diagrams,” Proc. 15th Int. Conf. Automated Software Engineering (ASE), pp.293–298, IEEE Computer Society, 2000.

J.M. Almendros-Jiménez and L. Iribarne, “Describing Use Cases with Activity Charts,” Proc. Int. Conf. Metainformatics (MIS 2004), LNCS 3511, pp.141–159, Springer-Verlag, 2005.

S. Tiwari and A. Gupta, “An Approach of Generating Test Requirements for Agile Software Development,” Proc. 8th on India Conf. Software Engineering (ISEC), pp.186–195, ACM, 2015.

D. Savić, S. Vlajić, S. Lazarević, I. Antović, V. Stanojević, M. Milić, and A.R. da Silva, “Use Case Specification Using the SILABREQ Domain Specific Language,” Computing and Informatics, vol.34, no.4, pp.877–910, Feb. 2016.

M. Smialek and W. Nowakowski, From Requirements to Java in a Snap: ModelDriven Requirements Engineering in Practice, Springer, 2015.

M. Brambilla, J. Cabot, and M. Wimmer, Model-Driven Software Engineering in Practice, 1st ed., Morgan & Claypool Publishers, 2012.

OMG, “OCL 2.0,” May 2006.

R.M. Keller, “Formal verification of parallel programs,” Commun. ACM, vol.19, no.7, pp.371–384, July 1976.

M.H. Chu, D.H. Dang, N.B. Nguyen, M.D. Le, and T.H. Nguyen, “USL: Towards Precise Specification of Use Cases for ModelDriven Development,” Proc. 8th Int. Conf. Information and Communication Technology (SoICT), pp.401–408, 2017.

A. Cockburn, Writing Effective Use Cases, 1 edition ed., Addison-Wesley Professional, Boston, Oct. 2000.

I. Jacobson, I. Spence, and K. Bittner, USECASE 2.0 The Guide to Succeeding with Use Cases, Ivar Jacobson International SA.,

M. Giese and R. Heldal, “From Informal to Formal Specifications in UML,” Proc. Int. Conf. The Unified Modeling Language: Modelling Languages and Applications (UML),

ed. T. Baar, A. Strohmeier, A.M.D. Moreira, and S.J. Mellor, LNCS 3273, pp.197–211, Springer, 2004.

P. Schmitt, I. Tonin, C. Wonnemann, E. Jenn, S. Leriche, and J.J. Hunt, “A Case Study of Specification and Verification Using JML in an Avionics Application,” Proc. 4th Int. Workshop on Java Technologies for Real-time and Embedded Systems (JTRES),

pp.107–116, ACM, 2006.

R.C. Gronback, Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit, 1 edition ed., Addison-Wesley Professional, Boston, March 2009.

J. Heumann, “Generating Test Cases From Use Cases,” tech. rep., Rational Software, 2001.

s. results and B. Legeard, Practical ModelBased Testing: A Tools Approach, 1 edition ed., Morgan Kaufmann, Amsterdam ; Boston, Dec. 2006.

W. Linzhang, Y. Jiesong, Y. Xiaofeng, H. Jun, L. Xuandong, and Z. Guoliang, “Generating Test Cases from UML Activity

Diagram Based on Gray-Box Method,” Proc. 11th Asia-Pacific Conf. Software Engineering (APSEC), pp.284–291, IEEE Computer Society, 2004.

C. Wang, F. Pastore, A. Goknil, L. Briand, and Z. Iqbal, “Automatic Generation of System Test Cases from Use Case Specifications,” Proc. Int. Symposium Conf. Software

Testing and Analysis (ISSTA), pp.385–396, ACM, 2015.

S. Ali, M.Z. Iqbal, A. Arcuri, and L.C. Briand, “Generating Test Data from OCL Constraints with Search Techniques,” IEEE Transactions on Software Engineering, vol.39, no.10, pp.1376–1402, Oct. 2013

B. Regnell, M. Andersson, and J. Bergstrand, “A Hierarchical Use Case Model with Graphical Representation,” Proc. IEEE Symposium and Workshop on Engineering of Computer-Based Systems (ECBS), pp.270–277, IEEE Computer

Society, 1996.

G. Kotonya and I. Sommerville, Requirements Engineering: Processes and Techniques, 1st ed., Wiley Publishing, 1998.

M. Genero Bocco, A. Durán Toro, and B. Bernárdez Jiménez, “Empirical Evaluation and Review of a Metrics-Based Approach for Use Case Verification,” Journal of Research and Practice in Information Technology, vol.36, no.4, pp.247–258, 2004.

Russell C. Bjork, “An Example of ObjectOriented Design: An ATM Simulation.” Accessed: 2018-01-01.

D.H. Dang, A.H. Truong, and M. Gogolla, “Checking the Conformance between Models Based on Scenario Synchronization,” Journal of Universal Computer Science, vol.16, no.17, pp.2293–2312, 2010.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.