Publicado el 31 de Julio del 2020
571 visualizaciones desde el 31 de Julio del 2020
1,1 MB
275 paginas
Creado hace 19a (16/03/2006)
Desarrollo de Software para Sistemas
de Tiempo Real Basado en UML.
Un Enfoque Formal Basado en
Metamodelado
Tesis Doctoral
Departamento de Lenguajes y Ciencias de la Computación
Universidad de Málaga, España
Presentada por
José María Álvarez Palomo
Director: Dr. Manuel Díaz Rodríguez
D. Manuel Díaz Rodríguez, Titular de Universidad del Departamento de
Lenguajes y Ciencias de la Computación de la Universidad de Málaga,
Certifica
que D. José María Álvarez Palomo, Ingeniero en Informática por la Uni-
versidad de Málaga, ha realizado en el Departamento de Lenguajes y Ciencias
de la Computación de la Universidad de Málaga, bajo su dirección, el trabajo
de investigación correspondiente a su Tesis Doctoral titulada
Desarrollo de Software para Sistemas de Tiempo Real Basado en UML.
Un Enfoque Formal Basado en Metamodelado
Revisado el presente trabajo, estimo que puede ser presentado al tribunal
que ha de juzgarlo, y autorizo la presentación de esta Tesis Doctoral en la
Universidad de Málaga.
En Málaga, 9 de febrero de 2006
Firmado: Manuel Díaz Rodríguez
Titular de Universidad
Dpto. de Lenguajes y Ciencias de la Computación
Universidad de Málaga
Muchos años después, frente al pelotón de fusilamiento,
el coronel Aureliano Buendía había de recordar aquella
tarde remota en que su padre lo llevó a conocer el hielo.
Cien años de Soledad. Gabriel García Márquez
. . . , ‘when the Queen jumped up and bawled out,
“He’s murdering the time! Off with his head!”’
Alice in Wonderland. Lewis Carroll
— Una taza de café y un título de doctor no se le niega
a nadie, como decimos en la Universidad – insiste el joven.
La sonrisa etrusca. Javier Sampedro
Es ingenuo pensar que una obra que se desarrolla durante un período
de varios años, como es el caso de esta tesis, sea el resultado de un trabajo
individual. Son muchas las cosas que yo, como autor, he incorporado a este
trabajo y que las he aprendido no sólo de las personas con las que he convivido
en estos años, sino durante toda mi vida.
Siempre resulta injusto mencionar a unas personas concretas cuando la
memoria hace que olvides a otras, quizá tan importantes, así que espero que
aquellos quienes se consideren merecedores de estar en estas líneas y no se
encuentren en ellas, no lo tomen como un desaire, sino que se unan a ellas
con la seguridad de que estaré encantado de que así lo hagan.
Quiero, por tanto, agradecer de manera concreta y dedicar esta obra a las
siguientes personas. A mi familia antigua: mi padre, José, mi madre, Rafi y
mi hermana Belén, por su amor y la educación que he recibido. A mi familia
nueva: mi mujer, Carmen, mi hijo, Héctor y mi hija, Carmen, también por
el amor que me dan todos los días y por enseñarme a ser una persona mejor.
A mi director de tesis, Manolo, por la guía que me ha dado todos es-
te tiempo y por su paciencia, ampliamente superior a la obligada. A mis
compañeros de despacho, Luis y José, con los que he pasado tantos días de
trabajo agradables, todo un lujo.
A mi querido amigo Paco, por su revisión del manuscrito, tan exhaustiva
y precisa.
A Andy, Paul y Guiem, por darme la oportunidad de trabajar con ellos
en York y hacerme sentir como en casa.
Y a Miguel Ángel, por sus consejos.
Índice general
1. Introducción
1.1.
1.2.
1.3.
1.4.
1.5.
1. Modelado de sistemas . . . . . . . . . . . . . . . . . . . . . . .
¿Qué es el modelado? . . . . . . . . . . . . . . . . . . .
Necesidad del modelado . . . . . . . . . . . . . . . . .
Los sistemas de tiempo real y su modelado . . . . . . .
Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
Aportaciones
1
1
1
3
4
7
9
2. Modelado formal de sistemas . . . . . . . . . . . . . . . . . . . 14
2.1. Métodos axiomáticos . . . . . . . . . . . . . . . . . . . 15
Técnicas basadas en teoría de conjuntos
2.2.
. . . . . . . . 17
Técnicas basadas en álgebras de procesos . . . . . . . . 19
2.3.
2.4.
Lógicas temporales . . . . . . . . . . . . . . . . . . . . 23
Técnicas y herramientas formales de análisis: Tau . . . . . . . 26
Simulación . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.
3.2.
Generación de código . . . . . . . . . . . . . . . . . . . 27
Validación y verificación . . . . . . . . . . . . . . . . . 29
3.3.
3.4.
Comprobación de modelos . . . . . . . . . . . . . . . . 30
Lenguajes gráficos de modelado . . . . . . . . . . . . . . . . . 31
SDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.
4.2.
UML . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5. Metamodelado . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6. Metodologías de desarrollo de sistemas de tiempo real . . . . . 54
6.1. Metodologías estructuradas
. . . . . . . . . . . . . . . 54
6.2. Metodologías orientadas a objetos . . . . . . . . . . . . 55
6.3. Metodologías basadas en SDL . . . . . . . . . . . . . . 63
6.4. Metodologías basadas en UML . . . . . . . . . . . . . . 66
6.5.
Herramientas automáticas de diseño . . . . . . . . . . . 75
3.
4.
ix
2. Una semántica de acciones para MML
1.
2.
3.
4.
5.
6.
7.
8.
77
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Los fundamentos del modelo MML . . . . . . . . . . . 79
1.1.
Principios arquitectónicos
. . . . . . . . . . . . . . . . . . . . 80
Núcleo dinámico
. . . . . . . . . . . . . . . . . . . . . . . . . 81
Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.1.
Conceptos de modelo . . . . . . . . . . . . . . . . . . . 84
4.2.
. . . . . . . . . . . . . . . . . 86
Conceptos de instancias
Acciones primitivas . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.
Acción nula . . . . . . . . . . . . . . . . . . . . . . . . 88
Acción de crear un objeto . . . . . . . . . . . . . . . . 90
5.2.
5.3.
Acción de escritura de un atributo
. . . . . . . . . . . 92
Acciones compuestas . . . . . . . . . . . . . . . . . . . . . . . 95
6.1.
Acción Secuencial . . . . . . . . . . . . . . . . . . . . . 98
6.2.
Acción Paralela . . . . . . . . . . . . . . . . . . . . . . 100
Ejemplo de ejecución . . . . . . . . . . . . . . . . . . . . . . . 101
La semántica de acciones en el ámbito de UML 2.0 . . . . . . 103
La propuesta adoptada finalmente para UML2.0 . . . . 104
8.1.
La propuesta enviada por 2U Consortium . . . . . . . 105
8.2.
8.3.
El paquete Behaviour
. . . . . . . . . . . . . . . . . . 106
El paquete Actions . . . . . . . . . . . . . . . . . . . . 107
8.4.
1.
2.
3.
Trabajos relacionados
3. Modelado de tiempo real de las máquinas de estados de UML125
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
. . . . . . . . . . . . . . . . . . 127
1.1.
Semántica de las máquinas de estados
. . . . . . . . . . . . . 131
La máquina de estados plana . . . . . . . . . . . . . . 132
2.1.
La máquina de estados con estados compuestos
2.2.
. . . . 138
La máquina de estados con estados concurrentes . . . . 144
2.3.
2.4.
La recepción de un evento . . . . . . . . . . . . . . . . 149
El tiempo real en las máquinas de estados
. . . . . . . . . . . 175
3.1.
Perfil de Planificabilidad, Rendimiento y Especifica-
ción del Tiempo
. . . . . . . . . . . . . . . . . . . . . 175
3.2. Mecanismos de expresión del tiempo en las máquinas
3.3.
3.4.
3.5.
de estados de UML . . . . . . . . . . . . . . . . . . . . 196
Características del entorno de tiempo
. . . . . . . . . 197
. . . . . . . . . . . . . . . . 202
Problemas de tiempo real
Extensión del entorno temporal de las máquinas de
estados . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
4. Metodología de diseño de sistemas de tiempo real orientada
a objetos
1.
2.
3.
213
. . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Introducción
Trabajo relacionado . . . . . . . . . . . . . . . . . . . . 215
1.1.
La metodología . . . . . . . . . . . . . . . . . . . . . . . . . . 218
2.1.
. 222
2.2.
Análisis y especificación de requisitos de tiempo real
Diseño e interacción con dispositivos físicos y asigna-
ción de prioridades . . . . . . . . . . . . . . . . . . . . 223
2.3.
Evaluación del rendimiento . . . . . . . . . . . . . . . . 226
Un caso real: el diseño de un teléfono inalámbrico . . . . . . . 227
3.1.
Descripción de la parte física . . . . . . . . . . . . . . . 228
Aplicación de la metodología . . . . . . . . . . . . . . . 229
3.2.
5. Conclusiones y trabajo futuro
243
CAPÍTULO 1
Introducción
modelo.
(Del it. modello).
4. m. Esquema teórico, generalmente en forma matemática, de un
sistema o de una realidad compleja, como la evolución económi-
ca de un país, que se elabora para facilitar su comprensión y el
estudio de su comportamiento.
Diccionario de la lengua española. Vigésima segunda edición.
Real Academia Española.
1. Modelado de sistemas
1.1.
¿Qué es el modelado?
La creciente complejidad de los sistemas informáticos ha llegado a tal
nivel que aquellos de mayor envergadura son comparables en dificultad y ta-
maño con las grandes obras de otras ramas de la ingeniería o la arquitectura.
Esta complejidad comporta dos cuestiones fundamentales. Por un lado, es
difícil llegar a construir un sistema tan sofisticado, especialmente si no se tie-
ne experiencia previa ni información básica sobre su composición. Por otro
lado, también es difícil establecer a priori si el sistema funcionará correcta-
1
2
1. Modelado de sistemas
mente una vez construido, lo que es especialmente grave en aquellos sistemas
cuyo coste es muy elevado, o son especialmente difíciles de modificar una
vez construidos, o llevan a cabo tareas muy delicadas o peligrosas. En estas
otras ramas de las ciencias es tradicional el uso de modelos que permitan un
análisis previo de las características y el funcionamiento del sistema.
El uso de modelos es una herramienta básica para tratar esta complejidad,
ya que permite hacer una réplica más simple
Comentarios de: Desarrollo de Software para Sistemas de Tiempo Real Basado en UML (0)
No hay comentarios