Seminari di ingegneria del software - PowerPoint PPT Presentation

About This Presentation
Title:

Seminari di ingegneria del software

Description:

Seminari di ingegneria del software Traduzione di diagrammi ER in Prot g Emma Di Pasquale Teresa Raguso OBIETTIVI Creare ontologie con Prot g Classificare ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 42
Provided by: NECComp102
Category:

less

Transcript and Presenter's Notes

Title: Seminari di ingegneria del software


1
Seminari di ingegneria del software
  • Traduzione di diagrammi ER in Protégé

Emma Di Pasquale
Teresa Raguso
2
OBIETTIVI
  • Creare ontologie con Protégé
  • Classificare le ontologie e verificarne la
    consistenza tramite RACER
  • Generare la sintassi astratta di OWL con SWOOP

3
ONTOLOGIA
  • Descrizione formale esplicita dei concetti di un
    dominio.
  • Essa contiene
  • Un insieme di classi (concetti rilevanti)
  • Un insieme di relazioni tra queste classi
  • Un insieme di proprietà attribuite a ciascun
    concetto
  • Un insieme di restrizioni sulle proprietà

4
INTRODUZIONELOGICHE DESCRITTIVE
  • Le logiche descrittive (DL) sono frammenti
    decidibili della
  • FOL per esprimere la conoscenza in termini di
  • concetti atomici (predicati unari)
  • ruoli atomici (predicati binari)
  • individui (costanti)
  • Una base di conoscenza in DL comprende
  • TBox insieme di assiomi terminologici, ovvero il
    vocabolario del dominio applicativo (concetti e
    ruoli)
  • ABox contiene asserzioni circa gli individui che
  • popolano il mondo in oggetto, assegnando loro un
    nome e asserendo le loro proprietà

5
INTRODUZIONEOWL
  • OWL Ontology Web Language, è una raccomandazione
    del W3C.
  • Linguaggio per esprimere le ontologie
  • Tre tipi di OWL
  • OWL Lite, versione sintatticamente più semplice
    che permette di esprimere una gerarchia di classi
    e semplici restrizioni
  • OWL DL, versione intermedia basata sulle logiche
    descrittive, offre un potere espressivo elevato
    mantenendo completezza e decidibilità
  • OWL FULL, offre la massima espressività senza
    offrire alcuna garanzia circa completezza e
    decidibilità

6
Protégé
  • E un editor per la creazione di ontologie
  • Caratteristiche
  • -Piattaforma open-source
  • -Può esportare le ontologie in vari formati
  • RDF(S), XML Schema e OWL
  • -E basato su Java
  • -E estendibile (esistono numerose API e
    plug-in)
  • -Dispone di numerosi ambienti plug-and-play che
  • consentono un rapido sviluppo delle
    applicazioni.

7
Progettazione di unontologiain Protégé
  • Progettare unontologia significa
  • 1. Determinare il dominio e lo scopo
    dellontologia
  • 2. Individuare i concetti chiave del fenomeno da
    descrivere
  • 3. Organizzare i concetti in classi e gerarchie
    tra le classi
  • 4. Definire le proprietà delle classi
  • 5. Definire vincoli (valori leciti) sulle
    proprietà
  • 6. Creare le istanze
  • 7. Attribuire i valori alle proprietà per tutte
    le istanze create

8
ER in Protégé
  • Entità classes
  • Relazioni object properties
  • Attributi datatype properties
  • Vincoli restrictions

9
Entità - ClassesProtégé
  • Rappresentano insiemi di individui
  • Organizzate in una tassonomia
  • Possono essere combinate usando un insieme di
    operatori
  • sussunzione
  • disjoint
  • unione
  • intersezione
  • complemento
  • Ad ogni classe possono essere associate delle
    condizioni (restrictions) che possono essere
  • necessarie (classi primitive)
  • necessarie e sufficienti (classi definite)

10
Protégé CLASSES TAB
Nome della Classe
IS-A
Relazioni e attributi della classe
Gerarchia delle Classi
Restrizioni sugli individui della classe
Classi disgiunte
11
PROPERTYProtégé
  • Due tipi di proprietà
  • Object properties, relazionano individui ad
    individui
  • Datatype properties, relazionano individui a
    valori di dati
  • Protégé supporta una gerarchia tra le proprietà
  • Con riferimento alle subproperty, non è possibile
    mescolare i due tipi di proprietà

12
Relazioni - Object PropertiesProtégé
  • Per ogni relazione è possibile specificare
  • Dominio
  • Range (codominio)
  • Ogni object property può avere una
    inverseProperty
  • Le object properties possono avere quattro tipi
    di caratteristiche
  • Functional
  • Inverse functional
  • Transitive
  • Simmetric

