Modello italiano di verbalizzazione per modelli concettuali e regole ORM



Documenti analoghi
Object Oriented Software Design

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Strumenti di modellazione. Gabriella Trucco

Analisi e progettazione del software AbcBid studio di caso 6 dicembre 2007 REQUISITI ITERAZIONE 1

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Programmi e Oggetti Software

Registratori di Cassa

Informatica Applicata 3.3 OWL. Antonella Poggi. Anno Accademico DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE

Linguaggi e Paradigmi di Programmazione

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Database. Si ringrazia Marco Bertini per le slides

Lezione 1. Introduzione e Modellazione Concettuale


Sistemi informativi secondo prospettive combinate

Corso di Scienza Economica (Economia Politica) prof. G. Di Bartolomeo

PROCESSO DI INDICIZZAZIONE SEMANTICA

Gli italiani preferisco imparare una lingua combinando diversi modi di apprendimento o scegliendo il metodo online

Introduzione ai tipi di dato astratti: applicazione alle liste

Insegnare le abilità sociali con la carta a T. ins. Fabrizia Monfrino

ISTITUTO COMPRENSIVO BARBERINO MUGELLO

Volumi di riferimento

Alcune nozioni di base di Logica Matematica

Laboratorio di Algoritmi e Strutture Dati

MODELLO RELAZIONALE. Introduzione

Il sistema C.R.M. / E.R.M.

Il corso di italiano on-line: presentazione

WEB SEMINAR Dettaglio servizio

Esercitazione di Basi di Dati

Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini

Progettaz. e sviluppo Data Base

Introduzione al Semantic Web

F 3 Coordinamento prof.ssa PINA BOCCHETTI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

INGEGNERIA DEL SOFTWARE

DSCube. L analisi dei dati come strumento per i processi decisionali

ALF0021M MANUALE UTENTE MODULO "SETUP"

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

CASO D USO: GESTIONE ARRIVI

Il VII Programma Quadro di Ricerca e Sviluppo

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Soluzione dell esercizio del 12 Febbraio 2004

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Alessandra Raffaetà. Basi di Dati

Giornale e mastro Appunti di contabilità Giornale e Mastro. Luca Dossena - Docente

Estrattore Semantico di Ontologie da DB Relazionali. Luca Macagnino

Introduzione alla Progettazione per Componenti

extensible Markup Language

Modellazione dei dati in UML

Capitolo 13. Interrogare una base di dati

4.1 Che cos è l ideazione

AULA VIRTUALE Dettaglio servizio

Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A Casi di Studio. Traccia n 1

SistemiInformatividiRete

Il web server Apache Lezione n. 3. Introduzione

OSSERVAZIONI TEORICHE Lezione n. 4

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Sgravi Contrattazione di Secondo Livello: dettaglio dei Controlli, dei Formati e dei messaggi di errore.

Introduzione alla teoria dei database relazionali. Come progettare un database

Progettazione della componente applicativa

Creare un sito Multilingua con Joomla 1.6

Valutazione del potenziale

GOOGLE VALUTAZIONE DI UN SITO INTERNET GOOGLE SCHOLAR

liste di liste di controllo per il manager liste di controllo per il manager liste di controllo per i

Corso di Red. e Pres. Prog. Inf. Lezione del Esercitatore: ing. Andrea Gualtieri. La lezione di oggi

Concetti di base di ingegneria del software

Simple & Efficient.

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Reingegnerizzazione di un Content Management System verso l accessibilità secondo la normativa italiana

Traccia di soluzione dell esercizio del 25/1/2005

APPENDICE C extensible Markup Language

Export Development Export Development

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information:

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

Appunti sul libro Economia della banca I SERVIZI DI INVESTIMENTO

Ancora su diagnosi. Lezione 9 giugno. Conoscenza incompleta e senso comune. Frameworks per il ragionamento basato su assunzioni

SAP BusinessObjects Versione del documento: Manuale di installazione di Dashboards LiveCycle Data Services Gateway

Dispensa di Informatica I.1

CONTENUTI 1. INTRODUZIONE CONCETTI BASICI SU EQUINOX CMS XPRESS ACCESSO A EQUINOX CMS XPRESS PAGINA D INIZIO...

Piano di gestione della qualità

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Sommario. Introduzione L ambiente di lavoro Configurazioni generali e la struttura di Joomla La struttura di Joomla...

