Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
UNIVERSIDAD PRIVADA TELESUP
Prefacio:
2
UNIVERSIDAD PRIVADA TELESUP
3
UNIVERSIDAD PRIVADA TELESUP
ndice del Contenido
I. PREFACIO 02
II. DESARROLLO DE LOS CONTENIDOS 03 - 147
UNIDAD DE APRENDIZAJE 1: MODELADO DE SISTEMAS 05-43
1. Introduccin 06
a. Presentacin y contextualizacin 06
b. Competencia 06
c. Capacidades 06
d. Actitudes 06
e. Ideas bsicas y contenido 06
2. Desarrollo de los temas 07-39
a. Tema 01: Qu es el modelado? 07
b. Tema 02: Modelado formal de sistemas. 13
c. Tema 03: Tcnicas formales de anlisis de sistemas. 24
d. Tema 04: Lenguajes grficos de modelado. 30
3. Lecturas recomendadas 40
4. Actividades 40
5. Autoevaluacin 41
6. Resumen 43
UNIDAD DE APRENDIZAJE 2: METODOLOGAS DE DESARROLLO DE SISTEMAS DE TIEMPO
44-76
REAL
1. Introduccin 45
a. Presentacin y contextualizacin 45
b. Competencia 45
c. Capacidades 45
d. Actitudes 45
e. Ideas bsicas y contenido 45
2. Desarrollo de los temas 46-72
a. Tema 01: Metodologas estructuradas orientada a objetos. 46
b. Tema 02: Metodologas basadas en SDL y en UML. 52
c. Tema 03: Una semntica de acciones para MML. 58
d. Tema 04: Acciones primitivas. 66
3. Lecturas recomendadas 73
4. Actividades 73
5. Autoevaluacin 74
6. Resumen 76
UNIDAD DE APRENDIZAJE 3: MODELADO DE TIEMPO REAL DE LAS MQUINAS DE ESTADOS 77-108
1. Introduccin 78
a. Presentacin y contextualizacin 78
b. Competencia 78
c. Capacidades 78
d. Actitudes 78
e. Ideas bsicas y contenido 78
2. Desarrollo de los temas 79-104
a. Tema 01: Semntica de las mquinas de estados. 79
b. Tema 02: La mquina de estados con estados concurrentes. 86
c. Tema 03: El tiempo real en las mquinas de estados. 91
d. Tema 04: Expresin del tiempo en las mquinas de estados. 98
3. Lecturas recomendadas 105
4. Actividades 105
5. Autoevaluacin 106
6. Resumen 108
UNIDAD DE APRENDIZAJE 4: METODOLOGA DE DISEO DE SISTEMAS ORIENTADO A OBJETOS 109-144
1. Introduccin 110
a. Presentacin y contextualizacin 110
b. Competencia 110
c. Capacidades 110
d. Actitudes 110
e. Ideas bsicas y contenido 110
2. Desarrollo de los temas 111-140
a. Tema 01: Introduccin a la metodologa de diseo. 111
b. Tema 02: Propuesta de una metodologa. 117
c. Tema 03: Diseo con dispositivos fsicos. 122
d. Tema 04: Un caso real: el diseo de un telfono inalmbrico. 128
3. Lecturas recomendadas 141
4. Actividades 141
5. Autoevaluacin 142
6. Resumen 144
III. GLOSARIO 145
IV. FUENTES DE INFORMACIN 146
V. SOLUCIONARIO 147
4
UNIVERSIDAD PRIVADA TELESUP
5
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin:
b) Competencia:
c) Capacidades:
d) Actitudes:
6
UNIVERSIDAD PRIVADA TELESUP
Qu es el TEMA 1
Modelado?
Competencia:
Reconocer la importancia y necesidad del
modelamiento de sistemas.
7
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
8
UNIVERSIDAD PRIVADA TELESUP
Debe mostrar las mismas caractersticas que el sistema final, al menos en aquellos
aspectos que quieran ser estudiados o analizados antes de la construccin del
sistema final.
Debe tener una base matemtica o formal que permita la demostracin de
propiedades, con el fin de poder predecir el funcionamiento del sistema una vez
construido.
Debe ser significativamente ms fcil y econmico de construir que el sistema final.
9
UNIVERSIDAD PRIVADA TELESUP
Estas aplicaciones tienen grandes ventajas, ya que permiten a los mdicos un acceso
inmediato, desde distintos lugares y, posiblemente, simultaneo, a la informacin
histrica de pacientes a los que pueden no haber tratado antes. Sin embargo, los
requisitos de seguridad y de confidencialidad son una condicin bsica para evitar que
esos datos tan sensibles puedan usarse indebidamente. Por su parte, los sistemas de
apoyo vital a los enfermos que estn en las unidades de cuidados intensivos han de
ser capaces de seguir funcionando correctamente incluso
si, por ejemplo, se produce una prdida momentnea de
suministro elctrico. Es, por tanto, clara la necesidad de
construir sistemas informticos libres de errores y que
respondan a los requisitos con que se pensaron.
10
UNIVERSIDAD PRIVADA TELESUP
Son sistemas inherentemente concurrentes en los que hay varios flujos de control
ejecutndose simultneamente e interaccionando, accediendo a recursos comunes
y comunicndose y sincronizndose entre ellos. El desarrollo de sistemas
concurrentes es ms complejo por la posibilidad de problemas adicionales como el
bloqueo, la inversin de prioridades, etc.
Interactan directamente con sistemas fsicos. Es muy
habitual encontrar sistemas que tienen una relacin a muy
bajo nivel con dispositivos fsicos para lectura de datos
para monitorizar los sistemas controlados y para escritura de datos para su control.
11
UNIVERSIDAD PRIVADA TELESUP
12
UNIVERSIDAD PRIVADA TELESUP
Modelado TEMA 2
Formal de
Sistemas
Competencia:
Describir los distintos modelos para modelar
formalmente los sistemas.
13
UNIVERSIDAD PRIVADA TELESUP
Son numerosos los distintos mtodos de modelar sistemas informticos que han
surgido desde los aos sesenta. Algunos de ellos son formales porque incorporan un
formalismo matemtico subyacente que permite derivar de manera fiable propiedades
de los sistemas modelados. Algunos de esos mtodos usan como base la lgica de
predicados de primer orden. Hay otros que se basan en la teora de conjuntos, para
describir los cambios de estados de los datos del sistema. Otros se basan en lgebras
de procesos.
14
UNIVERSIDAD PRIVADA TELESUP
Mtodos axiomticos
La axiomatizacin de los lenguajes de programacin ha sido
el primer paso en la formalizacin del diseo de los sistemas
informticos. Los primeros trabajos elaborados para el
desarrollo metdico de programas se usa la lgica de
predicados de primer orden. Las frmulas de estas lgicas de
programacin son las tripletas, que constan de una
precondicin, un programa y una postcondicin ({P} S {Q}). La precondicin y la
postcondicin son predicados lgicos sobre el estado del programa. El estado del
programa viene representado por el conjunto de valores de las variables. La tripleta es
verdad si cuando empieza la ejecucin del programa S, la precondicin P es cierta y,
si acaba el programa, la postcondicin Q tambin es cierta.
15
UNIVERSIDAD PRIVADA TELESUP
16
UNIVERSIDAD PRIVADA TELESUP
[NOMBRE, FECHA]
LibroCumpleaos =
[conocidos: PNOMBRE; cumple:
NOMBRE FECHA| conocidos = dom cumple]
17
UNIVERSIDAD PRIVADA TELESUP
En este esquema se han definido los tipos que se van a usar NOMBRE y FECHA, el
conjunto de nombres cuyo cumpleaos se sabe (conocidos) y una funcin parcial que
asocia ciertos nombres con fechas (cumple). La restriccin final establece una forma
de calcular conocidos, como el dominio actual de la funcin cumple.
El siguiente esquema define una operacin que modifica el espacio de estados
definido en el anterior.
IncluirCumple =
[nombre? : NOMBRE; fecha? : FECHA|
nombre? conocidos; cumple = cumple nombre? fecha?]
18
UNIVERSIDAD PRIVADA TELESUP
Todo evento se considera una interaccin entre procesos, con lo que se consigue
un modelo homogneo. Por ejemplo, escribir un valor en un registro es un evento
en el que interaccionan el proceso que est escribiendo el valor y el registro o el
sistema.
El funcionamiento de los constructores de procesos debe depender exclusivamente
de los procesos que toman parte en l. Como ejemplos de estos constructores
estn: conjuncin, disyuncin, encapsulacin, secuenciacin y simultaneidad. La
diferencia entre ellos est los puntos de sincronizacin que fuerza en los procesos.
CSP
La idea bsica del lenguaje CSP (Communicating
Sequential Processes) es definir la concurrencia mediante la
comunicacin de procesos que tienen un funcionamiento
interno secuencial y se comunican y sincronizan a travs de
unos canales restringidos, de forma que cada proceso slo tiene acceso a sus datos
locales. El proceso es el elemento bsico de CSP y denota el patrn de
funcionamiento de una entidad. Cada proceso puede involucrarse en un conjunto
concreto de eventos. Un proceso se define recursivamente, P = (e Q), donde el
proceso P consta de la ejecucin del evento e y, posteriormente, la ejecucin del
proceso Q. Se pueden concatenar acciones que se van a ejecutar secuencialmente.
Por ejemplo, s: (e1 e2 e3 e4 P).
19
UNIVERSIDAD PRIVADA TELESUP
Con esos elementos bsicos, se puede especificar un sumador que reciba dos
nmeros por diferentes canales y los descarte tras transmitir la suma por un tercer
canal:
ADD = (in1?x in2?y out!(x + y) ADD
| in2?y in1?x out!(x + y) ADD)
LOTOS
LOTOS (Language Of Temporal Ordering Specification) fue desarrollado por la ISO
para la especificacin formal de sistemas distribuidos abiertos. La parte de
funcionamiento de LOTOS est basada en el concepto de accin atmica e
instantnea. Si se precisa modelar acciones que tarden tiempo, se modela una accin
de inicio y otra de fin. Un sistema en LOTOS est constituido por subsistemas que se
ejecutan concurrentemente e interaccionan entre s. Los subsistemas pueden, a su
vez, estar compuestos por otros subsistemas ms simples formando una jerarqua.La
composicin paralela de estos subsistemas se hace de una manera muy simple: dos
procesos interactan cuando ejecutan una accin sobre un mismo punto de
interaccin (gates). En esta sincronizacin pueden intercambiar informacin.
20
UNIVERSIDAD PRIVADA TELESUP
Lgicas temporales
Las lgicas temporales permiten expresar el
funcionamiento de sistemas software en trminos de
frmulas lgicas, que incluyen restricciones temporales,
eventos y relaciones entre ambos. La capacidad expresiva
de estas lgicas ha ido creciendo y muchas de ellas son
capaces de especificar adecuadamente sistemas reactivos aunque no todas sirven
para especificar sistemas de tiempo real. Las lgicas temporales son una clase
particular de lgicas modales en las que el conjunto de mundos posibles representa
los instantes de un dominio temporal. Las ms usadas en la especificacin de
sistemas software son extensiones de lgicas de predicados de primer orden.
21
UNIVERSIDAD PRIVADA TELESUP
22
UNIVERSIDAD PRIVADA TELESUP
TPTL (Timed Propositional Temporal Logic) tambin incluye una mtrica para el
tiempo haciendo corresponder a cada instante un nmero natural y usando una
funcin montona que asocia un valor temporal con cada estado del sistema.
IL (Interval Logic) es un lgica proposicional basada en intervalos. Su modelo de
tiempo es lineal, acotado en el pasado y no acotado en el futuro. No presenta mtrica
del tiempo. Los intervalos estn acotados por eventos y cambios de estado del
sistema.
EIL (Extended Interval Logic) y RTIL (Real-Time Interval Logic) extienden IL para
permitir la especificacin de restricciones cuantitativas tpicas de sistemas de tiempo
real.
LTI (Logic of Time Intervals) es una lgica temporal de
intervalos de segundo orden. Los intervalos se pueden dividir en
subintervalos hasta llegar a momentos. La lgica tambin permite
cuantificacin de los intervalos. Permite especificar sin problemas
restricciones sobre la ordenacin de los eventos, pero no
restricciones cuantitativas, ya que carece de mtrica de tiempo.
23
UNIVERSIDAD PRIVADA TELESUP
Tcnicas
Formales TEMA 3
de Anlisis
de Sistemas
Competencia:
24
UNIVERSIDAD PRIVADA TELESUP
TAU DE TELELOGIC
El modelado formal de sistemas ofrece grandes ventajas. En
primer lugar, permite eliminar la ambigedad en la
especificacin de un sistema, reduciendo de esa forma la
posibilidad de malentendidos entre los diferentes
componentes del grupo de desarrollo. Tambin posibilita la
aplicacin de tcnicas de anlisis formales que garanticen matemticamente la
correccin del sistema, frente a los mtodos tradicionales de prueba y error, que tiles
para son detectar la presencia de errores, pero no garantizan su ausencia.
Simulacin
El primer paso en la simulacin de un sistema es la generacin de cdigo a partir de
su descripcin en SDL. Tau permite escoger el compilador que se va usar y configurar
mltiples opciones en la creacin del cdigo. El cdigo generado incluye en el sistema
un proceso monitor que permite controlar e inspeccionar la ejecucin del sistema
generado.
25
UNIVERSIDAD PRIVADA TELESUP
Generacin de cdigo
Tau ofrece la posibilidad de generar cdigo ejecutable de la aplicacin a partir de la
descripcin SDL. La generacin de cdigo se compone de dos elementos, el
generador de cdigo C a partir de la especificacin SDL y las bibliotecas predefinidas
que incluyen el runtime de SDL y los elementos de monitorizacin del sistema, por si
el cdigo generado se usa para simulacin o validacin. Las bibliotecas de runtime
incluyen los mecanismos de comunicacin del sistema con el entorno. En realidad, lo
que se genera es el cdigo correspondiente al funcionamiento de las mquinas de
estados. Dentro de cada accin de SDL se pueden incluir sentencias en C que se
integraran en el cdigo generado.
26
UNIVERSIDAD PRIVADA TELESUP
27
UNIVERSIDAD PRIVADA TELESUP
Validacin y verificacin
Tau tambin ofrece una herramienta para validar sistemas. Una
vez especificado el sistema en SDL se puede compilar con la
ayuda de un compilador de C y generar un modelo ejecutable
que se puede validar para encontrar errores o inconsistencias o
verificar respecto a determinados requisitos. El sistema generado
incluye un monitor, al igual que el sistema generado para la simulacin, pero con un
abanico de rdenes distintas. El sistema SDL examinado con el validador se
representa mediante un rbol de funcionamiento, en el que cada nodo representa un
estado completo del sistema SDL. Es posible examinar el funcionamiento del sistema
recorriendo el rbol y examinando los estados.
28
UNIVERSIDAD PRIVADA TELESUP
Comprobacin de modelos
La comprobacin de modelos (model checking) es una tcnica de verificacin formal
en la que las propiedades de funcionamiento de un sistema se comprueban a travs
del recorrido exhaustivo, implcita o explcitamente, de todos los estados alcanzables
por el sistema y todos los funcionamientos que puede alcanzar durante ellos.
La comprobacin de modelos ofrece dos ventajas sustanciales respecto a otros
mtodos de verificacin: es completamente automtico y su aplicacin no requiere un
conocimiento profundo de disciplinas matemticas, y cuando el diseo no cumple una
propiedad el proceso siempre genera un contraejemplo.
Una variante muy interesante es la comprobacin de modelos simblica en la que se
puede hacer una enumeracin implcita exhaustiva de un nmero de estados
astronmicamente grande.
La evolucin del sistema se modela mediante un grafo en el que cada nodo representa
un estado, o conjunto de estados, del sistema que se expresa como una frmula lgica
que se satisface en dicho estado o conjunto de estados. Las propiedades a verificar
se modelan como formulas lgicas y se comprueba si se cumplen o no en los nodos
del rbol. La existencia de una semntica formal para el modelo en el que se ha
descrito el sistema permite hacer uso de herramienta automticas o semiautomticas
para realizar la simulacin del funcionamiento del sistema, su verificacin, la validacin
de posibles escenarios y la generacin automtica de cdigo.
29
UNIVERSIDAD PRIVADA TELESUP
Lenguajes TEMA 4
Grficos de
Modelado
Competencia:
30
UNIVERSIDAD PRIVADA TELESUP
SDL
SDL, (Specification and Description Language) es un
lenguaje en el que se describen sistemas como un
conjunto de procesos concurrentes que se comunican
entre s y con el entorno. El funcionamiento de los procesos
est descrito en base a mquinas de estados comunicantes extendidas. SDL
especialmente recomendado para sistemas distribuidos y reactivos.
Uno de los principales objetivos al definir SDL fue su facilidad de uso, por lo que se
opt por un modelo grfico, ms intuitivo que uno textual. Las
versiones iniciales no tenan una semntica formal
subyacente, lo que provocaba problemas porque permita
diferentes interpretaciones, dificultaba el desarrollo de
herramientas automticas que ayudaran a su uso y haca ms
complicada la descripcin precisa de sistemas complejos.
Estos inconvenientes llevaron a la definicin de una semntica
formal que se incluy por primera vez en la versin de 1988.
31
UNIVERSIDAD PRIVADA TELESUP
32
UNIVERSIDAD PRIVADA TELESUP
33
UNIVERSIDAD PRIVADA TELESUP
34
UNIVERSIDAD PRIVADA TELESUP
UML
UML, (Unified Modeling Language), surge a mitad de los
noventa como fusin fundamentalmente de tres mtodos de
desarrollo orientados a objetos, el mtodo de Booch, el
mtodo OOSE y el mtodo OMT. Cada uno de estos tres
mtodos era especialmente indicado en una de las fases
del desarrollo y se intent generar un nico mtodo que
fuera til durante todo el desarrollo y que eliminara los
problemas de contar con diferentes nomenclaturas.
35
UNIVERSIDAD PRIVADA TELESUP
36
UNIVERSIDAD PRIVADA TELESUP
Metamodelado
Cuando se define un lenguaje de modelado de sistemas, ste
suele poder aplicarse a un conjunto ms o menos amplio de
casos, dependiendo de la generalidad del lenguaje. Si el
lenguaje es muy especfico puede quedar reducido a
modelar sistemas de un tipo muy concreto como, por
ejemplo, sistemas elctricos, o cualquier otro. Si el lenguaje de modelado es
suficientemente genrico y puede modelar una gama amplia de sistemas, puede llegar
a modelar el propio lenguaje de modelado como un caso concreto de sistema
modelado. En este caso, los elementos del lenguaje no se usan para describir los
valores de los datos del sistema sino caractersticas de los datos del sistema.
Esta circunstancia del modelado del modelo en vez del modelado de valores se
conoce como metamodelado. Esta metarelacin no es exclusiva
del modelado de sistemas. Bien al contrario, se puede encontrar
en mltiples situaciones en el mbito de la informtica. Por
ejemplo, en las bases de datos, los metadatos son datos sobre
datos, los meta intrpretes son programas en cuya ejecucin, se
usan como datos ejecuciones de programas (por ejemplo los depuradores) o, en un
sistema de informacin, se puede tener el modelo E-R del modelo E-R del sistema.
37
UNIVERSIDAD PRIVADA TELESUP
38
UNIVERSIDAD PRIVADA TELESUP
39
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
MODELAMIENTO: FUNDAMENTOS
http://galeon.com/mcoronado/ANALISIS_UNIDADES/01MODELAMIENTO.pdf
Actividades y Ejercicios
40
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) Es una caracterstica de un buen modelo:
a. La abstraccin.
b. La rigurosidad.
c. La eficiencia.
d. La seguridad.
e. La educacin.
41
UNIVERSIDAD PRIVADA TELESUP
42
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE I:
El uso de modelos es una herramienta bsica para tratar esta complejidad, ya que
permite hacer una rplica ms simple del sistema, de la que eliminan detalles que no
son fundamentales, obteniendo as un objeto de estudio ms sencillo de entender,
manejar y que permite hacer predicciones sobre aspectos importantes del sistema real.
La necesidad del modelado es de construir sistemas informticos libres de errores y que
respondan a los requisitos con que se pensaron.
Algunos de los mtodos de modelado usan como base la lgica de predicados de primer
orden. Hay otros que se basan en la teora de conjuntos, para describir los cambios de
estados de los datos del sistema. Otros se basan en lgebras de procesos. Otro grupo
es el formado por los mtodos basados en lgicas modales, generalmente lgicas
temporales, que permiten modelar la evolucin del estado del programa en el tiempo.
43
UNIVERSIDAD PRIVADA TELESUP
44
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin:
b) Competencia:
c) Capacidades:
d) Actitudes:
45
UNIVERSIDAD PRIVADA TELESUP
Metodologas
Estructuradas TEMA 1
Orientada a
Objetos
Competencia:
46
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
METODOLOGAS ESTRUCTURADAS
Los mtodos de diseos se pueden dividir en informales,
estructurados y formales. Los estructurados se diferencian de los
informales en que aquellos usan mtodos de representacin, que
pueden ser grficos, bien definidos, construidos a partir de un pequeo nmero de
componentes predefinidos interconectados de manera controlada. Sin embargo, a
diferencia de los mtodos formales, los lenguajes de los mtodos estructurados
carecen de la base matemtica que permita realizar anlisis formal de propiedades del
sistema. Las metodologas estructuradas no incorporan fundamentos formales debido
a la complejidad que presentan, que implica un coste muy alto en la formacin de
personal cualificado para su uso, especialmente en sistemas de gran complejidad.
47
UNIVERSIDAD PRIVADA TELESUP
Seguidamente, se definen las tareas que van a componer el sistema a partir de las
hebras de accin concurrentes previas. La divisin en tareas dependera del estudio
de la concurrencia de la aplicacin, la conexin entre procesos y el acoplamiento y la
cohesin entre las tareas. En esta definicin se tiene en cuenta el modelo de tareas en
el que se van a implementar, para que dicha implementacin sea lo ms fcil posible.
Finalmente, a partir de las tareas, se crean las estructuras de datos que se van a usar
en el programa, bien basndose en tipos abstractos de datos o en objetos. La
caracterstica diferenciadora es que en estas metodologas se tiene en cuenta la
concurrencia antes que el modelo de datos.
48
UNIVERSIDAD PRIVADA TELESUP
HRT-HOOD
HRT-HOOD surge como una extensin de HOOD para
incorporar los aspectos no funcionales de los sistemas de
tiempo real. HRT-HOOD complementa las fases que
considera habituales en otras metodologas de desarrollo
de software definicin de requisitos, diseo estructural, diseo detallado,
codificacin y pruebas para evitar que los aspectos claves en los sistemas de
tiempo real se aborden demasiado tarde.
Para construir el sistema se describen compromisos, cada vez ms especficos, que
no se pueden modificar en niveles inferiores. Las obligaciones son los aspectos no
cubiertos por los compromisos, y que el nivel inferior debe resolver.
49
UNIVERSIDAD PRIVADA TELESUP
Figura 1.1. Parte del sistema de control de una mina especificado en HRT- HOOD.
50
UNIVERSIDAD PRIVADA TELESUP
Octopus
Octopus es una metodologa basada en otras dos previas, OMT y Fusin, que ha
intentado mantener las partes positivas de ambas y aadir los elementos necesarios
para el desarrollo de sistemas de tiempo real. Octopus tiene modelos estructural,
funcional y dinmico a nivel de sistema, subsistema, clases y objetos. Estos niveles de
abstraccin se reparten entre las diferentes fases: de requisitos, de arquitectura de
sistemas, de anlisis de subsistemas, de diseo de subsistemas y de implementacin
de subsistemas.
ROOM
ROOM (Real-Time Object Oriented
Modeling) es otra metodologa de
desarrollo orientada a objetos y, segn sus
autores, cubre las deficiencias de otras
metodologas anteriores para el desarrollo de sistemas de tiempo real. Para ello se
centra en desarrollar sistemas de este tipo, incluyendo un conjunto bsico de
elementos de diseo suficiente para describir adecuadamente los sistemas de tiempo
real, pero sin querer ser una metodologa demasiado genrica para mantener su
utilidad y evitar que sea demasiado complicada.
51
UNIVERSIDAD PRIVADA TELESUP
Metodologas
Basadas en TEMA 2
SDL y en
UML
Competencia:
Aplicar las metodologas basadas en SDL y
en UML de sistemas.
52
UNIVERSIDAD PRIVADA TELESUP
53
UNIVERSIDAD PRIVADA TELESUP
Una de las herramientas que proporciona la metodologa SOMT para guiar el paso
entre los diferentes modelos de las sucesivas fases del desarrollo son los implinks,
los enlaces de implementacin, y la posibilidad de pegarlos en una fase posterior. Con
los implinks se pueden marcar los objetos de las fases iniciales de anlisis y diseo y
posteriormente integrarlos y relacionarlos con elementos de los diagramas SDL, de tal
manera que se facilita la navegacin entre los conceptos relacionados en los
diferentes diagramas y se puede comprobar mejor su coherencia, especialmente
cuando se producen cambios.
54
UNIVERSIDAD PRIVADA TELESUP
55
UNIVERSIDAD PRIVADA TELESUP
56
UNIVERSIDAD PRIVADA TELESUP
Rhapsody, de i-Logix, tambin ofrece todo el ciclo de vida de UML, del anlisis de
requisitos a la generacin parcial de cdigo pasando por la especificacin de objetos.
Sin embargo, no ofrecen herramientas de anlisis de propiedades de tiempo real
estricto, como planificacin, ni para la validacin de sistemas. Hay otras herramientas
basadas en UML y SDL. Por ejemplo, Tau, de Telelogic, usa UML en el diseo de
objetos y MSC para expresar el funcionamiento dinmico del sistema y SDL para la
fase de diseo. Incluye traduccin automtica entre las mquinas de estados de UML
y los diagramas de SDL. Ofrece generacin automtica de cdigo y herramientas de
simulacin y validacin. Todas estas herramientas carecen de mecanismos para el
anlisis de propiedades de tiempo real o de base formal para la verificacin.
57
UNIVERSIDAD PRIVADA TELESUP
Una
Semntica TEMA 3
de Acciones
para MML
Competencia:
Explicar la importancia de la semntica de
acciones para MML.
58
UNIVERSIDAD PRIVADA TELESUP
Los conceptos del modelo y las instancias estn relacionados a travs de un paquete
semntico que establece la relacin de satisfaccin entre los modelos y las instancias
vlidas. Entre los conceptos de modelado y la sintaxis concreta se establece una
relacin similar como se muestra en la Figura 3.1.
59
UNIVERSIDAD PRIVADA TELESUP
Principios arquitectnicos
Dos han sido los objetivos principales de la definicin de
la semntica de acciones. El primero, incluir la
semntica de acciones como el ncleo dinmico de
MML. MML se centr originariamente en el modelado
esttico, por lo que una extensin natural es aadir
caractersticas dinmicas. Esto implica la definicin de vistas de modelo y de
instancias y la separacin que puede capturar tanto la nocin de acciones como los
conceptos y funcionamiento en trminos de cambios en el estado de las instancias.
60
UNIVERSIDAD PRIVADA TELESUP
MML est pensado para ser extendido de manera consistente, por tanto la definicin
de las acciones se har en otro paquete en MML, siguiendo la estructura del resto de
paquetes, es decir, el paquete debera estar compuesto de paquetes para el modelo,
las instancias y la semntica, con los paquetes de modelo y de instancias subdivididos
a su vez en paquetes para los conceptos, la sintaxis concreta y la correspondencia
entre conceptos y sintaxis.
Ncleo dinmico
El ncleo dinmico (Dynamic Core) intenta modelar la evolucin de los valores de los
elementos del sistema a lo largo del tiempo, en contraste con la vista del modelo
esttico que considera las instancias unidas a un nico valor. La estrategia escogida
para definir el modelo dinmico considera que los elementos mutables, los objetos,
evolucionan a travs de diferentes estados a lo largo de la vida del sistema segn
cambian sus valores las acciones que se ejecutan sobre ellos. Estos estados
contienen todos los valores del elemento en un instante dado. El elemento asociado a
ese estado se identifica por medio de un atributo, la identidad (identity), que es nica
en el sistema para ese elemento. Es decir, dos estados se refieren al mismo elemento
si y solo si tienen la misma identidad.
61
UNIVERSIDAD PRIVADA TELESUP
El nuevo paquete para los conceptos de instancias del ncleo dinmico se muestra en
la Figura 3.2.
Acciones
En la definicin de UML, OCL es un lenguaje formal para expresar restricciones sin
efectos laterales. La evaluacin de estas restricciones no cambia ningn valor del
sistema. MML tiene su propio lenguaje de restricciones basadas en OCL con unos
pocos cambios semnticos. Este lenguaje proporciona todas las expresiones bsicas
del lenguaje de OCL. El concepto actual e Expresin en MML cubre las expresiones
bsicas de OCL.
stas incluyen expresiones lgicas (and, not, equals, includes), referencias a slots,
variables e iteradores sobre tipos contenedores (sequences, sets y bags). Sin
embargo, no define otras expresiones, como las aritmticas. Los mtodos de MML se
usan para definir procedimientos computacionales. Los mtodos no tienen efectos
laterales y simplemente sirven para evaluar un conjunto de parmetros contra una
expresin OCL para obtener un resultado. Se puede definir un nuevo mtodo
simplemente cambiando la expresin.
62
UNIVERSIDAD PRIVADA TELESUP
Conceptos de modelo
La Figura 3.3 muestra la definicin de la clase abstracta Action. La clase Action
especializa la clase Classifier. Cada accin tiene un conjunto de parmetros de
entrada. Como el orden de los parmetros es significativo, estas asociaciones estn
ordenadas. Los parmetros de entrada representan los valores que la accin necesita
para ejecutarse. Estos valores pueden incluir el objeto sobre el que se aplica la
accin. Todas las acciones son ejecutadas por un objeto, que puede ser llamado el
mbito (scope) de la accin. La asociacin entre las clases Action y Class muestra la
clase a la que pertenece el objeto mbito de la accin.
63
UNIVERSIDAD PRIVADA TELESUP
Mtodos
El mtodo allActions() devuelve el conjunto de todas las acciones de una clase,
incluyendo la de sus progenitores. allActions() escoge solo una accin en el caso de
que haya mltiples padres con acciones con el mismo nombre. sta es tal vez las
estrategias simples para tratar el tema de las colisiones en la herencia mltiple,
aunque se podra mejorar definiendo una regla de mezcla si fuera necesario.
context uml.staticCore.model.concepts.Class
allActions() : Set(Action)
parents iterate(p; s = actions | s union (p.allActions( )
reject (c | actions exists(c | c.name = c.name)))
Conceptos de instancias
La clase Execution est definida en el paquete de conceptos de instancias mostrado
en la Figura 2.4. Una instancia de la clase Execution representa una ejecucin real de
una accin. Una instancia de Execution tiene una secuencia de valores de entrada
sobre los que ejecutarse. Una entrada distinguida es el estado del elemento que se
modifica en la ejecucin. Una ejecucin tambin tiene valores de salida. Entre ellos
est el nuevo estado del elemento modificado.
Una instancia de Execution tambin tiene una asociacin con la instancia de la clase
Object que la ejecuta, la asociacin self.
64
UNIVERSIDAD PRIVADA TELESUP
Aunque no hay nocin de tiempo ni, por tanto, de ordenacin temporal en el modelo
dinmico, hay una relacin causal entre las ejecuciones en el sistema. Para una
ejecucin puede haber una ejecucin previa (previous) y otra siguiente (next).
Tambin hay una relacin causal entre la ejecucin de la accin y los valores usados
en ella. Como una accin no puede ejecutarse hasta que todos los valores de entrada
hayan sido calculados, los valores producidos despus de la ejecucin de la accin no
pueden ser usados como parmetros de entrada.
Mtodos
1. El mtodo allSubExecutions() devuelve todas las subejecuciones de una ejecucin,
anidadas a cualquier profundidad.
context uml.actions.instance.concepts.Execution
allSubExecutions() : Set(Execution)
self.subexecution
union(self.subexections.allSubExecutions() asSet())
Reglas de correccin
2. Una salida de una ejecucin no puede ser usada como entrada de esa ejecucin.
context uml.actions.instance.concepts.Execution inv:
inputs forall (i| outputs forall(o| i <>o))
65
UNIVERSIDAD PRIVADA TELESUP
TEMA 4
Acciones
Primitivas
Competencia:
Descomponer acciones complejas en acciones
primitivas o ms simples.
66
UNIVERSIDAD PRIVADA TELESUP
Mtodos
1. El mtodo subActions() devuelve el conjunto de subacciones inmediatas de una
accin. Para las acciones primitivas este conjunto es vaco.
context uml.actions.model.concepts.PrimitiveAction
subActions( ) : Set(Action) Set{ }
67
UNIVERSIDAD PRIVADA TELESUP
Accin nula
La accin nula, como su nombre indica, no hace cambios en el sistema. Se incluye
porque las acciones compuestas se han definido para tener al menos una subaccin.
Reglas de correccin
1. Una accin nula no tiene parmetros de entrada.
context uml.primitiveActions.model.concepts.NullAction inv:
self.inputs->size = 0
68
UNIVERSIDAD PRIVADA TELESUP
Reglas de correccin
1. Una instancia de CreateObjectAction tiene una nica entrada.
context uml.primitiveActions.model.concepts.CreateObjectAction inv:
2. La entrada de una instancia de CreateObjectAction es la clase del objeto creado.
context uml.primitiveActions.model.concepts.CreateObjectAction inv:
self.inputs.oclIsTypeOf(Class)
3. Una instancia de CreateObjectExecution no tiene parmetros de entrada y tiene un
valor de salida.
context uml.primitiveActions.instance.concepts.CreateObjectExecution
inv:
self.inputs size = 0 and self.outputs size = 1
69
UNIVERSIDAD PRIVADA TELESUP
70
UNIVERSIDAD PRIVADA TELESUP
Reglas de correccin
1. Una instancia de la clase WriteSlotAction tiene tres parmetros de entrada.
context uml.primitiveActions.model.concepts.WriteSlotAction inv:
self.inputs->size = 3
2. target es una de las entradas de las instancias de WriteSlotAction.
context uml.primitiveActions.model.concepts.WriteSlotAction inv:
self.inputs->includes(self.target)
71
UNIVERSIDAD PRIVADA TELESUP
9. El objeto destino debe ser de la clase con la que est asociada la correspondiente
accin.
context uml.primitiveActions.instance.concepts.WriteSlotExecution inv:
self.target.of = self.of.target
10. El atributo del objeto debe coincidir con el atributo de la clase asociada a la
correspondiente accin.
context uml.primitiveActions.instance.concepts.WriteSlotExecution inv:
self.slot.of = self.of.attribute
72
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
CONCEPTOS DE LA METODOLOGA ORIENTADA A OBJETOS
http://profesores.fi-b.unam.mx/carlos/aydoo/conceptos_oo.html
Actividades y Ejercicios
73
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) Los mtodos de diseos se pueden dividir en:
a. Comando UML.
b. Sentencias SDL.
c. Recursos UML.
d. Enlaces UML.
e. Herramientas SOMT.
74
UNIVERSIDAD PRIVADA TELESUP
75
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE II:
76
UNIVERSIDAD PRIVADA TELESUP
77
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin:
b) Competencia:
Comprende la importancia y aplicacin del modelado de tiempo real de las
mquinas de estados.
c) Capacidades:
d) Actitudes:
Muestra inters por el anlisis de los modelos de tiempo real de las mquinas.
Promueve la adecuada aplicacin de las distintas mquinas de estados.
78
UNIVERSIDAD PRIVADA TELESUP
Semntica
de las
TEMA 1
Mquinas
de Estados
Competencia:
Analizar las diversas teoras y aplicaciones
de la semntica de las mquinas de estados.
79
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
80
UNIVERSIDAD PRIVADA TELESUP
Esta definicin permite establecer varios paralelismos entre las instancias de las
mquinas de estados y los objetos. Este paralelismo se refleja principalmente en el
funcionamiento dinmico del sistema. Una instancia de una mquina de estados es
una entidad que, al igual que un objeto, pasa por diferentes estados segn se van
ejecutando acciones sobre el sistema. En el caso de las mquinas de estados, cada
uno de estos estados por los que va pasando se denomina el estado activo. Tambin
tiene sentido establecer, como se hace en la definicin de la infraestructura de UML
2.0 para los objetos, una identidad para cada instancia de una mquina de estados.
Esta identidad permanece fija durante la vida del sistema y acta como nexo entre los
sucesivos estados. Cada uno de estos estados debe pertenecer a un Snapshot, al
igual que lo hacen las instancias de la clase Object.
81
UNIVERSIDAD PRIVADA TELESUP
Concepto de modelado
En la Figura 1.1 se muestra el diagrama de clases de los conceptos de modelado de
las mquinas de estados. En l vemos cmo una mquina de estados tiene asociados
un conjunto de estados y un conjunto de transiciones.
En esta primera aproximacin todos los estados son simples, por lo que no se
establece una relacin de contencin entre ellos.
82
UNIVERSIDAD PRIVADA TELESUP
83
UNIVERSIDAD PRIVADA TELESUP
Dominio semntico
En la Figura 1.3 se muestra el diagrama de clases
correspondiente al dominio semntico de las
mquinas de estados con estados compuestos.
Se define una instancia de una mquina de
estados como una especializacin de la clase
SnapshotElementInstance. El dominio semntico se ampla con dos nuevas clases
para las instancias estados simples y compuestos, SimpleStateInstance y
CompositeStateInstance, respectivamente.
84
UNIVERSIDAD PRIVADA TELESUP
Aplicacin semntica
En la semntica de este modelo se incluyen respecto al de la seccin anterior los
diferentes tipos de estados, compuestos y simples (Figura 1.4).
85
UNIVERSIDAD PRIVADA TELESUP
La Mquina
TEMA 2
de Estados
con Estados
Concurrentes
Competencia:
Explicar la funcionalidad de las mquinas
de estados con estados concurrentes en los
sistemas de tiempo real.
86
UNIVERSIDAD PRIVADA TELESUP
En este tema hacemos una segunda ampliacin del modelo de las mquinas de
estados incluyendo un nuevo tipo de estado compuesto, los estados concurrentes. Los
que hemos considerado en la seccin anterior son los que se denominan
secuenciales. La diferencia entre ambas categoras radica en la forma en que pueden
ejecutarse los subestados contenidos. Cuando un estado secuencial est activo, slo
uno de sus subestados est activo. En cambio, cuando un estado concurrente est
activo, todos sus subestados lo estn tambin.
Conceptos de modelado
En la Figura 2.1 se muestra el diagrama de clases de los
conceptos de modelado para las mquinas de estados con
estados concurrentes. La principal diferencia en este paquete
es que aparecen dos nuevas clases, ConcurrentState y
SequentialState, que especializan CompositeState.
87
UNIVERSIDAD PRIVADA TELESUP
Dominio semntico
En la Figura 2.2 se muestra el diagrama de clases correspondiente al dominio
semntico de las mquinas de estados con estados concurrentes.
En este paquete tambin aparecen dos nuevas clases, ConcurrentStateInstance y
SequentialStateInstance, que especializan la clase CompositeStateInstance. Otra
diferencia es que en el modelo anterior, en el que slo se consideraban los estados
compuestos, la cardinalidad de la relacin entre las clases CompositeStateInstance y
StateMachineStateInstance era en el extremo substates porque slo poda estar
activo un subestado del estado activo.
88
UNIVERSIDAD PRIVADA TELESUP
Figura 2.2 Dominio semntico de las mquinas de estados con estados concurrentes.
Ahora hay que aadir reglas de correccin para diferenciar cuantos subestados
pueden estar activos en funcin de si el estado activo es secuencial o concurrente. Si
es secuencial slo habr un subestado activo, y si es concurrente habra uno por cada
uno de sus subestados (regiones).
Aplicacin semntica
En la semntica de este modelo se incluyen nuevas clases para los nuevos tipos de
estados, los secuenciales y los concurrentes (Figura 2.3).
La recepcin de un evento
En las secciones anteriores hemos ofrecido una visin esttica de las mquinas de
estados en las que se muestra un estado activo en el que permanece la mquina
hasta que transita a otro estado. El aspecto verdaderamente dinmico de las
mquinas de estados reside en cmo se cambia de un estado a otro cuando se
produce la ocurrencia de un evento y qu acciones se ejecutan como respuesta.
89
UNIVERSIDAD PRIVADA TELESUP
90
UNIVERSIDAD PRIVADA TELESUP
El Tiempo
Real en las TEMA 3
Mquinas de
Estados
Competencia:
91
UNIVERSIDAD PRIVADA TELESUP
92
UNIVERSIDAD PRIVADA TELESUP
De entre los posibles usos que los autores esperan para el perfil, los que estn
pensados para los modeladores son:
Sintetizar el modelo, que incluir los estereotipos y valores etiquetados
necesarios para llevar a cabo los anlisis necesarios.
Analizar el modelo, posiblemente desde varios puntos de vista y a diferentes
niveles de detalle. Para el anlisis se usaran las anotaciones aadidos al
modelo UML.
Implementar el sistema, que consiste en construir la aplicacin que ejecute el
modelo creado anteriormente.
Estructura
Debido a la gran diversidad de posibles sistemas de
tiempo real, hard y soft, distribuidos y
monoprocesadores, etc., es muy difcil establecer un
conjunto cannico de conceptos de modelado y dise
que comprenda todos los sistemas. Esta situacin se
agrava cuando se tienen en cuenta, adems, las tcnicas de anlisis. A la hora de
analizar un modelo, el analizador suele trabajar con una versin simplificada del
sistema, del que se eliminan aquellas caractersticas que no son relevantes para el
anlisis. Una de las cuestiones que complica esta simplificacin es el hecho de que es
bastante usual el que las entidades del modelo no se correspondan una a una con las
entidades que es necesario conocer para poder llevar a cabo el anlisis.
Por ejemplo, las unidades de concurrencia en las que se base el modelo, procesos o
hebras, pueden estar definidas slo de forma implcita u oculta en el modelo del
sistema. Otra dificultad aadida viene dada por el hecho de que sobre un mismo
modelo de un sistema se pueden hacer diferentes anlisis, cada uno de los cuales se
puede centrar en un aspecto concreto del sistema como, por ejemplo, su
planificabilidad o el consumo de memoria. Aspectos relevantes para un determinado
anlisis pueden no ser interesantes para otro. Para superar ese problema los autores
del perfil proporcionan un marco nico que comprende los elementos comunes de los
distintos mtodos de anlisis de sistemas de tiempo real. El
ncleo de este marco lo constituye la definicin de recursos de
todo tipo y de sus calidades de servicio. Esta definicin se hace
en el paquete de Modelado de Recursos Generales.
93
UNIVERSIDAD PRIVADA TELESUP
Como ya se ha comentado anteriormente, los autores del perfil argumentan que los
mecanismos de extensin ofrecidos por UML, estereotipos y valores etiquetados, son
suficientes para la tarea encomendada. Ellos ven los estereotipos como un mecanismo
de especializacin de clases que permite aadir nuevos atributos a la clase
especializada. Sin embargo, este mecanismo de estereotipado no permite agregar
nuevas asociaciones en el metamodelo respecto a las que ya tena la clase
especializada.
94
UNIVERSIDAD PRIVADA TELESUP
Modelado de recursos
La parte fundamental del perfil es el paquete en el que se definen los recursos. Han
intentado definir recursos suficientemente generales como para ser una base comn
suficiente para poder definir los dems recursos y conceptos propios de cada modelo
particular que se defina posteriormente. La cuantificacin de las restricciones que
afectan a los sistemas de tiempo real es uno de los aspectos fundamentales que se
tratan en el perfil y, por tanto, las caractersticas de calidad de servicio son una parte
integral de los recursos.
95
UNIVERSIDAD PRIVADA TELESUP
Modelado de la planificabilidad
El perfil se centra en la especificacin de sistemas de tiempo real duros, es decir,
aquellos en los que se han de cumplir todos los plazos, para lo que suele ser
necesario poder establecer un lmite superior en el tiempo de respuesta del sistema a
los diferentes eventos. El objetivo principal del perfil en este aspecto ha sido cmo
anotar el modelo para permitir diferentes modelos de planificabilidad, para determinar
si se cumplen o no los plazos temporales. Para evitar conflictos debidos a la
nomenclatura, se han decidido por un marco comn a todos los posibles anlisis de
planificabilidad en los que, en un principio, han incluido los ms usados actualmente,
como Rate Monotonic Analysis (RMA), Deadline Monotonic Analysis (DMA) y Earliest
Deadline First (EDF). Sin embargo, los autores defienden que sus anotaciones son
suficientemente flexibles como para poder usar otros mtodos e, incluso, para poder
definir extensiones propias si son necesarias para otros mtodos de anlisis.
96
UNIVERSIDAD PRIVADA TELESUP
97
UNIVERSIDAD PRIVADA TELESUP
Expresin del
Tiempo en las TEMA 4
Mquinas de
Estados
Competencia:
Aplicar los mecanismos de expresin del
tiempo en las mquinas de estados de UML
98
UNIVERSIDAD PRIVADA TELESUP
99
UNIVERSIDAD PRIVADA TELESUP
100
UNIVERSIDAD PRIVADA TELESUP
101
UNIVERSIDAD PRIVADA TELESUP
Otro elemento que se debe introducir para tener la informacin necesaria para el
anlisis de planificabilidad es el tiempo de clculo de una accin, el conocido como
WCET (Wors Case Execution Time). Este dato se usa en mtodos de anlisis como el
del clculo del nivel de ocupacin del procesador o el del clculo del tiempo de
respuesta. Para aadir esa informacin a las acciones vamos a definir dos nuevas
clases a partir de las clases, TimedAction y TimedExecution. TimedAction tiene
asociado un valor de tiempo, el WCET, el tiempo de respuesta en el peor caso.
TimedExecution tiene asociado otro valor de tiempo, execTime, que corresponde al
tiempo que ha tardado dicha ejecucin concreta de la accin.
Respecto al modelo de ejecucin, vamos a considerar que todos los objetos cuyo
funcionamiento viene definido por una mquina de estados se implementan con
objetos activos, y que cada uno cuenta con su hebra de ejecucin propia. Esta opcin
coincide con el concepto de concurrency unit que se define en el modelado de la
concurrencia del UML Profile for Schedulability, Performance, and Time Specification.
El modelo de paralelismo implicar que los objetos activos se ejecutaran
concurrentemente y que su ejecucin es interrumpible.
102
UNIVERSIDAD PRIVADA TELESUP
Un objeto podr ser interrumpido por otro objeto cuando se produzca un evento que
este otro objeto sea capaz de procesar y si el proceso que se activa tiene una
prioridad mayor que el proceso que va a ser interrumpido. En lo que concierne al
manejo y postergacin de los eventos recibidos por un objeto activo, se supondr que
cada objeto cuenta con una cola propia en la que se almacenan temporalmente las
instancias de los eventos que el objeto ha recibido pero no ha procesado an.
103
UNIVERSIDAD PRIVADA TELESUP
Con este diseo se pretende conseguir una activacin peridica del temporizador.
104
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
MQUINAS DE ESTADO
http://200.69.103.48/comunidad/profesores/jruiz/jairocd/texto/cirdig/maquinasdee
sf.pdf
Actividades y Ejercicios
105
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) En una mquina de estados comprende un conjunto de transiciones que:
a. Tienen un estado origen y un estado destino.
b. Tienen un estado negativo y otro positivo.
c. Tienen un origen negativo y positivo.
d. Tienen una configuracin abstracta y estricta.
e. Tienen una contextura ligera y positiva.
3) Una instancia de una mquina de estados es una entidad que, al igual que un
objeto, pasa por:
a. Diferentes acciones.
b. Diferentes estados.
c. Diferentes direcciones.
d. Diferentes orificios.
e. Diferentes modos.
106
UNIVERSIDAD PRIVADA TELESUP
10) En la semntica del modelo se incluyen nuevas clases para los nuevos tipos
de estados:
a. Las regiones y dominios.
b. Los sectores y estratos.
c. Las clases y atributos.
d. Los enlaces y clases.
e. Las secuenciales y los concurrentes.
107
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE IIi:
Los nicos mecanismos relativos al manejo del tiempo en UML son los eventos de
tiempo, TimeEvent, y las expresiones de tiempo, TimeExpression. Un evento de tiempo
modela el cumplimiento de un plazo temporal que se especifica mediante una expresin
de tiempo. SDL incluye una definicin precisa de los mecanismos que proporciona para
el manejo del tiempo. En un sistema monoprocesador hay un reloj central que avanza
montonamente y cuyo valor puede ser consultado con la operacin now( )
108
UNIVERSIDAD PRIVADA TELESUP
109
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a) Presentacin y contextualizacin
Los sistemas informticos de tiempo real se utilizan en numerosos campos de
aplicacin, como el control de aviones, automviles y trenes, trfico,
comunicaciones, satlites, control de procesos, electrnica de consumo, etc. La
caracterstica ms importante de estos sistemas es que sus acciones se deben
ejecutar en intervalos de tiempo determinados por la dinmica de los sistemas
fsicos que supervisan o controlan. Adems, suelen tener requisitos estrictos de
fiabilidad y seguridad. Muchos de estos sistemas estn empotrados en otros
sistemas, lo que conlleva una limitacin de recursos (potencia de procesador,
memoria, etc.) con respecto a otros tipos de sistemas informticos.
b) Competencia
Analiza las distintas metodologas de diseo de sistemas de tiempo real
orientado a objetos.
c) Capacidades
d) Actitudes
110
UNIVERSIDAD PRIVADA TELESUP
Introduccin
a la TEMA 1
Metodologa
de
Diseo
Competencia:
Explicar la metodologa de diseo de
sistemas de tiempo real orientado a objetos.
111
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Introduccin a la Metodologa de Diseo
112
UNIVERSIDAD PRIVADA TELESUP
El uso de UML, no obstante, lleva acarreados inconvenientes que hay que solventar.
Como UML carece de una semntica formal, no es posible an llevar a cabo las
ltimas fases de la metodologa sobre diagramas UML: generacin de cdigo,
simulacin, validacin y anlisis de planificabilidad.
Por este motivo se ha desarrollado una semntica precisa para las acciones y para
las mquinas de estados de UML. Esta semntica es el primer paso para eliminar la
ambigedad presente en UML y construir herramientas automticas que
proporcionen las funciones mencionadas.
ANTECEDENTES
Se han llevado a cabo algunos trabajos para intentar integrar este tipo de anlisis en
un modelo SDL. Por ejemplo, ObjectGeode incluye un analizador de rendimiento en
su simulador que hace uso de algunas directivas para extender SDL para indicar
prioridades de procesos o retrasos temporales. En algunos trabajos se incluye una
semntica del plazo ms inmediato para SDL, de manera que permite una traduccin
desde una especificacin en SDL a una red de tareas analizable. Sin embargo, no
integran este anlisis en el resto del ciclo de desarrollo, ni tienen en cuenta la
interaccin con el hardware o anomalas de tiempo real como la inversin de
prioridades.
113
UNIVERSIDAD PRIVADA TELESUP
114
UNIVERSIDAD PRIVADA TELESUP
Los autores declaran que los nuevos componentes incluidos en UML para
especificar esta nueva vista disponen de un metamodelo formal. Este metamodelo se
define se una manera similar a como se definen las clases del UML Profile for
Schedulability, Performance, and Time Specification.
La semntica esttica se define mediante diagramas de clases, pero la semntica
dinmica se hace en lenguaje natural. Con respecto al trabajo relacionado con la
traduccin del modelo de objetos a modelo de procesos, UML/RT propone una vista
dinmica basada en mquinas de estados para cada objeto pasivo del modelo de
objetos. Octopus, propone el modelo de diseo como una extensin del modelo de
objetos, aunque puede necesitar una descomposicin ulterior en la fase de
implementacin. Con el objetivo de disear la concurrencia, Octopus propone el
concepto de hebra de interaccin entre objetos que representa el conjunto de objetos
que pueden tomar parte en un evento.
115
UNIVERSIDAD PRIVADA TELESUP
HRT-HOOD traduce el modelo de objetos a Ada. Para cada objeto se generan dos
paquetes: el primero simplemente contiene una coleccin de tipos de datos y
variables que definen los atributos de tiempo real del objeto; el segundo contiene el
cdigo del objeto. En este sentido esta metodologa propone un enfoque traductivo.
Estas formas diferentes de pasar del modelo de objetos al modelo de diseo son muy
interesantes, pero pensamos que es importante incluir en el modelo de diseo un
formalismo que incluya una fase de validacin para detectar situaciones indeseables
en los diseos concurrentes como la inanicin, bloqueos, etc.
116
UNIVERSIDAD PRIVADA TELESUP
Propuesta TEMA 2
de una
Metodologa
Competencia:
Elaborar adecuadamente la estructura de
una propuesta sobre la aplicacin de una
metodologa de diseo.
117
UNIVERSIDAD PRIVADA TELESUP
118
UNIVERSIDAD PRIVADA TELESUP
119
UNIVERSIDAD PRIVADA TELESUP
120
UNIVERSIDAD PRIVADA TELESUP
En esta fase tambin tiene una gran importancia la descripcin de los aspectos no
funcionales. En este nivel, el sistema se ve como una caja negra que responde a
estmulos del exterior, por lo que toda la informacin que se recopile ser relativa a
eventos producidos fuera de los lmites del entorno. Se tiene que tener en cuenta que
el sistema habr de responder simultneamente a eventos externos cuya frecuencia
puede ser distinta, o no estar definida y dar el resultado deseado dentro de los lmites
de tiempo impuestos. As, esta fase se centrar en la deteccin de los requisitos
temporales de los eventos externos (especficamente eventos de entrada) producidos
por la interaccin con el entorno, en el que incluyen los dispositivos fsicos y otros
subsistemas.
El resultado de esta actividad es una tabla con los eventos externos, donde por cada
evento se recopila la siguiente informacin: identificacin del evento, clases
involucradas en la respuesta del sistema y requisitos temporales (sobre periodo, plazo
de respuesta, jitter,).
121
UNIVERSIDAD PRIVADA TELESUP
Diseo TEMA 3
con
Dispositivos
Fsicos
Competencia:
Aplicar modelos de diseo e interaccin con
dispositivos fsicos.
122
UNIVERSIDAD PRIVADA TELESUP
En esta fase, una diferencia importante de esta propuest a con respecto a otras
metodologas (por ejemplo SOMT) es la posibilidad
de reducir el vaco existente entre el diseo
estructural (en diagramas de clases y objetos en
UML) y el de procesos (mquinas de estados en
UML). Esto es posible gracias a las actividades que
se llevan a cabo durante esta fase (interaccin con
los dispositivos fsicos y asignacin de prioridades) para capturar los aspectos no
funcionales.
123
UNIVERSIDAD PRIVADA TELESUP
A la vez que el diseo de los aspectos funcionales del sistema tambin se tienen en
cuenta las caractersticas no funcionales. En esta fase, Asignacin de prioridades e
interaccin con los dispositivos fsicos, an se mantienen en esta actividad dos
niveles: el nivel de sistema y el nivel de objetos.
124
UNIVERSIDAD PRIVADA TELESUP
Sin embargo, las guas para agrupar las clases que modelan los dispositivos fsicos
marcan una diferencia respecto a la estrategia propuesta por Octopus. De hecho, en
vez de agrupar todas estas clases en un nico subsistema, proponemos distribuir las
clases de dispositivos fsicos entre los diferentes subsistemas que han sido generados
durante la fase de anlisis. Esto promueve un diseo ms natural y razonable, porque
las clases que representan cada componente fsico estn definidos all donde se
necesitan. Bsicamente, la notacin que proponemos a este nivel son los diagramas
de clases y objetos de UML.
El nivel de objetos de esta fase est dedicado a disear la interaccin con los
dispositivos fsicos, distinguiendo para cada componente fsico un objeto pasivo
y un objeto controlador. El primero modela el acceso al componente fsico y el
segundo implementa el protocolo demandado por los requisitos del sistema. Esta
forma de disear los componentes fsicos ayuda a decidir qu se va a disear como
software y qu como hardware, y a simular el sistema en la fase de diseo. Los
procesos fsicos desaparecen en la fase de implementacin.
Durante esta fase se llevan a cabo otras actividades. Por un lado, se completan las
cadenas de secuencias de los eventos, asociando objetos a eventos, o fijando las
prioridades de las transiciones. Por otro lado, se asignan los techos de prioridad de los
procesos pasivos usando mtodos como el de techo de prioridad inmediato.
Finalmente, se construye una tabla, que muestra la correspondencia entre cada
evento y la correspondiente secuencia de transiciones. Adems, cada transicin tiene
asociada cierta informacin, como el tiempo de retraso debido a los bloqueos (si lo
hay), si es atmica o no, el tiempo de ejecucin en el peor caso y su prioridad relativa.
125
UNIVERSIDAD PRIVADA TELESUP
En lo que respecta a la interaccin con los dispositivos fsicos, stos tienen que ser
simulados mediante elementos especificados en UML. Cuando el sistema est
implementado se acceder al dispositivo fsico mediante funciones C integradas en el
cdigo generado a partir del diseo. Sin embargo, durante esta fase tenemos que
completar la especificacin con clases y objetos UML que modelen el funcionamiento
de los dispositivos fsicos. Esto nos permitir la simulacin y validacin del sistema
completo, teniendo tambin en consideracin la interaccin con los dispositivos fsicos.
Otro aspecto relevante es el que corresponde a los requisitos de tiempo real.
Despus del diseo, es necesario un anlisis de tiempo real preliminar, usando este
anlisis es posible saber el funcionamiento temporal del sistema antes de la fase de
implementacin, y entonces hacer los cambios necesarios para mejorar el tiempo de
respuesta del sistema. En este sentido, la fase de evaluacin del rendimiento tambin
incluye un paso de rediseo para refinar el sistema especificado en UML. Basndonos
en la experiencia, este paso propone una serie de heursticos para cambiar el diseo y
mejorar los tiempos de respuesta de los eventos del sistema. Este paso ser
especialmente til cuando el sistema no cumpla los plazos de tiempo.
126
UNIVERSIDAD PRIVADA TELESUP
127
UNIVERSIDAD PRIVADA TELESUP
Un Caso Real:
El Diseo TEMA 4
de un
Telfono
Inalmbrico
Competencia:
Analizar el proceso de diseo de un telfono
inalmbrico y sus particularidades.
128
UNIVERSIDAD PRIVADA TELESUP
129
UNIVERSIDAD PRIVADA TELESUP
Para iniciar una llamada, el usuario ha de pulsar la tecla line del auricular, con lo que
se enva una peticin de lnea a la base. El circuito de radio detecta el mensaje e
informa al sistema. Si la base est en disposicin de procesarlo, es decir, si no est ya
en el estado de comunicacin, se establece un enlace de radio entre la base y el
auricular y se activa el gancho de la lnea telefnica. Para volver al estado de
inactividad, el usuario puede pulsar otra vez la tecla line. Si, por ejemplo, se pulsa la
tecla intercom en la base, empiezan las acciones para comunicar una peticin a todos
los auriculares mediante la difusin de un mensaje a travs del circuito de la radio.
130
UNIVERSIDAD PRIVADA TELESUP
APLICACIN DE LA METODOLOGA
131
UNIVERSIDAD PRIVADA TELESUP
132
UNIVERSIDAD PRIVADA TELESUP
133
UNIVERSIDAD PRIVADA TELESUP
Este estudio puede producir cambios en el diseo de objetos refinado, los dispositivos
fsicos se modelan mediante dos objetos: un objeto pasivo que modela el dispositivo
fsico y que permite a los dems procesos acceder a sus recursos a travs de
llamadas remotas a procedimientos, y otro objeto activo, correspondiente al
controlador, con un objeto controlador que es el que controla la comunicacin entre el
dispositivo fsico y el resto del sistema. En nuestro sistema, el objeto COMBO modela
el componente fsico del sistema de radio y el objeto DCombo para el controlador. En
la fase de anlisis de planificabilidad, y en funcin de los rboles de tareas y los
tiempos de respuesta de las acciones, se ve que hay eventos externos cuyo tiempo de
respuesta es superior a su plazo mximo de respuesta.
134
UNIVERSIDAD PRIVADA TELESUP
Una solucin es la divisin del proceso en dos, ocupndose cada uno de ellos de los
mensajes en un sentido. El inconveniente de esta solucin es que los recursos del
objeto original han de dividirse entre los dos nuevos objetos. Si cada uno de estos
nuevos objetos no necesita acceder a los recursos del otro no hay ningn problema,
pero si alguno de los recursos tiene que ser compartido por ambos objetos, hay que
definir un nuevo objeto pasivo que simplemente acte como contenedor de los
recursos a compartir.
135
UNIVERSIDAD PRIVADA TELESUP
136
UNIVERSIDAD PRIVADA TELESUP
Una de las tareas ms importantes que hay que desarrollar en los aspectos no
funcionales de la fase de diseo es el estudio de los eventos internos y la realizacin
de la tabla de eventos/transiciones. Distinguimos diferentes modos de operacin y el
anlisis se lleva a cabo en el contexto de cada uno de los modos de operacin. En el
Cuadro 4.2 podemos ver la tabla de eventos/transiciones que contiene todos los
eventos de nuestra aplicacin simplificada. Los nmeros relacionados con el tiempo
son los especificados en los requisitos del sistema y dependen del microprocesador en
el que se instale el software. Estos tiempos fueron suministrados por la empresa
Alcatel.
137
UNIVERSIDAD PRIVADA TELESUP
138
UNIVERSIDAD PRIVADA TELESUP
El cuadro 4.4 contiene toda la informacin necesaria para aplicar las tcnicas de
tiempo. En los aspectos no funcionales, obtuvimos un anlisis de tiempo real
preliminar usando las tablas de eventos/transiciones con los diferentes modos
operativos de la fase de diseo. El cuadro 4.5 muestra el anlisis preliminar de tiempo
real para los modos operativos inactivo, llamada entrante y llamada saliente.
Cuadro 4.4: Eventos para los modos operativos inactivo, llamada entrante y
llamada saliente.
139
UNIVERSIDAD PRIVADA TELESUP
Cuadro 4.5: Tiempo de respuesta para las acciones de los modos operativos
140
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
ANLISIS Y DISEO ORIENTADO A OBJETOS
http://glbrtlmb.blogdiario.com/i2006-09/
Actividades y Ejercicios
141
UNIVERSIDAD PRIVADA TELESUP
Autoevaluacin
1) Rate-Monotonic Analysis (RMA), proporciona una coleccin de mtodos
cuantitativos para analizar y predecir el funcionamiento:
a. Temporal de los sistemas de tiempo real.
b. Eficiente de los sistemas de tiempo real.
c. Predecible del sistema de tiempo real.
d. Organizado de un sistema de tiempo real.
e. Opcional disponibles en un sistema.
5) Respecto a los temas no funcionales, el diseo tiene que capturar cmo los
dispositivos fsicos interaccionan con el sistema. En este sentido, cada
componente fsico tiene que modelarse como:
a. Un atributo.
b. Un objeto.
c. Una clase.
d. Un estado.
e. Software.
142
UNIVERSIDAD PRIVADA TELESUP
143
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE IV:
144
UNIVERSIDAD PRIVADA TELESUP
Glosario
ARQUITECTURA: Consiste en la estructura organizacional de un sistema.
ATRIBUTO: Es una parte especfica de una clase. Una propiedad de un tipo
identificada mediante un nombre.
ESTADO: Es una condicin o situacin en la vida de un objeto, durante la cual
satisface una condicin, realiza una actividad o est esperando un evento.
ESTADO ACTIVO: Es un estado con una accin interna y una o ms transiciones
asociadas a la finalizacin de la accin interna.
ESTADO COMPUESTO: Es un estado compuesto por subestados.
EVENTO: En el contexto de un diagrama de estado, un evento es un
acontecimiento que puede disparar una transicin de estados.
EVENTO TEMPORAL: Es un evento que ocurre en un tiempo particular. Puede
ser especificado por medio de una expresin temporal.
MQUINA DE ESTADOS FINITOS (MEF): Es un modelo que describe los aspectos
de control en los sistemas de informacin.
META-METAMODELO: Es un modelo que define el lenguaje para expresar el
metamodelo. La relacin entre meta-metamodelo y metamodelo es anloga a la
relacin entre metamodelo y modelo.
METAMODELO: Es un modelo que define el lenguaje para poder expresar un
modelo.
MODELO: Es una abstraccin semnticamente consistente de un sistema.
REDES DE PETRI: Es un formalismo grfico que permite especificar sistemas
asincrnicos.
SUBESTADO: Es un estado que es parte de un estado compuesto. Un subestado
puede ser concurrente o disjunto.
SUBESTADO CONCURRENTE: Es un subestado que puede tener cabida
simultneamente a otros subestados concurrentes en el mismo estado
compuesto.
TIEMPO: Es un valor que representa un momento en el tiempo, absoluto o
relativo.
UML "UNIFIED MODELING LANGUAGE": Es un lenguaje que permite especificar,
construir, visualizar y documentar los elementos que componen un sistema de
software intensivo.
MSC: Es un lenguaje grfico orientado a objetos que se usa para describir
escenarios, es decir, ejecuciones concretas del sistema.
SDL : Permite expresar mediante mquinas de estados el funcionamiento de las
clases del sistema.
145
UNIVERSIDAD PRIVADA TELESUP
Fuentes de Informacin
BIBLIOGRFICAS:
ELECTRNICAS:
146
UNIVERSIDAD PRIVADA TELESUP
Solucionario
UNIDAD DE UNIDAD DE
APRENDIZAJE 1 APRENDIZAJE 2:
1. A 1. A
2. A 2. C
3. E 3. E
4. C 4. A
5. B 5. B
6. B 6. C
7. A 7. D
8. C 8. E
9. D 9. B
10. D 10. D
UNIDAD DE
UNIDAD DE
APRENDIZAJE 4:
APRENDIZAJE 3:
1. A 1. A
2. D 2. D
3. B 3. E
4. C 4. A
5. A 5. B
6. B 6. C
7. C 7. D
8. E 8. E
9. D 9. B
10. E 10. C
147