Automated Prototype Generation from Formal Requirements Model

08/31/2018
by   Yilong Yang, et al.
0

Prototyping is an effective and efficient way of requirement validation to avoid introducing errors in the early stage of software development. However, manually developing a prototype of a software system requires additional efforts, which would increase the overall cost of software development. In this paper, we present an approach with a developed tool to automatic generation of prototypes from formal requirements models. A requirements model consists of a use case diagram, a conceptual class diagram, use case definitions specified by system sequence diagrams and the contracts of their system operations. We propose a method to decompose a contract into executable parts and non-executable parts. A set of transformation rules is given to decompose the executable part into pre-implemented primitive operations. A non-executable part is usually realized by significant algorithms such as sorting a list, finding the shortest path or domain-specific computation. It can be implemented manually or by using existing code. A CASE tool is developed that provides an interface for developers to develop a program for each non-executable part of a contract, and automatically transforms the executables into sequences of pre-implemented primitive operations. We have conducted four cases studies with over 50 use cases. The experimental result shows that the 93.65 specifications are executable, and only 6.35 sorting and event-call, which can be implemented by developers manually or invoking the APIs of advanced algorithms in Java library. The one second generated the prototype of a case study requires approximate nine hours manual implementation by a skilled programmer. Overall, the result is satisfiable, and the proposed approach with the developed CASE tool can be applied to the software industry for requirements engineering.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 9

page 14

page 16

page 23

03/14/2018

Integrating UML with Service Refinement for Requirements Modeling and Analysis

Unified Modeling Language (UML) is the de facto standard for requirement...
08/05/2017

Automatic generation of analysis class diagrams from use case specifications

In object oriented software development, the analysis modeling is concer...
09/22/2020

A Model-Driven Architecture Approach for Developing Healthcare ERP: Case study in Morocco

Nowadays, there are many problems in the Enterprise Resource Planning (E...
03/20/2019

Substation One-Line Diagram Automatic Generation and Visualization

In Energy Management System (EMS) applications and many other off-line p...
09/27/2018

FMIT: Feature Model Integration Techniques

Although feature models are widely used in practice, for example, repres...
09/03/2020

Detecting Bad Smells in Use Case Descriptions

Use case modeling is very popular to represent the functionality of the ...
02/02/2021

Modular approach to data preprocessing in ALOHA and application to a smart industry use case

Applications in the smart industry domain, such as interaction with coll...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.