Duc-Hanh Dang

Main Article Content

Abstract

In software development, obtaining a precise specification of the software system’s functional requirements is crucial to ensure the software quality and enable automation in development. Use cases are an effective approach for capturing functional requirements. However, the use of ambiguous or vague language in use cases can result in imprecision. It is essential to ensure that use case specifications are clear, concise, and complete to avoid imprecision in requirements. This paper aims to develop a domain specific language called FRSL to precisely specify use cases and to provide a basis for transformations to generate software artifacts from the use case specification. We define a metamodel to capture the technical domain of use cases for FRSL’s abstract syntax and provide a textual concrete syntax for this language. Additionally, we define a formal operational semantics for FRSL by characterizing the execution of a FRSL specification as sequences of system snapshot transitions. This formal semantics enables precise explanation of the meaning of use cases and their relationships and serves as a basis for transformations from the use case specification. We implement a tool support for this language and evaluate its expressiveness in comparison with current use case specification languages. This work brings out i) a DSL to specify use cases that is defined based on a formal semantics of use cases; and ii) a tool support realized as an Eclipse plugin for this DSL.