08.08.2013 Views

Ontologías y Metamodelos - Universidad de Castilla-La Mancha

Ontologías y Metamodelos - Universidad de Castilla-La Mancha

Ontologías y Metamodelos - Universidad de Castilla-La Mancha

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Proceso Software y gestión gesti n <strong>de</strong><br />

Conocimiento<br />

3 – <strong>Ontologías</strong> Ontolog as y <strong>Metamo<strong>de</strong>los</strong><br />

Francisco Francisco Ruiz<br />

Ruiz<br />

Ciudad Real<br />

Dep. <strong>de</strong> Tecnologías Tecnolog as y Sistemas <strong>de</strong> Información<br />

Informaci<br />

Escuela Superior <strong>de</strong> Informática<br />

Inform tica<br />

<strong>Universidad</strong> <strong>de</strong> <strong>Castilla</strong>-<strong>La</strong> <strong>Castilla</strong> <strong>La</strong> <strong>Mancha</strong>


<strong>Ontologías</strong> Ontolog as y <strong>Metamo<strong>de</strong>los</strong><br />

Objetivos parciales<br />

• Conocer los conceptos básicos b sicos <strong>de</strong> ontologías. ontolog as.<br />

• Uso <strong>de</strong> las ontologías ontolog as en ingeniería ingenier a <strong>de</strong>l<br />

software.<br />

• Presentar una ontología ontolog a <strong>de</strong>l mantenimiento<br />

• Utilización Utilizaci n <strong>de</strong> las arquitecturas conceptuales y<br />

los metamo<strong>de</strong>los para abordar la complejidad.<br />

• Presentar los principales estándares est ndares <strong>de</strong><br />

metamo<strong>de</strong>lado: MOF/XMI.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 2


<strong>Ontologías</strong> Ontolog as y <strong>Metamo<strong>de</strong>los</strong><br />

Contenidos<br />

• <strong>Ontologías</strong>. Ontolog as.<br />

Para qué qu Ingeniería Ingenier a <strong>de</strong>l Software.<br />

Ingeniería Ingenier a ontológica. ontol gica.<br />

Representación.<br />

Representaci n.<br />

REFSENO.<br />

Ontología Ontolog a para el Mantenimiento.<br />

Arquitecturas conceptuales.<br />

<strong>Metamo<strong>de</strong>los</strong>.<br />

ndares para metamo<strong>de</strong>lado.<br />

MOF.<br />

Casos <strong>de</strong> uso en datos y procesos.<br />

XMI.<br />

Caso <strong>de</strong> uso.<br />

• Arquitecturas conceptuales.<br />

• Estándares Est para metamo<strong>de</strong>lado.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 3


<strong>Ontologías</strong> Ontolog as y <strong>Metamo<strong>de</strong>los</strong><br />

Lecturas (i)<br />

Lecturas<br />

• Básicas sicas<br />

Ruiz, F. (2003): “MANTIS: MANTIS: Definición Definici n <strong>de</strong> un Entorno para la<br />

Gestión Gesti n <strong>de</strong>l Mantenimiento <strong>de</strong> Software”. Software . Tesis Doctoral. Dep.<br />

<strong>de</strong> Informática, Inform tica, Univ. <strong>de</strong> <strong>Castilla</strong>-<strong>La</strong> <strong>Castilla</strong> <strong>La</strong> <strong>Mancha</strong>. Capítulo Cap tulo 5 (parte)<br />

y anexos C-G. C G.<br />

Gruber, Gruber,<br />

T. (1995): Towards Principles for the Design of<br />

Ontologies used for Knowledge Sharing. Sharing.<br />

International International Journal Journal<br />

of of Human--Computer<br />

Human Computer Studies, Studies,<br />

43(5/6), pp 907-928. 907 928.<br />

Ruiz, F. et al. (2004): El Meta-Meta Meta Meta, , las <strong>Ontologías</strong> Ontolog as y la<br />

Investigación Investigaci n en Ingeniería Ingenier a <strong>de</strong>l Software. II II Workshop Workshop en en<br />

MMéétodos todos <strong>de</strong> <strong>de</strong> Investigacióón Investigaci n y y Fundamentos Fundamentos Filosóóficos Filos ficos en en<br />

Ingenieríía Ingenier a <strong>de</strong>l <strong>de</strong>l Software Software y y Sistemas Sistemas <strong>de</strong> <strong>de</strong> Informacióónn<br />

Informaci<br />

