Resumen:
|
By analyzing the last years of software development evolution, it is possible to observe that
the involved technologies are increasingly focused on the definition of models for the
specification of the intended software ...[+]
By analyzing the last years of software development evolution, it is possible to observe that
the involved technologies are increasingly focused on the definition of models for the
specification of the intended software products. This model-centric development schema is the
main ingredient for the Model-Driven Development (MDD) paradigm.
In general terms, the MDD approaches propose the automatic generation of software
products by means of the transformation of the defined models into the final program code.
This transformation process is also known as model compilation process. Thus, MDD is
oriented to reduce (or even eliminate) the hand-made programming, which is an error-prone and
time-consuming task. Hence, models become the main actors of the MDD processes: the
models are the new programming code.
In this context, the interoperability can be considered a natural trend for the future of
model-driven technologies, where different modeling approaches, tools, and standards can be
integrated and coordinated to reduce the implementation and learning time of MDD solutions
as well as to improve the quality of the final software products. However, there is a lack of
approaches that provide a suitable solution to support the interoperability in MDD processes.
Moreover, the proposals that define an interoperability framework for MDD processes are still
in a theoretical space and are not aligned with current standards, interoperability approaches,
and technologies.
Thus, the main objective of this doctoral thesis is to develop an approach to achieve the
interoperability in MDD processes. This interoperability approach is based on current
metamodeling standards, modeling language customization mechanisms, and model-to-model
transformation technologies. To achieve this objective, novel approaches have been defined to
improve the integration of modeling languages, to obtain a suitable interchange of modeling
information, and to perform automatic interoperability verification.
[-]
|