Model-driven engineering of Hypermedia REST applications

Vishal Desai
Many tools have been developed that generate the skeleton of a basic REST-based application following the model-view-controller design pattern. However, little attention has been paid to developing tools that support Hypermedia-enabled appli-cations, despite the increased interest shown by the software industry to this style of applications. The objective of this research is to come up with a solid, feasible and efficient solution to take, as input, the structural and behavioural REST models of an application and generate a skeleton of Hypermedia REST application pro-gramming interface. What is required is a target framework for generation of the code. To begin with, the focus would be on Java with Spring boot framework and Spring MVC structure. The scope of this research is limited to Java language only. Later on, it could be possible to expand to other languages. Firstly, there is a need to know what kind of inputs or models would be required. REST modelling consists of two parts: structural modelling and behavioural modelling. Structural modelling is usually done with class diagrams while behavioural modelling is usually done with state charts. The output generation part has to be developed in a manner that it would allow, in future, to generate code for various languages. This would serve as a guideline for future work. In this paper, we introduce RestGen, a simple, intuitive yet powerful domain specific language (DSL) that helps developers to specify a REST API and that generates the skeleton of a Spring-based Java application that complies with the intended API. The DSL has been implemented as an Eclipse plugin, which demonstrates the feasibility of the approach.
Graduation Thesis language
Graduation Thesis type
Master - Software Engineering
Luciano García-Bañuelos
Defence year