Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

49
Universiteit Gent Faculteit Economie en Bedrijfskunde Opleiding Bedrijfseconomie Tweekerkenstraat 2, 9000 Gent Ontwikkeling van een Prot´ eg´ e ontologie voor value modelling Scriptie ingediend tot het behalen van de graad van bedrijfseconomie en aangeboden door: Sebastiaan Deforce Promotor: Prof. dr. Geert Poels Scriptiebegeleiders en Voorzitter: Frederik Gailly Academiejaar 2007 - 2008

Transcript of Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Page 1: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Universiteit GentFaculteit Economie en Bedrijfskunde

Opleiding BedrijfseconomieTweekerkenstraat 2, 9000 Gent

Ontwikkeling van een Protege ontologie voorvalue modelling

Scriptie ingediend tot het behalen vande graad van bedrijfseconomieen aangeboden door: Sebastiaan Deforce

Promotor: Prof. dr. Geert PoelsScriptiebegeleiders en Voorzitter: Frederik Gailly Academiejaar 2007 - 2008

Page 2: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Hierbij geven de auteur(s) van dit eindwerk aan het bestuur van Universiteit Gentde uitdrukkelijke toestemming om dit werk in bruikleen af te staan aan eenderwelke persoon, organisatie of firma, het ten dienste te stellen van de studenten enhet geheel of gedeeltelijk te kopieren.

Page 3: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling
Page 4: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Dankwoord

Een dankwoord aan sommige mensen in het bijzonder is hier zeker op zijn plaats.In eerste instantie dank aan mijn promotor Geert Poels en begeleider FrederikGailly voor hun advies gedurende het gehele jaar. Dank aan de mensen uit mijnomgeving die me wisten te motiveren wanneer de nood het hoogst was. En in hetbijzonder hiervoor dank aan mijn ouders voor hun onuitputtelijke steun en vertrou-wen gedurende mijn gehele studieperiode. Tenslotte wil ik nog de mensen dankendie me geholpen hebben bij het nalezen van de thesis op taalfouten.

iv

Page 5: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Abstract

In ieder werkgebied komen dagelijks problemen voor die moeilijk te vatten envoor te stellen zijn. Door gebruik te maken van een ontologie kunnen dezeproblemen uniform geınterpreteerd worden. Een ontologie beschrijft namelijk eenkennismodel over een bepaald domein van de werkelijkheid.

Voor de e3-value-ontologie is dit domein de creatie, transfer en consumptievan economische waarde. Het e3-valuemodel dient als een hulpmiddel bij deanalyse van een businesscase, meestal een e-business-systeem. Het opstellen vanhet model is een eerste stap in de ontwikkeling van een (e-)business-systeem. Hetmodel moet mede bepalen of een (e-)business-systeem winstgevend kan zijn ofniet.

Tegenwoordig volstaat het niet langer om dergelijke grote problemen voorte stellen. Er is een nood om de verzamelde informatie te kunnen controleren en teverwerken.

Het doel van de thesis is dan ook een formele specificatie voor de e3-value-ontologie te bepalen, door de concepten van de e3-value-ontologie in te voerenin een knowledge representation tool genaamd Protege. Bij het invoeren vandeze ontologie wordt gebruikt gemaakt van OWL/SWRL die bij voltooiing deformele specificatie van de e3-value-ontologie beschrijft. Uiteindelijk laat dezeformele specificatie dan ook toe de e3-value-ontologie te evalueren en toolmatig teondersteunen voor webtoepassingen. Dit laatste zal concreet worden aangetoonddoor middel van een proof-of-concepttoepassing.

Trefwoorden: e3-value, ontologie, SWRL, Protege

v

Page 6: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Inhoudsopgave

1 Inleiding 11.1 Wat is een ontologie ? . . . . . . . . . . . . . . . . . . . . . . . . 11.2 E3-value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 OWL - SWRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Protege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Doel van de thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Overzicht van de thesis . . . . . . . . . . . . . . . . . . . . . . . 5

2 Het omvormen van de e3-value concepten naar OWL 62.1 De e3-valuebenaderingen . . . . . . . . . . . . . . . . . . . . . . 62.2 Toepassing: Amsterdam Times . . . . . . . . . . . . . . . . . . . 82.3 Het e3-valuemodel:UML naar OWL . . . . . . . . . . . . . . . . 9

2.3.1 Global actor benadering . . . . . . . . . . . . . . . . . . 92.3.2 Detailed actor benadering . . . . . . . . . . . . . . . . . 142.3.3 Value activity benadering . . . . . . . . . . . . . . . . . . 15

3 Omvorming van de regels en constraints. 183.1 OWL en SWRL . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.1 OWL syntax . . . . . . . . . . . . . . . . . . . . . . . . 183.1.2 SWRL syntax . . . . . . . . . . . . . . . . . . . . . . . . 183.1.3 OWL en SWRL combineren . . . . . . . . . . . . . . . . 19

3.2 Grafische regels en constraints . . . . . . . . . . . . . . . . . . . 203.3 OCL-regels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3.1 Value exchange verwante regels en constraints . . . . . . 223.3.2 Value offering verwante regels en constraints . . . . . . . 263.3.3 Value transaction verwante regels en constraints . . . . . . 273.3.4 Composite actor . . . . . . . . . . . . . . . . . . . . . . 29

3.4 superproperties . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

vi

Page 7: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

4 E3-valueconcepten naar SWRL 334.1 Open en closed world assumption . . . . . . . . . . . . . . . . . 334.2 OWL-DL en SWRL reasoners . . . . . . . . . . . . . . . . . . . 34

4.2.1 De functie van een reasoner . . . . . . . . . . . . . . . . 344.2.2 Racer Pro, Pellet en SWRLJess . . . . . . . . . . . . . . 34

4.3 ondernomen stappen . . . . . . . . . . . . . . . . . . . . . . . . 354.4 conclusie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.5 Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.6 Uitbreidingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Page 8: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Lijst van figuren

2.1 Weergave van de ontologische concepten en relaties van de global actor benadering. 102.2 Glabal actor benadering van de Amsterdam Times toepassing. . . 112.3 De aangepast global actorbenadering is weergegeven in het zwart. De value port beschikt nu over twee subklassen, in en out, die rechts aan de value exchange en het value object worden gekoppeld. De detailed actorbenadering is weergegeven in zwart-oranje. De totale afbeelding stelt de value activitybenadering voor. 122.4 Detailed actor benadering van de Amsterdam Times toepassing. . 142.5 Grafische voorstelling van e3-value toepassing: de Amsterdam Times. 162.6 Overzicht van de tot nu toe gebruikte OWL-restricties. . . . . . . 17

3.1 Een value interface kan slechts worden toegewezen aan ofwel een market segment, ofwel een actor ofwel een value activity. 203.2 Value exchange moet uit precies twee bewust gekozen poorten bestaan. 213.3 Beide value ports van een value exchange vragen en/of bieden hetzelfde value object aan. 223.4 De vier verschillende type value exchange verbindigen. . . . . . . 313.5 Een value inderface die uit twee value offerings bestaat, beschikt over een value offering met allemaal ins en beschikt over een value offering met allemaal outs. 313.6 Een value transaction bestaat uit value exchanges van hetzelfde type(a). Een in-of out-port mag slechts via een value exchange verbonden worden met dezelfde transactie(b). 32

viii

Page 9: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Lijst van tabellen

2.1 Overzicht van de verscheidene soorten benaderingen en hun kenmerken. 72.2 De vier mogelijke value exchange types . . . . . . . . . . . . . . 15

3.1 De gebruikte OWL-afkortingen in Protege. . . . . . . . . . . . . 19

ix

Page 10: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Lijst van acroniemen

OWL Web Ontology LanguageRDF Resource Description FrameworkRULE ML Rule Markup LanguageSWRL Semantic Web Rule LanguagePOTS Plain Old Telephone SystemISP Internet Service ProviderXML eXtensible Markup LanguageXML eXtensible Markup Language

x

Page 11: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Hoofdstuk 1

Inleiding

De opdrachtgever van dit eindwerk is de onderzoeksgroep Beleidsinformatica. Hetis de bedoeling om de resultaten ervan aan te wenden bij het onderzoek naar hetverbeteren van bedrijfsontologieen. Ze kunnen immers zorgen voor een praktischemeerwaarde bij de toepassingen van valuemodelling. Het doel van de thesis isde formele specificatie die de concepten van de e3-value-ontologie beschrijft metbehulp van OWL/SWRL in te voeren in een knowledge representation tool Protege.Voordat dieper wordt ingegaan op het doel van dit eindwerk, worden eerst enkelebegrippen kort toegelicht:

• Wat wordt verstaan onder de term ’ontologie’?

• Wat is de betekenis van ’e3 value’?

• Waarvoor worden de talen OWL en SWRL gebruikt?

• Wat zijn de mogelijkheden van het knowledge base framework Protege?

Dit inleidende hoofdstuk wordt tenslotte afgesloten met een korte inhoud van alleandere hoofdstukken.

1.1 Wat is een ontologie ?

Het begrip ontologie bestaat al eeuwen. Het is een discipline van de filosofenwaarin de wetenschap van ’wat is’ wordt bestudeerd. Tegenwoordig duikt het be-grip vooral op in een totaal andere context, namelijk de computerwetenschappen.Gruber beschrijft een ontologie als een specificatie van een gevormd beeld datwordt gebruikt om kennis te delen. Dit kan zowel tussen mensen als tussen soft-ware1 zijn[6]. Het is dus het product van een poging een uitputtend en strikt con-ceptueel schema te formuleren over een bepaald domein van de werkelijkheid. Een

1Ontologie tussen software komt vooral voor in het vakgebied van de artificiele intelligentie.

1

Page 12: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

1 Inleiding 2

ontologie beschikt over een typisch hierarchische datastructuur die alle relevanteentiteiten, onderlinge relaties en regels binnen dat domein bevat, zoals bij een do-meinontologie het geval is.Een ontologie die niet verbonden is aan een specifiek domein en dus algemeneentiteiten probeert te beschrijven dient meestal voorzien te worden van domein-specifieke schema’s. Op deze manier wordt de data geschikt gemaakt voor dewerkelijkheid [13].

