ArchiMeDeS: A Service-Oriented Framework for Model-Driven Development of Software Architectures
dc.contributor.author | López Sanz, Marcos | |
dc.date.accessioned | 2011-11-02T11:55:41Z | |
dc.date.available | 2011-11-02T11:55:41Z | |
dc.date.issued | 2011-02 | |
dc.identifier.uri | http://hdl.handle.net/10115/5729 | |
dc.description | Tesis Doctotal leída en la Universidad Rey Juan Carlos en febrero de 2011. Directores de la Tesis: Esperanza Marcos Martínez y Carlos E. Cuesta Quintero | es |
dc.description.abstract | La dependencia de la industria en las tecnologías de la información se ha acentuado en los últimos años conforme lo han hecho sus necesidades de buscar nuevas fórmulas de negocio. Esto se debe, principalmente, a un cambio de tendencia hacia nuevos modelos de negocio basados en la externalización o el posicionamiento online. Desde el ámbito de las tecnologías de la información han surgido nuevos paradigmas de computación e iniciativas de desarrollo con el fin de ayudar en estos nuevos escenarios. La principal línea de actuación se centra en ofrecer una solución para conseguir un alineamiento entre las entidades involucradas en la provisión de servicios de negocio y aquellas tecnologías y plataformas que soporten sus requisitos de negocio. En este sentido, dos iniciativas han demostrado ser de gran ayuda: la aproximación MDA, como forma de abordar la especificación de metodologías y estrategias de desarrollo de software, y la orientación a servicios, como paradigma de computación. En los últimos años estos dos elementos han constituido la base de multitud de iniciativas de investigación, proyectos y propuestas enfocadas a solucionar el problema citado anteriormente. Por otro lado, la Arquitectura, como artefacto central de cualquier solución software, se considera, por lo general, el elemento adecuado sobre el que los principios de la orientación a servicios pueden aplicarse mejor. De igual forma, en los últimos años el uso de estrategias dirigidas por modelos para su especificación constituye una aproximación que se ha demostrado válida dentro del área de investigación de las arquitecturas software. Esta Tesis se centra en agrupar los tres aspectos mencionados con anterioridad: tiene como objetivo la definición de un marco dirigido por modelos para la especificación de arquitecturas software que tengan como base los principios de la orientación a servicios. El marco descrito, bajo el nombre de ArchiMeDeS, representa una solución coherente para definir arquitecturas que reduce el salto existente entre las configuraciones de alto nivel de un sistema, entendido desde un punto de vista organizativo y de negocio, y su representación de bajo nivel, donde los aspectos tecnológicos determinan el aspecto final del sistema ofreciendo un soporte tecnológico a los procesos de negocio y restricciones aplicables previamente identificados. Para alcanzar este objetivo, ArchiMeDeS presenta una solución integrada que sigue los principios de MDA para la especificación de arquitecturas software. Consecuentemente, y siguiendo la separación en niveles de abstracción promovida por MDA, se han creado varios DSLs para la representación de Arquitecturas Software: un DSL a nivel PIM que permite la especificación conceptual de arquitecturas basadas en servicios y diferentes DSLs en el nivel PSM. El modelado específico de la plataforma (PSM) ha sido dividido en dos subniveles con el fin de reflejar, separadamente, los aspectos comunes a cualquier plataforma de servicios por un lado y, por otro lado, las particularidades de las tecnologías concretas de servicios, para lo cual se ha definido un DSL para cada aproximación tecnológica escogida. La diferenciación en niveles PIM y PSM para la especificación de la arquitectura permite aislar las características más abstractas y conceptuales de la arquitectura del sistema (nivel PIM) de aquellos aspectos específicos de la plataforma de ejecución o tecnología de implementación del sistema (nivel PSM). Además, el modelado a diferentes niveles de abstracción permite la inclusión de información adicional referida a decisiones arquitectónicas tanto en uno como en otro nivel. A nivel PIM, por ejemplo, se incorpora en los modelos arquitectónicos información referente a la utilización de estilos arquitectónicos. Asimismo, y como se ha indicado anteriormente, el nivel PSM se ha dividido en dos subniveles: PDM, que congrega todos aquellos conceptos que comparten las plataformas de ejecución de servicios: y TDM, que contendrá extensiones a este modelo PDM particularizadas con las características concretas de las tecnologías de servicios basadas en Servicios Web, Servicios Grid y Servicios REST. En cada caso, tanto a nivel PIM como PSM, se han detallado la semántica (entendida como el conjunto de conceptos que definen la sintaxis abstracta del lenguaje) y la sintaxis concreta. Para la semántica, los conceptos utilizados son aquéllos provenientes del paradigma SOC. Como consecuencia directa, las arquitecturas software modeladas se convierten en artefactos orientados a servicios, beneficiándose de esta manera de sus propiedades a la hora de representar las características estructurales de soluciones software que soporten procesos de negocio concretos. Para llegar a tal fin, los conceptos han sido definidos dentro de metamodelos que permiten la definición de modelos arquitectónicos de servicios. Por otro lado, la sintaxis concreta de cada uno de los DSL definidos se basa en el uso de UML como notación gráfica. El fin último es proveer a cada DSL de una notación específica, adaptable, fácil de comprender a simple vista y que esté ampliamente extendida y aceptada como notación para representar artefactos software. Además, la utilización de UML permite apoyarse en sus capacidades de extensión para la definición de modelos gráficos personalizados mediante perfiles UML. Con el fin de mejorar los modelos arquitectónicos e incorporar información adicional (como la que puede aportar la selección de un estilo arquitectónico determinado), se ha definido un conjunto de transformaciones entre modelos. Por un lado, se ha definido un proceso de fusión entre los modelos de nivel PIM y aquéllos conteniendo la información sobre estilos arquitectónicos. Para ello se han utilizado modelos de weaving y transformaciones definidas en ATL. Por otro lado, y con el fin de adaptar la información arquitectónica conceptual recogida a nivel PIM a las peculiaridades de las plataformas de servicios, se han definido reglas de transformación, también con ATL, entre los metamodelos de nivel PIM y cada uno de los metamodelos definidos a nivel PSM para las plataformas anteriormente citadas. Además de la definición de los metamodelos a diferente nivel de abstracción (PIM, PDM, TDM) y de transformaciones entre ellos (PIM-a-PIM, PIM-a-PDM/PIM-a-TDM), se ha definido un conjunto de herramientas de modelado como parte de ArchiMeDeS. Este conjunto de herramientas permiten la edición gráfica de los modelos arquitectónicos, la validación de los mismos de acuerdo a sus correspondientes metamodelos y la ejecución de las transformaciones de modelos definidas entre ellos. Para su implementación se ha utilizado Eclipse como plataforma de desarrollo. Además, se han utilizado diversas extensiones, específicas para el desarrollo dirigido por modelos en Eclipse, tales como EMF, GMF o aquéllas que soportan la definición y ejecución de transformaciones de modelos en ATL. En conjunción con estas extensiones se han utilizado también otros entornos de modelado especializados en la definición de procesos de weaving (como AMW). Finalmente, ArchiMeDeS ha sido validado y refinado mediante su aplicación a la especificación de la arquitectura de diferentes casos de estudio: un sistema para la gestión de imágenes médicas, una pasarela para el envío de SMS y la emulación de una situación de juego concreta en un partido de baloncesto como metáfora para el estudio de coreografías de servicios. | es |
dc.description.abstract | 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. | en |
dc.language.iso | en | es |
dc.publisher | Universidad Rey Juan Carlos | es |
dc.subject | Informática | es |
dc.title | ArchiMeDeS: A Service-Oriented Framework for Model-Driven Development of Software Architectures | es |
dc.type | info:eu-repo/semantics/doctoralThesis | es |
dc.rights.accessRights | info:eu-repo/semantics/openAccess | es |
dc.subject.unesco | 1203.23 Lenguajes de Programación | es |
dc.subject.unesco | 3304.06 Arquitectura de Ordenadores | es |
dc.description.departamento | Lenguajes y Sistemas Informáticos II |
Files in this item
This item appears in the following Collection(s)
-
Tesis Doctorales [1490]
Los ítems de digital-BURJC están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario