USL: A Domain-Specific Language for Precise Specification of Use Cases and Its Transformations
DOI:
https://doi.org/10.31449/inf.v42i3.2253Abstract
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 forthe 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.References
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.” http://www.math-cs.gordon.edu/courses/cs211/ATMExample/. 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.
Downloads
Published
How to Cite
Issue
Section
License
I assign to Informatica, An International Journal of Computing and Informatics ("Journal") the copyright in the manuscript identified above and any additional material (figures, tables, illustrations, software or other information intended for publication) submitted as part of or as a supplement to the manuscript ("Paper") in all forms and media throughout the world, in all languages, for the full term of copyright, effective when and if the article is accepted for publication. This transfer includes the right to reproduce and/or to distribute the Paper to other journals or digital libraries in electronic and online forms and systems.
I understand that I retain the rights to use the pre-prints, off-prints, accepted manuscript and published journal Paper for personal use, scholarly purposes and internal institutional use.
In certain cases, I can ask for retaining the publishing rights of the Paper. The Journal can permit or deny the request for publishing rights, to which I fully agree.
I declare that the submitted Paper is original, has been written by the stated authors and has not been published elsewhere nor is currently being considered for publication by any other journal and will not be submitted for such review while under review by this Journal. The Paper contains no material that violates proprietary rights of any other person or entity. I have obtained written permission from copyright owners for any excerpts from copyrighted works that are included and have credited the sources in my article. I have informed the co-author(s) of the terms of this publishing agreement.
Copyright © Slovenian Society Informatika