1.2 E3-value

E3-value is een domeinontologie waarin het domein de creatie, transfer enconsumptie van economische waarde voorstelt. E3-value is een conceptuelemodelleringsaanpak voor de e-business, die wordt gebruikt om te bepalen hoeeconomische waarde kan worden gecreeerd en uitgewisseld binnen een netwerkvan actoren. Het model bestaat uit het definieren, afleiden en analyseren vanrelaties tussen verschillende ondernemingen, e-business-scenario’s en operationelebehoeften, zowel op een kwantitatieve als op een kwalitatieve manier.

Een eerste stap bij het evalueren van een e-businesscase is het opstellen vande ontologie volgens het e3-valuemodel. Hierbij wordt de case benaderd vanuitverscheidene waardestandpunten. De ontologische concepten waarop het e3-valuemodel steunt worden verder besproken in hoofdstuk 2.Bij het ontwerpen van de ontologie bestaat de nood om deze grafisch voor testellen. Dit gebeurt via speciaal ontworpen use-casemaps waarvan een voorbeeldte vinden is op pagina 16 afbeelding 2.5.Nadat het valuemodel is opgesteld, is het noodzakelijk het model te deconstruerenen te reconstrueren. Op deze manier kunnen ook nieuwe en aanverwante ideeentot stand komen. Uiteraard worden enkel de meest belovende businessmodellengedetailleerd uitgewerkt.Tenslotte wordt het e-businessmodel geevalueerd, met andere woorden: deeconomische geschiktheid van het idee wordt nagegaan. De methode vereisthet opstellen van profit sheets, die stap voor stap waarde hechten aan de opge-nomen objecten en rekening houden met alle mogelijke what-ifscenario’s. Dee3-valuemethodologie laat toe rekening te houden met inkomstenstromen, waarde-objecten, klantentrouw, prijszetting, alternatieve actoren en partnerrelaties[4].

De concepten, relaties, regels en constraints van de e3-value zoals beschre-ven in de thesis zijn beschreven zoals ze zijn uiteengezet in ”Value basedRequirements Engineering”geschreven door Jaab Gordijn.

Page 13: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

1 Inleiding 3

1.3 OWL - SWRL

Web Ontology Language (OWL) is een semantische taal die toelaat ontologieente delen op het web. De taal is gegroeid uit het idee om het web om te vormentot een semantisch web waardoor het makkelijker wordt voor machines om deinformatie op het web automatisch te verwerken en te integreren. OWL bestaat uitXLM-code en is een uitbreiding van het Resourse Description FrameWork (RDF).De taal stamt af van de DAML- en OIL-webontologietaal en werd in 2004 doorW3C als standaard aanbevolen[8].

Er zijn drie varianten van de taal te onderscheiden, namelijk OWL Lite,OWL Full en OWL-DL. Elk hebben ze hun eigen nut en toepassingsgebied.OWL Lite wordt gebruikt wanneer een classificatiehierarchie en simpele restrictiesvolstaan. Deze taalvariant laat zich minder sterk uitdrukken dan de twee andere,expressievere varianten.OWL Full is bedoeld voor gebruikers die zich maximaal willen uitdrukken. Zokan een klasse simultaan als een collectie van individuen of als individuen zelfaanzien worden. De syntactische vrijheid van RDF zorgt ervoor dat de codemoeilijk automatisch te beredeneren valt.OWL-DL zorgt voor de gulden middenweg. OWL-DL dient de gebruikers diezich zo maximaal mogelijk willen uitdrukken, maar toch de zekerheid willendat de code nog automatisch te beredeneren valt binnen een eindige tijd. Denaam OWL-DL is ontstaan uit het verband met de beschrijvende logica, eenonderzoeksgebied waarop OWL is gebaseerd[12].

Vanuit het doel van de thesis om de ontologie te evalueren is het logischer-wijs noodzakelijk gebruik te maken van OWL-DL. Die zorgt ervoor dat de taalautomatisch beredeneerbaar is met een reasoner, die het mogelijk maakt deconcepten van de ontologie te controleren op een correcte consistentie1 en eenvereenvoudigde taxonomie samen te stellen.

In het verdere verloop van de thesis zal blijken dat sommige zaken niet zijnuit te drukken in OWL-restricties. Om de expressiviteit te vergroten is het daaromnodig gebruik te maken van bijkomende regels die toelaten de ontologie verder tespecificeren. Dit kan door OWL-DL verder uit te breiden naar SWRL.SWRL staat voor Semantic Web Rule Language en is een combinatie van WebOntologie Language en Rule Markup Language (Rule ML). SWRL laat toeHorn-regels op te nemen in de ontologie. De regels bestaan uit een antecedent oflichaam en een consequent of hoofd en kunnen als volgt worden geınterpreteerd:wanneer de voorwaarde in het antecedent voldoet dan moet de voorwaardein het consequent ook voldoen. Antecedent en consequent bestaan uit nul ofmeer atomen. Atomen kunnen in deze regels een beschrijving, een eigenschap,

1Een klasse is inconsistent als deze onmogelijk over individuen kan beschikken.

Page 14: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

1 Inleiding 4

een sameAs-functie, een differentFrom-functie of een build-in functie zijn vanvariabelen, individuen of datawaarden.Een leeg antecedent wordt behandeld als triviaal waar, dus moet het consequentaan iedere interpretatie ervan voldoen.Een leeg consequent wordt aanzien als triviaal vals, dus het antecedent mag aangeen enkele interpretatie ervan voldoen[7]. SWRL-regels met lege antecident oflege consequent worden constraints genoemd.

1.4 Protege

Protege is een open-source-editor om ontologieen in op te nemen en kan wordengebruikt als knowledge based framework.Een knowledge based framework kan worden beschreven als een speciaal soortdatabank die knowledgemanagement toelaat. Het framework beschikt dus over demiddelen om op een geautomatiseerde manier kennis te verzamelen, te delen en opte vragen. Wanneer de ontologie in Protege is opgenomen en er individuals zijngekoppeld aan een klasse wordt een knowledge-base bekomen.Het Protege platform ondersteunt twee manieren om een ontologie te moduleren,namelijk Protege-Frames en Protege-OWL.Protege-OWL laat de gebruiker toe om:

• OWL-en RDF-ontologieen op te slaan en te openen;

• klassen, properties en SWRL-regels te bewerken en te visualiseren;

• logisch gedefinieerde klassekarakteristieken voor OWL-expressies in te voe-gen;

• de ontologie te testen met een reasoner;

• individuals in te voegen.

Daarnaast kunnen er ook nog plug-ins worden toegevoegd. Deze kunnen onder-steuning bieden tijdens het modelleren van een ontologie.[11]

1.5 Doel van de thesis

De doelstelling van de thesis bestaat erin het e3-valuemodel te voorzien van eenformele specificatie.In de eerste fase worden de concepten en de relatie uitgedrukt in een UML-klassediagram omgevormd tot OWL-DL-restrictie.In de tweede fase worden de regels en constraints opgenomen in het e3-valuemodelomgevormd door gebruik te maken van OWL-DL en SWRL. Het geheel wordt in-gevoerd in een knowledge representation tool genaamd Protege. Door middel van

Page 15: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

1 Inleiding 5

een proof-of-concepttoepassing wordt uiteindelijk enerzijds de e3-value-ontologiegeevalueerd en wordt anderzijds e3-value toolmatig ondersteund.Op deze manier kan de ontologie worden gebruikt voor verdere webtoepassingen.

1.6 Overzicht van de thesis

Hoofdstuk 2 geeft een overzicht van de e3-value-ontologie. Hierbij worden destructuur van de ontologie en de verschillende mogelijke invalshoeken besproken.Hierna wordt een toepassing van e3-value uiteengezet. Aansluitend vindt u staps-gewijs een verklaring voor de omvorming van de concepten van de ontologie naarOWL, telkens geıllustreerd aan de hand van de gekozen toepassing.//Hoofdstuk3 bespreekt de betrokken regels en constraints van de e3-value-ontologie en ver-klaart eveneens de uitbreiding van OWL naar SWRL.//Hoofdstuk 4 handelt oversemantische reasoners: welke soorten reasoners zijn er, wat is hun functie, welkemogelijkheden zijn er en wat zijn de resultaten op onze ontologie.//In het besluittenslotte zijn de resultaten van de thesis en een overzicht van eventuele toekomstigemogelijkheden opgenomen.

Page 16: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Hoofdstuk 2

Het omvormen van de e3-valueconcepten naar OWL

Dit hoofdstuk behandelt de verschillende benaderingen aanwezig in e3-value. Uvindt een overzicht van wat deze invalshoeken nu precies toelaten en een verkla-ring voor de verschillende concepten waaruit e3-value is opgebouwd.Een toepassing van de e3-value-ontologie wordt uiteengezet en de concepten waar-uit deze is opgebouwd worden verklaard. Daarna wordt stap voor stap de om-vorming van de ontologie verklaard. Aan de hand van de toepassing zullen dedesbetreffende restricties worden verduidelijkt.

2.1 De e3-valuebenaderingen

E3-value is een economische waarde georienteerde ontologie. Het model defini-eert, analyseert en leidt meerdere ondernemingsrelaties, e-business-scenario’s enoperationele behoeften af. Vergeleken bij vele andere businessmodellen beschikthet e3-valuemodel over een betere communicatie en over een completer geheelvan e-businessoperaties [4]. Dergelijke pluspunten vormden bij de opbouw van dee3-value-ontologie de behoeften, tegenwoordig worden ze als de kenmerken vande ontologie beschouwd.

De structuur van de e3-value-ontologie kan op drie manieren benaderd wor-den (viewpoints). Iedere benadering heeft zijn eigen nut. Het uitwerken van diedrie benaderingen vormt telkens een diepgaandere stap in het doorlopen van hete-businessmodel.