RISOLUTORE AUTOMATICO PER SUDOKU

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Il Sistema di Valutazione nel Gruppo UniCredit

Soluzione di equazioni quadratiche

BIC_CCIAA_broch2:BIC_CCIAA_broch2 09/07/10 16:57 Pagina 1 AVEVO UN SOGNO E L HO REALIZZATO CON BIC LAZIO E LA CAMERA DI COMMERCIO DI ROMA

Evoluzioni di Ontologie in Frame Logic

Come utilizzare il sito web

Approccio stratificato

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07

Insegnare può essere facile

IL PROCESSO DI BUDGETING. Dott. Claudio Orsini Studio Cauli, Marmocchi, Orsini & Associati Bologna

EXPLOit Content Management Data Base per documenti SGML/XML

Transcript:

Modello italiano di verbalizzazione per modelli concettuali e regole ORM Mustafa Jarrar, Vrije Universiteit Brussel, Belgium. (Contact Author) Paolo Dongilli, Free University of Bozen-Bolzano, Italy. Maria Keet, Free University of Bozen-Bolzano, Italy. Documentazione tecnica relativa all'articolo 1 : Jarrar, M., Keet, C.M., Dongilli, P. Multilingual verbalization of ORM conceptual models and axiomatized ontologies. [Submitted]. URL: http://www.starlab.vub.ac.be/stuff/mustafa/orm/verbalization/ Sommario. Nell'articolo sopra menzionato descriviamo un nuovo approccio di supporto alla verbalizzazione multilingue di teorie logiche, assiomatizzazioni ed altre specifiche quali ad esempio business rules. Questa soluzione ingegneristica viene illustrata utilizzando il lingiaggio Object Role Modeling, sebbene i principi su cui si basa possano essere riutilizzati con altri modelli concettuali e linguaggi formali quali Description Logics, al fine di migliorarne la comprensibilità e l'usabilità dall'esperto di dominio. La soluzione ingegneristica per la verbalizzazione multilingue è caratterizzata dalla sua flessibilità, estensibilità e mantenibilità dei modelli di verbalizzazione che permettono una semplice estensione ad altre lingue oltre alle 11 già supportate. Questa documentazione tecnica presenta il modello italiano di verbalizzazione. Dato uno schema ORM (o un file ORM-ML) e dato un modello di verbalizzazione, la verbalizzazione italiana delle regole e dei tipi di fatti (nello schema) vengono generati automaticamente. Un esempio completo di schema ORM viene generato ed illustrato in questo documento unitamente alla sua verbalizzazione. 1 Introduzione Nell'articolo sopra menzionato descriviamo un nuovo approccio capace di supportare la verbalizzazione multilingue di teorie logiche, assiomatizzazioni ed altre specifiche quali ad esempio business rules, ontologie ecc. Illustriamo il nostro approccio fornendo un modello di verbalizzazione flessibile ed estensibileper il linguaggio Object Role Modeling. Questo template può essere facilmente personalizzato e tradotto in altre lingue. La presente documentazione tecnica fornisce una verbalizzazione italiana dei modelli e delle regole ORM. La verbalizzazione in diverse altre lingue (incluso arabo, russo, spagnolo, olandese, tedesco, francese, lituano e non limitatamente a queste) può essere trovata al link sopra indicato. I principi basilari del nostro approccio possono essere riutilizzazi per altri modelli concettuali a linguaggi formali quali Description Logics. L'obiettivo è stato quello di definire un modello parametrizzato rispetto ad un dato insieme di regole, modelli o assiomi, avente come output frasi a sintassi prefissata in pseudo linguaggio naturale. Segue un semplice esempio: la regola x (Book(x) y (ISBN(y) Has(x,y))) può essere tradotta come Ogni Libro deve avere un ISBN. In questo modo diamo la possibilità agli stessi esperti di dominio di costruire e/o validare le specifiche formali dei loro domini senza la necessità di sapere che queste frasi sono assiomi formali; ciò significa che la logica sottintesa ed i servizi di reasoning vengono nascosti all'utente. Il nostro approccio con i modelli messi a disposizione può essere riusato per modellizzare business rules, ontologie, basi di conoscenza ecc. Si veda [H04] per un simile approccio alla verbalizzazione di business rules ORM. Nella prossima sezione presentiamo un esempio ORM seguito dalla vebalizzazione di tutte le regole dello schema ORM. Queste verbalizzazioni vengono generate automaticamente, seguendo il modello italiano di verbalizzazione presentato nella terza sezione. Questo approccio è interamente implementato e supportato 1 Per riferimenti bibliografici: Jarrar, M., Dongilli, P., Keet, C.M.: An Italian Verbalization Template for ORM conceptual models and rules. A technical report of the article: Jarrar, M., Keet, C.M., Dongilli, P. Multilingual verbalization of ORM conceptual models and axiomatized ontologies. [Submitted].

