Linking Design Model with Code.

Candice Eckert,Brian Cham,Pengyi Li,Jing Sun,Gillian Dobbie
DOI: https://doi.org/10.1142/s0218194016400131
IF: 1.007
2016-01-01
International Journal of Software Engineering and Knowledge Engineering
Abstract:With the growing in size and complexity of modern computer systems, the need for improving the quality at all stages of software development has become a critical issue. The current software production has been largely dependent on manual code development. Despite the slow development process, the errors introduced by the programmers contribute to a substantial portion of defects in the final software product. Model-driven engineering (MDE), despite having many advantages, is often overlooked by programmers due to lack of proper understanding and training in the matter. This paper investigates the advantages and disadvantages of MDE and looks at research results showing the adoption rates of design models. It analyzes different tools used for automated code generation and displays the reasons that led to technical decisions such as the programming language or design model used. In light of the findings, an educational tool, namely Lorini, was developed to provide automated code generation from the design models. The implemented tool consists of a plug-in for the Astah framework aimed at teaching Java programming to students through UML diagrams. It features instantaneous code generation from three types of UML diagrams, code-diagram matching, a feedback panel for error displays and on-the-fly compilation and execution of the resulting program. We also explore the possibility of generating assertion constraints from the design model and use them to verify the implementation. Evaluation of the tool indicated it to be successful with unique educational features and intuitive to use.
What problem does this paper attempt to address?