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
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