Zoals er al te lezen viel in eerdere blogposts en er uit de doelstelling van onze thesis kan worden afgeleid zijn context en services beide cruciale onderdelen van onze thesis. Nu we bovendien een voorstelling voor de context gekozen hebben willen we ook een representatie kiezen voor de services.
Het kan logisch lijken om net zoals bij context ook voor ontologies te kiezen, maar dit hoeft niet per sé zo te zijn. Misschien zijn er wel belangrijke verschillen tussen context en services waardoor we bij services voor een andere representatie kiezen. Daarom zullen we, voor we dieper ingaan op de keuze voor een bepaalde representatie van de services, even services van wat dichterbij bekijken. We beschrijven niet alle technieken in detail omdat dit te veel overlap zou bevatten met eerdere blogs over de context representatie. Het is vooral belangrijk om te weten waarom we een bepaalde representatie kiezen.
Een belangrijke vraag die we ons moeten stellen: "Wat is een service?"
Twee mogelijke definites van 'service' zijn:
- Werk gedaan door een of meerdere personen waar iemand anders baat bij heeft.
- Een daad van hulp of assistentie.
In beide definities wordt iets gedaan voor iemand anders waar de ander baat bij heeft. In de setting van een domotica systeem zullen de services in het algemeen geen personen zijn. Een aantal voorbeelden van services in de setting van een domoticasysteem zijn te vinden in ons scenario:
- Een koffiezetapparaat biedt de service aan om koffie te zetten.
- Een wekker biedt een wekdienst aan, eventueel ook een klok en een radio. Een radio zou ook deze services kunnen aanbieden, maar een gewone klok biedt enkel de "klok"-service aan.
- Lichten en rolluiken bieden een andere dienst aan maar kunnen beide tot een gelijkaardig doel leiden, namelijk het huis licht of donker maken.
- Een online kalender kan een voorbeeld zijn van een webservice.
Waaraan moet een service representatie voldoen?
Uit de vorige voorbeelden blijkt dat bepaalde apparaten soms overlappende services aanbieden maar toch verschillende apparaten kunnen zijn. Daarom is het belangrijk dat onze servicebeschrijving voldoende informatie over de service kan bevatten. Dit is de belangrijkste vereiste van de representatie. We willen bovendien dat onze Service Composition Tool zo veel mogelijk automatisch kan werken, dus services moeten ook vergeleken worden met elkaar. De verschillende representaties moeten dus voldoende expressief zijn, en ze moeten eenvoudig met elkaar vergeleken kunnen worden. Twee andere eigenschappen van de representatie zijn dat ze voldoende flexibel en bewerkbaar moeten zijn [1].
Vergelijking van bestaande technieken
Keyword-based models bieden de eenvoudigste representatie. Ze bieden keywords aan om service te beschrijven. Het voordeel is dat ze heel gemakkelijk automatisch vergelijkbaar zijn. Aan de andere kant zijn ze heel erg beperkt in het beschrijven van een service. Vaak krijgen we bij een keyword-based systeem een "low precision and imperfect recall" [2].
Voorbeelden: filesharing networks gebruiken vaak keywords om te zoeken.
Template-based models hebben een betere expressiviteit dan de keyword-based representaties omdat er voor de beschrijving van de service nog verschillende eigenschappen kunnen aangevuld worden. De compositie-mogelijkheden bij de template based systemen blijven echter vaak beperkt tot het koppelen van de correcte output van de ene service naar de correcte input van de andere. Deze manier, zonder uitbreidingen, blijft dus te beperkend om er geavanceerde service compositie mee te gaan doen.
Voorbeelden: WSDL, ebXML, JXTA-Search, SLP
Ontology-based models maken het mogelijk om de semantiek van de services weer te geven. Deze semantiek is bovendien op een automatische manier te werken. Als we nu dus services ook gaan beschrijven op een semantisch niveau kunnen er slimmere koppelingen gemaakt worden dan eenvoudig weg input-output based.
Voorbeelden: OWL, SOUPA [3], DogOnt [4], DomoML [5]
Besluit
Na het opstellen van de voorwaarden voor onze representatie en het vergelijken van de bestaande modellen kunnen we besluiten dat ontologies voor onze toepassing het best zijn. We hebben eerder al voor ontologies gekozen bij de context-representatie; misschien kan dit later nog voordelig blijken. Nu we voor ontologies gekozen hebben is de volgende stap het kiezen van een specifieke ontology. Daarna kunnen we beginnen kijken naar service composition algoritmes die met ontologies werken.
Bronnen:
[1] AUTHOR: Michael Klein and Birgitta König-Ries and Universität Karlsruhe,TITLE: A Process and a Tool for Creating Service Descriptions Based on DAML-S, Booktitle: In Proceedings of 4th International Workshop Technologies for E-Services, TES 2003, Pages: 143--154, Publisher: Springer, Year: 2003
[2] AUTHOR: Abraham Bernstein and Mark Klein, TITLE: Towards High-Precision Service Retrieval, Journal: IEEE Internet Computing, Pages: 30--36, Volume: 8, Year: 2002
[3] AUTHOR: Harry Chen, Tim Finin and Anupam Joshi, TITLE: The SOUPA Ontology for Pervasive Computing, A
[4] AUTHOR: Lorenzo Sommaruga, Antonio Perri, and Francesco Furfari. TITLE: DomoML-env: an ontology for Human Home Interaction.
[5] AUTHOR: Dario Bonino and Fulvio Corno, TITLE: DogOnt - Ontology Modeling for Intelligent Domotic Environments.
=-=-=-=-=
Powered by Bilbo Blogger
Geen opmerkingen:
Een reactie posten