De minst gedetailleerde benadering is de global actorbenadering. Deze be-nadering heeft als nut de algemene waarde van het model over te brengen naaralle stakeholders. De ontologie is hier minder complex dan bij de detailedactorbenadering. Dit zorgt ervoor dat een gedetailleerde kennis niet noodzakelijk

6

Page 17: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 7

is om een goed oordeel te kunnen vellen over het model.

De detailed actorbenadering wordt gebruikt om de bewust minder gedetail-leerde zaken van de global actorbenadering verder uit te werken door hettoevoegen van extra elementen. Tevens wordt de samenwerking tussen bepaaldeactoren en bedrijven weergegeven.

De value activitybenadering maakt duidelijk wat actoren doen om winst temaken of om de waarde voor zichzelf te verhogen. Zo wordt duidelijk beschrevenwie welke bijdrage biedt[3].In tabel 2.1 wordt een overzicht gegeven van de elementen van iedere benadering(Gordijn J.,[3] pag.47).

De global actor benadering:

1. De betrokken actoren.2. De gecreeerde, uitgewisselde en geconsumeerde objecten vaneconomische waarde.3. Objecten van waarde die in ruil voor een geleverd waarde-objectverwacht worden.4. Objecten die in combinatie worden aangeboden of gevraagd.5. Het fenomeen dat de uitwisseling van de objecten tussen deactoren veroorzaakt.

De detailed actor benadering:

6. Partnerships tussen actoren die weergeven dat er waarde-objectenworden gevraagd of aangeboden.7. De verzameling van de actoren die niet zichtbaar zijn in deglobal actor benadering.8. De nodige uitdrukkingen die bij deze verzameling van actoren hoort(sluit aan bij puntje 7).

De value activity benadering:

9. De waarde creerende of waarde toevoegende activiteiten gelinkt aande desbetreffende actoren.

Tabel 2.1: Overzicht van de verscheidene soorten benaderingen en hun kenmerken.

Page 18: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 8

2.2 Toepassing: Amsterdam Times

In deze paragraaf wordt een toepassing van het e3-valuemodel beschreven. Hierbijwordt de betekenis van de concepten en de relaties van de e3-value-ontologiegelinkt aan de toepassing. In het verdere verloop van de thesis zal het voorbeeldals ondersteuning dienen bij het verklaren van de e3-valuerestricties.De gekozen casestudy situeert zich weliswaar enkele jaren geleden, maar wordtniettemin nog vaak aangewend. Deze toepassing zorgt niet alleen voor de rodedraad in de doctoraatsthesis van Gordijn J.[3], maar wordt daarnaast ook gebruiktin tal van recente[5] en minder recente artikels [4].De toepassing situeert zich in de krantenindustrie. De value activitybenaderingvan de toepassing is voorgesteld in afbeelding 2.5 op pagina 16 ([3] pag.7).

De Amsterdam Times is een krant met een volwaardig aantal abonnees, enwil ze de mogelijkheid geven om online het archief van de krant te raadplegen. DeAmsterdam Times wil hiervoor echter geen extra abonnementskosten aanrekenenmaar de gemaakte kosten recupereren door ontvangst van een vergoeding pergemaakte verbinding. De abonnee betaalt dus voor het tot stand komen vande verbinding. Zeker in de beginperiode van het internet waren de meesteinternetverbindingen POTS-verbindingen 1, die tot stand kwamen door in teloggen bij een ISP 2. Wanneer de lezer een artikel opvraagt wordt dit geregistreerdbij de Amsterdam Times. Zo’n aanvraag wordt ook wel ’termination’ genoemd.Wanneer de Amsterdam Times er in slaagt een groot aantal abonnees artikels tedoen opvragen, dan zal bijna iedere telecommunicatieoperator bereid zijn hiervoorte betalen. In deze toepassing is de telecommunicatieoperator TelCo. De bijdragedie de krant hiervoor in ruil krijgt wordt ook wel ’termination fee’ genoemd.

In de toepassing wordt de Amsterdam Times beschreven als een actor. Eenactor wordt voorgesteld door een rechthoek en kan zowel een bedrijf als eeneindconsument zijn. De krant richt zich op twee taken, namelijk het publicerenvan artikels en het voorzien van artikels om online te plaatsen. Deze twee takenworden value activities genoemd. Ze worden voorgesteld door een rechthoek metronde hoekjes en zijn altijd aanwezig binnen een elemantary actor. Zoals zichtbaaris in de afbeelding 2.5 communiceren beide taken met elkaar. De communicatiegebeurt via twee value exchanges, ’article’ en ’article fee’. Beide value exchangeszijn voorgesteld door telkens een lijn. Indien de dienst die verantwoordelijk is voorhet publiceren van artikels, artikels doorgeeft aan de dienst die verantwoordelijk isvoor het voorzien van online artikels, zal het hiervoor een bijdrage in ruil krijgen.Een dergelijke ruil wordt value transaction genoemd. Indien er een van beideuitwisselingen niet doorgaat, zal de ruil niet doorgaan. Een value exchange isgekoppeld aan twee value interfaces. Een value interface wordt voorgesteld door

1Plain Old Telephone System2Internet Service Provider

Page 19: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 9

een rechthoek met twee halve cirkels aan beide uiteinden. Een value interface isopgebouwd uit value ports en beschikt over een of twee value offerings. Een valueoffering is een verzameling van ofwel alleen uitgaande ofwel alleen inkomendevalue ports. Wanneer een value interface over een value offering beschikt, wordende value objecten gratis doorgegeven of ontvangen. Wanneer een value interfaceover zowel in als out ports beschikt zullen er twee value offerings bestaan. Deene value offering bevat alle in ports, de andere bevat alle out ports. Een valueport wordt gekenmerkt door een richting, namelijk in of out. Een out port wordtvoorgesteld door een uitgaande pijl en beschrijft dus een value offering, een inport beschrijft een request en wordt voorgesteld door een inkomende pijl. Hetgeenuitgewisseld wordt is een value object. In het geval van de value exchange ’article’is dit dus een artikel, in het geval van ’article fee’ zal dit hoogstwaarschijnlijk geldzijn. De lezers worden beschouwt als een market segement, die een groep vanactoren voorsteld.

2.3 Het e3-valuemodel:UML naar OWL

De concepten opgenomen in de e3-value-ontologie kunnen rechtstreeks als klassenworden opgenomen in Protege. De relaties worden overgenomen als properties.Aan iedere property is een inverse property gekoppeld.

Dit hoofdstuk beperkt zicht tot het omvormen van de kardinaliteitsrestrictiesopgenomen in de UML-klassediagramma’s.Om de omvorming gestructureerd te kunnen beschrijven wordt de omvorming vande ontologie ingedeeld volgens de eerder besproken benaderingen.

2.3.1 Global actor benadering

De ontologische concepten en relaties van de global actorbenadering zijn inafbeelding 2.1 weergegeven. Ze worden voorgesteld aan de hand van een UMLklasse diagramma (Gordijn J.,[3] pag.48). De vierkanten stellen de concepten vooren worden onderling verbonden met elkaar via relaties. Elke relatie is voorzienvan een kardinaliteitsbeperking en van een inverse relatie. Zo heeft een marketsegment minimum een value interface en een value interface kan maximaal eenmaal toegewezen worden aan een market segment.

In afbeelding 2.2 wordt de global actor benadering van de toepassing weer-gegeven. Deze vormt een vereenvoudiging van afbeelding 2.5.In de toepassing van de Amsterdam Times wil de lezer een artikel online lezen(1). Hiervoor moet de lezer inbellen (2), een telefoon connectie verkrijgen (3) enbereid zijn de telefoonkosten te betalen (4). Pas wanneer de vier value exchangeszijn voldaan, kan de ruil doorgaan. De vier value exchanges beschrijven sameneen value transaction. Een transactie moet dus minstens een value exchange

Page 20: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 10

tbhp

Figuur 2.1: Weergave van de ontologische concepten en relaties van de global actor bena-dering.

bevatten en een value exchange moet minstens tot een value transaction behoren.Restricties als deze waarbij minstens een relatie noodzakelijk is worden vastgelegdvia existentiele restricties.

Iedere value exchange moet beschikken over twee value ports. De value ex-change ’article online’ bevat aan beide uiteinden een in-port en een out-port.In-ports worden gebruikt wanneer er iets wordt gevraagd (requests), out-portswanneer de actor iets te bieden heeft (offers).Voor de value exchange ’article online’ wordt aan beide ports hetzelfde valueobject gekoppeld, namelijk een online artikel.

Om de e3-value-ontologie voor het verdere verloop te vereenvoudigen, wor-den bij het value port concept twee subklassen gemaakt, namelijk een in- eneen out-port. De relaties van de value exchange met de value port worden nurechtstreeks aan de subklassen gekoppeld. De omgevormde e3-value-ontologie isweergegeven in het zwart op afbeelding 2.3.Wanneer er precies een relatie tussen twee concepten mag bestaan, zoals hier het

geval is, wordt er gebruik gemaakt van een kardinaliteitsrestrictie.

Een value object is toegewezen aan nul of meerdere value ports die op hunbeurt zijn toegewezen aan nul of meerdere value exchanges. Dit betekent datverschillende partijen een artikel kunnen vragen en voor verschillende transacties

Page 21: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 11

connection

marketsegment

in port

valueexchange

value transaction

value offering

valueinterface

actor

elementaryactor

Figuur 2.2: Glabal actor benadering van de Amsterdam Times toepassing.

Page 22: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 12

Figuur 2.3: De aangepast global actorbenadering is weergegeven in het zwart. De valueport beschikt nu over twee subklassen, in en out, die rechts aan de value exchange en hetvalue object worden gekoppeld. De detailed actorbenadering is weergegeven in zwart-oranje. De totale afbeelding stelt de value activitybenadering voor.

Page 23: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 13

kunnen er dus meerdere value exchanges vertrekken vanuit dezelfde value port.Telkens wordt hetzelfde value object verhandeld. Een artikel kan bijvoorbeeldworden verkocht aan een lezer en aan een bibliotheek. In dit geval zal devalue transaction zeer gelijkaardig zijn, maar zal ze plaatsvinden tussen tweeverschillende actoren.

