Title: Introducci
1Introducción a OASIS 3.0
- Patricio Letelier
- letelier_at_dsic.upv.es
- www.dsic.upv.es/letelier
- Departamento Sistemas Informáticos y
ComputaciónUniversidad Politécnica de Valencia
(España)
2Contenido
- Introducción
- OASIS Modelado Conceptual Formal y OO
- Relaciones entre Clases
- Conclusiones
3IntroducciónModelado Conceptual OO
- Un modelo conceptual de un sistema de información
representa los requisitos del sistema,
esencialmente los requisitos funcionales - El término conceptual se refiere al hecho que el
modelo consiste en conceptos mediante los cuales
el usuario y el analista interpretan y observan
el espacio del problema - El modelado conceptual tiene sus raíces en el
modelado semántico de datos (EER, Daplex, SDM,
GSM)
4Introducción... Modelado Conceptual OO
- El enfoque orientado a objeto integrado en el
modelado conceptual presenta las siguientes
ventajas - La encapsulación del conocimiento bajo el
concepto de objeto, incluyendo las perspectivas
estática y dinámica del sistema estudiado. - La desaparición de barreras estrictas entre las
distintas fases del ciclo de vida o proceso de
producción de software. Esto favorece un proceso
de construcción incremental a partir del modelo
conceptual. - La proximidad de sus nociones a los mecanismos
cognitivos humanos facilitando la captura y
validación de requisitos representados en el
modelo conceptual.
5IntroducciónMétodos Formales en Modelado
Conceptual
- Los métodos formales permiten determinar y
expresar con mayor rigor las propiedades del
software - En la práctica, los requisitos son modelados
usando mayoritariamente modelos semiformales,
incluidos en los enfoques más populares en la
actualidad, entre ellos los métodos no orientados
a objeto (Enfoque Estructurado, Jackson) y los
orientados a objeto (OMT, OOAD, OOSE,
Shlaer-Mellor, ...).
6Introducción... Métodos Formales en Modelado
Conceptual
- UML (Unified Modeling Languaje) ha aglutinado las
notaciones OO más populares - Particularmente, en el modelado conceptual es
interesante el uso de métodos formales. Los
principales aportes se centran en - Mayor rigor en la especificación
- Mejores condiciones para realizar la verificación
y validación en forma más exhaustiva - Mejores condiciones para automatización de
procesos de generación automática de prototipos
y/o código final
7OASIS Modelado Conceptual Formal y OO
- OASIS, Open and Active Specification of
Information Systems. - Pastor O. Diseño y Desarrollo de un Entorno de
Producción Automática de Software basado en el
Modelo OO. Tesis Doctoral, DSIC-UPV, 1992 - Pastor O., Ramos I. OASIS versión 2 (2.2) A
Class-Definition Language to Model Information
Systems Using an Object-Oriented Approach.
Servicio de Publicaciones Universidad Politécnica
de Valencia, SPUPV-95.788, 1995 - Letelier P., Sánchez P., Ramos I., Pastor O.
OASIS versión 3.0 Un Enfoque Formal para el
Modelado Conceptual Orientado a Objeto. Servicio
de Publicaciones de la Universidad Politécnica de
Valencia, SPUPV-98.4011, 1998
8 OASIS Modelado Conceptual Formal y OO
- Trabajos Relacionados
- OBLOG, Universidad de Lisboa (Portugal)
- http//www.oblog.pt
- ALBERT, Universidad de Namur (Bélgica)
- http//www.info.fundp.ac.be/phe/albert.html
- TROLL, Universidad de Braunschweig (Alemania)
- http//www.cs.tu-bs.de/idb/html_d/home/ehrich/
9OASIS Una Estrategia para Modelado de SI
OASIS
Notación
Proceso
Herramientas
10OASIS como Lenguaje de Modelado
- Una especificación OASIS es una presentación de
una teoría en el sistema formal usado, expresada
como un conjunto estructurado de definiciones de
clase. - Las clases pueden ser simples o complejas
- Las clases complejas se definen estableciendo
relaciones entre clases. Éstas son agregación y
especialización. - Una clase se compone de un nombre de clase, uno o
más mecanismos de identificación y un tipo o
plantilla que comparten todas las instancias.
11OASIS
OASIS - Semántica Asociada
- La semántica de OASIS es dada en términos de una
estructura de Kripke (W,t,r). W es el conjunto de
todos los mundos posibles que un objeto puede
alcanzar, t y r son dos funciones que permiten
establecer las transiciones entre mundos
12OASIS
OASIS - Semántica Asociada
- t F 2W
- r 2A (W W)
- t asigna a una fórmula en Lógica de Primer Orden
el conjunto de mundos en los cuales se satisface - La función r asigna a cada paso una relación
binaria entre mundos
13Plantilla de Clase
- Plantilla ltAtributos, Servicios, DL-Fórmulasgt
- Mecanismo de Identificación
- Servicios eventos u operaciones
- Interacción entre objetos
- Acción ltCliente, Servidor, Serviciogt
14Comportamiento de un Objeto
- Fórmulas en una variante de Lógica Dinámica J.J
Meyer 88? que determinan el comportamiento de un
objeto - y a false La ocurrencia de a está
prohibida - en los estados que satisfacen y''
-
- y a false La ocurrencia de a es
obligatoria - en los estados que satisfacen y'
-
- y a f En los estados que satisfacen y,
- inmediatamente después de la
- ocurrencia de la acción a, f debe
- satisfacerse''
15Comportamiento Basado en Estado
? a ?
- Evaluaciones
- bloqueadatrue ingresar(cantidad) saldosaldo
cantidad - Precondiciones
- reintegro(cantidad) if saldogt cantidad
- Disparos
- usuario(everyone)aviso(disco lleno) when
espacio_libre0
? a false
? a false
16Comportamiento basado en secuencias de acciones
- Protocolos
- socio
- SOCIO alta.SOCIO1
- SOCIO1 baja prestar_libro.SOCIO2
- SOCIO2 prestar_libro.SOCIO2
- num_librosgt1 devolver_libro.SOCIO2
- num_libros1 devolver_libro.SOCIO1
-
- Interpretación en DL
? a false
? a ?
17 Comportamiento basado en secuencias de acciones
- Operaciones
- cancelar
- CANCELAR creditogt1devolver_moneda.CANCELA
R - credito1devolver_moneda
- Interpretación en DL
? a ?
? a false
18Agregación
- Multiplicidad de la relación
- Tipo de relación entre agregado y componente
- Relacional / Inclusiva
- Estática / Dinámica
- Comunicación síncrona entre agregado y
componentes - Atributos derivados en base a atributos de
componentes
19 Agregación
coche aggregation of static inclusive chasis
towards(1,1) from (1,1) static inclusive motor
towards(1,1) from(0,1) dynamic inclusive rueda
towards(4,5) from(0,1)
20 Agregación
- class coche
- derived attributes
- temperatura int
- presion_media real
- derivations
- temperatura motor.temperatura
- presion_media avg(rueda.presion) where
rueda.instaladatrue - events
- encender calling to members motor.arrancar
- girar_izqda calling to members
- ruedaadelante_izqda.girar_izqda,
- ruedaadelante_decha.girar_izqda
- ...
21 Agregación
- Agregación y su interpretación en Lógica
Dinámica? - ? Sincronización de servicios mediante
sincronizaciones calling to members o sharing
with members
22Especialización
- Particiones Estáticas y Dinámicas, Grupos de Rol
- Particiones Estáticas y Dinámicas
- Establecen subclases disjuntas y completas
- El objeto es el mismo desde la raíz hasta las
hojas, (tiene el mismo oid). Debe existir
Compatibilidad de Comportamiento
23 Especialización
- Particiones Estáticas
- Particionamos el espacio de objetos
- Un objeto pertenece siempre a la misma subclase
en la partición - Particiones Dinámicas
- Particionamos el espacio de estados de los
objetos - Un objeto puede migrar entre distintas subclases
en la partición. - Migración definida mediante un proceso de
migración - Migración en función de valores de atributos
24... Especialización
- Roles
- Se relacionan dos objetos (distintos oids) el
player en la superclase y el rol en la subclase.
En este caso la compatibilidad puede ser de
signatura - Un objeto puede desempeñar varias roles
simultáneamente - Puede dejar de existir el rol y no destruirse el
objeto player
25Ejemplo Particiones Estáticas
- camión, coche, otro
- static specialization of vehículo
- gasolina, diesel, otro
- static specialization of vehículo
26Ejemplo Particiones Dinámicas
- funcionando, estropeado
- dynamic specialization of vehículo
- migration relation is
- COCHE crear_coche.FUNCIONANDO
- FUNCIONANDO estropear.ESTROPEADO
- ESTROPEADO reparar.FUNCIONANDO
gasolina
funcionando
static
dynamic
vehículo
diesel
estropeado
otro
static
camión
coche
otro
27Ejemplo Roles
- estudiante towards(0,1) matricular,
- empleado towards(0,10) contratar
- role of persona
28Ejemplo Herencia Múltiple, Especies
gasolina
funcionando
static
dynamic
vehículo
diesel
estropeado
otro
static
camión
coche
otro
A-6065-CK
29Especialización en Lógica Dinámica
- Especialización y su interpretación en Lógica
Dinámica? - Herencia de fórmulas dinámicas
- Ver detalles en
- P. Sánchez, P. Letelier, I. Ramos. Animating
formal specifications with Inheritance in a
DL-based framework. Requirements Engineering
Journal, Springer-Verlag, Vol 4 Núm. 4, páginas
198-209, 1999.
30Conclusiones
- Uso de OASIS como modelo formal subyacente
- Trabajos asociados
- Captura de requisitos y modelado conceptual
- Validación de especificaciones mediante animación
- Evolución de esquemas conceptuales
- Generación automática de código en entornos de
imperativos - Integración de los aspectos anteriores en un
entorno CASE que abarque todo el ciclo de vida - ...