13
Protégé - PROPERTIES TABObject Properties
Nome della proprietà
Object Property
Caratteristiche delle proprietà
Codominio
Dominio
Proprietà Inversa
14
Attributi Datatype PropertiesProtégé
  • Per ogni attributo è possibile specificare
  • Dominio
  • Range (integer, float, string)
  • L unica caratteristica ammessa da Protégé OWL DL
    è
  • Functional
  • Non si possono quindi esplicitare le chiavi
    primarie in quanto non è possibile definire
    inverseFunctional una datatype property (è invece
    ammesso con OWL Full)

15
Protégé - PROPERTIES TABDatatype Properties
Nome
Range
Datatype Properties
Proprietà
Valori Ammessi
Dominio
16
Vincoli RestrictionsProtégé
  • Una restriction descrive un insieme di individui
    in base al tipo e al numero di relazioni a cui
    essi partecipano e quindi restringe gli individui
    che appartengono ad una classe
  • Tre tipi di restrictions

Existential, someValuesFrom
Universal, allValuesFrom
hasValue
Cardinality
Max cardinality
Min cardinality
Restrizioni di quantità
Restrizioni hasValue
Restrizioni di cardinalità
17
Protégé RESTRICTIONS TABS
18
Protégé - Individuals
  • OWL non usa UNA,
  • Racer sì
  • SameAs
  • DifferentFrom
  • AllDifferent

19
RACER
  • Per ogni ontologia che cade nello scope di OWL DL
    possiamo usare un DL reasoner per inferire
    informazioni che non sono esplicitamente
    rappresentate nell ontologia.
  • Racer è un classificatore basato sulla Logica
    Descrittiva
  • I servizi di ragionamento offerti sono
  • sussunzione
  • equivalenza
  • consistenza
  • istanziazione

20
Casi di studioProcesso di lavoro
Traduzione dei diagrammi concettuali in una
ontologia creata con Protégé
Controllo consistenza tramite Racer
Generazione file OWL e file pprj
Generazione sintassi astratta con SWOOP
21
Casi di studio Compito A del 16/12/04 Schema ER
22
Casi di studio Compito A del 16/12/04Entità
Classi
Class(aPersona complete intersectionOf(restric
tion(anatoA minCardinality(1))
restriction(arisiede minCardinality(1))))
23
Casi di studioCompito A del 16/12/04Attributi
Datatype Properties
DatatypeProperty(acodiceFiscale
Functional domain(aPersona) range(xsdstring))
DatatypeProperty(asesso Functional domain(aPerso
na) range(oneOf("femminile"lthttp//www.w3.org/20
01/XMLSchemastringgt maschile"lthttp//www.w3.or
g/2001/XMLSchemastringgt)))
DatatypeProperty(adataN Functional domain(aPerso
na) range(xsddate))
24
Casi di studioCompito A del 16/12/04Relazioni
Object Properties
Per esprimere il limite superiore della
cardinalità
inversa_di_effettua
effettua
Class(aPrenotazione complete
IntersectionOf(restriction(ainversa_di_effettua
minCardinality(1)) unionOf(aCollettiva
aSingola))) ObjectProperty(aeffettua
InverseFunctional inverseOf(ainversa_di_effettu
a) domain(aPersona) range(aPrenotazione))
ObjectProperty(ainversa_di_effettua
Functional inverseOf(aeffettua)
domain(aPrenotazione) range(aPersona))


Per esprimere il limite inferiore della
cardinalità
25
Casi di studioCompito A del 16/12/04Caso
alternativo per esplicitare la cardinalità 1..1
di una relazione
DifferentIndividuals(aEmma aGina) ecc.  
26
Casi di studio Compito A del 16/12/04Generalizza
zione
COMPLETE
COMPLETE Class(aPrenotazione complete intersecti
onOf(restriction(ainversa_di_effettua
minCardinality(1)) unionOf(aCollettiva
aSingola))) DISJOINT DisjointClasses(aCollet
tiva aSingola).
  Class(aCollettiva partial
aPrenotazione)   Class(aSingola partial
aPrenotazione)
27
Casi di studio Compito A del 16/12/04Generalizza
zione - Ereditarietà
28
Casi di studio Compito A del 16/12/04Disjoint
tra classi
  • Tutte le classi, tranne le sottoclassi della
    generalizzazione con la propria superclasse, sono
    state poste disjoint a due a due.