Wanneer de lezer een artikel vraagt (1) moet hij over een telefoonconnectiebeschikken, met andere woorden hij vraagt een telefoonconnectie aan LastMile (3). Dit wordt beschreven in afbeelding 2.2 via de twee value exchanges’article online’ en ’telephone connection’. Beide value exchanges beschrijven de’requests’ of de vraag van de lezer. Samen vormen ze een value offering. Ditbetekent dat hier alle in-ports van een value interface worden toegewezen aan eenvalue offering. Analoog kunnen alle out-ports worden toegewezen een anderevalue offering van diezelfde value interface. Een value port kan slechts een maalaan een value offering worden toegevoegd. Indien dit niet zo was, zou het mogelijkzijn dat de lezer twee maal betaalt voor een artikel dat slechts eenmaal is bekomen.Omgekeerd kan een value offering bestaan uit een of meerdere value ports metofwel de richting ’in’ ofwel de richting ’out’. Zo kunnen vraag of aanbod wordenopgenomen in een value offering.

In ruil voor het artikel wil de lezer zich registreren bij de Amsterdam Timesen is daarvoor bereid de telefoonkosten, die gepaard gaan met het opzetten vantelefoonverbinding, te betalen aan Last Mile. Deze twee value exhanges vormensamen een value offering, die het aanbod (offer) van de lezer beschrijft. De valueoffering is toegewezen aan slechts een value interface, namelijk de value interface,die eveneens de value offering, waarin de requests zijn opgenomen, bevat.De value interface kan een of twee value offerings bevatten. In afbeelding 2.2bevat iedere interface twee value offerings; een voor de inkomende value portsen een voor de uitgaande value ports. Restricties waarbij minimaal een relatie enmaximaal twee relaties kunnen bestaan worden ingevoerd door gebruik te makenvan een minimum en een maximum kardinaliteitsrestrictie.In afbeelding 2.2 van de toepassing is iedere value interface toegewezen aan ofweleen market segment of ofwel een actor. Het is echter wel mogelijk dat in een actorof in een market segment een of meerdere value interfaces zijn opgenomen. Zobeschikt de Amsterdam Times over twee value interfaces, terwijl de lezers slechtseen value interface toegewezen krijgen.Wanneer een relatie over geen of slechts een value interface beschikt wordt dedesbetreffende property ’functional’ gemaakt.

Tenslotte moet enkel de verbinding tussen market segment en actor nog wordenverklaard. Het is logisch dat een market segment is opgebouwd uit meerdereactoren. Dit wordt echter niet op de afbeelding weergegeven. Enkel indien eenactor nog andere activiteiten verricht dan deze opgenomen in het market segmentwordt deze actor ook voorgesteld. Voor de toepassing zou dit bijvoorbeeld kunnen

Page 24: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 14

betekenen dat een lezer ook artikels schrijft voor de Amsterdam Times en hiervooreen bijdrage krijgt. De lezer wordt dan op twee verschillende wijzen betrokken inde toepassing.

2.3.2 Detailed actor benadering

Zoals reeds eerder aangehaald maakt de detailed actorbenadering het mogelijkpartnerships uit te drukken. Hiervoor worden de concepten en de relaties van dee3-value-ontologie uitgebreid, dit is weergegeven in zwart-oranje op afbeelding2.3. TelCo beschrijft het partnership tussen twee bedrijven, DataRunner en Hoster.

connection

terminationconnection b

marketsegment

in port

valueexchange

value transaction

value offering

valueinterface

compositeactor

elementaryactor

elementaryactor

Figuur 2.4: Detailed actor benadering van de Amsterdam Times toepassing.

Hierbij stelt TelCo een composite actor voor, de andere actoren zijn elementaryactoren.Een composite actor zorgt voor een overkoepeling van de value interface van deactoren opgenomen in het partnership.

Page 25: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 15

In de toepassing is duidelijk te zien dat de value interface van TelCo is opgebouwduit twee value interfaces van DataRunner en uit een value interface van Hoster.Een partnership moet uit minimum twee actoren bestaan. Om dezelfde redenbestaat een composite actor uit minimum twee value interfaces. Dit wordt inProtege ingevoerd aan de hand van een minimum kardinaliteitsrestrictie.

In de global actor benadering werd reeds de verbinding tussen de value porten value exchange besproken. Door het bijkomende concept ’composite actor’ ishet wel noodzakelijk de relaties uit te breiden. Zo ontstaan vier nieuwe relaties,waarbij een value exchange verbonden is met twee in-ports of twee out-ports.In de toepassing worden deze relaties gebruikt om de value interface van Telco temappen op de value interfaces van DataRunner en Hoster. Een dergelijke valueexchange vereist het gebruik van twee gelijkgerichte ports.

2.3.3 Value activity benadering

Value activities beschrijven wat een actor doet om waarde te creeren of toe tevoegen. De bijkomende concepten en relaties zijn weergegeven in afbeelding 2.3.In de casestudy heeft Amsterdam Times twee value activities, namelijk ’Publis-hing’ en ’Provide article online’. Een elementary actor voert dus minimum eenwaarde creerende of toevoegende functie uit en wordt in Protege vastgelegd aande hand van een kardinaliteitsrestrictie.Door het toevoegen van het value activityconcept ontstaan er nog twee types valueexchange verbindingen. Een overzicht is gegeven in tabel 2.2 (Gordijn J., [3] pag.61). In de toepassing is value exchange ’article’ een voorbeeld van een type-4-

Value exchange port 1 wordt port 2 wordt de richtingtype verbonden met verbonden met van de 2 ports zijn1 Actor Actor tegengesteld2 Composite actor Actor gelijk3 Elemantary actor Value activity gelijk4 Value activity Value activity tegengesteld

Tabel 2.2: De vier mogelijke value exchange types

verbinding. Hierbij is het noodzakelijk dat de twee value ports, toegewezen aandeze value exchange, van een verschillend type zijn. De value exchanges tussende actor en de value activities zijn voorbeelden van een type-3-verbinding. Dezevalue exchanges bestaan uit twee gelijkgerichte ports. De value exchange ’articleb’ voorgesteld in afbeelding 2.5 is hier een voorbeeld van. De restricties no-dig om de vier types verbinding te beschrijven worden in paragraaf 3.3 besproken.

Een overzicht van de tot nu gebruikte OWL-restricties is weergegeven inafbeelding 2.6.

Page 26: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 16

articleonline b

articleonline a

termination a

connection

termination a

terminationconnection b

terminationconnection a

market

in port

valueexchange

value transaction

value offering

valueinterface

compositeactor

elementaryactor

elementaryactor

valueactivity

Figuur 2.5: Grafische voorstelling van e3-value toepassing: de Amsterdam Times.

Page 27: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

2 Het omvormen van de e3-value concepten naar OWL 17

Figuur 2.6: Overzicht van de tot nu toe gebruikte OWL-restricties.

Page 28: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Hoofdstuk 3

Omvorming van de regels enconstraints.

Dit hoofdstuk behandelt de omvorming van de grafische regels en beperkingenen van de OCL-regels die de concepten en relaties van de e3-value-ontologieaanvullen. Sommige regels en beperkingen zijn niet om te vormen naar OWLrestricties en worden daarom ondersteund met SWRL-constraints. Alvorensuitgebreid de omvorming te bespreken, wordt eerst de gebruikte syntax van deOWL-restricties en SWRL-regels en -constraints verklaard.

3.1 OWL en SWRL

3.1.1 OWL syntax

OWL en SWRL zijn opgebouwd uit XML-code. Aangezien het moeilijk zou zijnde restricties en de constraints in XML te ontcijferen worden ze voorgesteld zoalsze zijn ingevoerd in Protege.Tabel 3.1 beschrijft de betekenis van de gebruikte OWL-symbolen.

3.1.2 SWRL syntax

De SWRL-constraints werden ingevoerd door gebruik te maken van de SWRLTab,een plugin voorzien in Protege.

Een SWRL-regel is opgebouwd uit een antecedent en een consequent. Desyntax wordt geıllustreerd aan de hand van een voorbeeld dat los staat van dee3-value-ontologie en van de toepassing.

18

Page 29: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 19

Existential Restriction ∃Universal Restriction ∀Cardinality Restriction =Minimum Cardinality Restriction ≥Maximum Cardinality Restriction ≤Intersection uUnion tNot ¬

Tabel 3.1: De gebruikte OWL-afkortingen in Protege.

Persoon(?x) ∧ heeftKind(?x,?y) ∧ Vrouw(?y) → heeftDochter(?x,?y)Als een persoon een kind heeft en het kind is een vrouw, dan heeft de persoon een dochter.De persoon kan iedereen zijn die tot deze klasse behoort.

Persoon(?Jan) ∧ heeftKind(?Jan,?y) ∧ Vrouw(?y) → heeftDochter(Jan,?y)Als Jan een kind heeft en het kind is een vrouw, dan heeft Jan een dochter.

Wanneer geen ’?’ wordt gebruikt dan heeft de constraint of regel betrekking opeen individual. Bovenstaande voorbeelden beschrijven een ’als dan’-relaties. Hetis echter ook mogelijk een SWRL-constraint te vormen waarbij het antecedent ofconsequent leeg zijn. Beide mogelijkheden worden voorgesteld aan de hand vanonderstaand voorbeeld.

altijd vals:Persoon(?x) ∧ heeftVader(?x,?y) ∧ heeftVader(?x,?z) ∧ differentFrom (?z,?y) →Deze constraint zorgt ervoor dat niemand twee verschillende vaders kan hebben.