(MIFISIS'04). 5-6 5 6 noviembre, Valladolid.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 4


<strong>Ontologías</strong> Ontolog as y <strong>Metamo<strong>de</strong>los</strong><br />

Lecturas (ii)<br />

Lecturas<br />

• Complementarias<br />

Derid<strong>de</strong>r, D. y Wouters, Wouters,<br />

B. (1999): The Use of Ontologies as a<br />

Backbone for Software Engineering Tools. Fourth Australian<br />

Knowledge Acquisition Workshop (AKAW'99). 5-6 5 6 diciembre, diciembre,<br />

Sydney (Australia).<br />

Derid<strong>de</strong>r, Derid<strong>de</strong>r,<br />

D. (2002): A Concept-Oriented<br />

Concept Oriented Approach to Support<br />

Software Maintenance and Reuse Activities. Activities.<br />

5th Joint onference<br />

on Knowledge-Based<br />

Knowledge Based Software Engineering (JCKBSE2002). 11- 11<br />

13 septiembre, Maribor (Eslovenia).<br />

Devedzíc, Devedz , V. (2002): Un<strong>de</strong>rstanding Ontological Engineering.<br />

Engineering.<br />

Communications of ACM. 45(4), pp. 136-144. 136 144.<br />

Gruninger, Gruninger,<br />

M. y Lee, J. (2002): Ontology Applications and<br />

Design. Design.<br />

Communications of the ACM. 45(2), February 2002, pp.<br />

39-41. 39 41.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 5


<strong>Ontologías</strong> Ontolog as y <strong>Metamo<strong>de</strong>los</strong><br />

Lecturas (iii)<br />

Lecturas<br />

• Complementarias bis<br />

Guarino, Guarino,<br />

N. (1998): Formal Ontology and Information Systems. Systems.<br />

Formal Ontology in Information Systems (FOIS’98). (FOIS 98). Trento<br />

(Italia), 6-8 6 8 junio. IOS Press, Press,<br />

pp. 3-15. 3 15.<br />

Kishore, Kishore,<br />

R., Zhang, Zhang,<br />

H. & Ramesh, Ramesh,<br />

R. (2004): A Helix-Spindle<br />

Helix Spindle<br />

Mo<strong>de</strong>l for Ontological Engineering.<br />

Engineering.<br />

Communicatiosn of ACM,<br />

February 2004/Vol. 47, No. 2, pp. 69-75. 69 75.<br />

Mylopoulos, Mylopoulos,<br />

J. (1998): Information Mo<strong>de</strong>ling in the Time of the<br />

Revolution. Revolution.<br />

Information Systems, Systems,<br />

23(3-4), 23(3 4), pp. 127-155. 127 155.<br />

Spyns, Spyns,<br />

P., Meersman, Meersman,<br />

R. y Jarrar, M. (2002): Data Mo<strong>de</strong>lling<br />

versus Ontology Engineering. Engineering.<br />

SIGMOD Record, 31(4),<br />

December-2002, December 2002, pp. 12-17. 12 17.<br />

Tautz, Tautz,<br />

C. y Von Wangenheim,<br />

Wangenheim,<br />

C.G. C.G.<br />

(1998): REFSENO: REFSENO:<br />

A<br />

Representation Formalism for Software Engineering Ontologies.<br />

Fraunhofer IESE-Report<br />

IESE Report No. 015.98/E, version 1.1, October 20.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 6


<strong>Ontologías</strong> Ontolog as y <strong>Metamo<strong>de</strong>los</strong><br />

Lecturas (iv)<br />

Lecturas<br />

• Complementarias (estándares)<br />

(est ndares)<br />

OMG (2002): Meta Object Facility (MOF) Specification; Specification;<br />

versión versi n<br />

1.4, abril 2002. Object Management Group. Group<br />

http://www.omg.org<br />

http:// www.omg.org/technology technology/documents documents/formal/ /formal/mof.htm mof.htm<br />

OMG (2003): XML Metadata Interchange (XMI) Specification;<br />

Specification;<br />

versión versi n 2.0, mayo 2003. Object Management Group. Group<br />

http://www.omg.org<br />

http:// www.omg.org/technology technology/documents documents/formal/ /formal/xmi.htm xmi.htm<br />

OMG (2002): Software Process Engineering Metamo<strong>de</strong>l<br />

Specification;<br />

Specification;<br />

version 1.0, noviembre 2002. Object<br />

Management Group. Group<br />

http://www.omg.org<br />

http:// www.omg.org/technology technology/documents documents/formal/ /formal/spem.htm spem.htm<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 7


<strong>Ontologías</strong> Ontolog as<br />

• Gruber (1995):<br />

Especificacióón Especificaci n explíícita expl cita <strong>de</strong> <strong>de</strong> una una<br />

conceptualizacióónn<br />

conceptualizaci<br />

Una conceptualización conceptualizaci es una vista abstracta simplificada <strong>de</strong> la<br />

porción porci n <strong>de</strong> la realidad que nos interesa:<br />

=> objetos, conceptos y otras entida<strong>de</strong>s que asumimos que<br />

existen en algún alg n área rea <strong>de</strong> interés, inter s, y las relaciones existentes entre<br />

ellos.<br />

• Se utilizan para <strong>de</strong>scribir acuerdos ontológicos<br />

ontol gicos entre un conjunto<br />

<strong>de</strong> agentes.<br />

Así As se facilita la comunicación comunicaci n entre los agentes.<br />

Un agente satisface una ontología ontolog a si sus acciones observables son<br />

consistentes con las <strong>de</strong>finiciones <strong>de</strong> la ontología. ontolog a.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 8


<strong>Ontologías</strong> Ontolog as<br />

¿Para Para qué qu en I.S.?<br />

• Gruninger y Lee (2002) establecen tres utilida<strong>de</strong>s <strong>de</strong> las<br />

ontologías: ontolog<br />

as:<br />

Comunicación;<br />

Comunicaci<br />

entre humanos que participan en proyectos<br />

entre humanos y sistemas software<br />

entre humanos que participan en proyectos<br />

entre humanos y sistemas software<br />

entre sistemas software ¿?<br />

Reutilización Reutilizaci n y organización organizaci <strong>de</strong>l conocimiento;<br />

filtrado <strong>de</strong> conocimiento.<br />

Inferencia Computacional.<br />

Una ontología<br />

O<br />

está basado en<br />

Un mo<strong>de</strong>lo<br />

M<br />

Un sistema real<br />

S<br />

es una imagen <strong>de</strong><br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 9


<strong>Ontologías</strong> Ontolog as<br />

Ingeniería Ingenier a Ontológica Ontol gica (i)<br />

• Conjunto <strong>de</strong> activida<strong>de</strong>s llevadas a cabo durante la<br />

conceptualización, conceptualizaci n, diseño, dise o, implementación implementaci n y uso <strong>de</strong><br />

ontologías ontolog as (Devedzic ( Devedzic, , 2002).<br />

• Implica temas como<br />

Filosofía, Filosof a,<br />

Metafísica, Metaf sica,<br />

Formalismos para representación representaci n <strong>de</strong>l conocimiento,<br />

Metodologías Metodolog as <strong>de</strong> <strong>de</strong>sarrollo,<br />

Compartición Compartici n y reutilización reutilizaci n <strong>de</strong>l conocimiento,<br />

Gestión Gesti n <strong>de</strong>l conocimiento,<br />

Mo<strong>de</strong>lado <strong>de</strong> procesos <strong>de</strong> negocio,<br />

Sentido común, com n,<br />

Sistematización Sistematizaci n <strong>de</strong>l conocimiento <strong>de</strong> un dominio,<br />

Recuperación Recuperaci n <strong>de</strong> información,<br />

informaci n,<br />

Estandarización, Estandarizaci n, y<br />

Evaluación<br />

Evaluaci<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 10


<strong>Ontologías</strong> Ontolog as<br />

Ingeniería Ingenier a Ontológica Ontol gica (ii)<br />

• Methontology (Fernán<strong>de</strong>z (Fern n<strong>de</strong>z et al, 1997) imita el<br />

ciclo <strong>de</strong> vida <strong>de</strong>l software propuesto por IEEE<br />

1074, estableciendo las etapas principales<br />

siguientes:<br />

Planificación;<br />

Especificación (<strong>de</strong> los requisitos) <strong>de</strong> la ontología; ontolog a;<br />

Conceptualización: : crear la ontología ontolog a propiamente<br />

dicha (equivalente al diseño dise o en un sistema<br />

software);<br />

Implementación: : representación representaci n y almacenamiento<br />

<strong>de</strong> la Conceptualización Conceptualizaci n anterior mediante el uso <strong>de</strong><br />

alguna herramienta informática.<br />

inform tica.<br />

1. Planificaci<br />

2. Especificaci<br />

3. Conceptualizaci<br />

4. Implementaci<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 11


<strong>Ontologías</strong> Ontolog as<br />

Representación<br />

Representaci<br />

• Informal<br />

Informal<br />

Lenguaje natural<br />

• Semi-formal<br />

Semi<br />

formal<br />

REFSENO<br />

REFSENO<br />

UML<br />

• Formal<br />

Formal<br />

GLEO<br />

((∀∀a) a) ( ( actividad(a,’’Actividad actividad(a, Actividad <strong>de</strong> <strong>de</strong> Modificacióónn’’)<br />

Modificaci ) →→ actividad(a,’’Actividad actividad(a, Actividad <strong>de</strong> <strong>de</strong><br />

Mantenimiento’’) Mantenimiento ) ) )<br />

((∀∀a1,a2) a1,a2) ( ( sub--actividad(a1,a2)<br />

sub actividad(a1,a2) ↔↔ super--actividad(a2,a1) super actividad(a2,a1) ) )<br />

((∀∀a,s) a,s) ( ( entrada(s,a) entrada(s,a) →→ artefacto(s) artefacto(s) ∧∧ actividad(a,_) actividad(a,_) ) )<br />

((∀∀a,s) a,s) ( ( salida(s,a) salida(s,a) →→ artefacto(s) artefacto(s) ∧∧ actividad(a,_) actividad(a,_) ) )<br />

((∀∀a1,a2) a1,a2) ( ( pre--actividad(a1,a2)<br />

pre actividad(a1,a2) ↔↔ ((∃∃s) s) ( ( entrada(s,a2) entrada(s,a2) ∧∧ salida(s,a1) salida(s,a1) ) ) )<br />

)<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 12


<strong>Ontologías</strong> Ontolog as<br />

REFSENO<br />

• Representation<br />

Representation Formalism Formalism for for Software Software<br />

Engineering Engineering Ontologies Ontologies ((Tautz Tautz y y Von Von Wangenheim,<br />

Wangenheim,<br />

1998). 1998).<br />

Representación Representaci n <strong>de</strong> ontologías ontolog as <strong>de</strong> ingeniería ingenier a <strong>de</strong>l software<br />

mediante orientación orientaci n a objetos en forma <strong>de</strong> tablas, texto y,<br />

opcionalmente, diagramas;<br />

=> Semi-formal<br />

Semi formal<br />

Se utilizan un conjunto <strong>de</strong> primitivas epistémicas<br />

epist micas.<br />

Conceptos<br />

Atributos terminales<br />

Atributos no terminales<br />

Tipos<br />

Instancias<br />

También Tambi n propone un método m todo <strong>de</strong> diseño dise o basado en una<br />

adaptación adaptaci n <strong>de</strong> Methontology.<br />

Methontology<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 13


Ontología Ontolog a para el Mantenimiento (i)<br />

Ontología <strong>de</strong>l Mantenimiento<br />

(gestión <strong>de</strong> los proyectos)<br />

Subontología <strong>de</strong> los Productos<br />

Subontología <strong>de</strong> Organización<br />

<strong>de</strong>l Proceso<br />

- Procedimientos<br />

- Gestión <strong>de</strong> Peticiones<br />

- Problemas<br />

Subontología <strong>de</strong> las<br />

Activida<strong>de</strong>s<br />

Subontología <strong>de</strong> los<br />

Agentes<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 14


Ontología Ontolog a para el Mantenimiento (ii)<br />

dividir<br />

Producto<br />

madurez<br />

tamaño<br />

composición<br />

tipo <strong>de</strong> aplicación<br />

calidad<br />

edad<br />

+proyecto<br />

0..1<br />

0..*<br />

+sub-proyecto<br />

Proyecto<br />

1..*<br />

engloba<br />

1..*<br />

Elemento<br />

1<br />

está-compuesto-por<br />

1..*<br />

1<br />

<br />

ha-generado<br />

1..*<br />

Versión<br />

<br />

preten<strong>de</strong><br />

Objetivo<br />

1..*<br />

1..*<br />

1..*<br />

limita-a<br />

0..*<br />

Precondición<br />

<br />

1..*<br />

Artefacto<br />

calidad<br />

tipo<br />

edad<br />

entregable<br />

Artefacto Actividad Recurso Agente<br />

1..*<br />

incluye-a<br />

1..*<br />

se-refi ere-a<br />

Restricción<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 15<br />

0..*<br />

+compuesto<br />

contiene<br />

0..*<br />

+componente<br />

1..*<br />

Esquema Los Productos básico


Ontología Ontolog a para el Mantenimiento (iii)<br />

Artefacto<br />

0..* <br />

es-entrada-<strong>de</strong><br />

1..*<br />

Actividad<br />

0..*<br />

1..*<br />

nivel abstracción 1..* 0..*<br />

dividir<br />

+proyecto<br />

Corrección<br />

es-salida-<strong>de</strong><br />

<br />

0..1<br />

0..*<br />

Mantenimiento<br />

+sub-proyecto<br />

Investigación<br />

historia Modificación<br />

tamaño modificación<br />

criticidad<br />

Proyecto<br />

Principal<br />

1..*<br />

engloba<br />

1..*<br />

Retirada<br />

Elemento<br />

Objetivo<br />

Recurso<br />

1..* preten<strong>de</strong> utiliza 0..*<br />

<br />

1..*<br />

1..*<br />

Software<br />

0..*<br />

1..* Soporte<br />

limita-a<br />

<br />

Precondición<br />

Hardware<br />

Gestión<br />

Gestión Proceso<br />

1..*<br />

Mejora<br />

Aseguramiento Calidad<br />

Gestión Configuraci ón<br />

formalidad<br />

calidad<br />

Artefacto Eliminar problemas Actividad Prevenir problemas Cambiar Recurso Requisitos Agente<br />

Cambiar Implementación<br />

se-refi ere-a<br />

Restricción<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 16<br />

1..*<br />

Esquema las Jerarquía Activida<strong>de</strong>s básico <strong>de</strong><br />

y Activida<strong>de</strong>s<br />

los Recursos


Ontología Ontolog a para el Mantenimiento (iv)<br />

Softw are<br />

1..*<br />

automatiza<br />

< ><br />

Gestión<br />

modifica<br />

Artefacto<br />

<br />

0..*<br />

Gestión <strong>de</strong>l Proceso<br />

Principal<br />

<br />

Procedimiento<br />

1..*<br />

automatiza invoca-agrado<br />

automatización Soporte<br />

Software 0..*<br />

1..*<br />

1..*<br />

0..* 1..*<br />

1..*<br />

1..*<br />

<br />

1..*<br />

<br />

Paradigma<br />

Procedimiento<br />

Actividad<br />

utiliza<br />

Mantenimiento<br />

1..* Gestión Configuración<br />

grado automatización<br />

1..* 1..*<br />

Mé todo Técnica Guía<br />

Actividad<br />

Tecnología Desarrollo<br />

1..*<br />

0..*<br />

1..*<br />

pue<strong>de</strong>-utilizar 1<br />

<br />

<br />

entrega 1..*<br />

Modificación Principal<br />

<br />

<br />

Investigación invoca-a<br />

está-limitado-por Soporte<br />

0..*<br />

0..*<br />

0..* Versión<br />

1<br />

0..*<br />

1..* 1<br />

1<br />

1..*<br />

Informe Gestión Investigación<br />

incluye<br />

<br />

Mantenimiento<br />

Gestión Configuración<br />

<br />

incluye<br />

aprueba efectos<br />

produce<br />

ha-generado<br />

1<br />

Método Técnica Guía<br />

1..*<br />

1..* 1 criticidad<br />

0..1<br />

<br />

<br />

1<br />

1..*<br />

entrega<br />

1..*<br />

Gestión PM<br />

Control 1..* Cambio prioridad<br />

Gestión Proceso recibe Informe Modificación Investigación <br />

Investigación Producto<br />

Paradigma Tecnología causado-por Desarrollo<br />

1<br />

Versión<br />

1<br />

1<br />

1..*<br />

1..* 1..*<br />

1..*<br />

localizada-en<br />

0..*<br />

1..*<br />

1<br />

0..*<br />

incluye<br />

incluye<br />

><br />

1<br />

0..*<br />

0..*<br />

<br />

<br />

1..*<br />

+original<br />

aprueba +posterior produce<br />

1..*<br />

soporta ha-generado<br />

Agente > 1<br />

0..1<br />

<br />

Gestión PM<br />

está-basado-en<br />

1..* Causa<br />

Control Cambio<br />

Informe Investigación<br />

0..1<br />

1<br />

<br />

recibe<br />

1 1Artefacto<br />

efectos Mantenedor<br />

recibe<br />

1..*<br />

Producto<br />

0..* 1..*<br />

criticidad<br />

Los Procedimientos<br />

1<br />

<br />

Agente<br />

0..* prioridad<br />

1..*<br />

<br />

<br />

comunica complementar <br />

1..*<br />

<br />

><br />

1..*<br />

1..*<br />

está-basado-en<br />

1..* 1<br />

1 está-sujeta-a<br />

1..*<br />

soporta<br />

reci 0..* be<br />

+original<br />

1..*<br />

1<br />

<br />

comunica<br />

0..*<br />

+posterior <br />

Acuerdo Nivel Servicio<br />

1..*<br />

1<br />

causado-por<br />

Petición Mantenimiento<br />

><br />

condiciones servicio<br />

está-sujeta-a Peti ción Mantenimiento<br />

complementar 1..*<br />

0..1<br />

Solicitud Cambio<br />

Informe Problema<br />

Solicitud Cambio Informe Problema<br />

1<br />

Acuerdo Nivel Servicio<br />

condiciones <br />

servicio<br />

<strong>de</strong>fine-estructura-organizativa-<strong>de</strong><br />

<br />

mod i fi ca<br />

<br />

0..* está-li mi tado-por 0..*<br />

1..*<br />

<br />

pu ed e-uutiliza tiliza r<br />

Factor Desarrollo<br />

Factor Desarrollo<br />

<br />

localizada-en<br />

Causa Mantenedor<br />

Artefacto<br />

1..*<br />

0..*<br />

1<br />

Informes No-software Defecto <strong>de</strong><br />

0..*<br />

Investigación<br />

Fallo<br />

<br />

<strong>de</strong>fine-estructura-organizativa-<strong>de</strong><br />

Artefacto<br />

Gestión <strong>de</strong><br />

Peticiones<br />

Organización<br />

No-software Defecto Fallo<br />

Del Proceso<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 17


Ontología Ontolog a para el Mantenimiento (v)<br />

Recurso<br />

0..*<br />

+superior<br />

Software<br />

<br />

posee<br />

Persona<br />

habilida<strong>de</strong>s<br />

a ctitu d<br />

Puesto<br />

0..1<br />

0..*<br />

informar-a<br />

<br />

Agente 0..* real iza<br />

0..*<br />

Actividad<br />

0..1<br />

+subordinada<br />

emplea<br />

0..*<br />

Organización 1..*<br />

1..* 1..*<br />

+subordinado<br />

1..*<br />

Humano<br />

Mantenedor Cliente<br />

0..1<br />

<br />

<br />

<strong>de</strong>sempeña<br />

1..*<br />

es-responsable-<strong>de</strong><br />

0..*<br />

1 <br />

<br />

es-dueño-<strong>de</strong><br />

soporta<br />

<br />

Producto<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 18<br />

Rol<br />

habilida<strong>de</strong>s<br />

capacida<strong>de</strong>s<br />

1..*<br />

1<br />

incluir<br />

1..*<br />

1..*<br />

Usuario<br />

0..*<br />

<br />

utiliza<br />

+principal<br />

<strong>de</strong> los<br />

Agentes


Arquitecturas conceptuales (i)<br />

Mo<strong>de</strong>lo <strong>de</strong> meta-meta-metadatos<br />

(=MetaMetaMo<strong>de</strong>lo)<br />

Mo<strong>de</strong>lo <strong>de</strong> meta-metadatos<br />

(=MetaMo<strong>de</strong>lo)<br />

Mo<strong>de</strong>lo <strong>de</strong> metadatos<br />

(=Mo<strong>de</strong>lo)<br />

Datos<br />

Lenguaje estándar<br />

para <strong>de</strong>finición <strong>de</strong><br />

metamo<strong>de</strong>los<br />

Ej <strong>Metamo<strong>de</strong>los</strong><br />

E/R<br />

UML<br />

Diagramas E/R<br />

Mo<strong>de</strong>los UML<br />

Base datos<br />

empresa<br />

etc..L<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 19


Arquitecturas conceptuales (ii)<br />

• Un principio importante <strong>de</strong> la ingeniería ingenier a <strong>de</strong>l software es<br />

la separación separaci n <strong>de</strong> un sistema en capas <strong>de</strong> encapsulación,<br />

encapsulaci ,<br />

que pue<strong>de</strong>n especificarse, diseñarse dise arse y llevarse a cabo<br />

<strong>de</strong> manera in<strong>de</strong>pendiente en gran parte.<br />

• Estas capas o niveles conceptuales ayudan a:<br />

ganar ganar control control intelectual intelectual <strong>de</strong>l <strong>de</strong>l sistema sistema dividiééndolo dividi ndolo en en abstracciones<br />

abstracciones<br />

significativas;<br />

significativas;<br />

reducir reducir la la complejidad complejidad <strong>de</strong> <strong>de</strong> construccióón construcci n <strong>de</strong>l <strong>de</strong>l sistema sistema al al dividirlo dividirlo en en<br />

piezas piezas separables separables que que pue<strong>de</strong>n pue<strong>de</strong>n construirse construirse <strong>de</strong> <strong>de</strong> forma forma in<strong>de</strong>pendiente in<strong>de</strong>pendiente por por<br />

un un núúmero n mero relativamente relativamente pequeñño peque o <strong>de</strong> <strong>de</strong> especialistas;<br />

especialistas;<br />

reducir reducir los los costes costes <strong>de</strong> <strong>de</strong> mantenimiento al al po<strong>de</strong>r po<strong>de</strong>r localizar localizar máás m s fáácilmente f cilmente<br />

el el impacto impacto <strong>de</strong> <strong>de</strong> muchos muchos cambios; cambios;<br />

facilitar facilitar la la evolucióón evoluci n <strong>de</strong>l <strong>de</strong>l sistema sistema al al posibilitar posibilitar la la sustitucióón sustituci n <strong>de</strong> <strong>de</strong> capas capas<br />

completas completas <strong>de</strong> <strong>de</strong> funcionalidad; funcionalidad; yy<br />

aumentar aumentar la la generalidad generalidad <strong>de</strong>l <strong>de</strong>l sistema sistema al al permitir permitir abstracciones abstracciones máás m s<br />

generales generales en en los los niveles niveles superiores.<br />

superiores.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 20


Arquitecturas conceptuales (iii)<br />

Nivel M3<br />

Class<br />

Nivel M1<br />

Corrective Maintenance Activity<br />

Intervention responsible<br />

Department<br />

M3-M2<br />

M2-M1<br />

Phone number M1-M0<br />

Nivel M2<br />

Nivel M0<br />

Corrective Maintenance Activity nº 36<br />

Luis García<br />

Marketing<br />

926555555<br />

Activity<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 21


Arquitecturas conceptuales<br />

<strong>Metamo<strong>de</strong>los</strong> (i)<br />

<strong>Metamo<strong>de</strong>los</strong><br />

• Para la gestión gesti n <strong>de</strong> la complejidad <strong>de</strong> los<br />

sistemas, sistema , y po<strong>de</strong>r construir sistemas abiertos y<br />

extensibles, extensibles se utiliza la metamo<strong>de</strong>lizaci<br />

metamo<strong>de</strong>lización.<br />

• Un metamo<strong>de</strong>lo es un mo<strong>de</strong>lo mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong> mo<strong>de</strong>los.<br />

mo<strong>de</strong>los<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 22


Arquitecturas conceptuales<br />

<strong>Metamo<strong>de</strong>los</strong> (ii)<br />

<strong>Metamo<strong>de</strong>los</strong><br />

• Existen 13 utilida<strong>de</strong>s <strong>de</strong> los metamo<strong>de</strong>los en análisis an lisis y<br />

diseño dise o <strong>de</strong> sistemas (Castellani Castellani, , 1998):<br />

Relativos con la creación creaci n inicial <strong>de</strong> mo<strong>de</strong>los:<br />

Definición Definici<br />

Representación Representaci n <strong>de</strong> mo<strong>de</strong>los<br />

Representación Representaci n <strong>de</strong> mo<strong>de</strong>los distintos<br />

Unificación Unificaci<br />

Verificación Verificaci<br />

<br />

Representación Representaci n <strong>de</strong> la evolución evoluci n (versiones) <strong>de</strong> mo<strong>de</strong>los<br />

Creación Creaci n <strong>de</strong> resúmenes res menes<br />

Relativos a la particularización particularizaci n ( (customize customize) ) <strong>de</strong> mo<strong>de</strong>los<br />

Extracción Extracci n <strong>de</strong> subconjuntos coherentes<br />

Creación Creaci n <strong>de</strong> mo<strong>de</strong>los particularizados<br />

Relativos al análisis an lisis <strong>de</strong> mo<strong>de</strong>los<br />

Evaluación Evaluaci<br />

Comparación<br />

Comparaci<br />

Otros<br />

Diseño Dise o <strong>de</strong> CASE Aprendizaje<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 23


Arquitecturas conceptuales<br />

<strong>Metamo<strong>de</strong>los</strong> (iii)<br />

<strong>Metamo<strong>de</strong>los</strong><br />

• Utilida<strong>de</strong>s en Ingeniería Ingenier a <strong>de</strong>l Software son:<br />

Como omo esquemas conceptuales para repositorios que<br />

dan soporte a los datos relacionados con los<br />

procesos software.<br />

Como esquemas conceptuales para herramientas<br />

CASE.<br />

Para <strong>de</strong>finir lenguajes <strong>de</strong> mo<strong>de</strong>lado.<br />

Para permitir interoperabilidad entre herramientas<br />

(apoyándose (apoy ndose en estándares est ndares para intercambio: intercambio:<br />

XMI,<br />

XIF, ..). ..<br />

Como herramientas para enten<strong>de</strong>r las relaciones<br />

entre conceptos en diferentes lenguajes <strong>de</strong><br />

mo<strong>de</strong>lado.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 24


Arquitecturas conceptuales<br />

<strong>Metamo<strong>de</strong>los</strong> (iv)<br />

<strong>Metamo<strong>de</strong>los</strong><br />

• Utilidad en Procesos Software<br />

Para po<strong>de</strong>r integrar varios PS, cada uno con su MP.<br />

Para la mejora <strong>de</strong> PS.<br />

Permitiendo la evolución evoluci n <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> un PS.<br />

Pudiendo gestionar <strong>de</strong> forma integrada el proceso y el<br />

metaproceso.<br />

metaproceso<br />

Para construir PSEE más m s potentes.<br />

Haciendo que el repositorio sea más m s genérico gen rico y tenga más m s<br />

capacidad semántica. sem ntica.<br />

Permitiendo que todas las herramientas, incluso estando<br />

basadas en un metamo<strong>de</strong>lo diferente, compartan los<br />

mo<strong>de</strong>los.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 25


MOF (i)<br />

• Meta<br />

Meta-Object Object Facility. Facility<br />

• Est stándar ndar <strong>de</strong>finido por OMG ( (Object Object Management<br />

Management<br />

Group) Group)<br />

para la <strong>de</strong>finicióón, <strong>de</strong>finici n, representacióón representaci n y y gestióón gesti n <strong>de</strong> <strong>de</strong><br />

metadatos. metadatos<br />

• MOF, MOF y sus especificaciones asociadas, asociadas incluyen:<br />

Una arquitectura <strong>de</strong> 4 niveles <strong>de</strong> metadatos, que proporciona<br />

un patrón patr n genérico gen rico para la construcción construcci n <strong>de</strong> sistemas centrados<br />

en los metadatos.<br />

El mo<strong>de</strong>lo MOF, MOF,<br />

un lenguaje estándar est ndar y abstracto para los<br />

metamo<strong>de</strong>los que <strong>de</strong>finen diferentes clases <strong>de</strong> metadatos.<br />

<strong>La</strong> especificación especificaci n XMI, XMI,<br />

que <strong>de</strong>fine las correspon<strong>de</strong>ncias que<br />

soportan el intercambio <strong>de</strong> metadatos y metamo<strong>de</strong>los basados<br />

en MOF. MOF.<br />

Utiliza el lenguaje XML.<br />

XML<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 26


MOF (ii)<br />

• Soporta oporta cualquier clase <strong>de</strong> metadatos que pueda ser<br />

<strong>de</strong>scrita usando técnicas t cnicas <strong>de</strong> mo<strong>de</strong>lado OO. OO<br />

• En el contexto <strong>de</strong> MOF, MOF un mo<strong>de</strong>lo es cualquier<br />

coleccióón colecci n <strong>de</strong> <strong>de</strong> metadatos metadatos que que estáán est n relacionados relacionados <strong>de</strong> la<br />

siguiente manera:<br />

Los metadatos <strong>de</strong>scriben información informaci n interrelacionada <strong>de</strong><br />

alguna forma.<br />

Todos los metadatos <strong>de</strong>finidos <strong>de</strong>ben estar en concordancia<br />

con una serie <strong>de</strong> reglas que <strong>de</strong>finen su estructura y<br />

consistencia (están (est n basados en un lenguaje abstracto).<br />

Los metadatos tienen significado en un marco semántico sem ntico<br />

común. com n.<br />

• Por tanto, un mo<strong>de</strong>lo en MOF no es un mo<strong>de</strong>lo en el<br />

sentido usual <strong>de</strong> la palabra.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 27


MOF (iii)<br />

• Los metadatos son en sí s mismos clases <strong>de</strong> información<br />

informaci n<br />

y pue<strong>de</strong>n ser <strong>de</strong>scritos por otros metadatos (que<br />

pertenecerían pertenecer an a un nivel <strong>de</strong> abstracción abstracci n mayor).<br />

• En la terminología terminolog a <strong>de</strong> MOF, los metadatos que<br />

<strong>de</strong>scriben otros metadatos se <strong>de</strong>nominan meta-<br />

metadatos, metadatos,<br />

y por lo tanto, un mo<strong>de</strong>lo formado por<br />

meta-metadatos meta metadatos se <strong>de</strong>nomina metamo<strong>de</strong>lo.<br />

metamo<strong>de</strong>lo<br />

• MOF permite integrar diferentes metamo<strong>de</strong>los mediante<br />

la <strong>de</strong>finición <strong>de</strong>finici n <strong>de</strong> una sintaxis abstracta y común com n a todos<br />

ellos. Esta sintaxis abstracta se conoce con el nombre<br />

<strong>de</strong> Mo<strong>de</strong>lo MOF y, por tanto, tanto constituye el mo<strong>de</strong>lo<br />

común com n a todos los metamo<strong>de</strong>los (meta meta-<br />

metamo<strong>de</strong>lo).<br />

metamo<strong>de</strong>lo).<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 28


MOF<br />

Niveles Conceptuales<br />

Nivel MOF Ejemplo<br />

M3<br />

Mo<strong>de</strong>lo MOF<br />

(Meta-metamo<strong>de</strong>lo)<br />

M2 Meta-mo<strong>de</strong>lo<br />

UML,<br />

Entidad-Interrelación<br />

M1 Mo<strong>de</strong>lo Mo<strong>de</strong>lo <strong>de</strong> Coche en UML<br />

M0 Datos Datos <strong>de</strong> un coche concreto<br />

Relación entre niveles:<br />

Objeto(i-1) ES_UNA_INSTANCIA DE Objeto(i)<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 29


MOF<br />

Mo<strong>de</strong>lo MOF M3 (i)<br />

• Principales<br />

Principales Constructores<br />

Clases<br />

Clases<br />

Tienen atributos, atributos,<br />

operaciones,<br />

operaciones,<br />

referencias.<br />

referencias<br />

Asociaciones<br />

Asociaciones<br />

Sólo lo se permiten asociaciones binarias<br />

Tienen ienen dos finales <strong>de</strong> asociación. asociaci<br />

Paquetes<br />

Paquetes<br />

Colecciones olecciones <strong>de</strong> clases y asociaciones relacionadas, relacionadas,<br />

con fines<br />

<strong>de</strong> reutilización.<br />

reutilizaci<br />

Pue<strong>de</strong>n ue<strong>de</strong>n ser simples o compuestos,<br />

compuestos,<br />

cuando importan <strong>de</strong><br />

otros paquetes o heredan <strong>de</strong> ellos. ellos<br />

Tambi ambién pue<strong>de</strong>n ser anidados.<br />

anidados<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 30


MOF<br />

Mo<strong>de</strong>lo MOF M3 (ii ii)<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 31


MOF<br />

Mo<strong>de</strong>lo MOF M3 (iii iii)<br />

• Todos los conceptos representados en el nivel M2 se<br />

consi<strong>de</strong>ran instancias <strong>de</strong> clase--MOF clase MOF o <strong>de</strong> asociacióónn-- asociaci<br />

MOF. MOF<br />

"Actividad Actividad", ", " "Actor Actor" " o " "Artefacto Artefacto" " son ejemplares <strong>de</strong> clase--MOF clase MOF;<br />

"Actividad Actividad usa usa Recursos" Recursos"<br />

o " "Artefacto Artefacto es_entrada_<strong>de</strong> es_entrada_<strong>de</strong> Actividad" Actividad"<br />

son ejemplares <strong>de</strong> asociacióónn--MOF<br />

asociaci MOF<br />

• Un mo<strong>de</strong>lo--MOF<br />

mo<strong>de</strong>lo MOF se pue<strong>de</strong> representar mediante<br />

diagramas UML, UML,<br />

o<br />

el lenguaje MODL (Meta Meta Object Object Definition Definition <strong>La</strong>nguage), <strong>La</strong>nguage),<br />

pero para su manejo automático autom tico y su portabilidad entre<br />

herramientas en un EIS, es mucho mejor utilizar XMI (XML XML<br />

Metadata Metadata Interchange).<br />

Interchange).<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 32


MOF<br />

Caso <strong>de</strong> uso en datos (i)<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Datos<br />

Esquemas<br />

Mo<strong>de</strong>lo E/R<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Datos<br />

Mo<strong>de</strong>lo<br />

Relacional<br />

Esquemas<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Datos<br />

M3<br />

M2<br />

M1<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 33<br />

M0<br />

Alumno<br />

Matricula<br />

Curso<br />

EJEMPLO<br />

Nombre<br />

DNI<br />

Vez<br />

Titulación<br />

Siglas<br />

Creditos<br />

Pila<br />

Apellido1<br />

Apellido2


MOF<br />

Caso <strong>de</strong> uso en datos (ii ii)<br />

M3-M2 M2-M1 M1-M0<br />

CLASE MOF<br />

Tipo <strong>de</strong> Entidad (TE)<br />

Tipo <strong>de</strong> Interrelación (TI)<br />

Atributo (A)<br />

I<strong>de</strong>ntificador Principal (IP)<br />

ASOCIACIÓN MOF<br />

A pertenece a A<br />

A pertenece a TE<br />

IP i<strong>de</strong>ntifica a TE<br />

Tipo <strong>de</strong> Entidad<br />

Alumno<br />

Curso<br />

Atributo<br />

DNI<br />

Nombre<br />

Créditos<br />

I<strong>de</strong>ntificador Principal<br />

Alumno<br />

Curso<br />

....................<br />

IP i<strong>de</strong>ntifica a TE<br />

IP-Alumno i<strong>de</strong>ntifica Alumno<br />

IP-Curso i<strong>de</strong>ntifica a Curso<br />

A pertenece a TE<br />

Nombre pertenece a Alumno<br />

Créditos pertenece a Curso<br />

Alumno<br />

555555<br />

Luis García Muñoz<br />

Curso<br />

1º ISI<br />

2º ITIG<br />

IP Curso I<strong>de</strong>ntifica a Curso<br />

1º ISI I<strong>de</strong>ntifica a Instancia <strong>de</strong><br />

Curso 1<br />

Nombre Pertenece a Alumno<br />

Luis García Muñoz pertenece<br />

a alumno 5555555<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 34


MOF<br />

Caso <strong>de</strong> uso en procesos (i)<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Datos<br />

Mo<strong>de</strong>lo MOF<br />

Metamo<strong>de</strong>lo Procesos<br />

Software<br />

MANTEMA Otras Metodologías<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Datos<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Mo<strong>de</strong>lo MOF<br />

Datos<br />

M3<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 35<br />

M2<br />

M1<br />

M0<br />

Ejemplo <strong>de</strong> PS:<br />

Mantenimiento (PMS)<br />

Nivel M2:<br />

Metamo<strong>de</strong>lo general<br />

para procesos<br />

software<br />

Nivel M1:<br />

PMS según la<br />

metodología<br />

MANTEMA


MOF<br />

Caso <strong>de</strong> uso en procesos (ii ii)<br />

Actor<br />

name : String<br />

+Actor que <strong>de</strong>sempeña el rol<br />

incluye<br />

+Tarea<br />

0. .*<br />

+Actividad<br />

1<br />

Especificacion <strong>de</strong> Actividad<br />

name : String<br />

+Actividad<br />

Desempeña<br />

se asigna a<br />

0..*<br />

+Rol <strong>de</strong>l Actor<br />

1<br />

1<br />

1<br />

1<br />

+Poseedor<br />

+Poseedo r<br />

+Poseedor<br />

0..*<br />

Rol<br />

name : String<br />

Emplea<br />

Tiene Salida<br />

tiene<br />

+Rol asignado<br />

Tiene entrada<br />

Tiene Intermedio<br />

+Herrami enta empleada<br />

Metamo<strong>de</strong>lo M2<br />

(simplificado)<br />

+ Salida d e Ac ti vi dad<br />

Parámetro<br />

Nombre : String<br />

Tip o : String<br />

Descripcion : String<br />

Herramienta<br />

name : String<br />

+Entrada <strong>de</strong> Actividad<br />

Producto<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 36<br />

0..*<br />

0..*<br />

0..*<br />

0..*<br />

+Intermedio <strong>de</strong> Actividad<br />

0..*<br />

name


MOF<br />

Caso <strong>de</strong> uso en procesos (iii iii)<br />

Mo<strong>de</strong>lo M1<br />

MANTEMA<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 37


MOF<br />

Caso <strong>de</strong> uso en procesos (iv iv)<br />

Correspon<strong>de</strong>ncias Correspon<strong>de</strong>ncias M3--M2 M3 M2<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 38


CLASE MOF<br />

MOF<br />

Caso <strong>de</strong> uso en procesos (v)<br />

M3-M2 M2-M1 M1-M0<br />

Especificación <strong>de</strong> Actividad<br />

Actor<br />

Producto<br />

Rol<br />

Parámetro,<br />

Herramienta<br />

ASOCIACIÓN<br />

MOF<br />

EA incluye EA<br />

EA tiene como entrada PROD<br />

EA tien e com o in term ed io PR O D<br />

EA tiene com o salida PRO D<br />

EA tiene PAR<br />

EA em plea H<br />

EA se a sign a a R<br />

A <strong>de</strong>sem peña R<br />

Especificación <strong>de</strong><br />

A nálisis Error<br />

Investigar y analizar causas<br />

Intervención Correctiva Urgente<br />

Realizar acciones correctivas<br />

Análisis <strong>de</strong> la petición<br />

Valorar Petición<br />

Elegir alternativa a<strong>de</strong>cuada<br />

Producto<br />

Software en explotación<br />

Softw are a corregir<br />

Softw are Corregido<br />

Actor<br />

Mantenedor<br />

Clien te<br />

An a lista<br />

....................<br />

EA incluye EA<br />

Intervención correctiva urgente<br />

incluye Realizar acciones<br />

correctivas<br />

Análisis <strong>de</strong>l error incluye<br />

I nvestigar y analizar causas<br />

An álisis <strong>de</strong> la petición in clu ye<br />

Valorar petición<br />

EA tiene como entrada PROD<br />

Realizar acciones correctivas como entrada Software a Corregir<br />

I nvestigar y Analizar Causas tiene<br />

como entrada Software en<br />

Explotación<br />

....................<br />

Ejecución <strong>de</strong> los<br />

mo<strong>de</strong>los en Proyectos<br />

concretos <strong>de</strong><br />

Mantenimiento <strong>de</strong>l<br />

S oftw are<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 39


XMI (i)<br />

• XML Metadata Interchange<br />

Herramienta<br />

6<br />

Herramienta<br />

1<br />

Herramienta<br />

5<br />

6 X 6 – 6 = 30 enlaces<br />

Herramienta<br />

2<br />

Herramienta<br />

4<br />

Herramienta<br />

3<br />

Herramientas <strong>de</strong><br />

<strong>de</strong>sarrollo<br />

Diseño<br />

Enlace Único por herramienta<br />

Total 6 enlaces<br />

Esquemas<br />

<strong>de</strong> bases<br />

<strong>de</strong> datos<br />

XMI<br />

Activos<br />

Software<br />

Informes<br />

Repositorio<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 40


XMI (ii ii)<br />

• Propósito: Prop sito: Facilitar el intercambio <strong>de</strong> metadatos<br />

entre herramientas <strong>de</strong> mo<strong>de</strong>lado y repositorios <strong>de</strong><br />

metadatos (basados en el OMG-MOF) OMG MOF) en<br />

entornos distribuidos heterogéneos.<br />

heterog neos.<br />

• XMI integra fundamentalmente:<br />

XML (eXtensible eXtensible Markup <strong>La</strong>nguage) <strong>La</strong>nguage<br />

MOF (Meta Object Facility)<br />

Facility<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 41


XMI (iii iii)<br />

• Incluye:<br />

Reglas <strong>de</strong> producción producci para transformar metamo<strong>de</strong>los<br />

basados en MOF en XML DTD's. DTD's<br />

Reglas <strong>de</strong> producción producci para transformar mo<strong>de</strong>los<br />

basados en metamo<strong>de</strong>los MOF en archivos XML. XML<br />

Principios <strong>de</strong> diseño dise para los DTD's y archivos XML<br />

basados en XMI.<br />

DTD's específicos espec ficos <strong>de</strong>l UML y <strong>de</strong>l MOF.<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 42


XMI (iv iv)<br />

Ejemplo Ejemplo<br />

<br />

<br />

xmi.version="1.0"><br />

<br />

<br />

<br />

<br />

<br />

<br />

.......... ><br />

........ ><br />

<br />

<br />

<br />

<br />


XMI (v)<br />

Relaci Relación n entre MOF y XMI<br />

MOF<br />

Metamo<strong>de</strong>lo<br />

basado en<br />

MOF<br />

Mo<strong>de</strong>lo<br />

es instancia <strong>de</strong><br />

es instancia <strong>de</strong><br />

Interfaz<br />

MOF<br />

Interfaz<br />

Reflectiva<br />

MOF<br />

XMI<br />

Consultar Metamo<strong>de</strong>lo<br />

Consultar Metamo<strong>de</strong>lo<br />

Consultar Valores<br />

Generador DTD's<br />

Generador Documentos XMI<br />

Generar<br />

Generar<br />

DTD XML<br />

DOCUMENTO<br />

XML<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 44


XMI<br />

Caso <strong>de</strong> uso en procesos (i)<br />

Correspon<strong>de</strong>ncia M3-M2 M3 M2<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 45


XMI<br />

Caso <strong>de</strong> uso en procesos (ii ii)<br />

DTD Metamo<strong>de</strong>lo Procesos SW<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 46


XMI<br />

Caso <strong>de</strong> uso en procesos (iii iii)<br />

Correspon<strong>de</strong>ncia M2-M1 M2 M1<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 47


Otros estándares est ndares <strong>de</strong> metamo<strong>de</strong>lado (i)<br />

• OIM / XIF<br />

Open Information Mo<strong>de</strong>l, Mo<strong>de</strong>l,<br />

estándar est ndar <strong>de</strong> MDC (Meta<br />

Data Coalition). Coalition).<br />

Soportar oportar la interoperabilidad entre diferentes compañías compa as y<br />

tecnologías tecnolog as<br />

compartido.<br />

compartido<br />

mediante un mo<strong>de</strong>lo <strong>de</strong> información<br />

informaci n<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 48


Otros estándares est ndares <strong>de</strong> metamo<strong>de</strong>lado (ii ii)<br />

OIM OIM / XIF<br />

• Basado asado en: en<br />

UML<br />

XML<br />

SQL<br />

XIF (XML Interchange Format)<br />

• Tecnología <strong>de</strong> Microsoft para dar soporte a su repositorio <strong>de</strong> metadatos OIM<br />

• Define una correspon<strong>de</strong>ncia bidireccional entre documentos XML y mo<strong>de</strong>los<br />

basados en OIM<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 49


Otros estándares est ndares <strong>de</strong> metamo<strong>de</strong>lado (iii iii)<br />

• ANSI IRDS (1989)<br />

Especificación Especificaci n <strong>de</strong> un repositorio general para la gestión gesti n <strong>de</strong><br />

información.<br />

informaci n.<br />

Meta-metamo<strong>de</strong>lo, Meta metamo<strong>de</strong>lo, basado en el mo<strong>de</strong>lo entidad-interrelaci<br />

entidad interrelación n<br />

(E/R).<br />

• CDIF (ISO 1998)<br />

Desarrollado como una forma estándar est ndar <strong>de</strong> transferir datos y<br />

metadatos relacionados entre herramientas CASE<br />

Consta <strong>de</strong> dos partes principales<br />

Arquitectura <strong>de</strong> Metamo<strong>de</strong>lización Metamo<strong>de</strong>lizaci <strong>de</strong> 4 capas.<br />

Formato <strong>de</strong> transferencia (Basado en el uso <strong>de</strong> XML. )<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 50


Metamo<strong>de</strong>lo SPEM (i)<br />

• Software Process Engineering Metamo<strong>de</strong>l<br />

Genérico Gen rico para crear mo<strong>de</strong>los <strong>de</strong> procesos concretos<br />

No da soporte a la reificación reificaci ((enactment enactment)) <strong>de</strong> los procesos<br />

Descrito como un metamo<strong>de</strong>lo o como un profile profile UML<br />

• Mo<strong>de</strong>lo Conceptual<br />

es responsable <strong>de</strong><br />

Paquetes<br />

1 0..*<br />

Rol 1<br />

Producto <strong>de</strong> Trabajo<br />

1<br />

realiza<br />

+entrada +salida<br />

0..* 0..*<br />

Usa<br />

0..*<br />

0..* 0..*<br />

Actividad<br />

Produce<br />

Elementos Básicos<br />

Depen<strong>de</strong>ncias<br />

Estructura <strong>de</strong>l Proceso<br />

Componentes <strong>de</strong>l Proceso<br />

Ciclo <strong>de</strong> Vida <strong>de</strong>l Proceso<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 51


Metamo<strong>de</strong>lo SPEM (ii)<br />

Paquete Estructura <strong>de</strong>l Proceso<br />

+parentWork<br />

Operation<br />

(from Core)<br />

Parameter<br />

(f ro m Co re)<br />

kind : Param eterDirectionKind<br />

ActivityParameter<br />

hasWorkPerArtifact : Boolean<br />

+subWork WorkDefinition<br />

+work<br />

+performer<br />

0..* 0..*<br />

0..*<br />

{or<strong>de</strong>red}<br />

1<br />

+activity<br />

Activity<br />

0..*<br />

1<br />

0..*<br />

+step<br />

Step<br />

ActionState<br />

(from Activ ityGraphs)<br />

Classifier<br />

(fro m Co re)<br />

ProcessPerformer<br />

ProcessRole<br />

+assistant 0..*<br />

Mo<strong>de</strong>lElement<br />

(from Core)<br />

WorkProd<br />

uctKind<br />

0..*<br />

WorkProduct<br />

isDeliverable : Boolean<br />

0..*<br />

+work Product<br />

UCLM-TSI. Francisco Ruiz. Proceso Software y GC 3. 52<br />

0..1<br />

+kind 1<br />

+responsibleRole

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!