dal tool di modellizzazione ontologica DogmaModeler [J05]. Vale la pena di far notare che la verbalizzazione automatica di DogmaModeler è stata usata da decine di giuristi per costruire la Customer Complaint Ontology [J05][JVM03]. Note sulla modalità: il nostro modello di verbalizzazione può essere semplicemente adattato a seconda dello scenario applicativo e ragionativo, a seconda che sia usato come vincoli di integrità, regole di derivazione/inferenza, business rules ecc. Per esempio, il vincolo obbligatorio di cui sopra può essere verbalizzato in diversi modi quali ad esempio: 1) Ogni libro deve avere almeno un ISBN. 2) Ogni libro ha dei valori ISBN. 3) Se esiste un libro allora ha un valore ISBN. 4) Un libro che non ha un ISBN non è ammesso. 5) Se un libro non ha un ISBN, allora... 2 Esempio di schema ORM Illustriamo nel seguente diagramma la maggiorparte delle regole previste da ORM. Il nostro articolo [JKD06] descrive i dettagli tecnici di come il nostro approccio di verbalizzazione è implementato; si veda [H01] per avere ulteriori informazioni su ORM e [J05] per conoscere il tool DogmaModeler usato per costruire e verbalizzare automaticamente i modelli ORM. Fig. 1. Esempio di regole ORM in italiano. I vincoli/regole nell'esempio ORM mostrato sopra vengono verbalizzate automaticamente (concordemente al modello di verbalizzazione presentato nella seconda sezione): -[Mandatory] Ogni Persona deve Ha almeno un NoDiPassaporto. -[Mandatory] Ogni Persona deve Ha almeno un DataDiNascita. -[Mandatory] Ogni Conto deve essere PossedutaDa Azienda o PossedutaDa Persona. -[Uniqueness] Ogni Persona deve Ha al massimo un(a) DataDiNascita. -[Uniqueness] Ogni Persona deve Ha al massimo un(a) Nome. -[Uniqueness] Ogni Persona deve Ha al massimo un(a) NoDiPassaporto. -[Uniqueness] Ogni NoDiPassaporto deve FaParteDi al massimo un(a) Persona. -[Uniqueness] E' possibile che un(a) Persona Insegna più di un(a) Corso, e viceversa. -[Uniqueness] E' possibile che un(a) Persona Recensisce più di un(a) Libro, e viceversa. -[Uniqueness] E' possibile che un(a) Persona Scrive più di un(a) Libro, e viceversa.

