PhD Thesis: Juan Manuel Vara Mesa
M2DAT: a Technical Solution for Model-Driven Development of Web Information Systems
During the last 20 years, there has been a continuous tendency towards raising the level of abstraction at which software is designed and developed. This way, assembly languages gave way to structured programming that yielded to object-orientation and so on. The last step in this line has been the Model-Driven Engineering (MDE) paradigm,that promotes the use of models as primary actors in the software development.
The underlying idea is to capture the system requirements and specification in high-level abstraction models that are automatically refined into low-level abstraction models. The latter takes into account the details of the targetting platforms and could be shown as the plans for the working-code. Indeed, such models are directly serialized into the working-code that implements the system. This way, automation comes as the other key of MDE: there is a need of tools for defining models, connecting them by means of model transformations, serializing them into code, etc.
The impact of the MDE paradigm has resulted in the advent of a number of methodological proposals for Model-Driven Software Development (MDSD). According to the MDE principles, the authors of such proposals have developed the corresponding tools that should provide with the technical support for them. However, the absence of standards and their closed nature have resulted in tools providing with ad-hoc solutions that do not make the most of IDM’s advantages in the form of less costly, rapid software development.
In this context, this thesis addresses the specification of M2DAT (MIDAS MDA Tool), a framework for semi-automatic model-driven development of Web Information Systems. To that end, instead of developing the technical support for each task comprised in a MDSD proposal, M2DAT integrates the isolated functionality provided by a set of existing tools for MDE tasks that will be used as building blocks.
This way, as part of this thesis we will define a conceptual architecture for MDSD frameworks. It will be an extensible, modular and dynamic architecture that promotes the integration of new capabilities in the form of new modules or subsystems and supports introducing desing decisions to drive the embedded model transformations. As well, since the proposed environtment follows a modular architecture, the development process to follow in order to build and integrate new modules will be defined.
Likewise, a set of methodological and technological decisions will be reasoned and justified to map the conceptual architecture to a technical design. Finally, in order to prove the feasibility of the proposal and to show that it can be used in practice and how it should be done, a reference implementation will be provided. In particular, one of the modules of M2DAT, that supports the model-driven development of modern Database schemas will be developed.
In summary, M2DAT aims at solving some drawbacks detected in existing tools for supporting MDSD methodologies, mainly due to their isolated and closed nature: in contrast with previous works in the field, M2DAT will be easily extensible to ease the task of responding to new advances in the field. Likewise, it will be highly interoperable to simplify the use of the functionality provided by any other tool with M2DAT’s models. Finally, special attention will be paid to the management of model transformations in M2DAT, since they are the cornerstone of any MDSD methodological proposal.
Installing M2DAT-DB (first M2DAT’s prototype):