KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

23
KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001

Transcript of KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Page 1: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

KidSim: Agenten Sprachlos Programmieren

Seminar: SoftwareagentenUlrich AndreeWS 01/02 31.10.2001

Page 2: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 2

Inhalt

1. Einführung2. Agenten als persönliche Assistenten3. Das End User Programming Problem4. Programmieren mit graphischer

Oberfläche5. Programmbeispiel: KidSim6. Narval, ein persönlicher Assistent7. Zusammenfassung

Page 3: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 3

1. Einführung

Warum sollte ein Anwender einen Agenten programmieren?

Wie kann ein Agent von einem Anwender ohne den Einsatz einer Programmiersprache programmiert werden?

Page 4: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 4

2. Agenten als persönliche Assistenten

Eigenschaften eines Agenten: Agenten sind aktive, persistente

(Software) Komponenten, die ihre Umgebung wahrnehmen agieren und kommunizieren

Eigenschaften eines Interface Agenten: Agenten, die dem Anwender assistieren

Page 5: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 5

2. Agenten als persönliche Assistenten

Eigenschaften eines persönlichen Assistenten: Assistent kennt die Interessen,

Gewohnheiten und Vorlieben seines Anwenders

Assistent ist an Anwender angepasst

Page 6: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 6

2. Agenten als persönliche Assistenten

Adaptionstechniken von Agenten

Maschinelles Lernen

Anwender-Programmiert

Page 7: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 7

2. Agenten als persönliche Assistenten

Maschinelles Lernen Lernt durch Beobachtung des

Anwenders, erkennt Muster in dessen Verhalten

Passt sich genau dem Anwender an Verbessert seine Fähigkeiten ständig Agent ist nicht sofort einsetzbar

Page 8: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 8

2. Agenten als persönliche Assistenten

Anwender-Programmiert Anwender stellt Regeln und Kriterien

auf Agent gut angepasst an Anwender Anwender kann Agent vertrauen Anwender erkennt nicht immer, wann

er einen Agenten einsetzen kann Programmierung für viele Anwender zu

schwierig

Page 9: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 9

2. Agenten als persönliche Assistenten

Wichtigste Adaptionstechnik: maschinelles Lernen Um den Einsatz von Anfang an zu

verbessern: Kombination beider Konzepte

Programmierung durch den Anwender ist eine wichtige Technik zur Erschaffung persönlicher Assistenten

Page 10: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 10

3. Das End User Programming Problem

Nur wenige Anwender können programmieren

Ist Programmieren an sich zu schwierig?

Sind Programmiersprachen zu schwierig?

Page 11: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 11

3. Das End User Programming Problem

Lösungsansätze:

Einstellungen

Script Sprachen

Macro Recorder

Page 12: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 12

4. Programmieren mit graphischer Oberfläche

Die wichtigsten GUI-Prinzipien Sichtbarkeit Sehen und zeigen Kopieren und modifizieren Konkret statt abstrakt Minimale Übersetzungsdistanz

Page 13: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 13

4. Programmieren mit graphischer Oberfläche

Graphical Rewrite Rules Transformation eines Teils des Bildschirms von einem Zustand in einen anderen („vorher“-/„nachher“-Teil)

Rule-Generality Problem Wie werden graphische Darstellungen

verallgemeinert? Rule-Semantics Problem

Wie wird eine Transformation im Detail durchgeführt?

Page 14: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 14

4. Programmieren mit graphischer Oberfläche

Programming By Demonstration Im “Aufnahme” – Modus führt der

Anwender Aktionen durch, das System nimmt die Aktionen auf und wandelt sie in ein durchführbares Programm um.

Representation Problem Wie werden die gespeicherten Aktionen

repräsentiert?

Page 15: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 15

5. Programmbeispiel: KidSim

Kid’s Simulation Graphische Programmierumgebung für KinderZur Programmierung symbolischer SimulationenZiel: das „spielerische“ erlernen von Programmierfähigkeiten

Page 16: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 16

5. Programmbeispiel: KidSim

Die wichtigsten Bestandteile einer KidSim Simulation Spielbrett Rundenzähler Copy Box Regel-Editor simulierten Objekte

Page 17: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 17

5. Programmbeispiel: KidSim

KidSim-Agent: „Ein (KidSim-)Agent ist eine persistente

Software-Entität, die einem speziellen Zweck dient. ‚Persistent’ unterscheidet Agenten von Subroutinen. Agenten haben ihre eigenen Ideen, wie eine Aufgabe auszuführen ist, ihre eigenen Ziele. Der ‚spezielle Zweck’ unterscheidet sie von Multifunktions-Applikationen, Agenten sind typischerweise auch viel kleiner.“

autonom, proaktiv, nehmen ihre Umgebung wahr

Page 18: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 18

5. Programmbeispiel: KidSim

Rule-Generality Problem Picture / Property Abstraction

Rule-Semantics Problem Programming By Demonstration

Representation Problem Graphical Rewrite Rules

Page 19: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 19

5. Programmbeispiel: KidSim

Evaluation: Ziel: Verständnis der

zugrundeliegenden Programmierkonzepte

Ergebnis: Kinder (10-14) können sehr schnell mit

KidSim eigene Simulationen schaffen Erwerben kein tieferes Verständnis von

Programmierkonzepten

Page 20: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 20

6. Narval, ein persönlicher Assistent

Network Assistant Reasoning with Validating Agent Language intelligenter, persönlicher Software Assistent Designphilosophie : ready for use, easy to use

Page 21: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 21

6. Narval, ein persönlicher Assistent

Programmierung eines Agenten: Über eine graphische

Benutzeroberfläche (Horn) werden Rezepte (recipes) erstellt

Rezepte sind Sequenzen von Aktionen, die über Transitionen verbunden sind

Aktionen: Python-Scripts, Aktionsbibliotheken

Page 22: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 22

6. Narval, ein persönlicher Assistent

Filtern und Beantworten von e-Mails, Herausfiltern von Werbung aus Webseiten, Zusammenstellen einer Seite mit Nachrichten von verschiedenen Webseiten u.a.m.

Weiterentwicklung: Maschinelle Lerntechniken Kooperation zwischen Agenten

Page 23: KidSim: Agenten Sprachlos Programmieren Seminar: Softwareagenten Ulrich Andree WS 01/02 31.10.2001.

Software-Agenten: KidSim 23

7. Zusammenfassung

Anwender-Programmierung wichtig bei Agenten als persönlichen Assistenten (gemeinsam mit anderen Techniken)

End User Programming Problem: wichtig ist graphische Programmierschnittstelle

Zwei Beispiele: KidSim, Narval Programmierung über graphische

Oberfläche steht erst am Anfang, muss noch weiterentwickelt werden