-[Uniqueness] E' possibile che un(a) Persona Guida più di un(a) Macchina, e viceversa. -[Uniqueness] La combinazione di { Nome e DataDiNascita } deve essere riferito a al massimo un(a) Persona. -[Exclusive] Ogni Persona deve essere o Uomo o Donna. -[Totality] Ogni Persona deve essere almeno o Donna o Uomo. -[Subset] Se un(a) Persona Guida un(a) Macchina, in questo caso il/lo/la Persona in questione Ha un(a) Patente. -[Subset] Se un(a) Direttore Conduce un(a) Azienda, in questo caso il/lo/la Direttore in questione LavoraPer questo(a) Azienda. -[Equality] Un(a) Persona LavoraPer un(a) Università se e solo se questo(a) Persona Insegna un(a) Corso. -[Equality] Un(a) Persona EAffiliataCon un(a) Azienda se e solo se questo(a) Persona LavoraPer questo(a) Azienda. -[Exclusion] Nessun(a) Conto PossedutaDa un(a) Azienda ed anche PossedutaDa Persona. -[Exclusion] Nessun(a) Persona Scrive un(a) Libro ed anche Recensisce lo/la stesso(a) Libro.. -[Value] Gli oggetti possibili di Paese sono: {Belgio, Francia, Germania }. -[Irreflexive] Nessun Persona CollegaDi se stesso. -[Symmetric] Se Persona X CollegaDi Persona Y, deve essere viceversa. -[Acyclic] Un(a) Persona non può essere diretto (o indiretto per una catena) PrincipaleDi se stesso. -[Acyclic] Un(a) Donna non può essere diretto (o indiretto per una catena) SorellaDi se stesso. -[Asymmetric] Se Donna X EMoglieDi Donna Y, viceversa è impossibile. -[Intransitive] Se Persona X GenitoreDi Persona Y, e Y GenitoreDi Z, in quel caso non è possibile che X GenitoreDi Z. -[Frequency] Se Persona Insegna un(a) Corso, in questo caso il/lo/la Persona in questione Insegna almeno 3 ed al massimo 6 Corso. 3 Il modello italiano di verbalizzazione Il modello è mostrato in sintassi XML ed è implementato nel tool DogmaModeler per supportare le verbalizzazione italiana di modelli ORM. Ulteriori dettagli su questo approccio possono essere trovati in [JKD06] mentre si faccia riferimento a [J05] per una descrizione di DogmaModeler. <?xml version='1.0' encoding='utf-8'?> <ORMSchema xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xsi:nonamespaceschemalocation='http://www.starlab.vub.ac.be/staff/mustafa/orm/verbalizati on/'> <ORMNLMeta> <Meta name="dc.title" content="italian verbalization template (Ver0.1)"/> <Meta name="dc.version" content="0.1"/> <Meta name="dc.creator" content="mustafa Jarrar"/> <Meta name="dc.contributor" content="maria Keet"/> <Meta name="dc.language" content="italian"/> </ORMNLMeta> <ORMNLBody> <FactType xsi:type="facttype" > <Text>Un(a)</Text> <Object index="0" /> <Role index="0" /> <Text>/</Text> <Role index="1" /> <Text> un(a)</text> <Object index="1" /> </FactType> <Constraint xsi:type="mandatory"> <Text> -[Mandatory] Ogni</Text> <Text>deve</Text> <Text>almeno un</text>

<Constraint xsi:type="backward Mandatory"> <Text> -[M] Per ogni</text> <Text>c'è almeno un</text> <Text>che</Text> <Role index="1"/> <Text>questo(a)</Text> <Constraint xsi:type="disjunctive Mandatory"> <Text> -[Mandatory] Ogni</Text> <Text>deve essere</text> <Loop index="1" > <Text>o</Text> <Role index="n"/> <Constraint xsi:type="uniqueness"> <Text> -[Uniqueness] Ogni</Text> <Text>deve</Text> <Text>al massimo un(a)</text> <Constraint xsi:type="backward Uniqueness"> <Text> -[Uniqueness] Per ogni</text> <Text>deve esssere al massimo un(a)</text> <Text>che</Text> <Role index="1"/> <Text>questo</Text> <Constraint xsi:type="many Uniqueness"> <Text> -[Uniqueness] E' possibile che un(a)</text> <Role index="0"></role> <Text> più di un(a) </Text> <Text>, e viceversa</text> <Constraint xsi:type="external Uniqueness"> <Text> -[Uniqueness] La combinazione di {</Text> <Text>e</Text> <Text>} deve essere riferito a al massimo un(a) </Text> <Constraint xsi:type="subtype"> <Text> -[Subtype] Ogni oggetto </Text> <Object index="child"/> <Text>è anche un oggetto di </Text> <Object index="parent"/>

<Constraint xsi:type="value"> <Text> -[Value] Gli oggetti possibili di </Text> <Text> sono :{</Text> <Value index="0"/> <Text>,</Text> <Value index="n"/> <Text> }</Text> <Constraint xsi:type="exclusive"> <Text> -[Exclusive] Ogni</Text> <Text>deve essere o </Text> <Text>o</Text> <Constraint xsi:type="total"> <Text> -[Totality] Ogni</Text> <Text>deve essere almeno o </Text> <Text>o</Text> <Constraint xsi:type="partition"> <Text> -[Partition] Ogni</Text> <Text>e' almeno uno di </Text> <Text>o</Text> <Text>, pero non tutti</text> <Constraint xsi:type="subset"> <Text> -[Subset] Se un(a)</text> <Role index="child"/> <Object index="child"/> <Text>, in questo caso il/lo/la</text> <Text>in questione</text> <Role index="parent"/> <Object index="parent"/> <Constraint xsi:type="subset FactType"> <Text> -[Subset] Se un(a)</text> <Role index="child"/> <Object index="child"/> <Text>, in questo caso il/lo/la</text> <Object index="0" /> <Text>in questione</text> <Role index="parent"/> <Text>questo(a)</Text>