altijd waar: → Persoon(?x) ∧ Baby(?x) (Deze constraint zorgt ervoor dat iedere baby eveneens een persoon is.

3.1.3 OWL en SWRL combineren

De manier waarop OWL en SWRL elkaar aanvullen is van groot belang. In dezeparagraaf wordt kort besproken hoe dit precies gebeurt.OWL zal altijd de verschillende verbindingen tussen de verschillende klassen be-schrijven. Hierop aanvullend wordt SWRL dan gebruikt vanuit een ondersteunen-de functie. SWRL beschrijft de beperkingen zoals: ’mag niet gelijk zijn’. Het isbelangrijk erop te letten dat de restricties, constraints en regels elkaar niet tegen-spreken, want dit kan tot een ongeldige ontologie leiden. Dit is dan ook meteen de

Page 30: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 20

reden die verklaart waarom SWRL enkel een ondersteunende rol kan hebben!

3.2 Grafische regels en constraints

De grafische regels en constraints opgenomen in de e3-value ontologie zijn:

• Uit de toepassing Amsterdam Times blijkt dat iedere value Interfacetoegewezen is aan ofwel een market segement, ofwel een actor, ofwel eenvalue activity. De veralgemeende situatie wordt voorgesteld in afbeelding3.1.

Value

Interface

Market

Segmenthas

assigned-

to-ms0..1 1..* 1..* 0..1

Actor

assigned-

to-achas

consists-of in0..* 0..*

Value

activity

assigned-

to-va

has

1..*

{xor}

0..1

Figuur 3.1: Een value interface kan slechts worden toegewezen aan ofwel een marketsegment, ofwel een actor ofwel een value activity.

Door gebruik te maken van Boolealgebra kan dit probleem worden omge-vormd naar een OWL-restrictie, namelijk:

A xor B xor C = (A and B and C) or (A and B and C) or (A and Band C)

’A’, ’B’ en ’C’ stellen hierbij een actor, een value activity en eenmarket segment voor. Omgevormd tot een restrictie in OWL wordt dit:

((= 1 assigned to market segment owl:Thing) u (= 0 assigned to actor owl:Thing)u (= 0 assigned to value activity owl:Thing))t ((= 0 assigned to market segment owl:Thing) u (= 1 assigned to actorowl:Thing) u (= 0 assigned to value activity owl:Thing))t ((= 0 assigned to market segment owl:Thing) u (= 0 assigned to actorowl:Thing) u (= 1 assigned to value activity owl:Thing))

• Een value exchange beschikt in zijn totaliteit over zes mogelijke propertiesmet een value port. Afhankelijk van de type verbinding, zoals beschrevenin 2.2, wordt een combinatie van twee properties gebruikt. In totaal bestaan

Page 31: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 21

er drie mogelijke combinaties. Ze worden hieronder m.b.v. de toepassingbeschreven:

1. article online maakt gebruik van has in value port en enhas out value port out

2. article online a gebruikt has first out value port out enhas second out value port out

3. termination a gerbuikt has first in value port in enhas second in value port in

Hierbij zijn ’article online’, ’article online a’ en ’termination a’ value ex-changes. Indien een value exchange over een ’has in value port’ beschikt,moet er eveneens een ’has out value port’ bestaan. Wanneer dat niet zois beschikt een value exchange slechts over een value port en kan vraagen aanbod onmogelijk worden beschreven. Dat geldt ook voor de anderecombinaties.Een value exchange gebruikt exact een van deze drie combinaties. Afbeel-ding 3.2 geeft de veralgemeende situatie weer. Ook deze constraint kan

Value

Exchange

Value

Port

has-

in0..* 0..1

0..* 0..1has-

out

inin-

connects

out-

connects

first-connects

second-connects

has-

first

has-

second

0..*0..* 0..1 0..1

{equal}

{equal} {xor}

{xor}

Figuur 3.2: Value exchange moet uit precies twee bewust gekozen poorten bestaan.

worden gedefinieerd met behulp van de eerder geformuleerde Booleaansevergelijking. Hierbij stellen ’A’, ’B’ en ’C’ nu de mogelijke combina-ties voor. ’A’ kan dus vervangen worden door ’has in value port andhas out value port’ en analoog voor ’B’ en ’C’. De OWLrestrictie ishieronder weergegeven.

(((= 1 has first in value port owl:Thing) u (= 1 has second in value portowl:Thing)) u ((= 0 has first out value port owl:Thing) u (= 0has second out value port owl:Thing)) u ((= 0 has in value port owl:Thing)u (= 0 has out value port owl:Thing)))

t (((= 0 has first in value port owl:Thing) u (= 0 has second in value portowl:Thing)) u ((= 1 has first out value port owl:Thing) u (= 1has second out value port owl:Thing)) u ((= 0 has in value port owl:Thing)

Page 32: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 22

u (= 0 has out value port owl:Thing)))

t (((= 0 has first in value port owl:Thing) u (= 0 has second in value portowl:Thing)) u ((= 0 has first out value port owl:Thing) u (= 0has second out value port owl:Thing)) u ((= 1 has in value port owl:Thing)u (= 1 has out value port owl:Thing)))

3.3 OCL-regels

Deze paragraaf bespreekt de opgelegde OCL-regels. Ze worden omgevormd totOWL-restricties en waar nodig worden ze aangevuld met SWRL-constraints of -regels.De OWL-restricties zijn afgeleid uit afbeelding 2.6 en worden toegepast op deAmsterdam Times-case weergegeven in afbeelding 2.5. Bij het opstellen van deOWL-restricties is het belangrijk rekening te houden met de kardinaliteit toegekendaan de desbetreffende property.

3.3.1 Value exchange verwante regels en constraints

• Het is dus noodzakelijk dat de Amsterdam Times en de lezer voor de valueexchange ’online article’ hetzelfde value object verhandelen, namelijk eenartikel. De situatie is weergegeven in afbeelding 3.3 voor een de valueexchange ’online atricle’ die een verbinding met een in-port en een out-port.Een value exchange kan op drie verschillende manieren worden verbonden

Figuur 3.3: Beide value ports van een value exchange vragen en/of bieden hetzelfde valueobject aan.

met twee value ports. In het totaal zijn er drie SWRL-constraints, de cons-traint voor een type-1- of type-4-verbinding wordt hieronder weergegeven.

Value Exchange(?x) ∧ has first out value port(?x, ?y) ∧ offers(?y, ?z) ∧Value Exchange(?c) ∧ sameAs(?x, ?c) ∧ Out(?d) ∧ Value Object(?b) ∧has second out value port(?c, ?d) ∧ offers(?d, ?b) ∧ differentFrom(?z, ?b)→

• De manier waarop value ports zijn verbonden met value exchanges is afhan-kelijk van het type value exchange. Zoals is weergeven in tabel 2.2 zijn ervier verschillende types.

Page 33: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 23

Type1: De situatie is weergegeven in afbeelding 3.4a. ’Article online’beschikt over twee verschillende in- en out-ports en beide ports zijnindirect verbonden met hun actor. Hieronder is weergegeven hoe ditkan worden uitgedrukt in OWL.

((∀ has in value port (In u (∃ in value offering (Value Offering u (∃in value interface (Value Interface u (∃ assigned to actor Actor))))))) u

(∀ has out value port (Out u (∃ in value offering (Value Offering u (∃in value interface (Value Interface u (∃ assigned to actor Actor))))))) t

Een bijkomende SWRL-constraint drukt uit dat de actoren verschillendmoeten zijn.

Value Exchange(?x) ∧ Value Exchange(?y) ∧ sameAs(?x, ?y) ∧has in value port(?x, ?z) ∧ in value offering(?z, ?a) ∧ in value interface(?a,?b) ∧ assigned to actor(?b, ?c) ∧ has out value port(?y, ?d) ∧in value offering(?d, ?e) ∧ in value interface(?e, ?f) ∧ assigned to actor(?f,?g) ∧ sameAs(?c, ?g) ∧→

Type 2: ’Termination connection b’ is een value exchange tussen ’Data-Runner’ en ’TelCo’. De toepassing is weergegeven in afbeelding 3.4b.De value exchange ’Termination’ bestaat uit twee in-ports, waarbijeen value port toebehoort aan een composite actor - hier TelCogenaamd - waarbij de andere value port is toegewezen aan een actor,’DataRunner’ genaamd. Hierbij is het echter noodzakelijk dat devalue interface van de DataRunner een onderdeel vormt van een valueinterface van TelCo. Dit kan worden opgenomen in OWL op volgendemanier:

((∀ has first in value port (In u (∃ in value offering (Value Offering u(∃ in value interface (Value Interface u (∃ assigned to actor (Composi-te Actor u (∀ consist of value interface Value Interface))))))))))u

(∀ has second in value port (In u (∃ in value offering (Value Offeringu (∃ in value interface (Value Interface u (∀ assigned to actor Actor)))))))

Bovenstaande OWL-regels worden verder aangevuld met SWRL-regels. Ze drukken uit dat de actoren verschillend moeten zijn endat de value interface van de DataRunner enkel een onderdeel moetvormen van de value interface van TelCo. In dit voorbeeld beschikt’termination’ over twee in-ports.

Page 34: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 24

Value Exchange(?x) ∧ Value Exchange(?y) ∧ sameAs(?x, ?y)∧ has first in value port(?x, ?z) ∧ in value offering(?z, ?a)∧ in value interface(?a, ?b) ∧ assigned to actor(?b, ?c) ∧Composite Actor(?c) ∧ consist of value interface(?c, ?h) ∧has second in value port(?y, ?d) ∧ in value offering(?d, ?e) ∧in value interface(?e, ?f) ∧ assigned to actor(?f, ?g) ∧ sameAs(?c,?g) →

Value Exchange(?x) wedge Value Exchange(?y) wedge sameAs(?x, ?y)wedge has first in value port(?x, ?z) wedge in value offering(?z, ?a)wedge in value interface(?a, ?b) wedge assigned to actor(?b, ?c) wedgeComposite Actor(?c) wedge consist of value interface(?c, ?h) wedgehas second in value port(?y, ?d) wedge in value offering(?d, ?e) wedgein value interface(?e, ?f) wedge assigned to actor(?f, ?g) wedge different-From(?c, ?g) wedge differentFrom(?h, ?f) →

Analoog kan een nieuwe OWL-restrictie en SWRL-constraintworden opgesteld voor value exchanges met twee out-ports. BeideOWL-restricties worden samengevoegd via een ’union’-functie.

Type 3: ’Online article b’ verzorgt een value exchange tussen de elementa-ry actor en value activity. De situatie is geschetst in afbeelding 3.4c.Zoals hieronder beschreven wordt in OWL, behoort ’provide article’tot een elementary actor. De elemantary hoeft hier niet noodzakelijkAmsterdam Times te zijn.

((∀ has first out value port (Out u (∃ in value offering (Value Offeringu (∃ in value interface (Value Interface u (∃ assigned to actor Elementa-ry Actor))))))) u

(∀ has second out value port (Out u (∃ in value offering (Value Offering u(∃ in value interface (Value Interface u (∃assigned to value activity (Va-lue Activity u (∃ performed by elementary actor Elementary Actor))))))))))

In SWRL wordt uitgesloten dat ’provide article’ door een andereactor wordt uitgevoerd dan de elementary actor, Amsterdam Times.

Value Exchange(?x) wedge Value Exchange(?y) wedge sameAs(?x, ?y)wedge has first out value port(?x, ?z) wedge in value offering(?z, ?a)wedge in value interface(?a, ?b) wedge assigned to actor(?b, ?c) wedgeElementary Actor(?c) wedge has second out value port(?y, ?d) wedgein value offering(?d, ?e) wedge in value interface(?e, ?f) wedge assig-ned to value activity(?f, ?g) wedge performed by elementary actor(?g, ?h)wedge differentFrom(?c, ?h) →

Page 35: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 25

Analoog kan een nieuwe OWL-restrictie en SWRL-constraintworden opgesteld voor value exchanges met in- en out-ports. BeideOWL-restricties worden samengevoegd via een ’union’-functie.

Type 4: ’Article’ is een value exchange die de verbinding tussen twee valueactivities, ’Publishing’ en ’Provide article online’, beschrijft. De valueexchange is opgebouwd uit twee verschillende poorten. Afbeelding3.4d schetst deze situatie. Wanneer dit wordt vertaald naar OWL,wordt onderstaande restrictie bekomen.

((∀ has in value port (In u (∃ in value offering (Value Offering u (∃in value interface (Value Interface u (∃ assigned to value activity (Va-lue Activity u (∃ performed by elementary actor Elementary Actor)))))))))u

(∀ has out value port (Out u (∃ in value offering (Value Offering u (∃in value interface (Value Interface u (∃assigned to value activity (Va-lue Activity u (∃ performed by elementary actor Elementary Actor))))))))))

Alfbeelding ?? geeft weer dat beide value activities verschillendmoeten zijn, maar dat ze worden uitgevoerd door dezelfde actor. DeSWRL-constraints hieronder zorgen ervoor dat dit inderdaad zo is.

Value Exchange(?x) ∧ Value Exchange(?y) ∧ sameAs(?x, ?y) ∧has in value port(?x, ?z) ∧ in value offering(?z, ?a) ∧ in value interface(?a,?b) ∧ assigned to value activity(?b, ?c) ∧ has out value port(?y,?d) ∧ in value offering(?d, ?e) ∧ in value interface(?e, ?f) ∧ assig-ned to value activity(?f, ?g) ∧ sameAs(?c, ?g) →

Value Exchange(?x) ∧ Value Exchange(?y) ∧ sameAs(?x, ?y) ∧has in value port(?x, ?z) ∧ in value offering(?z, ?a) ∧ in value interface(?a,?b) ∧ assigned to value activity(?b, ?c) ∧ has out value port(?y,?d) ∧ in value offering(?d, ?e) ∧ in value interface(?e, ?f) ∧ as-signed to value activity(?f, ?g) ∧ differentFrom(?c, ?g) ∧ perfor-med by elementary actor(?c, ?h) ∧ performed by elementary actor(?g,?i) ∧ differentFrom(?h, ?i) →

opmerking: Type-1-en type-4-value exchanges bestaan uit twee tegenge-stelde value ports. Beide OWL-restricties worden samengevoegd viaeen ’union’-functie tot een restrictie omdat de value echanges voor bei-de types gebruik maakt van dezelfde properties :’has in’ en ’has out’.Analoog geldt dezelfde redenering voor de value exchanges van type-2en type-3.

Page 36: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 26

• Value exchange ’article online’ verzorgt de binding tussen de lezer ende Amsterdam Times. Indien er eenzelfde value exchange zou bestaanopgegebouwd uit dezelfde value ports en met hetzelfde value object ’article’zou deze overbodig zijn. Onderstaande SWRL-constraints definieren datiedere value exchange uniek moet zijn.

Value Exchange(?x) ∧ Value Exchange(?y) ∧ differentFrom(?x, ?y) ∧has first in value port(?x, ?z) ∧ has first in value port(?y, ?a) ∧ sameAs(?z,?a) ∧ has second in value port(?x, ?b) ∧ has second in value port(?y, ?c) ∧sameAs(?b, ?c) →

Value Exchange(?x) ∧ Value Exchange(?y) ∧ differentFrom(?x, ?y) ∧has first out value port(?x, ?z) ∧ has first out value port(?y, ?a) ∧ same-As(?z, ?a) ∧ has second out value port(?x, ?b) ∧ has second out value port(?y,?c) ∧ sameAs(?b, ?c) →

Value Exchange(?x) ∧ Value Exchange(?y) ∧ differentFrom(?x, ?y) ∧has in value port(?x, ?z) ∧ has in value port(?y, ?a) ∧ sameAs(?z, ?a) ∧has out value port(?x, ?b) ∧ has out value port(?y, ?c) ∧ sameAs(?b, ?c) →

3.3.2 Value offering verwante regels en constraints

• De value activity ’publishing’ beschikt over twee value offerings. Beidevalue offerings moeten ofwel allemaal in-ports (requests) ofwel allemaalout-ports (offerings) bevatten. Deze beperking kan vanuit de klasse valueoffering geınterpreteerd worden als ’in xor out’. Het omvormen van eenxor-verbinding is beschreven in 3.2. Hieronder worden de bijhorendeOWL-restrictie weergegeven:

(∀ consists of value port ((In u (¬ Out)) t ((¬ In) u Out))) t(∃ consists of value port ((In u (¬ Out)) t ((¬ In) u Out)))

De OWL-restrictie houdt in dat property ’consist of value port’ min-stens een verbinding moet hebben naar ’in xor out’ en dat property ’consistof value port’ alleen verbinding kan maken met in of out.

• In afbeelding 3.5a is de situatie geschetst waarbij de value interface vande value activity ’publishing’ over slechts een value offering beschikt. Ditzou betekenen dat value activity ’publishing’ de artikels gratis doorgeeftaan value activity ’provide article online’. In afbeelding 3.5b is de situatieweergegeven zoals ze oorspronkelijk is voorgesteld. De value interface van’publishing’ bestaat uit twee value offerings, waarbij er een value interfaceuit allemaal in ports moet bestaan en een value interface uit allemaal outports moet bestaat. Hieronder wordt volgende bijpassende OWL-restricties

Page 37: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 27

besproken.

(= 1 consists of value offering owl:Thing) t((= 2 consists of value offering owl:Thing) u (∃ consists of value offering(Value Offering u (∃ consists of value port In) u (∃ consists of value port Out))))

3.3.3 Value transaction verwante regels en constraints

Tijdens het bespreken van deze regels wordt de uitleg beperkt tot een type valueexchange. Uiteraard is de manier van werken voor de andere type value exchan-ges analoog. Alle types samen worden met een ’union’-functie samengevoegd envormen een OWL-restrictie. Voor ieder type worden er echter wel andere SWRL-constraints opgesteld.

• Als voorbeeld van een transactie wordt er gebruik gemaakt van de valueexchanges ’interconnection’ en ’interconnection fee’. De transactie isvoorgesteld in afbeelding 3.6a. Beide beschrijven de verbinding tussentwee actoren en gebruiken dus over een type-1-verbinding. Wanneer ditveralgemeend wordt kan er geconcludeerd worden dat value transactionenkel bestaat uit value exchanges van hetzelfde type. Een value exchangemoet verbonden worden volgens een van de vier type verbindingen. Daaromvolstaat het om in de value transaction een closure axioma op te nemen.Hierbij wordt de value exchange verplicht een type-verbinding te kiezen. Opdeze manier zal een value transaction altijd over hetzelfde type beschikken.Hieronder is de OWL-restrictie weergegeven van de type-1-verbinding.

(= 1 consists of value exchange owl:Thing) t (∀ consists of value exchange(Value Exchange u ( ((∀has in value port (In u (∀ in value offering (Va-lue Offering u (∀ in value interface (Value Interface u (∀assigned to actorActor)))))))

u (∀has out value port (Out u (∀ in value offering (Value Offering u (∀in value interface (Value Interface u (∀assigned to actor Actor))))))) u (= 0has first in value port owl:Thing) u (= 0 has first out value port owl:Thing)u (= 0 has second in value port owl:Thing) u (= 0 has second out value portowl:Thing))

• De value transaction die bestaat uit de value exchange ’interconnection’ en’interconnection fee’ wordt indirect gelinkt aan de value interface van detwee actoren, ’Telco’ en ’Last Mile’. Alle poorten opgenomen in een valueinterface en behorend tot dezelfde value transaction moeten over een valueexchange beschikken. Indien dit niet zo is, dan is de poort overbodig.De OWL-restrictie beschrijft dat: indien een value interface is toegewezenaan een value transactie, dan bestaat er minstens een verbinding van de

Page 38: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 28

value port met een value exchange. De OWL-restictie houdt geen rekeningmet het feit dat het om dezelfde transactie moet gaan. Hieronder is deOWL-restrictie weergegeven, voor een type-1-verbinding.

((∃ consists of value exchange (Value Exchangeu (∃ has in value port (In u (∃ in value offering (Value Offering u (∃in value interface (Value Interface u (∃ consists of value offering (Value Offeringu (∃ consists of value port (Value Port u (∃ in connects value exchange Va-lue Exchange)))))))))))

u (∃ has out value port (Out u (∃ in value offering (Value Offering u (∃in value interface (Value Interface u (∃ consists of value offering (Value Offeringu (∃ consists of value port (Value Port u (∃ out connects value exchange Va-lue Exchange)))))))))))))

Aangezien de OCL-regel vereist dat het om dezelfde transactie moetgaan, zijn er twee SWRL-constraints in Protege opgenomen. Een SWRL-constraint garandeert dat alle in-ports van de value interface niet zullentoegewezen worden aan een value exchange van aan een andere transactie.De andere doet het hetzelfde voor alle out-ports. Hieronder zijn beideSWRL-constraints voorgesteld voor een type-1-verbinding.

Value Transaction(?x) ∧ consists of value exchange(?x, ?y) ∧has in value port(?y, ?z) ∧ has out value port(?y, ?a) ∧ in value offering(?z, ?b)∧ in value offering(?a, ?c) ∧ in value interface(?b, ?d) ∧ in value interface(?c,?e) ∧ consists of value offering(?d, ?f) ∧ consists of value offering(?e,?g) ∧ consists of value port(?f, ?h) ∧ consists of value port(?g, ?i) ∧in connects value exchange(?h, ?j) ∧ out connects value exchange(?i, ?k) ∧in value transaction(?j, ?l) ∧ in value transaction(?k, ?m) ∧ differentFrom(?x,?l)→

Value Transaction(?x) ∧ consists of value exchange(?x, ?y) ∧has in value port(?y, ?z) ∧ has out value port(?y, ?a) ∧ in value offering(?z, ?b)∧ in value offering(?a, ?c) ∧ in value interface(?b, ?d) ∧ in value interface(?c,?e) ∧ consists of value offering(?d, ?f) ∧ consists of value offering(?e,?g) ∧ consists of value port(?f, ?h) ∧ consists of value port(?g, ?i) ∧in connects value exchange(?h, ?j) ∧ out connects value exchange(?i, ?k) ∧in value transaction(?j, ?l) ∧ in value transaction(?k, ?m) ∧ differentFrom(?x,?m)→

• Voor de value transaction bestaande uit de value exchanges ’article’ en ’arti-cle fee’ geldt dat iedere in- of out-port van de transactie slechts toegewezenwordt aan een value exchange. Indien dat niet het geval zou zijn, zou het mo-gelijk zijn om hetzelfde value object meerdere malen te verhandelen binnen

Page 39: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 29

dezelfde value transaction. Dit zou bijvoorbeeld kunnen betekenen dat eenvalue exchange ’article payment’ analoog aan value exchange ’aricle fee’kan bestaan en daarbij dezelfde functie beschrijft. In dit geval wordt er tweemaal betaald voor eenzelfde atikel en dat is niet de bedoeling. De situatie isvoorgesteld in 3.6b.Iedere in-port kan op drie manieren verbinding maken met een value exchan-ge en hetzelfde geldt voor iedere out-port. Binnen eenzelfde value transacti-on zal iedere in-port en out-port slecht op een wijze verbinding maken meteen value exchange. Daarnaast geldt ook dat een in-port geen gebruik kanmaken van de properties die een out-port verbindt met een value exchange.Daarom volstaan zes SWRL-constraints met volgende betekenis: wanneereen in-port ’x’ wordt verbonden met een value exchange ’y’ die op zijn beurtwordt verbonden met een value transaction ’z’ en de in-port ’x’ maakt eenverbinding met value exchange ’a’ dan die op zijn een verbinding maakt metdezelfde value transaction ’z’ dan moeten de value exchanges ’y’ en ’a’ ge-lijk zijn.In(?x) ∧ in connects value exchange(?x, ?y) ∧ in value transaction(?y, ?z) ∧in connects value exchange(?x, ?a) ∧ in value transaction(?a, ?b) ∧ sameAs(?z,?b) ∧ differentFrom(?y, ?a) →

3.3.4 Composite actor

In paragraaf 1.2 werd reeds vermeld dat het nuttig kan zijn om de toegepasteontologie te deconstrueren en daarna terug te reconstrueren. Zo kunnen er nieuween aanverwante toepassingen worden ontdekt. Wanneer een composite actor isopgenomen in de ontologie, mag deze niet worden gedeconstrueerd.

In de toepassing is TelCo een composite actor. Hij is verantwoordelijk voorhet partnership tussen DataRunner en Hoster. Wanneer dit partnership zou wordengedeconstrueerd zou dit een vertekend beeld geven van de ontologie.

Het deconstrueren en reconstrueren van de ontologie sluit echter niet uit dater andere partnerships kunnen worden toegevoegd voor gelijkaardige toepassin-gen.Deze regel is niet omgevormd naar OWL aangezien het deconstrueren enreconstrueren van de toepassing buiten het kader van de thesis valt.

3.4 superproperties

In deze paragraaf wordt verkaard waarom er geen gebruik wordt gemaakt vansuper- en subproperties.

De drie mogelijkheden waarbij een value exchange kan verbonden worden

Page 40: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 30

met een value port kunnen voor sommige van bovenstaande restricties vervangendoor een superproperty. Dit zou betekenen dat de properties has in, has first in enhas first out vervangen worden door een superproperty. Analoog geldt hetzelfdevoor has out, has second in en has second out. Deze optie bleek echter niet toe-pasbaar voor SWRL-regels en -constraints, omdat de wijze waarop SWRL-regelsen -constraints worden uitgevoerd slecht beperkt gebruik van superpropertiestoelaten.

Voor SWRL-regels en -constraints waarbij de superproperties worden opge-nomen in de ontologie als een gewone property vormt dit geen probleem. Eenvoorbeeld hiervan is hieronder weergegeven.

Persoon(?x) ∧ heeft kind(?x,?y) ∧ Vrouw(?y) → heeft dochter(?x,?y)

De property ’heeft kind’ is superproperty van ’heeft dochter’. De property’heeft kind’ is hier opgenomen in de ontologie als een property met een actieverol.Voor de toepassingen in deze thesis zou de superproperty enkel een indirecte rolhebben en zou dus in een proof-of-concepttoepassing nooit worden gebruikt voorhet toewijzen van individuals. Hiervoor zullen de subproperties worden gebruikt.Dergelijke superproperties worden echter niet ondersteund. Dit is te wijten aanhet feit dat niet voldoende informatie wordt verzameld bij het uitvoeren van deSWRL-regels en -constraints.

Page 41: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 31

Figuur 3.4: De vier verschillende type value exchange verbindigen.

Figuur 3.5: Een value inderface die uit twee value offerings bestaat, beschikt over eenvalue offering met allemaal ins en beschikt over een value offering met allemaal outs.

Page 42: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

3 Omvorming van de regels en constraints. 32

Figuur 3.6: Een value transaction bestaat uit value exchanges van hetzelfde type(a). Eenin-of out-port mag slechts via een value exchange verbonden worden met dezelfde trans-actie(b).

Page 43: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Hoofdstuk 4

E3-valueconcepten naar SWRL

Dit hoofdstuk laat u kennis maken met reasoning. Hierbij worden de verscheidenesoorten reasoners, hun mogelijkheden en het gebruik ervan besproken. Allereerstwordt reasoning benaderd vanuit de open en closed world assumption.

4.1 Open en closed world assumption

Zoals de titel al aangeeft kan een ontologie benaderd worden vanuit ofwel de openworld of de closed world assumption.In een closed world assumption worden alle zaken die niet gekend zijn als ’vals’verondersteld.In de open world assumption daarin tegen worden de zaken die niet gekend zakenals ’ongedefinieerd’ beschouwt. Dit wordt geillustreerd aan de hand van eenvoorbeeld waarbij wordt uitgegaan van volgende veronderstelling:’Jan’ ’heeft zoon’’Peter’. Wanneer nu de vraag gesteld wordt: ’Jan’ ’heeft’ ’zoon’ ’Jens’, levert dit inde closed world assumption een ’nee’ op. Voor de open world assumption zal hetantwoord ’onbekend’ zijn.Dit heeft als gevolg dat open en closed world een totaal verschillende manier vandenken vereist.Hieronder volgt een toepassing die beide manieren van denken nader verklaard.

’Peter”heeft vader’ ’Jan’. ’heeft ’vader ’cardinaliteit’ ’1’. (of iemand kan precies1 vader hebben)

Volgende bewering wordt nu toegevoegd:

’Peter’ ’heeft vader’ ’Bert’.

Een closed world reasoner zal deze tweede vergelijking als onmogelijk be-schouwen, een ’error’ weergegeven.

33

Page 44: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

4 E3-valueconcepten naar SWRL 34

Een open world reasoner gaat ervan uit dat de tweede vergelijking eveneens waaris waardoor ’Bert’ en ’Jan’ als dezelfde personen worden beschouwd.In de closed world wordt alles zeer strikt beschreven, waardoor er geen plaats isvoor veronderstellingen. Closed world reasoning zal daarom onvolledigheden als’fout’ beschouwen.De open world is minder strikt en laat ruimte voor veronderstellingen. Dereasoner is daarom minder geneigd te zoeken naar fouten, maar zoekt naar nieuwebeweringen gebaseerd op de feiten die in de ontologie voorkomen. De reasonerdient oorspronkelijk gebruikt te worden om nieuwe kennis te generen uit debeweringen die naar voor komen.

De e3-value-ontologie die bestaat uit UML en OCL, is opgebouwd vanuitde closed world. OWL-DL en SWRL daarentegen zijn open world talen.

4.2 OWL-DL en SWRL reasoners

4.2.1 De functie van een reasoner

De closed world reasoner heeft een duidelijk doel als reasoner: het zoeken naarfouten. De functie van een open world reasoner bestaat erin de ontologie te testenop de consistentie van de klassen en op de volledigheid van de ontologie.Voor de consistentie houdt dit in dat reasoner nagaat of iedere klasse individuenkan bevatten. Het is namelijk mogelijk dat bepaalde restricties elkaar tegensprekenen in dat geval is de ontologie ongeldig.Wanneer de ontologie wordt getest op haar volledigheid, wordt nagegaan of be-paalde verbanden bestaan tussen de klassen die niet werden gedefinieerd in de on-tologie.

4.2.2 Racer Pro, Pellet en SWRLJess

De omgevormde ontologie is opgebouwd uit OWL-DL en SWRL. Deze gaan uitvan de open world assumption. De toegepaste ontologie is opgebouwd vanuit deopen world assumption, geschreven in OWL-DL en SWRL, maar aangezien SWRLgeen taal is die op zichzelf kan bestaan en enkel ondersteuning biedt aan OWL-DL:

1. is er een reasoner nodig die de OWL-DL-restricties test;

2. is er een reasoner nodig die de OWL-DL-restricties in combinatie met deSWRL-regels en -constraints test.

Om het OWL-DL-gedeelte van de ontologie te reasonen, is er gekozen voor Pellet[1] en Racer Pro[2]. Beiden zijn gekend als zeer volwaardige OWL-DL-reasoners.

De closed world e3-value-ontologie is omgevormd naar een open world taal,

Page 45: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

4 E3-valueconcepten naar SWRL 35

namelijk OWL-SWRL. De problematiek bestaat erin de ontologie - opgebouwduit closed world restricties - te controleren door middel van een open worldreasoner. Omdat het mogelijk is dat een situatie ongeldig blijkt te zijn, moetworden aangetoond dat een klasse inconsistent kan zijn voor die situatie.Om dit mogelijk te maken zijn hiervoor beperkte mogelijkheden beschikbaar,maar deze zijn moeilijk toe te passen op de restricties die in deze thesis zijnverwerkt.Voor eenvoudige restricties, die slechts bestaan uit een property, kan dit nogworden aangetoond. Voor moeilijkere restricties, restricties waarbij gebruikwordt gemaakt van minimum twee verschillende properties, zorgt dit echter voorproblemen.De ondernomen stappen worden besproken in paragraaf ??.

De SWRL-regels en -constraints zijn ingevoegd met behulp van de SWRL-Tab. De reasoner SRWLJessTab wordt door SWRLTab ondersteund en isgeımplementeerd in Protege. De naam verraadt dat de reasoner is gebaseerd opde Jess-taal. De reasoner vormt de OWL-code om tot een Jess-code, die dan kangetest worden. Daarna vormt de reasoner de resultaten terug om naar OWL enstuurt ze door naar Protege.

De SWRL-regels opgenomen in de toegepaste ontologie kunnen getest wor-den door de reasoner, maar de SWRL-constraints worden nog niet ondersteund.Daarom is er gezocht naar een alternatief, maar tot op heden is dat nog nietvoorhanden.

4.3 ondernomen stappen

Deze paragraaf bespreekt de ondernomen stappen om de bekomen ontologie te tes-ten door gebruik te maken van een reasoner.Tijdens het zoeken naar een mogelijkheid om de fouten in de restricties te ont-dekken werden verschillende denkpistes gehanteerd. Er werd gezocht naar eenmethode die garandeert dat een open world reasoner onmogelijk nog in staat kanzijn verder te redeneren. Als gevolg daarvan zou de reasoner een ’error’ moetenweergeven bij een ongeldige ontologie.

1. In de eerste poging tot het ontwikkelen van een methode werd gebruik ge-maakt van individuals. Een situatie waarbij de ingevoerde individuals nietvoldeden aan de restrictie werd ingegeven in Protege. Via de optie ’All-Different’ werden alle individuals verschillend gemaakt van elkaar en alleklassen ’disjoint’ gemaakt1. Het zoeken naar situaties waarbij een restrictievan minimum een property een ongeldige ontologie oplevert werd in eersteinstantie als zeer arbeidsintensief voor de gebruiker beschouwd. Toen werd

1Twee klassen die disjoint zijn kunnen onmogelijk elkaars individuals bevatten.

Page 46: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

4 E3-valueconcepten naar SWRL 36

de mogelijkheid overwogen om gebruik te maken van mappingregels, maardoor de omvang van de restricties opgenomen in de thesis, bleek dit geen op-lossing te vormen. Uiteindelijk bleek deze methode niet door alle reasonerste worden ondersteund.

2. Een andere methode beschrijft het beperkte gebruik van closed world rede-neren door gebruik te maken van een open world reasoner en een open worldtaal. In de methode worden ’equivalente properties’ en ’equivalente klassen’opgenomen in de ontologie. Deze moeten ervoor zorgen dat klassen en pro-perties niet uitbreidbaar zijn. Een ’equivalent property’ vormt een verwij-zing naar een andere property opgenomen in de ontologie. Analoog vormteen ’equivalente klasse’ een verwijzing naar een andere klasse die voorkomtin de ontologie. Nadat alle klasses terug ’disjoint’ werden gemaakt leverdeook deze strategie jammer genoeg niets op.

4.4 conclusie

Geen van bovenstaande methodes leverde het gewenste resultaat op. De manierwaarop de open world reasoner wordt beperkt is in beide methodes niet strikt ge-noeg. De reasener krijgt nog te veel ruimte voor veronderstellingen, met als gevolgdat er geen fouten worden weergegeven bij het overtreden van closed world restric-ties.De open world reasoner kan echter wel ondersteuning bieden bij het opstellen vande ontologie. Zo kunnen fouten aan het licht komen waarbij de properties over eenfoute range klasse beschikken.Tot slot kan geconcludeerd worden dat momenteel ontolgieen zoals e3-value bestworden opgenomen in een closed world taal zoals UML en OCL.

Page 47: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Besluit

In deze thesis werd de e3-value-ontologie beschreven in ”Value based Require-ments Engineering”[3], omgevormd tot een formele specificatie. Hiervoor werdgebruik gemaakt van de ProtegeOWLeditor, Racer Pro, Pellet, SWRLTab enSWRLJessTab. Racer Pro en Pellet werden aangewend als OWL-DL-reasoneren SRWLJessTab als OWL-SWRL-reasoner. Met behulp van bovenstaande toolswerd de e3-value-ontologie omgevormd naar OWL en SWRL.

4.5 Resultaten

De e3-value-ontologie werd succesvol ingevoerd in Protege.Eerst werden de nodige concepten en relaties omgevormd naar OWL-DL(Hoofdstuk 2).Door gebruik te maken van twee subklassen die ’disjoint’ zijn tegenover elkaarwerd een onderscheid gemaakt tussen in- en out value ports, hetgeen toelaat vraagen aanbod van elkaar te onderscheiden.Daarna werden de grafische regels en constraints en de OCL-regels omgevormdnaar OWL-DL en SWRL. SWRL werd enkel gebruikt als ondersteuning op deOWL-DL.

De proof-of-concepttoepassing, die beschreven staat in het oorspronklijkdoel van de thesis, werd niet geımplementeerd in Protege. Er werd namelijk geenmethode gevonden om de open world reasoner te gebruiken in OWL-DL als eenclosed world reasoner. Theoretisch gezien is dit mogelijk door de vrijheid van dereasoner te beperken, maar praktisch is dit niet uitvoerbaar in OWL-DL.

De open world reasoner werd echter wel als controle gebruikt tijdens hetimplementeren van de OWL-restricties en de SWRL-regels en -constraints.Het feit dat de reasoner geen fouten gevonden heeft kan erop wijzen dat dee3-value-ontologie correct werd beschreven en/of dat de opgenomen ontologiecorrect werd omgevormd in Protege.

37

Page 48: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

4 E3-valueconcepten naar SWRL 38

4.6 Uitbreidingen

Dit onderzoek is echter nog niet voltooid. Waarschijnlijk zullen in de nabije toe-komst meerdere reasoners over de mogelijkheid beschikken om zowel OWL alsOWL in combinatie met SWRL te testen. Momenteel bestaan er echter nog geenvolwaardige reasoners die de SWRL-constraints, opgenomen in deze thesis, kun-nen testen. Alle hoop is gevestigd op de volgende versies van Pellet. Deze zullenuitgebreidere OWL-SWRL-reasoning toelaten. Of die ook de SWRL-constraintszullen aankunnen valt nog af te wachten.[]

Page 49: Ontwikkeling van een Proteg´ e ontologie voor´ value modelling

Bibliografie

[1] Pellet. http://pellet.owldl.com/, 2008.

[2] racer. http://www.racer-systems.com/, 2008.

[3] J. Gordijn. Value based Requirements Engineering. PhD thesis, Universityof Amsterdam, 2002.

[4] J. Gordijn and H. Akkermans. E3-value: Design and evaluation of e-businessmodels. IEEE Intelligent Systems, 16(4):11–17, 2001.

[5] J. Gordijn, P. van Eck, and R. Wieringa. Requirements engineering techni-ques for e-services. MIT Press, 2008.

[6] T.R. Gruber. A translation approach to portable ontologies. Knowledge Ac-quisition, 1993.

[7] I. Horrocks, P.F. Patel-Schneider, H. Boley, S. Tabet, and M. Grosof,B.and Dean. Swrl: A semantic web rule language combining owl and ru-leml. http://www.w3.org/Submission/SWRL/, 2004.

[8] D. L. McGuinness and F. van Harmelen. Owl web ontology language over-view. http://www.w3.org/TR/2004/REC-owl-features-20040210/, 2004.

[9] Protege. Swrleditorfaq. http://protege.cim3.net/cgi-bin/wiki.pl?SWRLEditorFAQ, 2007.

[10] protege. Swrljesstab. http://protege.cim3.net/cgi-bin/wiki.pl?SWRLJessTab,2007.

[11] Protege. Owleditor. http://protege.stanford.edu/overview/protege-owl.html,2008.

[12] M. K. Smith, C. Welty, and D.L. McGuinness. Owl web ontology languageguide. http://www.w3.org/TR/2004/REC-owl-guide-20040210/, 2004.

[13] Wikipedia. Ontology. http://en.wikipedia.org/wiki/Ontology.

39