Complutense University Library

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

García-Magariño García, Iván (2010) Un marco para la definición y transformación de modelos en los sistemas multiagentes. Tesis PhD.

[img]
Preview
PDF
4MB
View download statistics for this eprint

==>>> Export to other formats

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.

Item Type:Thesis (PhD)
Additional Information:Tesis de la Universidad Complutense de Madrid, Facultad de Informática, Departamento de Ingeniería del Software e Inteligencia Artificial, leída el 30-10-2009
Directors:
DirectorsDirector email
Gómez Sanz, Jorge JesúsUNSPECIFIED
Fuentes Fernández, RubénUNSPECIFIED
Uncontrolled Keywords:Inteligencia Artificial, Software
Subjects:Sciences > Computer science > Artificial intelligence
Sciences > Computer science > Software
ID Code:10639
Deposited On:21 Jun 2010 12:37
Last Modified:06 Feb 2014 08:46

Repository Staff Only: item control page