PhD Thesis: Marcos López Sanz
ArchiMeDeS: A Service-Oriented Framework for Model-Driven Development of Software Architectures
The reliance of companies on IT has been rocketed in parallel to their search towards new business models. This is mainly due to the diversification of businesses towards new formulas based on externalization or online positioning. To assist in this scenario, new computing paradigms and development initiatives have come up.
The main line of attack to give support to all the needs detected by companies focuses on providing with a solution to the alignment between the entities involved in business service provisioning and the technologies and platforms that support their business requirements. In this direction, two initiatives have proved to be of great help: the MDA approach, as a way to tackle modern software development strategies and methodologies; and the SOC paradigm, as computing paradigm. In the last few years these two elements have been part of a myriad of research initiatives, projects and proposals targeting the abovementioned problem. In that sense, the Architecture, as central artefact of any software solution, is considered, by and large, as the adequate element of choice over which the principles of service-orientation may take big advantage. Similarly, the use of model-driven approaches for its specification constitutes an improvement that has been proved valid among the Software Architecture research area in the last few years.
This Doctoral Thesis is devoted to put together the previous three aspects: it aims at the definition of a framework for the Model-Driven specification of Software Architectures that use the concepts behind the Service-Orientation for its definition. The framework described, named ArchiMeDeS, represents a coherent solution for architecting the existing gap between high-level configuration of a system, describing the business entities and relationships required by the system solution, and its low-level representation, where the technological aspects determine the final shape of the system providing technical support to the previously identified business processes and constraints. To reach that goal, ArchiMeDeS presents an integrated solution that follows the MDA approach for the specification of Software Architectures. Accordingly, and following the separation in abstraction levels fostered by MDA, several DSLs for representing Software Architectures have been created: a DSL at PIM level, allowing for the specification of conceptual service architectures, and different DSLs at PSM level.
The platform specific modelling (PSM) has been divided in two in order to reflect, separately, the commonalities of service platforms and also the particularities of concrete service technologies, for which an independent DSL has been designed regarding each technological chosen approach. The differentiation in PIM and PSM levels for architecture specification allows the isolation of the conceptual features of the system architecture (at PIM level) from those specific of a concrete execution platform or implementation technology (at PSM level). In addition, modelling at different abstraction levels allows the inclusion of additional information within the models. In the case of ArchiMeDeS, it allows adding information from design decisions into PIM models in the form of architectural styles. Moreover, and as it was pointed out previously, the PSM level has been divided in two different sublevels: PDM (Platform Dependent Model), which gathers all the concepts that the target service-oriented platforms have in common; and TDM (Technology Dependent Model), which will comprise extensions to the PDM DSL adapted to the features of the service technologies based on Web Services, Grid Services and REST Services. In each case, either at PIM or PSM level, both the semantics (set of concepts building up the abstract syntax) and the concrete syntax have been defined. For the semantics, the concepts used are those contained within the SOC paradigm.
As a consequence, the Software Architectures modelled are transformed into Service-Oriented artefacts, thus taking advantage of its features to represent the structural characteristics of a software solution supporting the required business processes. To do so, the concepts are gathered in metamodels that allow the definition of service-oriented architectural models. On the other hand, the concrete syntax of each DSL is represented by means of a UML-based notation. The goal is to provide with a specific, adaptable and widely accepted notation for the representation of software artefacts. Moreover, by using UML it is possible to benefit from its extension mechanisms for the definition of personalized graphical models through the definition of UML profiles. With the purpose of improving the architectural models and being able to include additional information (such as that of architectural styles), several model transformations have been defined. On the one hand, a merge process between PIM models and that of the architectural styles have been defined. For that aim, weaving models and ATL transformation rules are used. On the other hand, and in order to adapt the architectural information gathered in PIM models to the particularities of service platforms, transformation rules have been specified, also with ATL, between the PIM metamodel and every metamodel of the PSM level for each of the abovementioned service platforms.Apart from the definition of metamodels at different abstraction levels (PIM, PDM, TDM) and transformations among them (PIM-to-PIM, PIM-to-PDM/PIM-to-TDM), the ArchiMeDeS framework includes a set of modelling tools. This toolkit allows the graphical editing of models, the validation of their conformance according to their metamodels and also the execution of the transformations among models.
This toolkit is based on the features offered by the Eclipse platform. Additionally, some extensions for that platform, specifically created for modelling purposes with Eclipse, such as EMF or GMF or those supporting the definition and execution of model transformations in ATL have been used. Together with these extensions, the ArchiMeDeS toolkit makes use of other specialized modelling frameworks, such as AMW, for the definition of weaving processes. Finally, the ArchiMeDeS framework has been validated and refined by means of its application to the architectural specification of several case studies: a system for the medical digital image management, a gateway for sending SMS and the emulation of a concrete game situation in basketball used to study service coordination based on choreographies.