Introducción a
OASIS 3.0
Patricio Letelier
[email protected]
www.dsic.upv.es/~letelier
Departamento Sistemas Informáticos y Computación
Universidad Politécnica de Valencia (España)
Contenido





Introducción
OASIS: Modelado Conceptual Formal y OO
Relaciones entre Clases
Conclusiones
www.dsic.upv.es/~letelier/pub
2
Introducción
Modelado 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)

www.dsic.upv.es/~letelier/pub
3
Introducció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.

www.dsic.upv.es/~letelier/pub
4
Introducción
Mé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, ...).

www.dsic.upv.es/~letelier/pub
5
Introducció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

www.dsic.upv.es/~letelier/pub
6
OASIS: 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 ObjectOriented 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

www.dsic.upv.es/~letelier/pub
7
… 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/

www.dsic.upv.es/~letelier/pub
8
OASIS: Una Estrategia para Modelado de SI
OASIS
Notación
Herramientas

www.dsic.upv.es/~letelier/pub
Proceso
9
OASIS 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.

www.dsic.upv.es/~letelier/pub
10
OASIS
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
r(1)
w4
r(2)
w5
w1
w2

www.dsic.upv.es/~letelier/pub
w3
w6
W
11
OASIS
… 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

www.dsic.upv.es/~letelier/pub
12
Plantilla de Clase

Plantilla: <Atributos, Servicios, DL-Fórmulas>

Mecanismo de Identificación

Servicios: eventos u operaciones

Interacción entre objetos
Acción: <Cliente, Servidor, Servicio>

www.dsic.upv.es/~letelier/pub
13
Comportamiento de un Objeto

Fórmulas en una variante de Lógica Dinámica [J.J Meyer 88
que determinan el comportamiento de un objeto:
  [a] false
“La ocurrencia de a está prohibida
en los estados que satisfacen ''
  [¬a] false “La ocurrencia de a es obligatoria
en los estados que satisfacen '’
  [ a] f

www.dsic.upv.es/~letelier/pub
“En los estados que satisfacen ,
inmediatamente después de la
ocurrencia de la acción a, f debe
satisfacerse''
14
Comportamiento Basado en Estado

Evaluaciones  [a] 
bloqueada=true [ingresar(cantidad)] saldo:=saldo + cantidad

Precondiciones
¬ [a] false
reintegro(cantidad) if {saldo>= cantidad}

Disparos  [¬ a] false
usuario(everyone)::aviso(“disco lleno”) when {espacio_libre=0}

www.dsic.upv.es/~letelier/pub
15
Comportamiento basado en
secuencias de acciones

Protocolos
socio:
SOCIO = alta.SOCIO1;
SOCIO1 = baja + prestar_libro.SOCIO2;
SOCIO2 = prestar_libro.SOCIO2 +
{num_libros>1} devolver_libro.SOCIO2 +
{num_libros=1} devolver_libro.SOCIO1;


Interpretación en DL: {
www.dsic.upv.es/~letelier/pub
 [a] 
+
¬ [a] false
}
16
… Comportamiento basado en
secuencias de acciones

Operaciones
cancelar:
CANCELAR = {credito>1}::devolver_moneda.CANCELAR +
{credito=1}::devolver_moneda;


Interpretación en DL: {  [a] 
www.dsic.upv.es/~letelier/pub
+
 [¬a] false
}
17
Agregació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

www.dsic.upv.es/~letelier/pub
18
… Agregación

Ejemplo
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)

www.dsic.upv.es/~letelier/pub
19
… Agregación
class coche
derived attributes
temperatura : int;
presion_media : real;
derivations
temperatura := motor.temperatura;
presion_media := avg(rueda.presion) where
{rueda.instalada=true};
events
encender calling to members motor.arrancar;
girar_izqda calling to members
rueda[“adelante_izqda”].girar_izqda,
rueda[“adelante_decha”].girar_izqda
...

www.dsic.upv.es/~letelier/pub
20
… 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

www.dsic.upv.es/~letelier/pub
21
Especializació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

www.dsic.upv.es/~letelier/pub
22
… 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
www.dsic.upv.es/~letelier/pub
23
... 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

www.dsic.upv.es/~letelier/pub
24
Ejemplo: Particiones Estáticas
camión, coche, otro*
static specialization of vehículo;
gasolina, diesel, otro**
static specialization of vehículo;
gasolina
vehículo
static
static
otro*

www.dsic.upv.es/~letelier/pub
diesel
otro**
coche
camión
25
Ejemplo: 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
estropeado
dynamic
static
otro*

www.dsic.upv.es/~letelier/pub
vehículo
static
diesel
otro**
coche
camión
26
Ejemplo: Roles
estudiante towards(0,1) matricular,
empleado towards(0,10) contratar
role of persona
persona
role
matricular
estudiante

www.dsic.upv.es/~letelier/pub
contratar
empleado
27
Ejemplo: Herencia Múltiple, Especies
gasolina
funcionando
estropeado
dynamic
static
vehículo
diesel
static
otro*
otro**
coche
camión
A-6065-CK

www.dsic.upv.es/~letelier/pub
28
Especializació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.

www.dsic.upv.es/~letelier/pub
29
Conclusiones

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
 ...

www.dsic.upv.es/~letelier/pub
30
Descargar

OASIS 3.0 - Universidad Politécnica de Valencia