Metamodelización y formalismos para la representación del comportamiento

Autor: Rubio García, Angel Luis

Tipo de documento: Tesis

Director/es: Domínguez Murillo, Eladio ; 

Universidad: Universidad de La Rioja

Año: 2002 

Texto completo open access 

Resumen: Actualmente existen multitud de metodologías, técnicas, lenguajes, métodos, herramientas, etc. que pueden ser utilizadas durante el desarrollo de sistemas software complejos. En particular un número importante de estas técnicas y lenguajes están involucrados en la representación de aspectos relativos al comportamiento de dichos sistemas, y la inmensa mayoría de las metodologías de análisis y diseño orientados a objetos incluyen componentes para la modelización estructural junto con componentes para la modelización de comportamiento. Esta situación es particularmente relevante cuando la naturaleza del sistema que se ha de modelizar es esencialmente dinámica, tal como ocurre por ejemplo en los sistemas reactivos o en los sistemas de tiempo real. Para la modelización de este tipo de sistemas se han desarrollado distintos formalismos específicos, tales como Statecharts o Redes de Petri, para los que a su vez se han elaborado multitud de variantes. Esta compleja situación sugiere la conveniencia de disponer de un marco que permita describir los conceptos esenciales ligados a la representación de comportamiento con independencia del lenguaje o técnica concreta que se utilice. Este marco permitiría el estudio detallado de estos lenguajes o técnicas, siendo este un paso previo para el análisis posterior de problemas tales como comparación, adaptación, transformación, etc. De dichos lenguajes. En este trabajo se presenta una solución a este problema, a través de la introducción de una arquitectura genérica, denominada arquitectura NÓESIS. Como medio para abstraer las particularidades de cada lenguaje o técnica concreta, para el desarrollo de la arquitectura utilizaremos una perspectiva de metamodelización. Se ha demostrado que el uso de la perspectiva de metamodelización es un medio válido para mejorar la usabilidad, comprensibilidad y legibilidad durante el estudio (análisis, diseño, comparación, adaptación, etc. ) de lenguajes y técnicas. En concreto en este trabajo utilizamos una técnica de metamodelización concreta, la técnica NÓESIS, ilustrándola en primer término mediante un ejemplo de metamodelo del modelo de bases de datos RM/T. El uso de esta técnica junto con las directrices que proporciona la arquitectura NÓESIS nos han permitido desarrollar un metamodelo de Statecharts que recoge toda la potencia expresiva de este formalismo, tanto en un sentido más cercano a los aspectos sintácticos como en los aspectos puramente de comportamiento. Como prueba de la versatilidad de la arquitectura NÓESIS, en este trabajo se incluye también un metamodelo de UML State Machines, la versión orientada a objeto de Statecharts que ha sido incluida dentro de UML. La particularidad de este otro metamodelo es que para su expresión se ha utilizado como lenguaje de metamodelización el propio UML, siguiendo el estilo "oficial" de definición de este lenguaje. Estos ejemplos prueban que la utilización de la arquitectura Noesis es independiente de la perspectiva de metamodelización utilizada, siendo por tanto una herramienta flexible para la representación de aspectos de comportamiento. --- Nowadays there exists a plethora of methodologies, techniques, languages, methods, tools, etc. that can be used to develop complex software systems. In particular, many of these techniques and languages are involved in the representation of aspects related to the behavior of systems, and most of the object-oriented analysis and design methodologies and languages include components devoted to structural modelling together with other devoted to behavioural modeling. This situation is particularly relevant when the system to be modelled is dynamic in essence, as for instance in the case of reactive systems or real-time systems. Several formalisms, such as Statecharts or Petri Nets, have been developed specifically to model this kind of systems, and a good deal of variants of each of these formalisms have been created. This complex situation suggests the usefulness of a framework that allows to describe the essential concepts linked to the representation of behavior irrespectively of each particular technique. This framework would allow to study in detail these languages and techniques, and this study is a preliminary step to analyse some issues regarding these languages such as comparison, adaptation, transformation, among others. This thesis presents a solution to this problem, by means of the introduction of a generic architecture, called NOESIS architecture. We use a metamodeling perspective to disassociate from the particularities of each language or technique. Metamodeling is being increasingly used as a software and method engineering tool, and it has been proven in the literature that the use of a metamodeling perspective is effective to improve the usability, understandability and legibility during the study (analysis, design, comparison, adaptation, etc.) of languages and techniques. More specifically, in our work we use a particular metamodeling technique, the NOESIS technique. We explain the basic constructs of this technique by means of a metamodel of the database model RM/T. The use of the NOESIS technique together with the guidelines that the NOESIS architecture provides, has allowed us to develop a metamodel of Statecharts that fully captures the expressive power of this formalism, in a way similar to the syntactic aspects as well as in the purely behavioural aspects. To prove the versatility of the NOESIS architecture, in this work we also include a metamodel of UML State Machines, the object-oriented version of Statecharts gathered in UML. Following the definition style of UML, that uses UML itself, in this second metamodel we have used UML as metamodeling language. These examples prove that the NOESIS architecture can be used irrespectively of the metamodeling perspective adopted, and therefore this architecture is flexible approach to represent behavioural aspects.