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

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Sortieren I - Bubblesort -
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Universität Rostock Fakultät für Informatik und Elektrotechnik Institut für Informatik, Lehrstuhl DBIS Albert-Einstein-Straße 21, D Rostock Putbus,
der Universität Oldenburg
Nach dem Buch „Garantiert Schreiben lernen“ von Gabriele L. Rico
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Die Firewall Was versteht man unter dem Begriff „Firewall“?
Nutzung und Bedeutung von Business Intelligence und Business Intelligence Methoden und -Werkzeugen Durch die Analyse des BI mit dem Fokus der Managementunterstützung.
Zahlentheorie Algebra und Kryptografie
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Einzeltests im Rahmen des V-Modelles Aufgaben Überprüfung des Programmcodes mit Hilfe.
FH-Hof Einbindung von JavaScript Anweisungen
DOM (Document Object Model)
DNS – Domain Name System
E-Learning Sprachen für die Modellierung und regelbasierte Ausführung von computerunterstützten Planspielen.
Agenda Einführung Haskell QuickCheck Zusammenfassung
Fakten, Regeln und Anfragen
Einsatz von XML zur Kontextspeicherung in einem agentenbasierten ubiquitären System Faruk Bagci, Jan Petzold, Wolfgang Trumler und Theo Ungerer Lehrstuhl.
Fliegengewicht Ein objektbasiertes Strukturmuster.
Sebastian Grahn Sebastian Kühn
Programmierung von Expertensystemen am Beispiel von CLIPS/COOL
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Universität Karlsruhe
Universität Karlsruhe Diplomarbeit von Georgios Papadopoulos
ERWEITERUNG VON TUPLE SPACES IN RICHTUNG EINER MIDDLEWARE FUER eCOMMERCE Philipp Obreiter Telecooperation Office (TecO) Universitaet Karlsruhe.
1 Dienstbeschreibung mit DAML Ein graphischer Editor für DAML - Ting Zheng Betreuer: Michael Klein, Philipp Obreiter.
TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Programmierpraktikum SS-2001 Beyond Java - Automatische Generierung von Benutzungsoberflächen.
Maschinelles Lernen und automatische Textklassifikation
Types and Programming Languages: Einführung Typen SWT Seminar WS 05/06
? Was ist Informatik? Was ist Informatik? Alexander Lange
Steuerung externer Komponenten über ein USB-Interface.
Einführung in die Programmierung
.Net Security. Motivation Rad nicht neu erfinden -> Nutzung der Sicherheitsfunktionen des Betriebssystems (zB Encryption, Authentifizierung,...) Zusätzlich.
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Holonische Multiagentensimulation
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Java für Fortgeschrittene
Microsoft® Office® 2010-Schulung
Jeder zukünftige Ingenieur lernt eine mathematische Aufzeichnung, um die Summe von zwei tatsächlichen Größen, zu dem Beispiel entsprechend leicht aufzuzeichnen.
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.
Anregung für die Gestaltung von differenzierten Aufgabenstellung
Speichern von Informationen
Mark – Compact GC & Performancemessungen Bernhard Prügl,
Speichern von Informationen
Multivariate Statistische Verfahren
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Eine kurze Einführung.  Software zur Erstellung eines Dokumenten- servers  Dient zur Aufbewahrung von allen Typen von digitalen Inhalten (Texte, Bilder,
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Management, Führung & Kommunikation
Entwurf Anwendungslogik SS2005.
Vortrag - Diplomarbeiten (HS I)
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Lehrveranstaltung anlegen. LV anlegen 1 2 Lehrstuhl auswählen Lehrerhebung: Verwaltung von Lehrveranstaltungen.
Grober Ablauf & Beteiligte Veranstaltung aus dem Vorjahr kopieren Terminserie(n) aus dem Vorjahr kopieren Veranstaltung bearbeiten Veranstaltung erstellen.
Anbindung eines Ontologie- basiertes Risikomanagement- systems an eine XML-Datenbank Datenbankseminar am Lehrstuhl für Praktische Informatik III Vortrag.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Digicampus Session Sommersemester 2016 Austauschprogramm WeltWeit.
Universität des Saarlandes Fachrichtung 5.6 Informationswissenschaft 21. November 2006infowissWIKI1 Projekt eLEWIT: E-Learning-Entwicklung mit Hilfe der.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
verkettete Strukturen
 Präsentation transkript:

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

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

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

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

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

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)

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

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

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

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

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

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

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)

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

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

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

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

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

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

Universität Karlsruhe 20/19 Anhang

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 )

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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