DisjointClasses(aPostoAssegnato aComune)
DisjointClasses(a PostoAssegnato aPersona)
DisjointClasses(a PostoAssegnato aCollettiva)
DisjointClasses(aPostoAssegnato aTeatro)
DisjointClasses(a PostoAssegnato aPosto) ecc.
29
Casi di studio Compito A del 16/12/04Limiti di
Protégé
  • Non si è potuto esprimere gli identificatori
    interni in quanto OWL DL non permette di definire
    InverseFunctional una datatype property
  • Non si è potuto esprimere identificatori esterni
    in quanto non esistono variabili in OWL
  • 3. Non si è potuto esprimere il fatto che gli
    attributi sono funzioni totali, ma sono stati
    posti functional

4. Non si è potuto esprimere gli attributi delle
relazioni data della relazione effettua
e da di risiede.
30
Casi di studio Compito A del 16/12/04 Il
ragionatore - Racer
  • Controllo di consistenza
  • Classificazione dellontologia

31
Casi di studio Compito A del 19/12/05 Schema ER
32
Casi di studio Compito A del 19/12/05Entità
Classi
Class(aSettoreDisciplinare partial)
33
Casi di studio Compito A del 19/12/05Attributi
Datatype Properties
DatatypeProperty(acodiceSettoreDisciplinare
Functional domain(aSettoreDisciplinare) range(xsd
string))   DatatypeProperty(anomeSettoreDiscipli
nare Functional domain(aSettoreDisciplinare) rang
e(xsdstring))    
34
Casi di studio Compito A del 19/12/05Relazioni
Object Properties
Per esprimere il limite superiore della
cardinalità
inversa_di_del
del
Class(aCorso complete restriction(ainversa_di_d
el minCardinality(1))) ObjectProperty(adel
InverseFunctional inverseOf(ainversa_di_del) doma
in(aSettoreDisciplinare) range(aCorso)) ObjectP
roperty(ainversa_di_del Functional inverseOf(ade
l) domain(aCorso) range(aSettoreDisciplinare))  

Per esprimere il limite inferiore della
cardinalità
35
Casi di studio Compito A del 19/12/05Relazioni
Object Properties
afferisce
Inversa_di_afferisce
Class(aCDA complete intersectionOf(
restriction(ainversa_di_re_cda
minCardinality(1)) restriction(ainversa
_di_afferisce minCardinality(1))))
36
Casi di studio Compito A del 19/12/05ISA tra
relazioni
SubPropertyOf(are-cda aafferisce) SubPropertyOf(
ainversa_di_re-cda ainversa_di_afferisce)
37
Casi di studio Compito A del 19/12/05ISA tra
classi
Class(aDocente complete restriction(aafferisce
minCardinality(1))) Class(aReferenteErasmus Com
plete restriction(are_cda minCardinality(1))) Cl
ass(aReferenteErasmus partial aDocente)  
38
Casi di studio Compito A del 19/12/05Disjoint
tra classi
  • Tutte le classi, tranne la sottoclasse della
    generalizzazione con la propria superclasse, sono
    state poste disjoint a due a due.

DisjointClasses(aCDA aSettoreDisciplinare) Disjo
intClasses(aCDA aCorso) DisjointClasses(aCDA
aDomanda) DisjointClasses(aCDA
aStudente) DisjointClasses(aCDA
aDocente) ecc.
39
Casi di studio Compito A del 19/12/05Limiti di
Protégé
  1. Non si è potuto esprimere gli identificatori
    interni in quanto OWL DL non permette di definire
    InverseFunctional una datatype property
  2. Non si è potuto esprimere identificatori esterni
    in quanto non esistono variabili in OWL
  3. Non si è potuto esprimere il fatto che gli
    attributi sono funzioni totali, ma sono stati
    posti functional

40
Casi di studio Compito A del 19/12/05 Il
ragionatore - Racer
  • Controllo di consistenza
  • Classificazione dellontologia

41
Le Queries
  • Non è stato possibile esprimere le queries
    richieste dai vari compiti per i seguenti motivi
  • Sulle datatype properties non si possono
    utilizzare operatori e , ma solo loperatore
    hasValue che permette di esprimere queries su
    specifici valori di un dato attributo
  • Non si possono estrarre i valori degli attributi
    di una classe (Es. restituire i codici fiscali di
    una persona)
  • Non si possono esprimere queries con cicli (Es.
    restituire tutte le persone che sono nate nello
    stesso comune in cui risiedono) in quanto non ci
    sono variabili in OWL, ma si possono esprimere
    solo queries ad albero.
Write a Comment
User Comments (0)
About PowerShow.com