Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter."—  Präsentation transkript:

1 Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter

2 Universität Karlsruhe 2/19 Motivation: Reputationssystem Olaf Olli Peter kein Dienst Dienst Hätte Olaf Olli nicht vor Peter warnen können? kein Dienst Abmachung

3 Universität Karlsruhe 3/19 Beispiel für ein Reputationssystem Teilnehmer schicken Empfehlungen (Reputation)  beurteilen das Verhalten der Kooperationspartner  teilen es anderen mit Verteilte Reputationssysteme:  machen kooperatives Verhalten vorteilhaft  schützen Teilnehmer gegen Fehlverhalten Kann die negative Empfehlung missbraucht werden? PeterOlaf Olli Dienst kein Dienst Negative Empfehlung über Peter keine Kooperation Abmachung

4 Universität Karlsruhe 4/19 OlafPeter Olli Dienst Negative Empfehlung über Olaf Motivation: beweismittelbasiertes Reputationssystem Nachteile von negativen Empfehlungen: Diffamierung Olaf weiß nichts von einer Empfehlung keine Kooperation Abmachung

5 Universität Karlsruhe 5/19 Einführendes Beispiel mit Beweismitteln OlafPeter Olli Vertrag Dienst Quittung Negative Empfehlung über Olaf Definition elektronische Beweismittel: nicht-abstreitbare kryptographische Marken OlafPeter Olli Vertrag Dienst Negative Empfehlung über Olaf keine Quittung -> Diffamierung Negative Empfehlung über Peter Verteidigung? Quittung Quittung -> keine Diffamierung Quittung + Negative Empfehlung -> inkonsistentes Verhalten Verteidigung? keine Quittung

6 Universität Karlsruhe 6/19 Beweismittelverwalter Vertrag Dienst Quittung Negative Empfehlung über Olaf Beweismittelverwalter nötig, der folgendes leistet:  verwaltet Beweismittel  schließt Beweise aufgrund der vorliegenden Beweismittel Verteidigung? Quittung Peter Olaf Olli Beweismittelverwalter: NegativeEmpfehlung(von Peter, über Olaf, bei T1) Quittung(von Peter, an Olaf, bei T1) => Inkonsistenz(Peter)

7 Universität Karlsruhe 7/19 Realisierung des Beweismittelverwalters mit Hilfe eines logischen Schließers Kennt nur: Fakten Regeln Logischer Schließer Beweismittel Wissen Beweise schließen assoziativer Zugriff Dienstschnittstelle zum Reputationssystem

8 Universität Karlsruhe 8/19 Inhaltsübersicht Logischer Schließer 1. Dienstschnittstelle 2. Lückenüberbrückung 3. Evaluation 4. Zusammenfassung und Ausblick Reputationssystem Jess

9 Universität Karlsruhe 9/19 1. Dienstschnittstelle Beweisschließungspaket hinzufügen Beweismittel und Wissen hinzufügen assoziativer Zugriff Meldung von neuen Beweisen (Callback) Beweismittel zu Beweis anfordern

10 Universität Karlsruhe 10/19 2. Überblick über Softwarearchitektur Repository FactDefinitionStorage FactManager RegistrationManager Jess NewFactListener logischer Schließer 1. Dienstschnittstelle

11 Universität Karlsruhe 11/19 2. Entwurfsentscheidungen Grundlegende Entwurfsentscheidungen: Regeln in Jess-Syntax hinzufügen Anfrage über Zustand des Beweismittelverwalters nicht über Jess -> FactManager

12 Universität Karlsruhe 12/19 2. Lückenüberbrückung: FactDefinitionStorage FactDefinitionStorage: speichert die Faktendefinition ermöglicht die Konversion von Faktum in Statement und umgekehrt Reputationssystem Jess Statements Fakten

13 Universität Karlsruhe 13/19 Repository FactDefinition- Storage converteStateToFact (evidence) Fact- Manager putFact(factInfo) Registration- Manager indicate (newFact) FactManager: speichert alle Fakten bzw. Statements informiert den RegistrationManager von neuen Fakten 2. Lückenüberbrückung: FactManager (1) addEvidence (evidence)

14 Universität Karlsruhe 14/19 Hinzufügen von Fakten zu Jess aktiviert und feuert Regeln eine gefeuerte Regel fügt u.U. ein weiteres Faktum ein Beispiel: (defrule QuittungEinfügen (Quittung (AusstellerID ?a) (TransPartnerID ?p) (PartnerTransID ?tid) ) => (assert (Bestätigung (BestätigenderID ?a) (BestätigterID ?p) (BestätigterTransID ?tid) ) ) ) 2. Lückenüberbrückung: FactManager (2) NewFactListener hört mit, was in Jess passiert: - speichert die neuen Fakten im FactManager - setzt die Wurzelbeweismittel und Nachfolger

