With the widespread of mobile devices such as notebooks, tablets and smartphones, it became feasible and desirable to migrate “traditional” desktop applications to a browser-based model. Examples of such applications are text editors, spreadsheet managers, database administration tools, etc. Currently, modelling tools are also starting to follow this migration path.
The goal of this assignment is to investigate the architectural components, technologies and techniques to develop a browser-based model editor. The editor should not be bound to any specific modelling language. Instead, it should have access to a repository of modelling languages and allow the creation of models using any of the languages available in the repository. Therefore, to support this feature, one should investigate how to represent the metamodel of the modelling languages, and how to specify the visual representation of the elements of this metamodel. In other words, we should be able to specify that the concepts defined in the metamodel of the modelling language are linked to graphical elements such as rectangles, ovals and lines, which are used to represent these concepts in a diagram.
Since the editor should be browser-based, the created models as well as the available modelling language metamodels must be stored on the server-side (back-end). Therefore, a software architecture must be defined to establish the structure and interconnection of the system components and to guide the development of the actual supporting system.
- Study server-side technologies such as Java Servlets and REST services;
- Study modeling and metamodelling techniques;
- Develop a software architecture for the proposed solution;
- Define a (simplified) metamodel for a language to be used by the editor;
- Develop a prototype of the graphical browser-based editor supporting the defined language metamodel.
- W3C. HTML5. A vocabulary and associated APIs for HTML and XHTML. W3C Working Draft 25 May 2011. Available at http://www.w3.org/TR/html5/
- Alex Rodriguez. RESTful Web services: The basics. Available at http://www.ibm.com/developerworks/webservices/library/ws-restful/
- ADSA-Model-driven Engineering course. University of Twente.
Luís Ferreira Pires
This project will be performed in collaboration with BiZZdesign (http://www.bizzdesign.nl/).