2 research outputs found

    Automatic code generation from UML diagrams: the state-of-the-art

    Get PDF
    The emergence of the Unified Modeling Language (UML) as the de-facto standard for modeling software systems has encouraged the development of automated software tools that facilitate automatic code generation. UML diagrams are used to diagrammatically model and specify the static structure as well as the dynamic behavior of object-oriented systems and the software tools then go ahead and automatically produce code from the given diagrams. In the last two decades substantial work has been done in this area of automatic code generation. This paper is aimed at identifying and classifying this work pertaining to automatic code generation from UML diagrams, restricting the search neither to a specific context nor to a particular programming language. A Systematic literature review (SLR) using the keywords ā€œautomatic code generationā€, ā€œMDEā€, ā€œcode generationā€ and ā€œUMLā€ is used to identify 40 research papers published during the years 2000ā€“2016 which are broadly classified into three groups: Approaches, Frameworks and Tools. For each paper, an analysis is made of the achievements and the gaps, the UML diagrams used the programming languages and the platform. This analysis helps to answer the main questions that the paper addresses including what techniques or implementation methods have been used for automatic code generation from UML Diagrams, what are the achievements and gaps in the field of automatic code generation from UML diagrams, which UML diagram is most used for automatic code generation from UML diagrams, which programming language source code is mostly automatically generated from the design models and which is the most used target platform? The answers provided in this paper will assist researchers, practitioners and developers to know the current state-of-the-art in automatic code generation from UML diagrams.Keywords: Automatic Code Generation (ACG); Unified Modeling Language (UML); Model Driven Engineering (MDE

    FSMC+, a tool for the generation of Java code from statecharts

    No full text
    ProVotE is a two-phase pro ject aiming at actuating art. 84 of law 2 - 5/3/2003 of the Autonomous Province of Trento (Italy), which promotes the introduction of e-voting systems for the next provincial elections in Trentino, which will be held in November 2008. During the ļ¬rst phase of the ProVotE pro ject we built jprovote, a Java/Linux e-voting system. The jprovote system has been used with experimental value by more than 11000 vot- ers during local elections held in various municipalities of Trentino (Italy). A critical component of jprovote is its core logic, that is re- sponsible of controlling the overall behavior of the e-voting machine during an election. In order to simplify its devel- opment and to allow for formal veriļ¬cation of this critical component we developed FSMC+. FSMC+ is a compiler that takes as input a subset of UML statecharts and produces the corresponding Java and NuSMV code (NuSMV is a model checker developed at ITC-irst). Support for parameters in events, complex expressions in guards, and support to nested states are some of the distin- guishing features of FSMC+. In this paper we present FSMC+ and we show how we used it for the development and the veriļ¬cation of the ProVotE e- voting machine. Even though FSMC+ has been speciļ¬cally created to ease the development of jprovote, we believe the approach and the tool we developed to be general enough to be used in other applications
    corecore