15 Universität Karlsruhe 15/19 2. Lückenüberbrückung: FactManager (3) Quittung Bestätigung Negative- Empfehlung Inkonsistenz Wurzelbeweismittel Nachfolger Wozu Wurzelbeweismittel und Nachfolger? Wurzelbeweismittel zu einem Beweis werden oft gefragt bei Löschen eines Faktums müssen seine Nachfolger auch gelöscht werden

16 Universität Karlsruhe 16/19 2. Lückenüberbrückung: RegistrationManager Registrator 1Registrator 2 RegistrationManager FactManager Erlaubnis InkonsistenzFakt Inkonsistenz indicate (InkonsistenzFakt)

17 Universität Karlsruhe 17/19 3. Evaluation der Beweismittelverwalter wird bei der Evaluation auf Korrektheit und Effizienz getestet der Korrektheitstest erfolgt mit Hilfe einiger Testfälle Ergebnis des Effizienztests (Pentium Mobile Prozessor, 1.4 MHz):

18 Universität Karlsruhe 18/19 4. Zusammenfassung und Ausblick Zusammenfassung: Beweismittel neutralisieren Nachteile des Reputationssystems eine Lücke existiert zwischen Dienstschnittstelle des Reputationssystems und logischem Schließer Lückenüberbrückung: – Abbildung der Statements auf Fakten -> FactDefinitionStorage – Speichern von Zustand des Beweismittelverwalters, Wurzelbeweismittel und Nachfolger -> FactManager – Melden von neuen Beweisen (Callback) -> RegistrationManager Ausblick: verwenden des Beweismittelverwalters im Kontext des Reputationssystems Auswirkung auf Reputationssystem evaluieren

19 Universität Karlsruhe 19/19 Vielen Dank für die Aufmerksamkeit

20 Universität Karlsruhe 20/19 Anhang

21 Universität Karlsruhe 21/19 Anforderungen des Reputationssystems an einen Beweismittelverwalter Ein Beweismittelverwalter muss folgendes leisten: Entgegennehmen eines Beweismittels / von Wissen ( addEvidence/addKnowledge ) Beweise schließen aufgrund der vorliegenden Beweismittel und des Wissens ( Regeln ) Liefern eines Beweises auf Anfrage ( getKnowledge ) Herausgeben der Beweismittel und des Wissens, die zu einem Beweis führten ( getRootEvidence/getRootKnowledge ) Melden, wenn ein neuer Beweis vorliegt ( indicate ) Löschen von Beweismitteln ( removeEvidence/removeKnowledge ) muss mit neuen Beweismittelarten umgehen können ( addPackage )

22 Universität Karlsruhe 22/19 Datenstrukturen im RegistrationManager Statement Typ handleKnowledge Callback handletemplate handletemplate

23 Universität Karlsruhe 23/19 Datenstrukturen im FactManager Fakt IDFaktInfo Statement StringFaktInfo Statement Typ FaktInfo1, FaktInfo2,... FaktInfo3, FaktInfo4,...

24 Universität Karlsruhe 24/19 Datenstrukturen im FactDefinitionStorage Fakt NameFakt Definition

25 Universität Karlsruhe 25/19 Einführendes Beispiel in Jess Syntax Definitionen der Fakten: (deftemplate Bestätigung (slot BestätigenderID) (slot BestätigterID) (slot BestätigterTransID) ) (deftemplate Quittung (slot AusstellerID) (slot TransPartnerID) (slot PartnerTransID) ) (deftemplate NegEmpfehlung (slot AusstellerID) (slot NegZuEmpfehlenderID) (slot NegZuEmpfTransID) )