<Object index="parent"/> <Constraint xsi:type="equality"> <Text> -[Equality] Un(a) </Text> <Role index="first"/> <Text> un(a) </Text> <Object index="first"/> <Text>se e solo se</text> <Text>questo(a) </Text> <Role index="second"/> <Text> un(a) </Text> <Object index="second"/> <Constraint xsi:type="equality FactType"> <Text> -[Equality] Un(a) </Text> <Role index="first"/> <Object index="first"/> <Text>se e solo se</text> <Text>questo(a)</Text> <Role index="second"/> <Text>questo(a)</Text> <Object index="second"/> <Constraint xsi:type="exclusion"> <Text> -[Exclusion] Nessun(a) </Text> <Role index="first"/> <Text> </Text> <Object index="first"/> <Text> ed anche </Text> <Role index="second"/> <Text> </Text> <Object index="second"/> <Constraint xsi:type="exclusion FactType"> <Text> -[Exclusion] Nessun(a)</Text> <Role index="first"/> <Object index="first"/> <Text>ed anche</text> <Role index="second"/> <Text>lo/la stesso(a)</text> <Object index="second"/> <Constraint xsi:type="frequency"> <Text> -[Frequency] Se </Text> <Text>, in quel caso il/lo/la</text> <Text>in questione</text> <Text>almeno </Text> <Minimum/> <Text> ed al massimo </Text> <Maximum/>

<Text>i/e</Text> <Constraint xsi:type="irreflexive"> <Text> -[Irreflexive] Nessun</Text> <Text> se stesso</text> <Constraint xsi:type="symmetric"> <Text> -[Symmetric] Se </Text> <Text>X</Text> <Text>Y</Text> <Text>, deve essere viceversa</text> <Constraint xsi:type="asymmetric"> <Text> -[Asymmetric] Se</Text> <Text> X</Text> <Text> </Text> <Text> Y, viceversa è impossibile</text> <Constraint xsi:type="acyclic"> <Text> -[Acyclic] Un(a)</Text> <Text> non può essere diretto (o indiretto per una catena)</text> <Text> se stesso</text> <Constraint xsi:type="transitve"> <Text> -[Intransitve] Se</Text> <Text>X</Text> <Text>Y, and Y</Text> <Text> Z, in quel caso non e' possibile che X</Text> <Text>Z</Text> </ORMNLBody> </ORMSchema> Ringraziamenti Siamo in debito con Andriy Lisovoy che ci ha aiutati per lo sviluppo di DogmaModeler e con Hai Nguyen Hoang che ci ha aiutati nella prima implementazione del modulo di verbalizzazione nel corso della sua tesi di master. Questo lavoro è finanziato in parte dal progetto europeo Knowledge Web NoE (IST-2004-507482).

Bibliografia [JKD06] Jarrar, M., Keet, C.M., Dongilli, P. Multilingual verbalization of ORM conceptual models and axiomatized ontologies. [Submitted]. [J05] Jarrar, M.: Towards Methodological Principles for Ontology Engineering. PhD thesis, Vrije Universiteit Brussel, 2005. [JVM03] Jarrar, M., Verlinden, R., Meersman, R.: Ontology-based Customer Complaint Management. In: Jarrar M., Salaun A., (eds.): Proceedings of the workshop on regulatory ontologies and the modeling of complaint regulations, Catania, Sicily, Italy. Springer Verlag LNCS. Vol. 2889. November (2003) pp. 594 606 [H01] Halpin, T.: Information Modeling and Relational Databases. 3rd ed. Morgan-Kaufmann. (2001) [H04] Halpin, T.: Business Rule Verbalization. In Doroshenko, A., Halpin, T., Liddle, S., Mayr H. (eds): Information Systems Technology and its Applications, 3rd International Conference (ISTA'2004), LNI 48 GI ISBN 3-88579-377-6, (2004) pp:39-52.