thesis

Un marco para la definición y transformación de modelos en los sistemas multiagentes

Abstract

El Desarrollo del Software Dirigido por Modelos (DSDM) es un paradigma de desarrollo en el que los modelos son el producto principal, y a partir de ellos se generan los sistemas de forma automática, total o parcialmente. Del tratamiento de los modelos, surge la necesidad de denirlos y transformarlos, que se aborda respectivamente con la denición de metamodelos y transformaciones. Uno de los principales beneciarios del DSDM es la Ingeniería del Software Orientada a Agentes (ISOA). En ésta, se construyen Sistemas Multi-agente (SMAs), que son sistemas distribuidos compuestos por agentes autónomos que interactúan dando lugar a comportamientos complejos. Si bien algunas caracter ísticas del DSDM se han incorporado plenamente en la ISOA como prácticas habituales, todavía dos factores dicultan su implantación completa. En primer lugar, la denición de metamodelos depende de la experiencia del diseñador y no existen guías que faciliten esta labor. Por otro lado, las herramientas y lenguajes existentes no permiten denir transformaciones de modelos con un esfuerzo razonable. Por ello, esta tesis propone una guía para denir metamodelos y un procedimiento para generar Transformaciones. La guía incluye un armazón para estructurar los metamodelos, recomendaciones para las decisiones principales, y una secuencia de pasos para denir los metamodelos. El armazón se estructura en tres capas que contienen respectivamente la información del lenguaje de modelado, los aspectos de presentación de los modelos y la información especíca de las herramientas. En la capa del lenguaje de modelado, se proponen ciertas representaciones de los elementos y se dan las pautas para asociar cada elemento con la representación más apropiada. Para esto se debe elegir entre una representación heterogénea, que minimiza el número de elementos de meta-modelado necesarios para representar los elementos del modelo, o una representación homogénea, con más elementos de meta-modelado pero más fácil de procesar automáticamente. También se debe elegir entre una representación redundante o no redundante de las referencias entre los elementos, dependiendo del nivel de navegabilidad que se desee, ya que dichas referencias son dirigidas. En los aspectos de presentación, se propone usar vistas que hagan referencia a diccionarios globales, facilitando el procesamiento de los modelos y evitando inconsistencias. En la tercera capa, se considera la información especíca de las herramientas, que no se había considerado en aproximaciones anteriores. Como marco de experimentación, con esta guía se ha denido el metamodelo de la herramienta INGENIAS Development Kit (IDK) con el lenguaje ECore, permitiendo incorporar las facilidades tecnológicas de la comunidad Eclipse en dicha herramienta. Además, se ha denido un metamodelo para la generación de un editor de procesos de ISOA, basado en el Software Process Engineering Metamodel (SPEM) del Object Management Group (OMG). En esta tesis, se considera la aproximación conocida como Generación de Transformaciones Basadas en Ejemplo (GTBE), donde se generan transformaciones a partir de parejas de modelos prototipo origen y destino. De esta forma, se evita que el diseñador tenga que conocer los lenguajes de transformación y tratar con detalles de bajo nivel de la especi�cación de los modelos, tales como las primitivas de meta-modelado involucradas en cada elemento del modelo. Las transformaciones generadas transforman los modelos que encajan en los modelos prototipo origen en los nuevos modelos que encajen en los modelos prototipo destino. Es habitual que exista un mecanismo de asociación de atributos para referenciar los modelos prototipo origen desde los modelos prototipo destino, indicando así la forma de transferir la información en las transformaciones generadas. En esta línea, esta tesis presenta un nuevo algoritmo y herramienta para la GTBE, que mejora a los trabajos existentes en varios aspectos. En primer lugar, se permite realizar el mecanismo de asociación de atributos desde varios elementos de cada modelo prototipo origen, mientras que las aproximaciones existentes sólo permiten esta asociación desde un elemento de cada modelo prototipo. Este avance permite combinar información de los atributos de diferentes elementos. Además, el algoritmo permite trabajar con grafos no conexos en los modelos prototipo origen y destino, característica no presente en los trabajos anteriores. Como experimentación, se han generado transformaciones con utilidad práctica en ciertos desarrollos de SMAs. En los ejemplos propuestos, se observa como ciertas transformaciones no podrían haber sido generadas por otras herramientas de GTBE. [ABSTRACT] The Model Driven Development (MDD) is a paradigm of development in which models are the main product and systems are totally or partially generated from these models. When processing models, it is necessary to de�ne and transform them, which is accomplished with the de�nition of metamodels and transformations respectively. One of the �elds that is most bene�tted from MDD is the Agent Oriented Software Engineering (AOSE). AOSE is concerned with the development of Multi-agent Systems (MASs), which are distributed systems made of autonomous agents that interact with each other producing emergent behaviors. Although some aspects of MDD are considered in AOSE, there are still two facts that prevent AOSE from fully incorporating MDD. First, the deinition of metamodels depends on the expertise of designers, and there are not guidelines that facilitate this task. Second, existent tools and languages do not allow practitioners to de�ne model transformations with a moderate effort. Thus, this thesis proposes a guideline for defining metamodels and a mechanism for generating transformations. The guideline includes a framework for structuring metamodels, recommendations for taking the main decisions, and a sequence of activities for defining metamodels. The framework is structured in three layers that respectively contain the information of a modeling language, the aspects for presenting its models, and the tool-specific information. In the modeling language layer, several representations of elements are proposed, and the guideline indicates the manner in which each element can be associated with the most appropriate representations. In this guideline, practitioners decide between a heterogenous representation, which minimizes the number of meta-modeling elements required to represent the modeling elements, and a homogenous representation, which uses more meta-modeling elements but is easier to be automatically processed. The guideline also includes the choice between a redundant and a non-redundant representation, regarding the degree of navigability that is desired. It is worth noticing that references between elements are directed, so the e�ective processing of certain operations over relationships requires redundant inverse references. Regarding the aspects for presenting models, the guideline proposes to use views that make references to global dictionaries, facilitating the processing of models and avoiding inconsistencies. The third layer considers the tool-speci�c information, which is not considered in the existent approaches. For experimentation, the metamodel of the INGENIAS Development Kit (IDK) has been de�ned following the guideline using the ECore language, allowing the incorporation of the technological facilities of the Eclipse community in the IDK. Furthermore, a metamodel is de�ned for the generation of an editor of processes in AOSE based on the Software Process Engineering Metamodel (SPEM) of the Object Management Group (OMG). The second issue considered in this thesis is the di�culties for a cost-efective de�nition of model transformations. For this problem, this research considers the approach known as Model Transformation By-Example (MTBE), which generates transformations from pairs of source and target model prototypes, avoiding that designers have to learn transformation languages and deal with low-level details of the metamodels of the involved modeling languages. The generated transformations transform models that match source prototype models into the new models that �t the target prototype models. These approaches usually include a mechanism for the mapping of attributes that refer to source prototype models from elements in the target prototype models, indicating the way of transferring information in the generated transformations. In this line of research, this thesis presents a new algorithm and tool for MTBE, which overcome some limitations of the existent approaches. First, the presented approach provides a mechanism for mapping attributes from several elements of each source prototype model, while existent approaches only provide this mapping from one element of each source prototype model. This improvement allows one to combine information from the attributes of diferent elements. Moreover, the presented algorithm can process non-connected graphs in the source and target model prototypes, which is not possible in other approaches. For experimentation, the tool has generated transformations with practical utility in certain MAS developments. In the proposed examples, one can observe that certain transformations cannot be generated by other MTBE tools

    Similar works