![]() This limitation was addressed by proposing a meta-model based transformation mechanism. A major limitation of model level transformation is that it is not a general purpose transformation and works only for some selected configurations. Moreover, approaches proposed by Somé et al. Besides, these approaches lack the capability to handle the use case relationships, i.e., include and extend relationships which are useful for re-usability. In addition to these limitations, some of the approaches either use Restricted Use Case Modeling (RUCM), or Use case Specification Language (USL) that requires understanding and usage of pre-defined syntax rules. Though these approaches perform well but they have different types of limitations, for example some of these depend upon domain specific ontology, others require expertise in supporting skills like formation of domain diagram, activity diagram, interaction diagram or class diagram. These approaches require software requirements written in natural language and transform these to corresponding requirements in a formal language. For example, approaches proposed by Somé et al. In the literature, a number of approaches can be found that transform informal software requirements to formal requirements. This creates space for the development of an approach that can transform informal software requirements into formal software requirements. The required additional time and cost, may not be feasible in all development scenarios. However, formal specifications are highly demanding in terms of time and effort. These specifications, due to their well defined syntax and semantics are unambiguous. In contrast, when these requirements are formally specified, they ensure a higher degree of consistency, reliability and extendibility. Moreover, it reduces the chances for providing regular and predictable support services which are usually required after the deployment of a software. ![]() Consequently, the much needed characteristics of a software specification, i.e., clarity and correctness can get compromised. However, natural language requirements are prone to errors and ambiguities. Informal software specification is quite flexible due to the use of natural language. These features of software requirements are mainly dependent on the selected requirements specification approach. Precise, consistent and verifiable software requirements are more useful for software verification and validation activities than ambiguous, inconsistent and unverifiable software requirements written in a natural language. Additionally, we use the NuSMV tool to verify the generated LTL specifications against the Kripke structure model of the software, which reports no counterexamples thus validating the proposed approach. We demonstrate the working of the proposed approach by a SIM vending machine example, where the use cases of this system are inputs in the proposed template and the corresponding Kripke structure and LTL formal specifications are produced as final output. The generated LTL formal specifications can be used against a formal model like a Kripke structure generated during the software development process for verification purpose. The generated Kripke structure model of the software allows analysis of software behavior early at the requirements specification stage which otherwise would not be possible before the design stage of the software development process. The proposed approach also considers the common use case relationships (i.e., include and extend). This work introduces an approach that takes a use case model as input in the proposed template and produces a Kripke structure and LTL specifications as output. Consequently, an automated approach is required to reduce the overhead of effort for converting informal requirements to formal specifications. ![]() However, most of these approaches require additional skills like understanding of specification languages additional artifacts, or services of domain expert(s). A number of existing approaches are able to transform informal software requirements to formal specifications. The rigor involved in writing formal requirements requires extra time and effort, which is not feasible in several software development scenarios. Linear Temporal Logic (LTL), Computational Tree Logic (CTL) etc.) or using some modeling formalism (e.g. These requirements can be specified formally using some precise mathematical notation (e.g. In general, requirements expressed in natural language are the first step in the software development process and are documented in the form of use cases.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |