A Case for Test-Code Generation in Model-Driven Systems

Author(s):  
Matthew J. Rutherford ◽  
Alexander L. Wolf
2018 ◽  
Vol 21 (2) ◽  
Author(s):  
Guido Nuñez ◽  
Daniel Bonhaure ◽  
Magalí González ◽  
Nathalie Aquino ◽  
Luca Cernuzzi

Many Web applications have among their features the possibility of distributing their data and their business logic between the client and the server, also allowing an asynchronous communication between them. These features, originally associated with the arrival of Rich Internet Applications (RIA), remain particularly relevant and desirable. In the area of RIA, there are few proposals that simultaneously consider these features, adopt Model-Driven Development (MDD), and use implementation technologies based on scripting. In this work, we start from MoWebA, an MDD approach to web application development, and we extend it by defining a specific architecture model with RIA functionalities, supporting the previously mentioned features. We have defined the necessary metamodels and UML profiles, as well as transformation rules that allow you to generate code based on HTML5, Javascript, jQuery, jQuery Datatables and jQuery UI. The preliminary validation of the proposal shows positive evidences regarding the effectiveness, efficiency and satisfaction of the users with respect to the modeling and code generation processes of the proposal.


2021 ◽  
Author(s):  
◽  
Konstantīns Gusarovs

Software engineering is continuously evolving, and its tasks are expanding. Nowadays, it includes not only software code development, but business process analysis as well. Information that is gained as a result of such analysis can be used for model that describe processes under automation development. Model driven software engineering also includes application of such models for automated software code or other artefact generation. In comparison to so called “model-based” engineering, model driven engineering uses strictly defined models and its processing algorithms during whole software lifecycle. While ideas, that model driven software engineering is based upon, seem to provide several benefits – for example, initial system representation understood not only by developers, but also by business area experts and, possibly, customers – its adoption is still in the initial phase. This can be explained by both the low level of automation, as well as, inappropriate source model usage. In this thesis, author offers a possible solution to this problem by defining transformation rules for so called Two-Hemisphere Model. This model is a combination of business process and concept diagrams and offered transformation rules allow for a software code generation from it. Additionally, improvements for the Two-Hemisphere model are offered. These improvements are required for enabling of code generation. Also, an algorithm for defining class relationships that can be used also outside of model driven software engineering is described. In this thesis author provides an insight to defined transformation rules by using pseudocode, as well as, an example of its’ application and resulting Java programming language code that was generated from the example model.


Model-Driven Development (MDD) tools for Rich Internet Applications (RIAs) development are focused on software modeling, and they leave automatic code generation in a second term. On the other hand, Rapid Application Development (RAD) tools for RIAs development enable developers to save development time and effort by leveraging reusable software components. AlexandRIA is a RAD tool that allows developers to automatically generate both source and native code of multi-device RIAs from a set of preferences selected throughout a wizard following the phases of a User Interface (UI) pattern-based code generation approach for multi-device RIAs. In this chapter, the use of the UI design process behind AlexandRIA is demonstrated by means of a sample development scenario addressing the development of a cloud services Application Programming Interfaces (APIs)-based cross-platform mobile RIA. This scenario is further revisited in a case study that addresses the automatic generation of an equivalent application using AlexandRIA.


Author(s):  
Sarra Roubi ◽  
Mohammed Erramdani ◽  
Samir Mbarki

<p><span lang="EN-US">A Rich Internet Applications (RIAs) combine the simplicity of the hypertext paradigm with the flexibility of desktop interfaces. These appliations were proposed as a solution to follow the rapid growth and evolution of the Graphical User Interfaces. However, RIAs are complex applications and their development requires designing and implementation which are time-consuming and the available tools are specialized in manual design. In this paper, we present a model driven approach to generat GUI for Rich Internet Application. The approach exploits the new language IFML recently adopted by the Object Management Group. We used frameworks and technologies known to Model-Driven Engineering, such as Eclipse Modeling Framework (EMF) for Meta-modeling, Query View Transformation (QVT) for model transformations and Acceleo for code generation. The approach allows to quickly and efficiently generating a RIA focusing on the graphical aspect of the application.</span></p>


2020 ◽  
Vol 19 (6) ◽  
pp. 1483-1517
Author(s):  
Bence Graics ◽  
Vince Molnár ◽  
András Vörös ◽  
István Majzik ◽  
Dániel Varró

Abstract The increasing complexity of reactive systems can be mitigated with the use of components and composition languages in model-driven engineering. Designing composition languages is a challenge itself as both practical applicability (support for different composition approaches in various application domains), and precise formal semantics (support for verification and code generation) have to be taken into account. In our Gamma Statechart Composition Framework, we designed and implemented a composition language for the synchronous, cascade synchronous and asynchronous composition of statechart-based reactive components. We formalized the semantics of this composition language that provides the basis for generating composition-related Java source code as well as mapping the composite system to a back-end model checker for formal verification and model-based test case generation. In this paper, we present the composition language with its formal semantics, putting special emphasis on design decisions related to the language and their effects on verifiability and applicability. Furthermore, we demonstrate the design and verification functionality of the composition framework by presenting case studies from the cyber-physical system domain.


Sign in / Sign up

Export Citation Format

Share Document