UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTA’ DI INGEGNERIA – SEDE DI MODENA Corso di Laurea in Ingegneria Informatica PROGETTAZIONE UML NELL’AMBITO DEL SEMANTIC WEB Relatore Chiar.ma Prof.ssa Sonia Bergamaschi Tesi di Laurea di Patrizia Ponchiroli Anno Accademico 2003/2004 Obiettivo della Tesi: Progettazione UML nell’ambito del Semantic Web – 15/12/04 Strumenti per lo sviluppo di ontologie nel Semantic Web Approccio tradizionale: Linguaggi KR tradizionali (Standard W3C) Momis: ODLI3 (estensione di ODL) Alternativa proposta: Class diagram UML + vincoli OCL Adattabilità dell’UML nella rappresentazione di modelli formali come le ontologie ??? UML: Comunicazione grafica human-to-human di analisi del software ↓ Linguaggio machine-processable per lo sviluppo di ontologie Progettazione UML nell’ambito del Semantic Web – 15/12/04 Generazioni del Web 1° - Pagine statiche: HTML 2° - Pagine dinamiche: Informazioni machine-readable Ricerche: match di keyword 3° - Web Semantico Tim Berners-Lee - Semantic web road map. Internal note, W3C. 1998 Informazioni machine-understandable Interoperabilità sintattica e semantica Creazione di linguaggi standard appropriati Mark-up dei contenuti / mark-up di presentazione Formalizzazione dei metadati Creazione di ontologie Utilizzo di agenti mobili Semantic Web: Progettazione UML nell’ambito del Semantic Web – 15/12/04 agenti mobili raccolgono informazioni da sorgenti eterogenee, le elaborano e le scambiano automaticamente con altri programmi RDBMS Linguaggi KR Progettazione UML nell’ambito del Semantic Web – 15/12/04 (Knowledge Representation Languages) Livello Logico Definizione di Ontologie Solo aspetti statici ! Livello Schema Livello Dati Linguaggi KR: OWL - SHOIN(D) DAML+OIL - KIF (2001) DAML (2000) OIL - SHIQ (2000) logiche del 1° ordine o Description Logics (DL) RDF-Schema (2000) XML-Schema RDF (1999) XML MOMIS (Mediator envirOnment for Multiple Information Sources) Progettazione UML nell’ambito del Semantic Web – 15/12/04 http://dbgroup.unimo.it/Momis Progetto nato dalla collaborazione tra i gruppi operativi dell’Università di Modena e Reggio Emilia e di Milano Attualmente continua nell’ambito del progetto SEWASIE (SEmantic Webs and AgentS in Integrated Economies) Integrazione virtuale ed intelligente di sorgenti eterogenee Livello Logico: ODLI3 + OLCD (DL) 1. Sorgenti locali di dati strutturate o semistrutturate da integrare 2. Wrapper: descrizione delle informazioni delle sorgenti in ODLI3 3. Mediatore: integrazione degli schemi locali generando un unico schema globale, la GVV (Global Virtual View) 4. Utente: interroga lo schema globale e riceve un’unica risposta ODLI3: Progettazione UML nell’ambito del Semantic Web – 15/12/04 Nasce come estensione di ODL (Object Definition Language), un linguaggio di descrizione dei dati object-oriented Permette l’integrazione di sorgenti strutturate e semi-strutturate Due nuovi costrutti: union e optional Estensioni ai tipi valore ed ai tipi classe Nel caso di sorgenti relazionali è possibile definire delle foreign key Possibilità di definire attributi globali, oltre ai normali attributi locali Vengono supportate le Mapping Rule E’ possibile la definizione di regole di integrità denominate if-then rule È possibile definire le relazioni terminologiche, intensionali ed estensionali, di: SYN (SYNonym-of): sinonimia BT (Border Terms): ipernimia NT (Narrow Terms): iponimia RT (Related Terms): associazione Annotazioni rispetto a WordNet UML (Unified Modeling Language) Progettazione UML nell’ambito del Semantic Web – 15/12/04 Linguaggio di modellazione grafica Object-Oriented Standard OMG (Object Management Group), basato su anni di esperienza nel campo dell’Ingegneria del Software, largamente adottato in campo industriale Nasce nel 1997 come fusione di: OMT (James Rumbaugh) OOSE (Ivar Jacobson) Metodologia di Booch (Grady Booch) General purpose Meccanismi di estensione: Vincoli Valori etichettati Stereotipi E’ provvisto di package e di altri meccanismi di modularità Ha la possibilità di esprimere processi e comportamenti dinamici OCL: linguaggio formale per la specifica di vincoli, per esprimere regole logiche Case-tool: Rational-Rose ArgoUML (open-source) } XMI (XML Metamodel Interchange) Progettazione UML nell’ambito del Semantic Web – 15/12/04 Diagrammi UML Categoria Diagrammi Analisi dei requisiti Use-case Struttura statica Package diagram Class diagram Object diagram Interazione Sequence diagram Collaboration diagram Stato State chart Activity diagram Implementazione Component diagram Deployment dagram Metamodello UML Class diagram UML Weel-formedness rules – OCL Struttura a package Progettazione UML nell’ambito del Semantic Web – 15/12/04 MOF (Meta Object Facility): Metalivello Ontologie UML Meta-metamodello Top-level Ontology (N. Guarino) Modello MOF Metamodello Linguaggi KR Metamodello UML Istanza del modello MOF Metadati Ontologia Modello/schema UML definito dall’utente Istanze del metamodello:Classi Dati Database Sistema reale Istanze del modello:Oggetti Progettazione UML nell’ambito del Semantic Web – 15/12/04 Limiti UML non ha ancora una semantica formale, uniforme e standardizzata Metamodello: ridondanza pUML (precise UML): Core di UML Non è ancora efficacemente “Web-enabled” UML: object-oriented vs Linguaggi KR: a frame L’UML non possiede una sintassi lineare Sia l’UML che i linguaggi ontologici sono legati al formalismo XML, ma: DAML+OIL ha una rappresentazione standard XML l’OMG adotta XMI come modello per trasferire dati Semanticamente, OCL manca di una specifica formale Significative incompatibilità semantiche tra l’UML ed i Linguaggi KR Concetto di Proprietà Progettazione UML nell’ambito del Semantic Web – 15/12/04 K. Baclawski Linguaggi KR: Le proprietà sono elementi primitivi, possono essere definite senza riferimento a classi, e sono unidirezionali Proprietà: più classi domain RDF(S): 1 classe range DAML+OIL: più classi range Il concetto di Proprietà riassume i concetti di: Associazione (ObjectProperty) Attributo (DataTypeProperty) UML: Non c’è il concetto primitivo di Associazione Le associazioni possono esistere solo nel contesto di due o più classi Associazione: 1 classe source e 1 classe target Concetto di Property Progettazione UML nell’ambito del Semantic Web – 15/12/04 K. Baclawski Compagnia 1 Persona Cane 0..n minCardinality “possiede”: UML: 2 associazioni DAML+OIL: 1 proprietà 0..n possiede 1 cardinality Veicolo possiede maxCardinality daml:Class “Persona" ... daml:subClassOf daml:Restriction daml:onProperty “possiede" daml:toClass “Cane" … daml:Property “possiede" Unambiguous e Unique Property Progettazione UML nell’ambito del Semantic Web – 15/12/04 K. Baclawski a1 0..1 * Unambiguous Property a2 * 0..1 Unique Property Mapping UML / DAML+OIL Progettazione UML nell’ambito del Semantic Web – 15/12/04 K. Baclawski K. Baclawski prevede di estendere l’UML, definendo un prototipo UML che mappi le specifiche UML in quelle DAML+OIL: Estensione al metamodello UML Stereotipi, specializzazioni di costrutti di modellazione, che corrispondano a elementi della sintassi DAML+OIL: <<ontology>> (ontologia DAML+OIL) <<import>> (ontologie importate) <<instanceOf>> (type) <<equivalentTo >> <<sameClassAs>> <<samePropertyAs>> <<inverseOf>> <<TransitiveProperty>> <<subProperty Of >> Progettazione UML nell’ambito del Semantic Web – 15/12/04 Esempio di Stereotipo Le subProperty DAML+OIL sono mappate con la dipendenza stereotipata <<subPropertyOf>> tra 2 associazioni: La proprietà “father” è un raffinamento della proprietà “parent” Estensione metamodello UML Progettazione UML nell’ambito del Semantic Web – 15/12/04 Due nuovi costrutti: Proprietà e Restrizione La Property è un Classifier e può esistere senza essere associata a nessuna classe Ogni estremo di associazione può essere descritto da al più una proprietà Una Property, come in DAML+OIL, può essere vincolata da zero o più Restriction Le istanze di una Restriction sono gli oggetti che soddisfano una condizione su una o più proprietà associate con la restrizione Le Restriction sono Classifier ed ognuna è messa in relazione con almeno una classe Il fatto che nessuna Property può avere più di uno degli AssociationEnd di un’associazione può essere espresso con vincoli OCL Progetti in corso Progettazione UML nell’ambito del Semantic Web – 15/12/04 Tentativi di applicare UML nel campo della rappresentazione di ontologie UBOT (Lockheed Martin Corporation) Mapping UML / DAML+OIL di K. Baclawski Stephen Cranefied e Martin Purvis: hanno studiato l’uso dei class-diagram UML per rappresentare ontologie e degli object-diagram UML per rappresentare istanze Cranefield sta promuovendo lo sviluppo di ontologie usando UML e studiando il problema del mapping UML-RDF tool “UML-Data-Binding” Progetto CODIP (Component for Ontology Driver Information Push): tool DUET (DAML-UML Enhanced Tool), basato su Rational Rose, che studia un profilo UML per DAML F. Bergenti e A. Poggi hanno proposto un approccio basato sull’uso dell’UML per modellare vari aspetti dei sistemi multi-agente UBOT (UML Based Ontology Tool-set) http://ubot.lockheedmartin.com Progettazione UML nell’ambito del Semantic Web – 15/12/04 ConsVISor Consistency checking XMI models UML GUI Ontology Engineer Text or web pages XMI models automatically generated UML↔DAML+OIL Translation AeroDAML Extraction to DAML+OIL DAML+OIL annotated text or web pages AeroText Text Extraction DAML+OIL Ontologies UML-Data-Binding S. Cranefield Progettazione UML nell’ambito del Semantic Web – 15/12/04 http://nzdis.otago.ac.nz/projects Java source file Ontology Engineer javac Java class file loads Applications XSLT UML-based design tool XMI Document references references references XSLT RDF-Schema (in XML) + Estensioni Knowledge (in RDF/XML) Progettazione UML nell’ambito del Semantic Web – 15/12/04 Conclusioni e sviluppi futuri Problemi/limiti di mapping componenti statici dell’UML Ma l’UML è molto di più: Ideale per modellare svariati aspetti del Web Semantico gestione delle interazioni tra gli agenti software organizzazione dei servizi Web offerti Confronto dei tool UML DAML+OIL / RDF con i traduttori MOMIS ODLI3 RDF(S) / OWL etc... Confronto validazione di schemi: ConsVISor / ODB-Tools Confronto esprimibilità vincoli: OCL / ODLI3 Ricerche recenti hanno mostrato come vincoli di integrità UML possono essere espressi come trasformazioni di grafo del metamodello UML Implementazione di questo stile di deduzione in tool UML Progettazione UML nell’ambito del Semantic Web – 15/12/04 Bibliografia essenziale Tim Berners-Lee. Semantic web road map. Internal note, W3C. 1998 http://www.w3.org/DesignIssues/Semantic.html World Wide Web Consortium. http://www.w3.org Valentina Tamma. Theoretical foundations of ontologies. An Ontology Model supporting Multiple Ontologies for Knowledge sharing. PhD Thesis, University of Liverpool, 2001 Nicola Guarino. Formal ontologies and information systems. Proceedings of the International Conference on Formal Ontology in Information Systems (FOIS'98), Trento, Italy, 1998 MOMIS. http://dbgroup.unimo.it/Momis UML. OMG Unified Modeling Language Specification, ver. 1.4 UBOT. http://ubot.lockheedmartin.com S. Cranefield. UML and the Semantic Web. http://www.semanticweb.org/SWWS/program/full/paper1.pdf Progettazione UML nell’ambito del Semantic Web – 15/12/04 PROGETTAZIONE UML NELL’AMBITO DEL SEMANTIC WEB La tesi è consultabile e scaricabile dal sito www.dbgroup.it Grazie per l’attenzione Patrizia Ponchiroli