26 Universität Karlsruhe 26/19 Einführendes Beispiel in Jess Syntax Definitionen der Fakten: Definitionen der Regeln: (deftemplate Bestätigung (slot BestätigenderID) (slot BestätigterID) (slot BestätigterTransID) ) (deftemplate Quittung (slot AusstellerID) (slot TransPartnerID) (slot PartnerTransID) ) (deftemplate NegEmpfehlung (slot AusstellerID) (slot NegZuEmpfehlenderID) (slot NegZuEmpfTransID) ) (defrule QuittungEinfügen (Quittung (AusstellerID ?a) (TransPartnerID ?p) (PartnerTransID ?tid) ) => (assert (Bestätigung (BestätigenderID ?a) (BestätigterID ?p) (BestätigterTransID ?tid) ) ) ) (defrule BeweiseInkonsistenz (NegEmpfehlung (AusstellerID ?a) (NegZuEmpfehlenderID ?p) (NegZuEmpfTransID ?tid) ) (Bestätigung (BestätigenderID ?a) (BestätigterID ?p) (BestätigterTransID ?tid) ) => (assert (Inkonsistenz (InkonsitenteEinheitID ?a) ) )

27 Universität Karlsruhe 27/19 Existierende Beweismittelverwalter die Idee, Beweismittel in einem Reputationssystem zu verwenden, erläutert bereits Assokan in seiner Dissertation er entwickelt eine Sprache, um Behauptungen formulieren zu können, die ein Verifier beweisen soll. außerdem entwickelt er ein Protokoll zwischen Usern/Anwendungen und dem Verifier Aber: der Verifier ist noch zu implementieren

28 Universität Karlsruhe 28/19 Lückenüberbrückung: Herausgeben von Beweismitteln und Wissen zu einem Beweis (1) getKnowledge liefert Statements zurück, aber nicht die Beweismittel und das Wissen, die zu diesem führten Methode getRootEvidences(Statement) liefert die Beweismittel als Array zurück, die zum übergebenen Statement führten die Beweismittel jedes Faktums stehen in seinem FaktInfo- Objekt im Vektor WurzelBeweismittelVorgänger

29 Universität Karlsruhe 29/19 RepositoryFactManagerFactInfo getRootEvidences getFactInfo(fact) getRootEvidences() Lückenüberbrückung: Herausgeben von Beweismitteln und Wissen zu einem Beweis (2) (fact)

30 Universität Karlsruhe 30/19 Lückenüberbrückung: Löschen von Beweismitteln (1) Beweismittel haben ein „Haltbarkeitsdatum“. Ist dieses abgelaufen, muss das Beweismittel gelöscht werden. Methode removeEvidence(beweismittel) löscht das Beweismittel der Successor-Vektor des FactInfo-Objekts hält alle Fakten, die aus dem FactInfo-Objekt geschlossen wurden

31 Universität Karlsruhe 31/19 Lückenüberbrückung: Löschen von Beweismitteln (2) RepositoryFactManagerFactInfo removeEvidence getFactInfo(evidence) removeSuccessingFacts() removeFact(fact) (evidence)

32 Universität Karlsruhe 32/19 Lückenüberbrückung: Liefern eines Beweises auf Anfrage (1) Methode getKnowledge(template) sucht Fakten, die dem template entsprechen das Ergebnis ist ein Array von Statements Beispiel 1: ist das template ein Vertrag -> Ergebnis sind alle existierenden Verträge Beispiel 2: ist das template ein Vertrag mit einer bestimmten AusstellerID -> Ergebnis sind alle Verträge, deren AustellerID mit der des templates übereinstimmt

33 Universität Karlsruhe 33/19 RepositoryFactManager getKnowledge query(template) Lückenüberbrückung: Liefern eines Beweises auf Anfrage (2) (template)

34 Universität Karlsruhe 34/19 Lückenüberbrückung: FaktDefinitionsSpeicher (1) Methode addPackage(package) übergibt dem Beweismittelverwalter die neue Beweismittelart Ziel: Jess mit den Typdefinitionen und den entsprechenden Regeln bekannt zu machen Package ist in Jess Syntax geschrieben das Package besteht aus:  Typ/Aufbau der Beweismittelart (deftemplate)  Typ/Aufbau des Wissens (deftemplate)  Hilfstypen (deftemplate)  Regeln (defrule)

35 Universität Karlsruhe 35/19 Lückenüberbrückung: FactInfo Das FactInfo speichert: das Beweismittel das Statement das Faktum die Wurzelbeweismittel das Wurzelwissen die Nachfolger

36 Universität Karlsruhe 36/19 Wahl eines logischen Schließers Anforderungen an den logischen Schließer: Plattform unabhängig -> Java basiert gute Performance beim Schließen kostenlos Logischer SchließerProgrammiersprachePerformanceKosten K-PCJavaausreichendniedrig JRULESJavaguthoch JESSJavagutmittel


Herunterladen ppt "Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter."

Ähnliche Präsentationen


Google-Anzeigen