Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service...
-
Upload
roetger-egly -
Category
Documents
-
view
111 -
download
1
Transcript of Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service...
Studienarbeit:
"Generierung von Korrektheitstests für den Vergleicher
von DIANE Service Descriptions"
Mirco Stern
Betreuender Mitarbeiter: Michael Klein
Betreuer: Prof. Dr. Dr. h.c. Lockemann
26.11.2004 Mirco Stern 2
Rahmen der SA: DSD
• Übergeordnetes Problem:Zusammenbringen von Dienstnehmer & Dienstgeber
• Ziel von DIANE Service Descriptions:
Vollständige Automatisierung der Dienstnutzung
• Finden eines Dienstgebers (Vergleich Nachfrage- Angebot)• Korrekter Aufruf (Belegung der Schnittstelle)
Semantische Beschreibung von Diensten:„DSD- DIANE Service Descriptions“
Dienstverzeichnis
DG DN
26.11.2004 Mirco Stern 3
Ziele der SA
• Generierung von Dienstbeschreibungen• 1 Nachfrage (Request)
• N Angebote (Offers)
• Zur Prüfung des MatchersDazu: 1) Berechnung des Vergleichsergebnisses
2) Korrekter Aufruf der Schnittstellen
• Zur Prüfung des Konzepts des Matchers• Wie häufig ist die gewählte Schnittstellenbelegung ausführbar?
• Wie optimal ist das gewählte Angebot (pessimistischer Matcher)?
26.11.2004 Mirco Stern 4
Inhalt
• Ziele der Studienarbeit (Thema)
• Überblick über die zugrundeliegende Technologie: DIANE Service Descriptions (DSD)
• Aufbau des Generators für Dienstbeschreibungen
• Probleme/ Schwierigkeiten bei der Umsetzung
• Zusammenfassung
26.11.2004 Mirco Stern 5
Beispielontologie
Drug
price
ONTOLOGY: domain.drug
VegetableDrug
ChemicalDrug
interactionString
name domain.company
Company
domain.indication
Indication
Booleanprescription drug
manufacturer
reason of use
domain.money
Price
domain.substance
Active AgentGroup
active agent group
6
Beispielontologien
Company
ONTOLOGY: domain.company
Stringname
domain.location
Location
domain.sector
Sector
place of business
industrial sector
Drug
price
ONTOLOGY: domain.drug
VegetableDrug
ChemicalDrug
interactionString
name domain.company
Company
domain.indication
Indication
Booleanprescription drug
manufacturer
reason of use
domain.money
Price
domain.substance
Active AgentGroup
active agent group
ass 500: Chemical Drugprice
name ratiopharm :Company
prescription drug
manufacturer
reason of useactive agent group
"ASS-ratiopharm 500"
<false>
interaction
...
...
...
...
ratiopharm :Company
name
place of business
industrial sector
"rationpharm GmbH"
...
...
7
DSD- Request
Dienstnehmer suchteine Funktionalität,keinen bestimmten Dienst!
Owned
:Service
:ServiceProfile
presents
effect
presciptiondrug
interactionmanufacturer
price
reason of use
Company
== germany
Country
Boolean
== false
Indication
== headache
place ofbusiness
Vegetable Drug super[1, 0.7]
PriceOUT
entity
Drug
!= imodium
Menge
8
DSD- Request
Owned
:Service
:ServiceProfile
presents
effect
presciptiondrug
interactionmanufacturer
price
reason of use
Company
== germany
Country
Boolean
== false
Indication
== headache
place ofbusiness
Vegetable Drug super[1, 0.7]
PriceOUT
entity
Drug
!= imodium
Direkte Bedingung
Variable
Type Check Strategy
Menge
9
DSD- Request
Owned
:Service
:ServiceProfile
presents
effect
presciptiondrug
interactionmanufacturer
price
reason of use
Company
== germany
Country
Boolean
== false
Indication
== headache
place ofbusiness
Vegetable Drug super[1, 0.7]
PriceOUT
entity
Drug
!= imodium
Drug
ONTOLOGY: domain.drug
VegetableDrug
ChemicalDrug
26.11.2004 10
DSD- Offer
:Owned
:Service
:ServiceProfile
presents
effect
presciptiondrug
interaction
manufacturer
price
reason of use<false>
Drug
active agentgroup
currencyamount
StringOUT name
PriceOUT
Double
> 2.35< 8.00
Currency
== eur
Active Agent Group
== anticoagulants
entity
Chemical Drug
Company
== ratiopharm
Indication
in {headache,thrombosis}
IN
Aufgaben des Vergleichers:
1) Vergleichsergebnis 2) Belegen der Variablen
26.11.2004 Mirco Stern 11
Vergleich Nachfrage- Angebot
• Ergebnis є [0, 1]
• Vergleich rekursiv entlang der Nachfrage:
„Ist das Angebot ein Element der Nachfragemenge“
1) Typ
2) Direkte Bedingungen
3) Attribute
interaction
manufacturer
Drug
active agentgroup
Active Agent Group
== anticoagulants
...
...
...
...
interaction
manufacturer
place ofbusiness
...
...
...
...
Company
== germany
Country
Vegetable Drug super[1, 0.7]
(Request:)
(Offer:)
Drug
!= imodium
Company
== ratiopharm
Chemical Drug
26.11.2004 Mirco Stern 12
Inhalt
• Ziele der Studienarbeit (Thema)
• Überblick über die zugrundeliegende Technologie: DIANE Service Descriptions (DSD)
• Aufbau des Generators für Dienstbeschreibungen
• Probleme/ Schwierigkeiten bei der Umsetzung
• Zusammenfassung
26.11.2004 Mirco Stern 13
Allgemeines Vorgehen:
1) Erzeugung einer Nachfrage (Request) - zufällig2) Erzeugung eines Angebots (Offer) entlang der
Nachfrage
Motivation:
Bei nur einer Abweichung ist das Vergleichsergebnis 0.0!
• Vorgehen grundsätzlich gleich!
Veranschaulichung des Vorgehens am Beispiel des Angebots (Aufbau eines Offers)
26.11.2004 Mirco Stern 14
Ausgangspunkt:
:Service
:ServiceProfile
presents
effect
<State>
Gerüst des Angebots:Die fertigeNachfrage:
Owned
:Service
:ServiceProfile
presents
effect
presciptiondrug
interactionmanufacturer
price
reason of use
Company
== germany
Country
Boolean
== false
Indication
== headache
place ofbusiness
Vegetable Drug super[1, 0.7]
PriceOUT
entity
Drug
!= imodium
26.11.2004 Mirco Stern 15
Vorgehen beim Aufbau des Angebots:
(wesentliche Schritte:)1) Attribut im Request enthalten??? JA:
2) Soll es gesetzt werden??? JA:
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
26.11.2004 Mirco Stern 16
Vorgehen beim Aufbau des Angebots:
(wesentliche Schritte:)
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
:Service
:ServiceProfile
presents
effect
<State>
26.11.2004 Mirco Stern 17
Vorgehen beim Aufbau des Angebots:
(wesentliche Schritte:)
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
:Owned
:Service
:ServiceProfile
presents
effect
entity
<Thing>
26.11.2004 Mirco Stern 18
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten??? JA:
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
:Owned
:Service
:ServiceProfile
presents
effect
entity
<Thing>
26.11.2004 Mirco Stern 19
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???
2) Soll es gesetzt werden??? JA:
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
:Owned
:Service
:ServiceProfile
presents
effect
entity
<Thing>
26.11.2004 Mirco Stern 20
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributsa) Direkte Bedingung oder
Instanzb) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
Drug
ONTOLOGY: domain.drug
VegetableDrug
ChemicalDrug
:Owned
:Service
:ServiceProfile
presents
effect
entity
<Thing>
26.11.2004 Mirco Stern 21
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributsa) Direkte Bedingung oder
Instanzb) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
:Owned
:Service
:ServiceProfile
presents
effect
presciptiondrug
interaction
manufacturer
price
reason of use
Chemical Drugname
entity <Indication>
<Company>
<Drug><Price>
<String>
<Boolean>
22
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
:Owned
:Service
:ServiceProfile
presents
effect
presciptiondrug
interaction
manufacturer
price
reason of use
Chemical Drugname
entity <Indication>
<Company>
<Drug><Price>
<String>
<Boolean>
23
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
interaction
manufacturer
reason of use
Chemical Drug
entity <Indication>
<Company>
<Drug>
...
24
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
interaction
manufacturer
reason of use
Chemical Drug
entity
<Company>
<Drug>
...
Indication
in {headache,thrombosis}
26.11.2004 Mirco Stern 25
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
interaction
manufacturer
reason of use
Chemical Drug
entity
<Company>
<Drug>
...
Indication
in {headache,thrombosis}
IN
26.11.2004 Mirco Stern 26
Probleme bei OffIn-Variablen
Indication
== headache
Entsprechende Stelle im Request:
Problem 1: Änderung des Vergleichsergebnisses:
Vergleichsergebnis: 0.0
Vergleichsergebnis: 1.0
interaction
manufacturer
reason of use
Chemical Drug
entity
<Company>
<Drug>
...
Indication
in {headache,thrombosis}
IN
26.11.2004 Mirco Stern 27
Probleme bei OffIn-Variablen
Problem 2: Einschränkung der Belegungsmöglichkeiten:
interaction
manufacturer
reason of use
Chemical Drug
entity
<Drug>
...
Indication
in {headache,thrombosis}
IN
Company
in {ratiopharm, bayer}
IN
26.11.2004 Mirco Stern 28
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUTinteraction
manufacturer
reason of use
Chemical Drug
entity
<Company>
<Drug>
...
Indication
in {headache,thrombosis}
IN
29
Vorgehen beim Aufbau des Angebots:
1) Attribut im Request enthalten???
2) Soll es gesetzt werden???
3) Typwahl (Abhängig von Type Check Strategy)
4) Einschränkung des Attributs
a) Direkte Bedingung oder Instanz
b) Attributbedingungen
5) Setzen von Variablen: OffIN, OffOUT
6) Binden von ReqOUT
interaction
manufacturer
reason of use
Drug
active agentgroup
Active Agent Group
== anticoagulants
entity
...
Indication
in {headache,thrombosis}
IN
Company
== ratiopharm
Chemical Drug
Company
== germany
Country
Drug
!= immodium
26.11.2004 Mirco Stern 30
ReqOUT-Variablen
6) Binden von ReqOUT
• OffOUT:• Ausgabe übernehmen
• Instanz:• Instanz ausgeben
• OffIn:• Gewählte Instanz ausgeben
• Menge:• Problem: Mehrelementige Mengen
presciptiondrug
interaction
manufacturer
price
reason of use
Chemical Drug
<false>
Drug
active agentgroup
currencyamount
StringOUT name
PriceOUT
Double
> 2.35< 8.00
Currency
== eur
Active Agent Group
== anticoagulants
entity
...
...
...
26.11.2004 Mirco Stern 31
Inhalt
• Ziele der Studienarbeit (Thema)
• Überblick über die zugrundeliegende Technologie: DIANE Service Descriptions (DSD)
• Aufbau des Generators für Dienstbeschreibungen
• Probleme/ Schwierigkeiten bei der Umsetzung
• Zusammenfassung
26.11.2004 Mirco Stern 32
Schwierigkeiten
• Request:• Keine leeren Mengen erzeugen
(Zusammenhänge der Beschreibungselemente von DSD herausfinden und umsetzen)
• (Request & Offer:) Sonderfall Entitätsmengen
• Offer:• In jedem Schritt: Menge ins Request einpassen- Vergleichsergebnis!
• OffIN:• Neuberechnung des Vergleichsergebnisses• Belegung der Variablen (Schnittstellen)
• Z.T. wie der Vergleicher agieren
26.11.2004 Mirco Stern 33
Zusammenfassung
• Generierung von Anwendungsbeispielen für den Vergleicher von Dienstbeschreibungen
• Zentraler Ansatz:– Aufbau der Nachfrage– Generierung der Angebote „entlang“ der
Nachfrage