Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service...

33
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

Transcript of Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service...

Page 1: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 2: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 3: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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)?

Page 4: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 5: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 6: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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"

...

...

Page 7: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 8: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 9: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 10: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 11: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 12: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 13: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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)

Page 14: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 15: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 16: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

Page 17: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

Page 18: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

Page 19: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

Page 20: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

Page 21: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

Page 22: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

Page 23: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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>

...

Page 24: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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}

Page 25: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 26: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 27: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 28: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 29: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 30: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

...

...

...

Page 31: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 32: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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

Page 33: Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.

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