Formalización y representación de especificaciones computacionales

Anuncio
Departamento de Lenguajes y Ciencias de la Computación
Universidad de Málaga
Formalización y representación
de especificaciones
computacionales
TESIS DOCTORAL
Presentado por
José Raúl Romero Salguero
para optar al grado de
Doctor en Informática
Dirigida por
Dr. D. Antonio Vallecillo Moreno
Profesor Titular de Universidad
Área de Lenguajes y Sistemas Informáticos
Universidad de Málaga
Málaga, Octubre de 2007
TABLA DE CONTENIDOS
Tabla de Contenidos
Prólogo
xi
1. Antecedentes
1.1. El Modelo de Referencia para Procesamiento Abierto y Distribuido
1.1.1. La necesidad de separar los conceptos . . . . . . . . . . . .
1.1.2. Modelos y marcos arquitectónicos previos a RM-ODP . . .
1.1.3. Contexto y evolución de ODP . . . . . . . . . . . . . . . . .
1.1.4. Objetivos y conceptos fundamentales . . . . . . . . . . . . .
1.1.5. Puntos de vista de ODP . . . . . . . . . . . . . . . . . . . .
1.1.6. Correspondencias . . . . . . . . . . . . . . . . . . . . . . . .
1.1.7. Funciones comunes . . . . . . . . . . . . . . . . . . . . . . .
1.2. Especificación formal de sistemas abiertos en Maude . . . . . . . .
1.2.1. Métodos formales para los sistemas abiertos . . . . . . . . .
1.2.2. El lenguaje Maude . . . . . . . . . . . . . . . . . . . . . . .
1.2.3. El conjunto de herramientas de Maude . . . . . . . . . . . .
1.3. El Lenguaje Unificado de Modelado (UML) . . . . . . . . . . . . .
1.3.1. Definición e historia de UML . . . . . . . . . . . . . . . . .
1.3.2. Estructura y elementos de modelado . . . . . . . . . . . . .
1.3.3. Especificación de restricciones con OCL . . . . . . . . . . .
1.3.4. Mecanismos de extensión de UML . . . . . . . . . . . . . .
1.3.5. Ventajas e inconvenientes de UML . . . . . . . . . . . . . .
1.4. Arquitectura dirigida por modelos . . . . . . . . . . . . . . . . . .
1.4.1. Descripción de la arquitectura . . . . . . . . . . . . . . . .
1.4.2. Elementos en el marco de MDA . . . . . . . . . . . . . . . .
1.4.3. La arquitectura de gestión de modelos de ATLAS: AMMA
1.5. Conclusiones del capı́tulo . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
2
4
15
16
18
30
31
33
33
43
52
54
54
55
59
61
61
62
62
63
67
69
2. Especificación computacional en Maude
2.1. Especificación del Punto de Vista Computacional . . . . . . . . . .
2.1.1. Especificación de aspectos estructurales . . . . . . . . . . .
2.1.2. Especificación de aspectos de comportamiento . . . . . . . .
2.1.3. Especificación de contratos de entorno . . . . . . . . . . . .
2.2. Infraestructura computacional en Maude . . . . . . . . . . . . . . .
2.2.1. Objetos e interfaces computacionales . . . . . . . . . . . . .
2.2.2. Función de búsqueda . . . . . . . . . . . . . . . . . . . . . .
2.2.3. Vinculación de objetos . . . . . . . . . . . . . . . . . . . . .
2.2.4. Envı́o y recepción de señales . . . . . . . . . . . . . . . . .
2.2.5. Resumen de funciones de la Infraestructura Computacional
2.3. Especificación de una aplicación distribuida multimedia en Maude
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
71
72
72
77
78
79
80
82
83
85
86
86
III
IV
TABLA DE CONTENIDOS
2.3.1. Especificación formal de plantillas computacionales
2.3.2. Especificación del comportamiento computacional
2.3.3. Especificación de los requisitos extra-funcionales .
2.3.4. Ejecución, búsqueda y model-checking del sistema
2.4. Otros trabajos relacionados . . . . . . . . . . . . . . . . .
2.5. Conclusiones del capı́tulo . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3. Especificación computacional en UML 2
3.1. Proceso de definición del lenguaje especı́fico computacional . . . . .
3.2. Metamodelado del punto de vista computacional . . . . . . . . . . .
3.2.1. Elementos de ejecución y restricciones de comportamiento . .
3.2.2. Elementos estructurales . . . . . . . . . . . . . . . . . . . . .
3.2.3. Elementos de la especificación computacional en ODP . . . .
3.2.4. Defectos detectados en la definición de ODP-CV . . . . . . .
3.3. Perfil UML para el Punto de Vista Computacional . . . . . . . . . .
3.3.1. Correspondencias entre ODP y UML . . . . . . . . . . . . . .
3.3.2. Resumen del perfil . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3. Descripción detallada del paquete profile UML4ODP-CV
3.4. Disconformidades entre ODP y UML . . . . . . . . . . . . . . . . . .
3.4.1. Aspectos generales . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2. Conflictos de terminologı́a . . . . . . . . . . . . . . . . . . . .
3.4.3. Instanciación de las interfaces . . . . . . . . . . . . . . . . . .
3.4.4. Interfaces de doble causalidad . . . . . . . . . . . . . . . . . .
3.4.5. Puntos de variación semántica de UML . . . . . . . . . . . .
3.4.6. Opciones de metamodelado . . . . . . . . . . . . . . . . . . .
3.4.7. Especificación de restricciones de calidad de servicio . . . . .
3.5. Especificación de una aplicación distribuida multimedia en UML 2 .
3.5.1. Especificación de la estructura del sistema . . . . . . . . . . .
3.5.2. Especificación del comportamiento . . . . . . . . . . . . . . .
3.5.3. Contratos de entorno . . . . . . . . . . . . . . . . . . . . . . .
3.6. Otros trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . .
3.7. Conclusiones del capı́tulo . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 91
. 94
. 95
. 98
. 101
. 103
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
105
106
107
108
112
112
112
116
117
125
127
134
134
135
135
136
137
137
138
138
140
141
142
145
147
4. Ejecución de especificaciones computacionales
4.1. Definición del proceso de transformación . . . . . . . . . . . . . . . . .
4.2. Definición de metamodelos origen y destino . . . . . . . . . . . . . . .
4.2.1. Metamodelo de UML 2 . . . . . . . . . . . . . . . . . . . . . .
4.2.2. Metamodelo de Maude . . . . . . . . . . . . . . . . . . . . . . .
4.3. Declaración de las transformaciones . . . . . . . . . . . . . . . . . . .
4.3.1. Transformaciones modelo–a–modelo . . . . . . . . . . . . . . .
4.3.2. Transformaciones modelo–a–código . . . . . . . . . . . . . . . .
4.4. Caso de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Ejecución y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6. Aspectos de discusión . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1. Uso del metamodelo ODPCV-MM como metamodelo intermedio
4.6.2. Conservación de propiedades con diferentes destinos . . . . . .
4.6.3. Bidireccionalidad de las transformaciones . . . . . . . . . . . .
4.6.4. Dependencia de las herramientas . . . . . . . . . . . . . . . . .
4.6.5. Falta de sintaxis concreta para las acciones en UML . . . . . .
4.7. Conclusiones del capı́tulo . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
149
150
155
155
156
159
159
173
174
179
181
181
183
184
186
187
187
TABLA DE CONTENIDOS
5. Conclusiones
189
5.1. Conclusiones y aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.2. Lı́neas de trabajo abiertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
A. Infraestructura computacional en Maude
A.1. Dependencias entre módulos . . . . . . . . . . . . . . . . .
A.2. Especificación Maude de la infraestructura computacional
A.2.1. Módulo CV-BINDING . . . . . . . . . . . . . . . . .
A.2.2. Módulo CV-SORTS . . . . . . . . . . . . . . . . . .
A.2.3. Módulo CV-INTERFACE . . . . . . . . . . . . . . .
A.2.4. Módulo PROTO-OBJECT . . . . . . . . . . . . . .
A.2.5. Módulo CV-OBJECT . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
I-1
I-1
I-2
I-2
I-2
I-3
I-3
I-4
B. Metamodelo ODPCV-MM
B.1. Criterios de diseño . . . . . . . . . . . .
B.1.1. Aspectos generales . . . . . . . .
B.1.2. Organización del metamodelo . .
B.1.3. Convenciones de modelado . . .
B.1.4. Estructura de la especificación de
B.2. Paquete Core . . . . . . . . . . . . . . .
B.2.1. Tipos de datos . . . . . . . . . .
B.2.2. Clases . . . . . . . . . . . . . . .
B.2.3. Asociaciones . . . . . . . . . . .
B.3. Paquete ComputationalTemplates . . . .
B.3.1. Enumeraciones . . . . . . . . . .
B.3.2. Clases . . . . . . . . . . . . . . .
B.4. Paquete ComputationalEntities . . . . .
B.4.1. Clases . . . . . . . . . . . . . . .
B.4.2. Asociaciones . . . . . . . . . . .
B.5. Paquete ComputationalBehavior . . . .
B.5.1. Enumeraciones . . . . . . . . . .
B.5.2. Clases . . . . . . . . . . . . . . .
B.5.3. Asociaciones . . . . . . . . . . .
B.6. Paquete ComputationalSpecification . .
B.6.1. Clases . . . . . . . . . . . . . . .
B.6.2. Asociaciones . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
II-1
II-1
II-1
II-1
II-2
II-3
II-4
II-4
II-5
II-10
II-13
II-13
II-15
II-18
II-18
II-23
II-24
II-24
II-24
II-27
II-29
II-29
II-30
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
ODPCV-MM
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
C. Metamodelo Maude en KM3
III-1
BIBLIOGRAFÍA
IV-1
V
Descargar