128
Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning 2 UNIVERSITY OF SCIENCE AND TECHNOLOGY AGH Faculty of Electrical Engineering, Automatics, Computer Science and Electronics DEPARTMENT OF COMPUTER SCIENCE Anwendung von Multi-agentensystemen im E-Learning MAESTRO Multiagenten-Architektur für E-Learning Systeme Diplomarbeit Autor: Andrzej Kononowicz Unter wissenschaftlicher Betreuung von: TU Clausthal Prof. Dr. Michael Kolonko AGH Kraków Dr. Malgorzata Żabińska Dipl. Ing. Witold Rakoczy Clausthal-Zellerfeld/Kraków 2004

UNIVERSITY OF SCIENCE AND TECHNOLOGY AGHbioinformatics.cm-uj.krakow.pl/akononowicz/pub/04DiplomAGH.pdf · Tests und Eindrücke aus der Implementierung des Prototyps ... Die Forschung

Embed Size (px)

Citation preview

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

2

UNIVERSITY OF SCIENCE AND TECHNOLOGY

AGH Faculty of Electrical Engineering, Automatics,

Computer Science and Electronics

DEPARTMENT OF COMPUTER SCIENCE

Anwendung von Multi-agentensystemen im

E-Learning

MAESTRO Multiagenten-Architektur für E-Learning Systeme

Diplomarbeit

Autor: Andrzej Kononowicz

Unter wissenschaftlicher Betreuung von: TU Clausthal Prof. Dr. Michael Kolonko AGH Kraków Dr. Małgorzata Żabińska Dipl. Ing. Witold Rakoczy

Clausthal-Zellerfeld/Kraków 2004

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

3

Diese Arbeit entstand im Rahmen der Kooperation zwischen der Technischen Universität Clausthal

und der University of Science and Technology AGH Kraków

Ich möchte mich sehr herzlich bei den wissenschaftlichen Betreuern meiner Diplomarbeit: Prof. Dr. Michael Kolonko, Dr. Małgorzata Żabińska und Dipl. Ing. Witold Rakoczy,

für die geleistete Hilfe bedanken.

Ich danke auch PD Dr. Ekhard Hultsch und Dr. Renate Hultsch für die große Unterstützung während meines Aufenthaltes in Deutschland und für die jahrelange Freundschaft.

Ich widme die Arbeit meinen Eltern.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

4

Inhaltsverzeichnis

1. Einleitung __________________________________________________________________________ 7 1.1. Ursprung der Arbeit____________________________________________________________7 1.2. Ziel der Arbeit_________________________________________________________________8 1.3. Struktur der Arbeit ____________________________________________________________9 1.4. Bemerkungen zur Sprache ______________________________________________________9

2. Einführung in die Multiagententechnologie______________________________________________ 11 2.1. Die Definition des Agent________________________________________________________11 2.1.1. Der allgemeine Begriff________________________________________________________11 2.1.2. Agent in der Künstlichen Intelligenz_____________________________________________12 2.1.3. Definition des Agenten nach Demazeau und Müller ________________________________12 2.1.4. Definition des Agenten nach Jennings und Wooldridge _____________________________13 2.1.5. Definition des Agenten nach Feber______________________________________________13 2.1.6. Weitere Klassifizierung der Agenten _____________________________________________14

2.1.6.1. Reflexive und kognitive Agenten 14 2.1.6.2. Kollaborative Agenten 15 2.1.6.3. BDI-Agenten 15 2.1.6.4. M-Agent 15 2.1.6.5. Software Agenten 15 2.1.6.6. Mobile Agenten 15

2.2. Der Begriff der Multiagentensysteme_____________________________________________16 2.3. Standards für Agenten_________________________________________________________16 2.3.1. FIPA ______________________________________________________________________16 2.3.2. MASIF ____________________________________________________________________18

2.4. Beispiele von Agentenplattformen _______________________________________________19 2.4.1. IBM Aglets Workbench _______________________________________________________19 2.4.2. MadKit ____________________________________________________________________20 2.4.3. JADE _____________________________________________________________________21

2.5. Übersicht der Anwendungsgebiete für Multiagentensysteme _________________________22 2.5.1. Verteiltes Lösen von Problemen ________________________________________________22 2.5.2. Simulationen _______________________________________________________________23 2.5.3. Robotik ____________________________________________________________________25 2.5.4. Internet ____________________________________________________________________25 2.5.5. Intelligente Softwarearchitekturen ______________________________________________27 2.5.6. Andere Agentenanwendungen und Zukunftsperspektiven des Einsatzes von Agenten. _____27

3. Charakteristik des E-Learning ________________________________________________________ 29 3.1. Einführung __________________________________________________________________29 3.2. Grundlagen des Lernens _______________________________________________________30 3.3. Lernparadigmen______________________________________________________________31 3.3.1. Behaviourismus _____________________________________________________________31 3.3.2. Kognitivismus_______________________________________________________________32 3.3.3. Konstruktivismus ____________________________________________________________32

3.4. E-Learning im Detail __________________________________________________________32 3.4.1. St. Galler E-Learning-Referenzmodell ___________________________________________33

3.5. Technologien des E-Learnings___________________________________________________35 3.5.1. Diskussionsforum____________________________________________________________36 3.5.2. Virtuelles Klassenzimmer______________________________________________________36

3.6. E-Learning-Plattformen _______________________________________________________37 3.6.1. WebCT ____________________________________________________________________38

3.7. Ausgewählte Beispiele von E-Learning-Aktivitäten _________________________________39 3.7.1. ELAN Niedersachsen_________________________________________________________40 3.7.2. Fernuniversität Hagen________________________________________________________40 3.7.3. Polski Uniwersytet Wirtualny __________________________________________________41

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

5

3.7.4. Zusammenfassung der gebrachten Beispiele ______________________________________41 3.8. Warum E-Learning? __________________________________________________________41 3.9. Nachteile des E-Learning_______________________________________________________43 3.10. Zusammenfassung ____________________________________________________________43

4. Grundlagen des Semantic Web ________________________________________________________ 44 4.1. Einführung __________________________________________________________________44 4.2. Schichten des Semantic Web ____________________________________________________45 4.3. Sprachen des Semantic Web ____________________________________________________46 4.3.1. RDF ______________________________________________________________________46 4.3.2. RDF Schema _______________________________________________________________47 4.3.3. OWL ______________________________________________________________________47

4.4. Übersicht der Werkzeuge zum Bau des Semantic Web ______________________________48 4.4.1. Semantic Web-Editoren _______________________________________________________48 4.4.2. RDF Datastores _____________________________________________________________48 4.4.3. APIs für Semantic Web _______________________________________________________48

4.5. Beispiele von Anwendungen des Semantic Web ____________________________________49 4.5.1. Data Mining ________________________________________________________________49 4.5.2. Verbinden von Zeitplänen _____________________________________________________49 4.5.3. Semantic Web im E-Learning __________________________________________________49

4.6. Kritik des Semantic Web _______________________________________________________50 4.7. Zusammenfassung ____________________________________________________________51

5. Übersicht der Möglichkeiten der Anwendung von Softwareagenten im E-Learning_____________ 52 5.1. Gründe der Verwendung der Agententechnologie im E-Learning _____________________52 5.2. Definition des pädagogischen Agenten ____________________________________________52 5.3. Beispiele von Agentenarchitekturen für Multiagentensysteme ________________________53 5.3.1. Multiagenten-Architektur für Intelligente Bildungssysteme __________________________53 5.3.2. Federated Architecture for Agent Communications_________________________________55 5.3.3. ADE-Architektur ____________________________________________________________56

5.4. Beispiele für realisierte Agenten-Systeme im E-Learning ____________________________57 5.4.1. Multiagentensystem zur Durchführung von Examen________________________________58 5.4.2. Agentenbasiertes E-Learning-System für Medizinstudenten __________________________58 5.4.3. Extempo Expert Characters____________________________________________________59

5.5. Zusammenfassung ____________________________________________________________61

6. MAESTRO-Architektur _____________________________________________________________ 62 6.1. Gründe für die Entstehung der MAESTRO-Architektur_____________________________63 6.2. Bemerkungen zur angewandten Notation _________________________________________63 6.3. Analyse der gebrauchten Funktionalität __________________________________________64 6.3.1. Der Lernende _______________________________________________________________65 6.3.2. Der Lehrende _______________________________________________________________66 6.3.3. Der Systemadministrator ______________________________________________________67

6.4. Architektur des System ________________________________________________________69 6.5. Lerneinheits-Knoten___________________________________________________________72 6.6. Benutzerdaten-Knoten_________________________________________________________74 6.7. MAESTRO-Agenten __________________________________________________________74 6.8. Beschreibung der Lerninhalte___________________________________________________78

7. MAT-MAESTRO ___________________________________________________________________ 82 7.1. Einschränkungen gegenüber der vollständigen MAESTRO-Architektur _______________82 7.2. Realisation der Funktionen des Lernenden ________________________________________83 7.2.1. Einloggen in das System ______________________________________________________85 7.2.2. Eröffnung eines neuen Lernmoduls _____________________________________________85 7.2.3. Wiedereröffnung eines Moduls _________________________________________________88 7.2.4. Anzeigen der gewünschten Seite mit Lerninhalten__________________________________88 7.2.5. Realisation der Hilfestellung ___________________________________________________89 7.2.6. Ausloggen aus dem System ____________________________________________________90

7.3. Beschreibung der Aktivitäten einzelner Agenten ___________________________________91 7.4. Realisation der Hilfestellung ____________________________________________________91

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

6

7.4.1. Algorithmus des Bezugs von Informationen aus dem semantischen Netz. _______________92 7.5. Realisation der Funktionen des Lehrenden und des Systemadministrators ______________94 7.6. Statische Struktur des Systems __________________________________________________95 7.7. Datenbanken im MAT-MAESTRO-System________________________________________96 7.7.1. Bemerkung zur Notationsform der Datenbankstruktur ______________________________96 7.7.2. Lerneinheits-Datenbanken ____________________________________________________96 7.7.3. Benutzerdaten-Datenbank _____________________________________________________97

7.8. Physische Struktur des Systems _________________________________________________99 7.8.1. MAESTRO-Plattform-Server__________________________________________________100 7.8.2. Lerneinheits-Knoten-Server___________________________________________________101 7.8.3. Benutzerdaten-Knoten-Server _________________________________________________103 7.8.4. Rechner des Lernenden ______________________________________________________104

8. Beschreibung der Implementation ____________________________________________________ 105 8.1. Beschreibung aus der Sicht des Programmierers __________________________________105 8.1.1. Prototypisch implementierte Elemente des MAT-MAESTRO ________________________105

8.2. Beschreibung aus der Sicht des Benutzers ________________________________________106 8.2.1. Prototyp des Learner UI______________________________________________________106

8.2.1.1. Das Einloggen in das System 106 8.2.1.2. Die Auswahl des Lernmoduls 107 8.2.1.3. Aufteilung der Steuerungs-Komponenten 107 8.2.1.4. Beschreibung des Menüs 108 8.2.1.5. Leistung der Hilfestellung 109

8.2.2. Prototyp des lmAdmins_______________________________________________________111 8.3. Beschreibung aus der Sicht des Systeminstallateurs ________________________________111 8.3.1. Installation des MAESTRO-Plattform-Servers____________________________________112 8.3.2. Installation des Lerneinheits-Knoten-Servers_____________________________________112 8.3.3. Installation des Benutzerdaten-Knoten-Servers ___________________________________112 8.3.4. Installationen auf dem Rechner des Lernenden ___________________________________112

9. Tests und Eindrücke aus der Implementierung des Prototyps______________________________ 113 9.1. Effizienz des Lerneinheits-Knotens______________________________________________113 9.1.1. Beschreibung des Tests ______________________________________________________113 9.1.2. Ergebnisse der Effizienzuntersuchung für die Einrichtung eines semantischen Netzes____114 9.1.3. Ergebnisse der Effizienzuntersuchung für Abfragen des semantischen Netzes __________115 9.1.4. Bewertung des Tests_________________________________________________________116

9.2. Eindrücke aus der Implementierung des Learner GUI _____________________________116

10. Zusammenfassung _________________________________________________________________ 118

A. Beschreibung des Inhalts der beigelegten CD _____________________________________________ 120

B. Literatur ___________________________________________________________________________ 121

C. Verzeichnis der wichtigsten Begriffe ____________________________________________________ 127

D. Abbildungs – und Tabellenverzeichnis___________________________________________________ 128

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

7

1. Einleitung

1.1. Ursprung der Arbeit

Die Welt ändert sich immer schneller. Die Wissenschaft bringt täglich neue Errungenschaften.

Das treibt die Technologie voran. Dementsprechend verändert sich auch der Arbeitsmarkt. Neue

Berufe entstehen, einige der alten werden nicht mehr gebraucht. Sehr breites Wissen ist seit langem

eine Grundvoraussetzung für einen gelungenen Start in die Karriere. Aber auch das reicht oft nicht für

das ganze Leben. Ohne Weiterbildung kann man leicht der Arbeitslosigkeit zum Opfer fallen. Die

Weiterbildung des Personals in Unternehmen wurde zum Alltag. Der Bedarf an verschiedenen Arten

von Bildungskursen wächst.

Weil die Zeit zu einer immer wertvolleren Ressource wird, versucht man den Bildungsprozess

mit Hilfe der neuen Technologien effizienter zu gestalten. Zeit und Ort des Lernens sollen dabei keine

Rolle spielen. Die neuen Trends fasst man unter dem Namen E-Learning (→ Kapitel 3) zusammen. Zu

einem sehr wichtigen Medium wurde dabei das Internet. Es bietet dem Lernenden eine nahezu

unerschöpfliche Quelle an neuem Wissen, die jederzeit und relativ einfach erreichbar ist. Kein

Buchverlag kann mit dem globalen Netz auf dem Gebiet der Geschwindigkeit oder Kosten der

Publikation konkurrieren. Leider ist das Internet als Wissensquelle bei weitem noch nicht ideal. Zwar

ist der Bestand des im Internet verfügbaren Wissens sehr groß, aber die Qualität der auf dieser Weise

zugänglichen Materialien lässt oft viel zu wünschen übrig. Einige sprechen sogar von einer Flut des

Unwissens oder der Desinformation. Um in der Menge der im Internet verfügbaren Daten die

gesuchten zu finden, entstanden spezielle Suchdienste wie z.B. Google [56] [97], Lycos oder Yahoo.

Obwohl man zu diesen Zwecken auch einige Technologien der Künstlichen Intelligenz verwendet ( →

2.5.4) sind die Ergebnisse der Internet-Recherche oft enttäuschend. Als Ergebnis der Suche

bekommen wir viele Verweise zu Informationen, die wir nicht gefordert haben, die uns nicht

interessieren oder die für uns zu schwer oder zu leicht sind. Oft finden wir die gesuchten Daten nicht,

obwohl sie irgendwo im Internet verfügbar sind. Grund dafür ist die Tatsache, dass die Suchverfahren

hauptsächlich auf dem mechanischen Vergleich von Zeichenketten basieren und nicht in der Lage

sind, die genannten Probleme selbstständig zu lösen. Was den Verfahren fehlt, ist ein elementares

Verständnis für die Bedeutung der gesuchten Information.

Eine Lösung für diese Probleme kann das Semantic Web sein [8] [120] (→ Kapitel 4). Dieses

Projekt ist keine utopische Vision einer Technologie, die den Maschinen das menschliche Denken

beibringen soll. Es ist nur ein Konzept, wie man die im Internet verfügbaren Ressourcen zusätzlich

beschreibt, um den maschinellen Verfahren die Möglichkeit zu geben, über die Semantik und die

Zusammenhänge der im Netz publizierten Materialien Schlüsse zu ziehen. Immerhin ist das aber ein

recht ehrgeiziges Ziel. Die Forschung auf diesem Gebiet dauert immer noch an, und die Einführung

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

8

eines globalen semantischen Netzes ist weiterhin in ferner Zukunft. Zu den wichtigsten Hindernissen

auf dem Weg zur Verbreitung der Technologie gehören: die ständigen Veränderungen der Standards,

Mangel an guten Werkzeugen, Fehlen an effizienten Inferenzmechanismen in großen Datenbeständen

und erheblicher Zeitbedarf zur Erstellung von gut beschriebenen Dokumenten. Dennoch werden schon

Versuche gemacht, das Konzept des semantischen Netzes in kleinen, abgegrenzten Wissensgebieten

einzuführen (→ 4.5).

Eng mit dem Semantic Web sind spezielle Verfahren verbunden, die semantische

Informationen automatisch verarbeiten können. Unter anderem befasst sich das Wissensgebiet der

Verteilten Künstlichen Intelligenz auch mit dieser Problemstellung. Die Kerntechnologie dazu sind

Multiagentensysteme (→ Kapitel 2). Agenten können autonom und gleichzeitig an verschiedenen

Orten das Wissen aus dem semantischen Netz beziehen, es mit Hilfe logischer Verfahren umbilden

und mit anderen Agenten austauschen, um so an die gesuchte Information heranzukommen. Dadurch

wird z.B. ermöglichlicht, Lernbestände aus mehreren Bildungszentren automatisch und transparent für

den Benutzer in einem E-Learning-System zu verbinden. Die „Intelligenz“-Eigenschaft erlaubt den

Agenten zusätzlich einige der Funktionen des Lehrenden zu übernehmen, wie z.B. die, an den

Lernenden angepasste Auswahl von didaktischen Inhalten (pädagogische Agenten → 5.2).

Die Idee des Semantischen Webs, verbunden mit der Multiagententechnologie kann viele neue

Möglichkeiten für die webbasierten Bildungssysteme mit sich bringen (z.B. [64]). Um jedoch das

technische Potential vollständig ausnutzen zu können, muss noch viel Arbeit geleistet werden. Was

noch fehlt, sind allgemein anerkannte Standards für dieses Gebiet der Anwendung der

Multiagentensysteme. Wichtig dabei ist, dass die Arbeiten sich nicht nur auf theoretische

Überlegungen beschränken, sondern dass versucht wird, die Konzepte auch praktisch zu realisieren.

Auf diese Weise kann man am besten die Korrektheit und den praktischen Nutzen der Ideen

überprüfen.

1.2. Ziel der Arbeit

Ziel meiner Arbeit ist, eine möglichst universelle Multiagenten-Architektur für E-Learning-

Systeme vorzuschlagen. Die Architektur soll den Aufbau großer und qualitativ guter E-Learning-

Systeme fördern. Dieses Ziel versuche ich durch die Entwicklung von Mechanismen zur

„intelligenten“ Beschreibung der didaktischen Inhalte und Wiederverwendung der existierenden

Wissensbestände zu erreichen. Mein Konzept wird auf den schon existierenden Lösungen aufbauen,

aber auch einige neue Ideen erhalten (wie z.B. Überlegungen zu der Wissensrepräsentation der

Lerninhalte). Ich werde untersuchen, in welcher Hinsicht Softwareagenten für Bildungszwecke

geeignet sind. Eine wichtige Frage ist, in welcher Form man Lernmaterialien effektiv und für

maschinelle Verfahren verständlich aufbewahren kann. Dabei werde ich den aktuellen Stand der

Wissenschaft beachten, wie auch die verfügbaren Technologien. In meiner Arbeit werde ich auch ein

kleines E-Learning-System entwerfen, das auf der von mir vorgeschlagenen Architektur aufbaut.

Einige der Elemente des Systems werde ich prototypisch implementieren. Das System soll in der

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

9

Mathematik (Spezialgebiet Statistik) angewandt werden. Der Lehrinhalt des E-Learning-Systems wird

u.a. ein Kapitel aus dem – im Rahmen des ELAN-Anstat-Projektes – auf der TU Clausthal

entstandenen Skriptums Statistik für Ingenieure von Michael Kolonko [43] sein.

1.3. Struktur der Arbeit

Meine Arbeit ist in 10 Kapitel und einen Anhang aufgeteilt. Der Anhang beinhaltet für das

Projekt wichtige Informationen, die aber aus Platzgründen nicht in die Arbeit mit aufgenommen

werden konnten. Kapitel 1 stellt die Thematik und die Ziele der Arbeit fest. Kapitel 2 ist eine

allgemeine Einführung in die Agententechnologie. Ich stelle einige Definitionen des Agenten und des

Multiagentensystems vor, charakterisiere kurz die allgemein anerkannten Standards für

Agentensysteme (FIPA, OMG), zeige Beispiele von Agentenumgebungen, und zum Schluss des

Kapitels widme ich mich den praktischen Anwendungen von Multiagentensystemen. Im Kapitel 3

befasse ich mich mit dem Begriff des E-Learining, einigen Lernparadigmen, Technologien für E-

Learning, sowie Beispielen schon realisierter Systeme aus diesem Bereich. Kapitel 4 gibt dem Leser

einen Einblick in das Semantic Web-Projekt. Kapitel 5 zeigt die Möglichkeiten der Synthese der E-

Learning-Systeme mit der Agententechnologie. Es werden vorhandene agentenbasierte Architekturen

für E-Learning vorgestellt, wie auch fertige Systeme, die Softwareagenten verwenden. Kapitel 6 ist

meinem Konzept einer Multiagenten-Architektur für E-Learning-Systeme gewidmet (die Architektur

habe ich MAESTRO genannt). Kapitel 7 umfasst einen formalen Entwurf eines Systems, der auf der

im Kapitel 6 vorgeschlagenen Architektur basiert. Das System werde ich MAT–MAESTRO nennen.

Das System wird nur einge Elemente der vollständigen MAESTRO-Architektur beinhalten. Ein

Prototyp des Systems wird im Rahmen dieser Diplomarbeit realisiert. Kapitel 8 ist eine Beschreibung

des implementierten Teils des MAT–MAESTRO-Systems. Die Beschreibung erfolgt aus drei Sichten:

des Programmierers, des Systemverwalters und des Benutzers. Die Beschreibung aus der Sicht des

Programmierers wird hauptsächlich mit Hilfe der UML Modellierungssprache (UML → 6.2)

dargestellt. Einige Teile der Beschreibung, die aus Platzgründen nicht in die Arbeit eingenommen

werden konnten, werden in den Anhang übergetragen. Kapitel 9 beinhaltet einen Bericht aus der

Testphase des prototypisch realisierten Systems. Kapitel 10 ist eine Zusammenfassung der Arbeit.

Ich habe mein Projekt MAESTRO genannt, weil das Wort der Abkürzung MAES

(Multiagenten-Architektur für E-Learning-Systeme) recht nahe liegt. Maestro bedeutet im

Italienischen Meister. Besonders gute Lehrer werden manchmal auch Meister genannt. So hat die

Wahl des Namens Maestro eine zusätzliche Begründung, da meine Arbeit sich mit modernen und

hoffentlich erfolgreichen Methoden der Lehre befassen wird.

1.4. Bemerkungen zur Sprache

Die vorliegende Diplomarbeit ist in der neuen deutschen Rechtschreibung geschrieben. Zitate aus

Texten in der alten Schreibung werden nicht in die neue transformiert. Englische Zitate werden stets

im Original belassen und nicht übersetzt.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

10

Zugunsten einer flüssigen und leicht lesbaren Sprache wurde darauf verzichtet, zusätzlich

weibliche Formen zu bilden (z.B. Benutzerin, Studentin, Lehrerin). Weibliche Personen sind bei den

Formulierungen aber stets mit eingeschlossen, es sei denn, es ist explizit das männliche Geschlecht

gemeint.

Eine gewisse Schwierigkeit war für mich in einigen Fällen die Wahl zwischen den Präfixen Lern-

und Lehr-. Obwohl der Unterschied zwischen Lernen und Lehren selbstverständlich ist1, war die

Trennung z.B. bei den Begriffen Lerneinheit und Lehreinheit nicht mehr so eindeutig. Die

Bezeichnung hängt von der Sicht des Betrachters ab. Der Lehrende spricht über Lehreinheiten, der

Lernende über Lerneinheiten. Gemeint wird aber immer dieselbe Information. Weil ich in der Arbeit

sowohl den Blickwickel des Lernenden wie auch den des Lehrenden präsentiere, werden die Begriffe

in der Arbeit abwechselnd benutzt.

In der Arbeit werden die englischen Fachausdrücke (z.B. des Semantic Web, des Pedagogical

Agent) übernommen und deshalb nicht nach den deutschen Regeln dekliniert.

1 Lernen als Aneignung des Wissens, Lehren als Übermittlung des Wissens. Das eine impliziert nicht unbedingt das andre.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

11

2. Einführung in die Multiagententechnologie

2.1. Die Definition des Agent

2.1.1. Der allgemeine Begriff

Den Begriff „Agent“ kennt wahrscheinlich jeder aus dem alltäglichen Leben. Das Wort kommt

von dem lateinischen Verb agere was wirken, handeln, zugleich aber auch vortäuschen bedeutet. Die

älteste von mir gefundene deutschsprachige Definition des Agenten kommt aus dem Jahre 1732 [68]2:

„Agenten, sind eigentlich zu reden, Leute, welche die Stande bey ihrem Oberhaupte halten, derer

Ansehen wol3 nicht gar sonderlich, ihre Function aber darinnen bestehet, daß sie Supplicationes4

machen, Bescheide sollicitiren5, und Relationes6 an die, von welchen sie ihre Bestallungen haben,

verfertigen. Sie müssen demnach etwas mit aus der Schule gebracht, oder durch die Prarin7 in denen

Dingen, so sie verwalten sollen, Erfahrung erlanget haben (…)“

Heutzutage hat der Begriff viele Bedeutungen. Zuerst: Agent als Spion, Mitarbeiter eines

Geheimdienstes. Eindeutig negativ gingen Stasi-Agenten in die deutsche Geschichte ein. Agenten

wurden aber auch zu Kinohelden wie z.B. James Bond – Agent im Dienste der britischen Krone.

Künstler haben auch ihre Agenten. In diesem Sinne sind das Personen, die Engagements der Artisten

vermitteln. Im Österreichischem (sonst veraltet) Önennt man auch Handelsvertreter Agenten. Im

angelsächsischen Bereich spricht man zusätzlich z.B. vom estate agent, was auf Deutsch

Grundstücksmakler bedeutet oder travel agent – Vertreter einer Reiseagentur.

Alle diese Bedeutungen – scheinbar so verschieden – weisen einige gemeinsame Merkmale auf.

Agenten sind immer Personen, die im Dienste anderer wirken (sei es der Staat, ein Artist oder ein

Reisebüro). Agenten sind in ihren Handlungen leistungsfähig und verfügen über eine gewisse

Autonomie (die Agenten wissen manchmal besser als ihre Auftraggeber deren Interessen zu vertreten

– z.B. Agenten der Künstler oder estate agents). Agenten arbeiten oft an vielen verschiedenen Orten

(deshalb sollten sie mobil sein) in fremder Umgebung (die Fähigkeit der Anpassung ist hier sehr

wichtig). In Namen ihres Mandanten verhandeln sie mit anderen Menschen, deshalb sollten sie

2 Zitiert in der altdeutschen Originalversion 3 wol [veraltet deutsch] - wohl 4 supplicatio [lat.] – Buß und Betfest im unglücklichen Zeiten, in diesem Fall kommt es aber wahrscheinlich von

„supplizieren“ – veraltetet für Bittgesuch einreichen 5 sollizitieren [veraltet deutsch] - nachsuchen 6 relatio [lat.] - Bericht 7 vermutlich - Praxis

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

12

kooperationsbereit sein. Aus den gesammelten Erfahrungen zieht ein guter Agent Schlüsse für

weiteres Handeln, deshalb sollte er auch lernfähig sein.

2.1.2. Agent in der Künstlichen Intelligenz

In der derzeitigen wissenschaftlichen Literatur findet man sehr viele unterschiedliche

Definitionen des Begriffs Agent. Zum größten Teil beziehen sich die Erläuterungen auf Merkmale des

allgemeinen Agenten. Verschiedene Aspekte des Begriffs werden aber unterschiedlich stark betont,

einige neue anwendungsspezifische Eigenschaften nimmt man in die Definition mit hinein8. In meiner

Arbeit präsentiere ich drei Definitionen des Agenten, verfasst von Autoritäten auf dem Gebiet der

Agententechnologie.

2.1.3. Definition des Agenten nach Demazeau und Müller

Ein Agent ist laut Demazeau und Müller ein intelligentes Wesen, das rational und absichtlich in

Hinsicht auf sein Ziel und momentanes Wissen handelt [23]. In seinem Lebenszyklus befasst sich der

Agent mit zahlreichen, oft unsicheren oder gar widersprüchlichen Informationen und befolgt die

häufig in Konflikt stehenden Ziele. In seiner Handlung muss der Agent die Unvollständigkeit seines

Wissens, wie auch seine fehlerbehaftete Wahrnehmung und eingeschränkte Wirkungskraft auf die

Umgebung berücksichtigen.

Um die Eigenschaften des Agenten besser beschreiben zu können, führen Demazeau und Müller

das Modell des generischen Agenten ein (Abbildung 2-1).

Kommunikation Wissen

Möglichkeiten

Ziele

Wahl

PerzeptionSchlussfolgerungs-

fähigkeitenEntscheidungs-fähigkeiten

Abbildung 2-1 Das Modell des generischen Agenten [23]

Ein Agent hat nach diesem Modell eine innere Repräsentation der Umgebung, in der er sich bewegt,

oder des Problems, das er zu lösen versucht. Diese Repräsentation nennt man das Wissen des Agenten.

Das Wissen bezieht er durch den Perzeptionsmechanismus und durch Kommunikation mit anderen

Agenten. Ein Agent hat ein Ziel, das er anstrebt. Anhand des gesammelten Wissens mit

Berücksichtigung der Ziele stellt der Agent eine Reihe der möglichen Schritte auf, die er ausführen

8 Der Grund, weshalb die Terminologie noch nicht klar begrenzt ist, ist wahrscheinlich die Tatschache, dass auf dem Wissensgebiet noch sehr aktiv geforscht wird.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

13

kann (Möglichkeiten). Aus dieser Menge wählt der Agent mit Hilfe eines Entscheidungsmechanismus’

einen Schritt zur Ausführung (Wahl), der in der gegebenen Situation der richtige ist.

Ein selbstständiger Agent (autonomous agent) ist nach Demazeau und Müller [23] ein Agent,

dessen Existenz nicht durch die Existenz anderer Agenten bedingt ist.

2.1.4. Definition des Agenten nach Jennings und Wooldridge

Ein Agent ist nach Jennings und Wooldridge ein Computersystem, das sich in einer bestimmten

Umgebung befindet und in der Lage ist, selbstständig in der Umgebung zu handeln, um die Ziele, für

die es entworfen wurde, zu erfüllen [36]. Der Unterschied zwischen einem Objekt und einem Agenten

ist der, dass der letztere nicht nur die Kontrolle über seinen inneren Zustand hat (Merkmal von

Objekten), sondern zusätzlich noch Kontrolle über sein Verhalten besitzt. Agenten sind nach Jennings

und Wooldridge auch Computerprogramme wie Systemdämone in den Betriebssystemen (wie z.B. der

Maildämon) oder auch Prozessleitsysteme (wie z.B. der Thermostat). Die Autoren nennen diese

Systeme nicht-intelligente Agenten. Im Gegensatz dazu sind die intelligenten Agenten zusätzlich

flexibel. Unter dem Begriff flexibel sind hier drei Eigenschaften gemeint: die Agenten sollen

reagieren, handeln und sozial sein. Reagieren bedeutet, dass sie zeitgemäß auf die Veränderungen in

ihrer Umgebung antworten sollen, handeln, dass sie nicht nur passiv antworten sollen, sondern

selbstständig die Initiative zur Erreichung des Zieles ergreifen sollen, und sozial sein, dass sie zu

gewollten Zeitpunkten mit anderen Agenten oder Menschen kommunizieren können, um eigene

Probleme zu lösen oder um den Anderen bei ihren Tätigkeiten zu helfen [36].

2.1.5. Definition des Agenten nach Feber

Eine sehr ausführliche Definition des Agenten stellt Ferber in seiner Monografie über

Multiagentensysteme vor [28]:

Ein Agent ist eine physische oder virtuelle Entität

1. die selbstständig in einer Umwelt agieren kann

2. die direkt mit anderen Agenten kommunizieren kann

3. die durch eine Menge von Absichten angetrieben wird (…)

4. die eigene Ressourcen besitzt

5. die fähig ist, ihre Umwelt wahrzunehmen (…)

6. die nur einen partielle Repräsentation ihrer Umwelt besitzt

7. die bestimmte Fähigkeiten besitzt und Dienste offerieren kann

8. die sich ggf. selbst reproduzierten kann

9. deren Verhalten darauf ausgerichtet ist, ihre Ziele unter Berücksichtigung der ihr zu Verfügung

stehenden Ressourcen und Fähigkeiten zu befriedigen und die dabei auf ihre Wahrnehmung, ihre

internen Modelle und ihre Kommunikation mit anderen Agenten (oder Menschen) angewiesen ist.

Diese Definition zeigt, dass Agenten nicht nur virtuelle Computerprogramme sein können, sondern

auch physische Entitäten wie z.B. Roboter. Neu in der Definition im Vergleich zu den oben genannten

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

14

ist auch, dass die Agenten eigene Ressourcen besitzen und sich gegebenenfalls bei Bedarf vermehren

können9.

2.1.6. Weitere Klassifizierung der Agenten

Agenten unterscheiden sich stark voneinander in ihren Fähigkeiten. Um die Eigenschaften

verschiedener Agenten gut zu vergleichen, kann man sie als Punkte in einem dreidimensionalen

Koordinatensystem darstellen [72]. Die Achsen (oder Dimensionen) zeigen den Grad der Autonomie,

Mobilität und Intelligenz des Agenten (Abbildung 2-2).

Intelligenz

Mobilität

Autonomie

Agent

Abbildung 2-2 Bewertung von Fähigkeiten von Softwareagenten

Kleine Werte auf der Autonomie-Achse bedeuten Agenten, die sehr stark mit dem Benutzer verbunden

sind (solche Agenten nennt man manchmal auch Assistenten), große Werte eine Entität, die sehr

eigenständig ist. Mobilität ist ein Maß für die Beweglichkeit des Agenten und zeigt, ob der Agent nur

an eine Stelle gebunden ist oder ob er ich sich frei zwischen den Agentenumgebungen bewegen kann

(Mobile Agenten → 2.1.6.6). „Wenig intelligente“ Agenten benutzen in ihrer Handlung nur einfache

Regeln, wobei die „intelligenteren“ komplexere Methoden der Künstlichen Intelligenz verwenden wie

unüberwachtes Lernen oder fortgeschrittene Methoden der logischen Folgerung.

Es gibt sehr viele diskrete Unterkategorien, in die man Agenten einteilen kann. In dem weiterem

Teil des Kapitels kommen einige der Kategorien vor.

2.1.6.1. Reflexive und kognitive Agenten

Einer der wichtigsten Unterscheidungsfaktoren der Agenten ist die Aufteilung aufgrund der

Verarbeitungsstrategie der Informationen aus der Umgebung. Man stellt die reaktiven (reflexiven)

Agenten 10 den kognitiven gegenüber [11]. Die reaktiven Agenten funktionieren nach dem Prinzip

Ereignis-Bedingung-Aktion. Sie beinhalten keine innere Darstellung der Außenwelt. Solche Agenten

begrenzen sich ausschließlich auf Reaktionen auf äußere Reize11 und sensorische Daten niedrigeren

9 Gilt natürlich nicht für physische Entitäten 10 Nach Feber [28] sind reaktive Agenten und reflexive Agenten verschiedne Klassen. Agenten können, müssen aber nicht

gleichzeitig reflexiv und reaktiv sein. Reflexive und zugleich reaktive Agenten nennt Faber tropistische Agenten 11 Das Prinzip ähnelt dem von neuronalen Netzwerken

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

15

Niveaus12, die sie aus der Umgebung wahrnehmen. Kognitive13 Agenten dagegen verfügen über eine

symbolische Wissensrepräsentation der Umgebung. Die Entscheidungen über weiteres Handeln treffen

sie auf Grund rationaler Analyse der verfügbaren Daten höheren Niveaus. Auf diese Weise lassen sich

komplexe Strategien einplanen.

2.1.6.2. Kollaborative Agenten

Kollaborative Agenten sind Individuen, die zwar autonom sind, aber alleine nicht das benötigte

Wissen und Können besitzen, um ein gegebenes Problem selbstständig zu lösen. Das angestrebte Ziel

erlangt man aufgrund der Zusammenwirkung von mehreren kollaborativen Agenten.

2.1.6.3. BDI-Agenten

Der BDI-Agent [17] ist ein sehr wichtiger Begriff auf dem Gebiet der Agentensysteme. Um

diese Definition entstanden ganze formelle Theorien [59] [60]. Die Abkürzung BDI steht für B-Beliefs

(Überzeugungen), D-Desires (Wünsche), I-Intensions (Absichten). Bei dem Konzept des BDI-Agenten

geht man davon aus, dass der Agent niemals über das gesamte Wissen über seine Umgebung verfügt.

Er besitzt ausschließlich Überzeugungen über die Sachverhalte, die aber schon nach der Definition mit

gewisser Unsicherheit behaftet sind. Der BDI-Agent hat eine Vision des Zielzustandes, den er

anstrebt. Wünsche sind Anforderungen an den Idealzustand. Wenn der Agent seine Wünsche mit den

Überzeugungen konfrontiert, entstehen Schritte, die man ausführen muss, um den Idealzustand zu

erreichen. Diese zielführenden Schritte bezeichnet man als Absichten. Die Realisation eines

kompletten BDI-Agenten ist recht anspruchsvoll, deshalb verwendet man oft einfachere Modelle.

2.1.6.4. M-Agent

Das an der AGH Krakau entwickelte Konzept des M-Agenten [18] [20] [69] leitet sich von der

BDI-Architektur ab. Der M-Agent unternimmt Entscheidungen aufgrund der Verarbeitung von

Außenwelt-Modellen in seinem „Bewusstsein“. Ein M-Agent führt zwei Tätigkeitsarten aus:

Tätigkeiten, für die der Agent erzeugt wurde, um das gestellte Problem zu lösen (engl. intellectual

profile), und Tätigkeiten, die die Existenz des Agenten in der Umgebung sichern und die

Überlebenschance erhöhen (engl. energetic profile).

2.1.6.5. Software Agenten

Software Agenten sind rein virtuelle Entitäten, die über keine physische Gestalt verfügen.

2.1.6.6. Mobile Agenten

Der Begriff Mobiler Agent ist eine Verbindung der Konzepte: Softwareagent und Mobiler

Code. Der Mobile Code findet seine Anwendung vor allem in Internet und Intranets. Man verlässt das

Dogma, dass der Programmcode in verteilten Anwendungen stationär sein muss und die Problemdaten

von einem Rechner zum anderen übertragen werden. Dank der Beweglichkeit der Applikationslogik

verringert sich zum großen Teil der Übertragungsaufwand der Daten.

12 Ein Beispiel von Daten niedrigeren Niveaus ist z.B. die Stärke eines Signalimpulses. 13 Auch deliberativ oder zielgerichtet genannt

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

16

Ein mobiler Agent ist ein Prozess, der die Fähigkeit besitzt, sich selbstständig – mit all seinen

wichtigen Bestandteilen und mit Erhaltung seines internen Zustandes – während der Ausführungszeit

innerhalb eines heterogenen Netzwerkes zu bewegen [57]. Einen nicht-mobilen Agenten nennt man

stationärer Agent.

Den Prozess der Übertragung des Programmcodes nennt man Migration. Obwohl in praktischen

Anwendungen die Übertragung der globalen Daten während der Migration keine Schwierigkeiten

bereiten, ist die Übergabe des Ausführungskontextes eher problematisch.

2.2. Der Begriff der Multiagentensysteme

Multiagentensysteme dienen als Plattform für die Zusammenarbeit von mehreren Agenten. Ein

Multiagentensystem ist laut Ferber [28] ein System, das über einen bestimmten Raum verfügt. In

diesem Raum ist eine Menge von Objekten situiert. Die Menge der Agenten ist eine Teilmenge der

Menge der Objekte. Objekte sind durch unterschiedliche Beziehungen verbunden. Agenten verfügen

über eine Menge von Operatoren, mit denen sie auf andere Objekte einwirken können. Eine weniger

formale, dafür aber mehr an den gewöhnlichen Gebrauch des Begriffs angepasste Definition lautet

[52]: Ein [Multi]agenten-System ist eine Plattform, die Agenten erzeugen, interpretieren, ausführen,

übertragen und beenden kann.

2.3. Standards für Agenten

Damit die Agententechnologien im breiten Bereich eingesetzt werden können, braucht man

allgemein anerkannte Standards. Eine Normierung der Softwareagenteninfrastruktur ermöglicht eine

Zusammenarbeit von Agenten und Agentenplattformen, die von verschiedenen Herstellern entworfen

sind. Ein bewährter Standard verkürzt und vereinfacht die Entstehung neuer agentenbasierter Systeme.

Zurzeit existieren zwei nennenswerte Organisationen, die sich mit der Standardisierung der

Agentenebene befassen: FIPA und MASIF.

2.3.1. FIPA

FIPA [96] (Foundation of Physical Intelligent Agents) ist eine gemeinnützige Organisation,

gegründet 1996 in Genf. FIPA wird durch Forschungsinstitute (u.A. University of Calgary, West

Florida) und durch Computer- und Telekommunikationsgesellschaften (u.A. British

Telecommunications, Motorola, Siemens) geleitet. Die Tätigkeiten der Organisation konzentrieren

sich auf Standards für Verwaltung von Agenten, Kommunikation zwischen Agenten und die

Integration von Agentensoftware, wobei der Schwerpunkt auf die Erforschung der

Kommunikationsmechanismen gelegt wurde. Es wurden bislang drei Reihen von Standards publiziert

FIPA97, FIPA98, FIPA2000 work.

Die FIPA 98 Agent Management Specification W[44] stellt die Standardkomponenten einer FIPA-

konformen Agentenplattform dar(Abbildung 2-1):

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

17

• Agent Managment System (AMS) – ist ein spezieller Agent, der den Zugang und das Nutzen

der Agentenplattform kontrolliert. AMS ist zuständig für die Verwaltung von Agentennamen und die

Regelung des Lebenszyklus’ der Agenten. Im Rahmen einer Agentenplattform gibt es nur einen AMS.

• Directory Facilitator (DF) – ist ein Agent, der einen Suchdienst ähnlich den Gelben Seiten

gewährleistet. DF verfügt über eine Liste der Dienste, die Agenten der Agentenplattform anbieten.

Agenten können sich selbst in einem DF registrieren oder DF um Auskunft bitten.

• Agent Communication Channel (ACC) – ist die standardmäßige Kommunikationsmethode

zwischen Agenten auf verschiedener Plattformen.

• Internal Platform Message Transport (IPMT) – ist eine Kommunikationsmethode innerhalb

der Plattform. Die Einzelheiten dieses Protokolls werden von dem FIPA Standard nicht festgelegt.

Software

Agent

Agent Platform

AgentManagement

System

Agent

Communication

Channel

DirectoryFacilitator

Internal Platform Message Transport

Agent

Communication

Channel

Abbildung 2-3 FIPA98-Referenzmodell zur Agentenverwaltung [89]

Agenten werden in Domänen gruppiert. Jede Domänen verfügt über eine DF-Instanz (nur eine pro

Domäne), die sie beschreibt. Eine Agentenplattform kann über mehrere Domänen verfügen. Ein Agent

kann Bestandteil mehrerer Domänen sein.

Die neuesten Arbeiten der FIPA (Standard FIPA2000) gehen in Richtung einer noch größeren

Abstrahierung der Agentensystemarchitektur. Die FIPA Abstract Architecture [91] schreibt nur

allgemein vor, was eine konkrete Architektur beinhalten soll (z.B. Mechanismen zum

Agentenregistrierung, Agentensuche und Kommunikation zwischen Agenten). Wie aber konkret diese

Funktionen realisiert werden, ist dem Projektanten der Agentenplattform übergelassen. Zum Beispiel

kann der Agent-Directory-Service durch eine einfache Text-Datei implementiert werden, ein LDAP

System oder einen Directory Facilitator –Agenten wie in dem Standard FIPA98.

Eine Nachricht in einem Agentensystem ist laut FIPA [91] ein Tupel, zusammengesetzt aus

Attribut-Wert-Paaren, geschrieben in einer Agentenkommunikationssprache wie z.B. FIPA ACL [92]

oder KQML. Der Inhalt einer Nachricht ist durch eine Inhaltssprache, wie z.B. KIF oder SL [94],

formuliert. Der Inhalt der Nachricht basiert auf Begriffen aus Ontologien. Verweise zu den benutzten

Ontologien sollen sich auch im Inhalt der Nachricht befinden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

18

Die FIPA standardisierte auch die Menge der zugelassenen Kommunikationsakten in Form der

FIPA Communicative Act Library (CAL) [93]. Diese Sammlung von Redewendungen ermöglicht

einen „intelligenten“ Informationsaustausch zwischen Agenten verschiedener Hersteller. Die

Bibliothek enthält 22 grundlegende Kommunikationsakten die man zu komplexeren Aussagen

komponieren kann. Die FIPA-Agenten sind nicht verpflichtet zur Implementierung der CAL mit

Ausnahme des non-understood-Kommunikationsaktes, der besagt, dass der Empfänger die zuletzt

erhaltene Nachricht nicht verstanden hat. Andere Beispiele von Elementen der CAL-Bibliothek sind

cfp (Call for Proposal) – mit dieser Nachricht ruft der Agent andere Agenten auf, ihm Angebote zur

Leistung eines von ihm geforderten Dienstes zu schicken, oder request-when – mit diesem

Kommunikationsakt bittet ein Agent einen anderen um einen Dienst, falls eine Bedingung erfüllt ist.

Die Realisation der CAL ist nicht obligatorisch, wenn man jedoch einen Kommunikationsakt aus der

Bibliothek implementiert, so muss das gemäß dem Standard geschehen.

2.3.2. MASIF

MASIF (Mobile Agent System Interoperability Facility) [52] ist ein Standard für Agentensysteme

der Organisation OMG (Object Management Group) [106], die schon durch Spezifikationen wie

CORBA oder UML bekannt wurde. Die MASIF Normen beruhen auf den Erfahrungen, die man

während der Implementierung solcher Multiagentensysteme wie IBM Aglets Workbench (→ 2.4.1),

AgentTcl oder Grasshopper gemacht hat. Im Unterschied zu dem FIPA-Standards werden in MASIF

vor allem Aspekte, die mit der Mobilität des Agenten verbunden sind, betrachtet. Die Problematik der

Agentensprachen wird dagegen absichtlich außer Acht gelassen. Die MASIF Spezifikation befasst sich

des Weiteren mit solchen Fragen wie die Verwaltung, Agentenübertragung, Namensgebung,

Lokalisierung und Sicherheit der Agenten.

Der MASIF-Standard basiert stark auf CORBA, der Spezifikation für die Erstellung, Verbreitung

und Verwaltung verteilter Objekte in einem Computernetz. MASIF ist eine Kollektion von

Definitionen und Schnittstellen. Der Standard legt zwei neue Schnittstellen fest: MAFAgentSystem

(zur Agentenübertragung und Verwaltung) sowie MAFFinder (zur Namensgebung und Lokalisierung

von Agenten).

Wie schon gesagt, befasst sich MASIF auch mit dem wichtigen Aspekt der Sicherheit der

Agentensysteme14. Die Spezifikation beinhaltet Methoden, die die Agentenplattform und die Agenten

vor solchen Gefahren schützen sollen wie: Denial of Service-Attacken, Vortäuschung, unautorisierte

Modifikationen oder Belauschen des Datenstromes. Um die Sicherheit zu gewährleisten, müssen die

Agenten durch das System identifiziert und auf die entsprechenden Zugriffsrechte überprüft werden.

Weil die Agenten aus Sicherheitsgründen keine privaten Kodierungsschlüssel übertragen können,

führt der MASIF-Standard den Begriff des Authenticators ein. Ein Authenticator ist ein Algorithmus,

14 FIPA hat nach einem gescheiterten Versuch [90] aufgegeben, den Sicherheitsbereich der Agentensysteme zu

standardisieren. Laut [91] sind die Sicherheitsmaßnamen ungeeignet, um sie allgemein zu behandeln, und sollten daher

immer an den Einzelfall angepasst werden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

19

der die Authentizität des Agenten überprüft anhand solcher Informationen wie z.B. Authentizität des

Agentenssystems, aus dem der Agent gekommen ist. Authenticators teilt man in zwei Gruppen auf:

one-hop und multi-hop Authenticators. One-hop bedeutet hier, dass der Agent direkt von seiner

Quellplattform gekommen ist, multi-hop dagegen, dass der Agent einen längeren Weg hinter sich

gebracht hat. Die MASIF-Spezifikation behandelt nur die One-hop Authenticators.

Sicherheitsvorkehrungen sind Regeln, die die Aktivitäten der Agenten und Agentenplattformen aus

Sicherheitsgründen einschränken. Sowohl Agenten als auch Agentenplattformen können viele

Sicherheitsvorkehrungen besitzen. Wenn ein Agent ein für den Dienst gefordertes Sicherheitsniveau

nicht gewährleisten kann, so muss er die Ausführung eines solchen Dienstes verweigern15.

2.4. Beispiele von Agentenplattformen

Es wurden bislang mehr als hundert Agentenplattformen realisiert. Die meisten davon wurden in

der Programmiersprache Java implementiert, die zum Standard der Agentenplattformen geworden ist.

Ausnahmen davon sind z.B. Systeme, die mit der Tcl/tk-Technik realisiert worden sind (z.B. AgentTcl

oder Ara). Die Technologie Tcl spielt aber zurzeit keine große Rolle in der Entwicklung von

Agentenplattformen. Die meisten Agentenplattformen haben ihren Ursprung als akademische Projekte

(z.B. MadKit, Ara), es gibt aber auch Projekte, gestartet durch die Softwareindustrie (z.B. IBM Aglets

Workbench). Um den Aufbau und die Möglichkeiten der Agentenplattformen zu schildern, möchte ich

drei Beispiele vorstellen. Die Exempel wurden repräsentativ ausgewählt. Mit Ausnahme der Plattform

IBM Aglets Workbench sind das Projekte, an denen zurzeit intensiv gearbeitet wird und die schon ihre

praktischen Anwendungen haben.

2.4.1. IBM Aglets Workbench

Obwohl die IBM Aglets Workbench (AWB) Plattform [39] seit ein paar Jahren nicht mehr weiter

entwickelt wird, hat sie zu ihrer Zeit so große Bedeutung gehabt, dass ich sie hier trotzdem kurz

erwähnen möchte.

Die AWB Plattform wurde entwickelt in der Forschungsabteilung der Firma IBM in Tokio.

Agenten in der AWB nennt man Aglets. Aglets sind Java-Threads, die zwischen verschiedenen

Agentenplattformen migrieren können. Ein Kontext ist der Arbeitsplatz eines Aglets. Es ist ein

stationäres Objekt, ausgestattet mit Mechanismen zur Wartung und Verwaltung der AWB-Agenten.

Ein Aglet wird von einem Proxy repräsentiert. Es dient zum Schutz vor dem direkten Aufruf der

öffentlichen Methoden des Aglets und verbirgt seine wirkliche Lokalisierung.

Zur Entwicklung eigener Aglets stellte die Firma IBM eine Programmierschnittstelle zur

Verfügung – A-API (Aglet API). Die Bibliothek besteht aus zwei Hauptklassen: Aglet und

AgletProxy. Die abstrakte Aglet – Klasse (leitet sich nicht direkt von der Object-Klasse ab)

beinhaltet Methoden zur Kontrolle des Lebens-Zyklus des Aglets (Methoden zur Nachbildung,

15 Ein ausführlicher Bericht von dem aktuellen Stand der Forschung auf dem Feld der Agentensicherheit ist in [14]

beschrieben.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

20

Entsendung, Deaktivierung und Löschen von Aglets). Aus dieser Klasse leiten sich die

anwendungsspezifischen Aglets ab. Die AgletProxy-Klasse dient als Vermittler in den Interaktionen

zwischen dem Aglet und den Entitäten, die mit ihm kommunizieren möchten. Die AgletContext-

Schnittstelle liefert Informationen über die Umgebung des Aglets und ermöglicht die

Kontaktaufnahme mit anderen Aglets, die sich innerhalb des Kontexts befinden.

Nennenswert ist auch das Sicherheitsmodell der AWB-Plattform. Das Modell teilt die Benutzer

des Multiagentensystems in Klassen ein. Die Klassen sind: Aglet, Agletshersteller, Agletsbesitzer,

Kontext, Kontexthersteller, Kontextmeister, Domäne (Domänen sind Gruppen von Kontexten) und

Domänenbehörde (verwaltet eine Domäne). Jede dieser Klassen von Benutzern (genannt Prinicpals)

kann ihre eigenen Sicherheitsregeln aufstellen. Die sich widersprechenden Regeln werden nach der

Relevanz des Principals entschieden, wobei die Domänenbehörden die mächtigsten Befugnisse haben,

die Aglets selbst die schwächsten. Die Sicherheitsregeln werden in einer speziellen, durch IBM

entwickelten Sprache formuliert. Auf diese Weise kann man den Zugang zu unterschiedlichen

Dateien, Ordnern, Internetschnittstellen, Bibliotheken oder Systemressourcen verweigern oder

gewährleisten.

2.4.2. MadKit

MadKit [104] ist eine in Java geschriebe Agentenplattform, die an der Universität Montpellier

entstanden ist. MadKit baut auf einem abstrakten Modell – Aalaadin – auf. Dieses Modell ist aus drei

Bausteinen zusammengesetzt: Agent, Gruppe und Rolle. Gruppen aggregieren Agenten. Rollen stellen

abstrakte Formen der Agentenfunktionen dar. Agenten sind aktive kommunizierende Entitäten, die

Rollen innerhalb Gruppen spielen. Zu den Merkmalen der MadKit Plattform zählen zusätzlich [29]:

eine Mikro-Kern-Architektur, Agentifizierung der Dienste und ein grafisches Komponentenmodell.

Der Kern des MadKits ist sehr klein (40Kb) und beinhaltet nur die wichtigsten Funktionen:

Kontrolle von lokalen Gruppen und Rollen, Verwaltung des Agenten-Lebenszyklus’ und die lokale

Übertragung der Nachrichten. Der ganze Kern ist in einem speziellen KernelAgent integriert und

kann beliebig durch so genannte Kern-Anschlüsse erweitert werden. Die Anschlüsse werden durch

andere Agenten realisiert, die zu der System-Gruppe gehören und die ihre Dienste bei dem Kern-

Agenten angemeldet haben. Sobald eine Kernoperation ausgeführt worden ist, leitet der Kern-Agent

die Information an alle Anschlüsse weiter. Man unterscheidet zwei Sorten von Kern-Anschlüssen:

Monitors und Interceptors. Die Monitore werden über alle Kern-Operationen informier,t für die sie

sich angemeldet haben. Ein Interceptor dagegen fängt die ganze Kern-Operation nur für sich auf.

Daher kann es nur einen registrierten Interceptor für jede Kern-Operation geben.

Man spricht von einer Agentifizierung der Dienste im MadKit, weil viele wichtige Funktionen

der Agentenplattform vollständig von den Agenten realisiert werden. So verwendet MadKit Agenten

zur verteilten Nachrichtenübertragung, dynamischer Sicherheitsgewährleistung und Übertragung der

Steuerung. Diese Lösung hat den Vorteil, dass sie sehr flexibel ist. Man kann die Realisation eines

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

21

Plattformendienstes wechseln, in dem man den Agenten, der diesen Dienst ausführt, durch einen

anderen ersetzt.

Das grafische Komponentenmodell von MadKit basiert auf Java Beans-Komponenten. Jeder

Agent verfügt über eine eigene graphische Oberfläche. Durch die Anwendung der Java Beans-

Technologie kann man mit der Maus (drag-and-drop Methode) Agenten zu einem einfachen, aber

funktionsfähigen Agentensystem komponieren, ohne dabei eine Zeile Programmcode schreiben zu

müssen. Das graphische Interface eines Agenten kann entweder ein einfaches Kennzeichen sein oder

eine ganze Reihe von Fenstern beinhalten. Bei komplexeren Aufgaben kann man immer noch auf die

traditionelle Programmiermethode zurückgreifen.

2.4.3. JADE

JADE (Java Agent DEvelopment Framework) [7] ist eine FIPA-kompatible Agentenplattform,

entwickelt durch TILAB (Telecom Italia LAB). Die Plattform ist frei zugänglich [99] unter der LGPL-

Lizenz. JADE wurde vollständig in Java implementiert und funktioniert auch in der J2ME-Umgebung.

Gemäß der FIPA-Spezifikation (→2.3.1) enthält die Plattform solche Dienste wie AMS, DL,

ACC und unterstütz, die FIPA-ACL-Sprache und FIPA-Kommunikationsakte. Um die

Kommunikation zwischen den Agenten noch mehr zu erleichtern, bietet JADE spezielle abstrakte

Klassen, die ganze komplexe Gespräche implementieren (wie z.B. Verhandlungen, Versteigerungen

oder Auftragweitergabe).

JADE unterstützt den Prozess der automatischen Konvertierung zwischen verschiedenen

Formaten der Wissensrepräsentation wie XML und RDF. Man kann JADE mit Ontologieeditoren

verknüpfen z.B. mit Protégé. Es besteht auch die Möglichkeit, JADE um externe

Inferenzmechanismen wie JESS oder Prolog zu erweitern.

JADE verfügt auch über eine ganze Reihe graphischer Werkzeuge, die den Prozess der

Erzeugung von Agentensystemen erleichtern. Der Remote Management Agent (RMA) funktioniert als

eine graphische Oberfläche für die Plattformverwaltung. Von RMA kann man alle anderen JADE-

Werkzeuge aufrufen. Der Dummy Agent ermöglicht das Testen von anderen Agenten, indem er eine

graphische Oberfläche anbietet, durch die man ACL-Nachrichten an andere Agenten verschicken und

die Antworten ablesen kann. Der Sniffer belauscht die Kommunikation zwischen den Agenten und

stellt sie graphisch in Form eines UML Sequenz-Diagrams dar. Der Introspector Agent überwacht den

ganzen Lebenszyklus der Agenten. Der SocketProxyAgent dient als Pforte zwischen der JADE-

Plattform und einer gewöhnlicher TCP/IP-Verbindung. Schließlich ist der DF GUI eine graphische

Oberfläche für den DF-Dienst.

JADE kann auch auf sehr kleinen Geräten, wie z.B. Handys mit integrierter Java VM, ausgeführt

werden. Dank der modularen Architektur von JADE kann man die Plattform den speziellen

Anforderungen der mobilen Geräte anpassen. So spaltet z.B. das Modul LEAP, das speziell für

drahtlose Netze konstruiert wurde, die JADE-Plattform in zwei Teile: das Front-End das auf dem

mobilen Gerät ausgeführt wird, und das Back-End, das im Festnetz ausgeführt wird. Diese Architektur

minimiert den Datenaustausch zwischen dem mobilen Gerät und dem Festnetz, weil das Back-End den

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

22

Großteil der Kommunikation mit anderen Agenten und der Agentenplattform übernimmt. Bei

unterbrochener Verbindung zum mobilen Gerät (was oft vorkommen kann) speichert das Back-End

die für das Front-End bestimmten Informationen und übermittelt sie weiter, sobald das Gerät sich dem

Netz wieder angeschlossen hat.

2.5. Übersicht der Anwendungsgebiete für Multiagentensysteme

In jahrelanger Forschung auf dem Gebiet der Agentensysteme wurden zahlreiche Versuche

gemacht, diese Technologie in diversen Bereichen anzuwenden. Die große Menge der so entstandenen

Applikationen wird auf verschiedene Weise klassifiziert. Die von mir aufgestellte Gliederung basiert

auf den Klassifikationen von Jennings und Wooldridge [36], Ferber [28] und Luck et al. [48].

2.5.1. Verteiltes Lösen von Problemen

Bei den verteilten Lösungsverfahren wird angenommen, dass eine Aufgabe durch eine Reihe

von autonomen Softwareagenten bearbeitet wird.

Ein gutes Beispiel für den Einsatz sehr vieler gleicher Agenten sind die Swarm Intelligence-

Verfahren16 [13]. Ihren Ursprung haben diese Methoden in der Beobachtung von sozialen Insekten wie

Ameisen, Bienen oder Termiten. Diese recht primitiven Lebewesen können in der Gruppe komplexe

Aufgaben bewältigen und das ohne jeglicher zentrale Aufsicht. Die Organisation beruht nur auf dem

Informationsaustausch zwischen Individuen. Eine Methode der Swarm Intelligence, die Ant Colony

Optimization (ACO) [24] [76], nahm sich die Funktionsweise einer Ameisen-Kolonie zum Vorbild.

Auf dem Weg von der Nahrungsquelle zum Bau zerstreuen die Ameisen eine chemische Substanz, die

Pheromon genannt wird. Die Ameisen bevorzugen den Pfad, der mit einer stärkeren Pheromonspur

versehen ist. Weil die Ameisen, die den kürzeren Weg nehmen, ihn öfter machen können, hinterlassen

sie auf diesem Pfad ein stärkeres Pheromon-Signal. Auf diese Weise wählen immer mehr Ameisen die

kürzere Strecke. Das ACO-Verfahren wird z.B. zur Lösung des Handelsreisendenproblems [25] oder

zur Optimierung des Routings in Computernetzen genutzt [62].

Ein anderes Beispiel der Dezentralisierung einer Aufgabe mit Hilfe von Methoden der

Verteilten Künstlichen Intelligenz kommt aus dem Bereich der industriellen Prozesskontrolle. Man hat

mit Erfolg Agenten zur Lösung des Flavors-Paint-Shop-Problems eingesetzt [53]. Bei diesem Problem

gibt es eine Reihe von Maschinen, die nach Wunsch des Kunden Kraftfahrzeuge mit bestimmten

Farbtönen lackieren. Die Anzahl der Lackierungsstationen ist kleiner als die Zahl der möglichen

Farbtöne. Aus diesem Grund werden in den Maschinen von Zeit zu Zeit die Farben gewechselt. Leider

ist der Austausch ein recht zeitaufwendiger und teurer Prozess, deshalb versucht man die Zahl der

Farbwechsel zu minimieren. Früher wurde zur Lösung dieses Problems ein zentrales

Steuerungsprogramm benutzt, das sehr fehleranfällig war. Das System wurde modernisiert, indem man

das zentrale Steuerungssystem durch ein Multiagentensystem ersetzte. Jeder Maschine wurde ein

Agent zugewiesen, der nach Bedarf zu entscheiden hhatte, ob in der Lackierungsstation die Farbe

16 Swarm Intelligence (eng.) – Intelligenz des Schwarms

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

23

gewechselt werden sollte oder nicht. Obwohl das System recht einfach ist, konnte man die Anzahl der

Farbwechsel im Durchschnitt um 50% reduzieren, was eine Einsparung von mehr als einer Million

Dollar pro Jahr brachte.

In den verteilten Lösungsverfahren können Agenten identische (wie im Fall der Ameisen im

ACO-Verfahren) oder auch komplementäre Fähigkeiten zur Lösung des Problems besitzen. Die zweite

Alternative wird auch „Kooperation zwischen Spezialisten“ [28] genannt und wird vor allem zur

Bearbeitung komplexerer Aufgaben angewandt. Wie z.B. in dem durch NASA, Ohio University und

der TU Clausthal entwickeltem HART-System (Hierarchical Agent-based Real-time Technologie) zur

Steuerung von Satelliten [26] gibt es eine ganze Reihe von unterschiedlich spezialisierten Agenten

(wie z.B. Data Management Agent - zum Verwalten von Daten, die durch den Satelliten gesammelt

wurde, Compression Agent - Agent zur Steuerung der Kompressionsrate der durch den Satelliten

gemachten abhängig von den Wetterverhältnissen auf der Erde, Health and Safety Data kontrolliert die

Sicherheitsmechanismen des Satelliten)

OASIS (Optimal Aircraft Sequencing using Intelligent Scheduling) ist ein agentenbasiertes

System zur Koordination des Flugzeugverkehrs [47]. Ähnlich wie im HART-System werden auch hier

verschiedene Sorten von Agenten benutzt. Im Allgemeinen gibt es in OASIS zwei Klassen von

Agenten: Aircraft Agents und Global Agents. Jedes Flugzeug, das den Flugraum fliegt, wird mit

einem Aircraft-Agenten repräsentiert. Dieser Agent besitzt Informationen über die Ziele (z.B.

Landung in Sydney), Fähigkeiten (ein Leistungsmodell) und den Zustand des Flugzeuges (z.B. Steigen

oder Sinken). Es gibt fünf Arten von Global Agents: Coordinator Agent – der die Arbeit aller Agenten

koordiniert, Sequencer Agent ordnet die Aircraft Agents so zur Landung ein, dass die Wartezeiten

möglichst gering sind, der Trajectory CheckerAgent kontrolliert, ob die geplanten Trajektorien der

Flugzeuge nicht zu dicht beieinander liegen, Wind Model Agent sammelt die Daten über

Wetterverhältnisse und schätzt die Windstärke bei der Landung ein, der User Interface Agent ist für

die Interaktion mit dem menschlichen Aufseher des Systems im Kontrollturm verantwortlich. Das

OASIS-System wurde erfolgreich auf dem Flughafen von Sydney getestet [37].

Andere Beispiele der Anwendung von Agenten zur verteilten Lösung von Problemen sind

Erkennung von Umrissen oder der natürlichen Sprache, Fehlersuche in Telekommunikations-

Netzwerken.

2.5.2. Simulationen

Ein sehr populäres Anwendungsgebiet von Multiagentensystemen sind Simulationen. In den

Simulationen werden Agenten zur Modellierung von Fragmenten der realen Welt benutzt. Auf diese

Weise können Experimente durchgeführt werden, die unter normalen Bedingungen oft unmöglich oder

sehr schwer zu realisieren wären.

Multiagenten Simulatoren werden oft zur Darstellung von Ecosystemen genutzt. Populationen

biologischer Lebewesen sind aus vielen Individuen zusammengesetzt, die aufgrund ihrer genetischen

Eigenschaften und den lokal unterschiedlichen Interaktionen einmalig sind. Solche Gruppen werden

oft besser durch Multiagentensysteme als allgemeine Modelle simuliert [84]. Solche Forschungen

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

24

tragen unter anderem dazu bei, dass die gefährdeten Naturregionen gezielter geschützt werden können.

Das an der University of Tennessee entwickelte ATLSS17 System [74] simuliert das Ecosystem der

Sumpfgebiete im Süden Floridas. Agenten modellieren einzelne Individuen der Tierpopulationen

(Hirsche und Panther, Alligatoren, usw.) wie auch Naturphänomene wie z.B. Waldbrände,

Regenschauer oder Wirbelstürme.

Eine oft in Simulationen modellierte Population sind Fische als Beispiel einer erneuerbaren

Ressource [44]. Durch solche Experimente kann man die Auswirkung verschiedener Strategien der

Nutzung dieser Bestände erforschen. In dem Simdelta-System wird die Fischerei im Niger-Delta in

Mali modelliert [17]. Dieses System beinhaltet drei Arten von Agenten: Biotope als Bestandteile der

Umwelt, Fische mit reaktivem Verhalten und Fischer als kognitive Agenten [28]. Mit Hilfe dieses

Modells konnte man die Größen-Veränderung der Fischpopulation untersuchen. Eine andere

Versuchsreihe hat das Verhalten der Fischer gezeigt, die sich bei ihren Entscheidungen an der Größe

des Fischbestandes orientieren. Diese Studie präsentierte die Wichtigkeit der Mechanismen zur

Entscheidungsfindung im Zusammenhang mit der Entwicklung erneuerbarer Ressourcen. Es wurde

bewiesen dass eine rein ökonomische Ausbeutung der Bestände auf längere Sicht weniger lohnend ist,

als eine Strategie, die auch den Lebenszyklus und die aktuelle Populationsgröße der Fische

berücksichtigt [17].

Multiagenten werden oft in den Sozialwissenschaften angewandt, unter anderem zur

Simulation von großen Menschenmenge (Crowd Simulations). Auf diese Weise kann man

Kommunikationsnetze planen [65] oder Evakuierungspläne großer Veranstaltungen für den Fall von

Ausnahmezuständen (wie z.B. Feuer, Terroranschlag oder Panikausbruch) bearbeiten [54]. Ein für die

Fußball WM 2006 in Deutschland erarbeitetes System errechnet die benötigte Zeit zur Evakuierung

von mehreren tausend Zuschauern aus einem Stadion aus [71]. Jeder der Zuschauer wird durch einen

Agenten modelliert, der mit solchen Eigenschaften wie Laufgeschwindigkeit, Geduld, Orientierung

oder Reaktionszeit charakterisiert ist. Weil Gefühle wie Angst, Verzweiflung, Panik, Hoffnung die

menschlichen Fähigkeiten stark beeinträchtigen können, versucht man, die Simulation noch realer zu

gestalten, Agenten mit Mechanismen zur Simulation von Emotionen auszustatten (z.B. die PSI-

Theorie [3]).

Simulationen werden auch in der Lehre benutzt. Die Medizinstudenten haben Dank des Adele-

Systems die Möglichkeit, bei einer virtuellen Behandlung eines Patienten auf der Intensivstation

teilzunehmen [75] (→ 5.4.2). Das Extempo-System [85] (→ 5.4.3) simulieren zu Bildungszwecken

unter anderem Gespräche eines Personalabteilungsleiters mit seinen Untergeordneten. Zahlreihe

Schulungssimulationen werden im Militär eingesetzt, wo, z.B. die Kampflugzeugpiloten die

Möglichkeit haben, zuerst rein virtuell Probe zu fliegen.

Die Unterhaltungsbranche wird von der Wissenschaft oft nicht ernst genommen. Dabei sind

die Umsätze dieser Industrie wirklich riesig und die bei der Erstellung solcher Systeme gelösten

Probleme oft nicht trivial [36]. Die Agenten werden in der Unterhaltung sowohl für Computerspiele

17 ATLSS = Across Trophic Level System Simulation

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

25

genutzt, wie auch zur Darstellung von Spezialeffekten in der Filmbranche. Ein Beispiel aus der

neusten Geschichte ist die sehr erfolgreiche Filmreihe Der Herr der Ringe. Zur Darstellung von

Schlachtszenen wurde ein spezielles Agentensystem mit dem Namen Massiv konstruiert [51], der den

Kampf von mehreren Tausenden Kreaturen simuliert.

2.5.3. Robotik

Die Anwendung von Agenten in der Robotik unterscheidet sich von den anderen

Anwendungen dadurch, dass die Agenten in der realen Welt agieren können. Die Robotik-Agenten

werden zur Steuerung separater Teile eines Roboters benutzt (Zellulare Robotik) oder zur Lenkung

von ganzen Roboter-Kollektiven (Modale Robotik) [28].

Beispiel einer Agenten-Anwendung in der Zellularen Robotik ist die Steuerung eines

Roboterarmes. Jeder Agent steuert ein anderes Segment des Armes und besitzt das Wissen über die

möglichen Bewegungen seines Segmentes. Der Kopf-Agent hat das Ziel, einen Gegenstand zu fassen.

Wenn das dem Kopf-Agenten nicht gelingt, so wendet er sich an andere Agenten mit der Bitte, eine

Bewegung auszuführen, die das Ziel näher bringt. Auf diese Weise kann man sogar sehr komplexe

Operationen mit wenig Rechenaufwand durchführen.

Die Veranstalter des RoboCups [118] haben sich zum Ziel gesetzt, bis zum Jahre 2050 ein

autonomes Team von menschenähnlichen Roboter zu entwickeln, das gegen ein menschliches

Weltmeister-Team im Fußball gewinnen kann. Um dieses Ziel zu verwirklichen, organisiert man

jährlich ein RoboCup Turnier18, in dem Roboter gegeneinander Fußball spielen. Die Regeln des

Spieles sind – so weit möglich – identisch mit den FIFA-Regeln. Es gibt zahlreiche Kategorien, in

denen gespielt wird (z.B. menschenähnliche Roboter, Sony AIBO Robots [77] oder reine

Softwaresysteme). Die künstlichen Fußball Spieler werden durch unterschiedliche

Multiagentensysteme gesteuert. Unter den zahlreichen Beispielen solcher Systeme sind auch das ABC

Team [1], ORAP [55] oder CS Freiburg [66].

2.5.4. Internet

Das sich ständig ausbreitende globale Netz bietet dank seiner großen Dezentralisierung und

Selbstständigkeit eine hervorragende Möglichkeit, um Softwareagenten einzusetzen. Assistent-

Agenten sind Agenten, die im Namen der Benutzer im Internet Informationen finden und

Transaktionen abschließen [48]. Die Benutzer sind nicht unbedingt Menschen, es können auch Web-

Dienste wie Suchmaschinen sein [127]. Search Engine Spiders (Searchbots) sind Agenten, die das

Internet auf Befehl der Suchmaschinen nach interessanten Webseiten absuchen. Die derzeit wohl

populärste Internet Suchmaschine – Google – benutzt zur Erstellung des Ranking von Seiten ein

Verfahren, das PageRank genannt wurde. Diese durch Page und Brin [56] an der Stanford University

erforschte Methode bewertet die Seiten aufgrund der Zahl der zu ihnen führenden Verweise. Die

Verweise, wie auch neue Seiten, werden von Googlebot, einem Search-Engine-Spider-Agenten,

18 Die Idee ist inzwischen so populär geworden, dass außer dem Welt RoboCup Turnier auch lokale RoboCup Turniere

organisiert werden. (z.B. German Open oder Japan Open)

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

26

gefunden. Code Validators sind Agenten, die dem Entwickler eines großen Internet Service helfen,

indem sie nach syntaktischen Fehlern in HTML-Seiten suchen.

Das Internet wurde zum Gerüst eines neuen Wirtschaftszweigs, das E-Commerce genannt

wurde. Darunter versteht man alle kommerziellen Aktivitäten, die mit Hilfe elektronischer Mittel zu

Stande kommen. Laut dem Bericht von PriceWaterhouseCoopers gab es Anfang 2001 [73] ca. 1000

frei zugängliche elektronische Märkte. Zurzeit ist die Zahl voraussichtlich viel größer. E-Commerce

Geschäfte finden in zwei Dimensionen statt: B2C (Business-to-Customer: Transaktionen zwischen

Anbieter und Verkäufer) und B2B (Business-to-Business: Transaktionen zwischen Verkäufern).

Assistenten-Agenten werden in beiden Bereichen benutzt. Sie ermöglichen, in kurzer Zeit das günstige

Angebot im Internet zu findet. Die elektronischen Assistenten vergleichen viele Angebote, nehmen an

Versteigerungen teil und verhandeln Preise mit anderen Agenten. Je nach Bedarf passen die Anbieter-

Agenten dynamisch das Angebot an den Kunden an. Das endgültige Angebot ist ein Ergebnis von

mehreren Verhandlungen zwischen Käufer/Verkäufer-Agenten. Auf diese Weise könnte die

Wirtschaft auf eine bislang unerreichte Ebene der Produktivität und der Rentabilität steigen [46].

Agenten können auch in der Realisation der E-commerce-Dienstleistung behilflich sein. In den

Quality-On-Demand-Diensten (z.B. Verkauf einer bestimmten Bildqualität bei Internet-Übertragungen

von verschiedenen Veranstaltungen) koordiniert ein Agentensystem das Routing der Daten auf solche

Weise, dass die vereinbarte Qualität immer gewährleistete ist.

Es werden Ansätze gemacht, die Agenten zum Vertrieb von Software (allgemeiner gesagt

Informationen) im Internet zu nutzen [58]. Auf diese Weise kann man die großen Shareware, Freeware

und Open Source-Kollektionen (wie z.B Tucows, FreshMeat) effektiv verwalten. Weil die

Speicherkapazität der Vertriebshäuser begrenzt ist, möchten die Software-Anbieter auf ihren Servern

nur die populärsten Programme in den neusten Versionen haben, eventuell auch die weniger

populären, für die der Produzent extra bezahlen möchte. Im agentenbasierten Konzept sind für die

Verbreitung von Versionen der Software in Internet spezielle mobile Agenten verantwortlich, die in

die vertriebene Software beinhalten. Am Anfang verfügt jeder Agent über eine Menge an virtuellen

Währungsmitteln, die beim Gebrauch des Servers abgezogen wird. Der Agent kann das elektronische

Geld auf zweierlei Art verdienen: erstens beim Zugriff auf die von ihm vertriebene Software durch

Kunden und zweitens durch zusätzliche Währungsmittel-Überweisungen vom Hersteller der Software,

der die virtuellen Punkte für richtiges Geld kaufen kann. Die Agenten könnten sich reproduzieren, um

neue Bereiche des Internets zu erobern (das virtuelle Geld wird dann auf die Agenten aufgeteilt). Die

Agenten verfügen über die Möglichkeit sicherzustellen, wo sich ihre eigenen Klone schon befinden,

um denselben Server nicht doppelt anzusiedeln.

Im Internet gibt es leider auch eine ganze Reihe von böswilligen Agenten mit dem Ziel, die

Arbeit anderer zu zerstören, auf illegale Weise auszuspionieren oder mit verschiedenen Methoden die

Arbeit zu erschweren. Computer-Viren sind auch eine Art von Agenten. Die Troian Horses sind

feindliche Agenten, die sich als nützliche Programme tarnen, um in das System des Benutzers

einzudringen, um von dort unautorisierte Operationen auszuführen. E-mail Collectors sind Agenten,

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

27

die im Internet nach E-Mail-Adressen suchen. Diese Art von Agenten wird vor allem dazu genutzt, um

den Benutzern (meist unerwünschte) Werbe-Mails zu verschicken. Es gibt auch Agenten, die

Sicherheitslücken in Systemen suchen und so gezielte feindliche Systemeinbrüche ermöglichen.

2.5.5. Intelligente Softwarearchitekturen

Intelligente Softwarearchitekturen sollen dazu beitragen, dass die Computersysteme sich selbst

reparieren oder entwickeln können. Die Softwarekomponenten werden zu Agenten erweitert und

können durch Interaktionen mit anderen intelligenten Komponenten und der selbstständigen

Anpassung an neue Bedingungen, ein viel flexibleres und robusteres System ergeben [28] [36]. Diese

Softwaredesign-Methode ermöglicht eine effektive Integration von alten und neuen Systemen. Den

Prozess der Transformation alter Applikationen zu Agenten nennt man auch Agentification [36].

Ein oft zitiertes Beispiel einer intelligenten Softwarearchitektur ist die Archon-Plattform

(Architecture for Cooperating Heterogenous On-Line Systems). Die Basis für die Plattform bildet ein

allgemeines Multiagentensystem [61] Die Archon-Agenten bestehen aus zwei Segmenten: dem Kopf

und dem Körper. Im Kopf befinden sich die Planungs- und Kommunikationskomponenten, wie auch

das Modell von den eigenen wie auch fremden Fähigkeiten. Im Körper wird eine Komponente aus

dem vorhandenen System mit dem Agenten integriert. Die Archon-Plattform wurde mehrmals

erfolgreich eingesetzt, u.a. zur Überwachung von Elektrizitätsnetzen im Norden Spaniens und zur

Kontrolle eines Partikelbeschleunigers.

Die Firma IBM, die auf dem Gebiet der Agententechnologie schon mit ihrer Aglets-

Technologie [39] aktiv wurde, baut jetzt eine neue Vision von Softwarearchitektur auf, in der Agenten

eine fundamentale Rolle spielen werden. Das Konzept heißt Autonomic Computing und soll eine

Lösung für die ständig wachsende Komplexität der Installation, Konfiguration und Verwaltung von

modernen Softwaresystemen sein [41]. Autonomic Computing bedeutet in der Praxis ein System, das

sich selbst konfigurieren, optimalisieren, reparieren und schützen kann. Der menschliche

Administrator wird dem System nur allgemeine Ziele geben, das System selbst wird sich um die

Details kümmern, wie z.B. die Erkennung und Integration mit schon installierter Systeme und Prüfung

der Richtigkeit der Installation. Möglich wird das dadurch, dass die neuen Systeme Sammlungen von

so genannten Autonomic elements sind, die durch Softwareagenten realisiert werden. Aufgaben dieser

intelligenten Komponenten sind z.B. die Suche nach neusten Versionen von Paketen mit

Fehlerkorrekturen oder Verhandlungen mit verschiedenen Anbietern eines Web Services. Der

menschliche Aufseher wird nur in kritischen Situationen benachrichtigt.

2.5.6. Andere Agentenanwendungen und Zukunftsperspektiven des Einsatzes

von Agenten.

Die oben genannten Kategorien decken noch nicht das ganze Spektrum der Anwendungen von

Agenten ab. Nicht besprochen wurde z.B. die Anwendung von Agenten in der Medizin [36].

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

28

Zu den Zukunftsanwendungen gehört unter anderem der Einsatz Agenten in der Ambient

Intelligence (AmI). Diese Richtung der Künstlichen Intelligenz befasst sich mit einer Vision der Welt,

in der Menschen durch Tausende von eingebetteten oder mobilen Geräten umgeben sind, die

miteinander kommunizieren, um die Ziele ihrer Benutzer zu realisieren [48].

Eine höchst interessante und viel versprechende Idee ist die Anwendung der

Agententechnologie in der Bioinformatik, z.B. in der Analyse des Genoms [48]. Bei der Dekodierung

des Genoms gewann man enorme Mengen an Informationen, die auf intelligente Weise analysiert

werden sollten. Des Weiteren könnte man anhand des schon dekodierten Genoms einer Gattung den

Dekodierungs-Prozess eines Genoms einer ähnlichen Gattung durch den Einsatz von Agenten

beschleunigen. GeneWeaver [16] ist ein Beispiel für ein inzwischen laufendes Projekt auf dem Gebiet

der Analyse des Genoms.

Die Vielfalt der gezeigten Agentenanwendungen zeigt ausdrücklich, welch großes Potential

sich hinter der Multiagenten-Technologie verbirgt. Die vielen erfolgreichen (auch aus finanziellee

Sicht) Einsätze dieser Systeme zeigen, wie bedeutsam Agenten für die Gesellschaft geworden sind.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

29

3. Charakteristik des E-Learning

Non scholae, sed vitae discimus

("nicht für die Schule, sondern für das Leben lernen wir")

Seneca, Epistulae 106, 12

3.1. Einführung

Der Begriff E-Learnig zählt zu der neuen, heutzutage sehr gerne benutzten Familie der E-

Ausdrücke. Das bekannteste Beispiel aus dieser Wortgruppe ist ohne Zweifel E-Mail. Man spricht

auch von E-Business, E-Commerce, E-Collaboration, E-Marketing, E-Money, E-Procurement, E-

Recruitment, E-Security und vielen Anderen E-Begriffen. Obwohl die Ausdrücke aus dem Englischen

stammen, werden sie oft (und das sowohl im Deutschen wie auch Polnischen) nicht übersetzt.

Die E-Wörter gliedern sich immer in zwei Teile auf: den Buchstaben E, der für electronic steht (und

nach etwas Neuem und Innovativem klingen soll) und einen zweites Glied, das inzwischen ein gut

eingebürgerter Begriff ist. Diese Namensgebung soll hervorheben, dass der beschriebene Begriff eine

Neuauflage eines alten Konzeptes ist, das mit Hilfe elektronischer Mittel realisiert wurde.

Der Begriff E-Learning taucht in der wissenschaftlichen Literatur erst seit kurzem auf, was aber

nicht bedeutet, dass das Konzept des Lernens, unterstützt durch elektronische Medien, erst jetzt

entstanden ist. Die früheren Ansätze benutzten u.a. die Namen virtuelles Lernen oder multimediale

Lernumgebungen. Auf der Suche nach der Definition des Terms E-Learning analysierte ich die

Arbeiten [5] [8] [40] [50]. Der Kern der Begriffserläuterungen ist immer der Selbe und lässt sich am

Besten mit der Definition aus [50] zusammenfassen: „Unter E-Learning versteht man das Lernen mit

Hilfe elektronischer Medien“. Zweck des E-Learnings ist die „Überwindung von räumlichen und

zeitlichen Distanzen zwischen Lehrenden, Lernenden und Gruppen von Lernenden (…)“ [45].

Manchmal wird unterstrichen, dass diese Lernform an die Lernenden nach dem Abitur gerichtet ist

[40]. Einige Forscher verstehen den Begriff recht eng, nämlich einzig als die Veröffentlichung von

Lernmaterialien mittels elektronischer Medien. Meiner Ansicht nach, wie auch der von vielen

Wissenschaftlern, ist dies eine viel zu starke Eingrenzung: „(…) we are disappointed when we hear

people in conferences or public speeches say that e-learning is as simple as publishing a presentation

on-line“ [49]. Zu einem erfolgreichen E-Learning gehört auch die Entwicklung einer an den Lernstoff,

die Lernenden und die benutzen Technologien angepassten Lehrstrategie. Wichtig sind auch die

Technologien des Wissensmanagement [49].

E-Learning wurde gezielt nicht E-Teaching genannt. Der Term sollte möglichst breit gesehen

werden. Das Lernen muss man klar vom Lehren unterscheiden. Lernen ist ein individueller Prozess –

niemand kann für uns selbst lernen. Das Lehren ist natürlich auf Lernen gerichtet, aber ist nicht dessen

Voraussetzung, denn man kann sehr wohl auch ohne Lehrer lernen. E-Learning ist daher mehr ein

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

30

Oberbegriff für E-Teaching, denn es befasst sich sowohl mit elektronisch gestützten Methoden des

Lehrens wie auch des individuellen Lernens.

Ein Fehler, der oft durch die Entwickler von E-Learnig-Systemen begangen wird, ist eine viel zu

große Konzentration auf die benutzten Technologien im Vergleich zu der Zeit, bestimmt für das

didaktische Design. Das vernachlässigte Lehrkonzept wird durch ein Spektakel aus multimedialen

Effekten ersetzt. Die Folge solcher Softwareentwicklung sind Systeme, die zwar im ersten Moment

beeindrucken, aber danach sehr schnell ermüden, langweilen oder frustrieren und sich im Endeffekt als

unnützlich erweisen. Aus diesem Grund möchte ich, bevor ich auf die technischen Details des E-

Learning eingehe, die grundlegende Frage stellen: was verstehen wir unter Lernen?

3.2. Grundlagen des Lernens

Unter Lernen versteht man den Erwerb vom Wissen. Der Erwerb vom Wissen geschieht durch die

Wahrnehmung von Informationen, die wiederum aus geordneten Daten zusammengesetzt sind.

Abhängig von der Art der Information unterscheiden wir verschiedene Wissensarten [45]:

• Affektives Wissen – Gefühle und Einstellungen betreffend

• Kognitives Wissen – Gegenstand intellektueller Reflextion

• Psychomotorisches Wissen – Bewegungsabläufe und körperliche Geschicklichkeit betreffend.

E-Learning konzentriert sich vor allem auf die Förderung des kognitiven Wissens. Andere

Wissensarten kann man schlecht mit Hilfe elektronischer Medien übermitteln. Das kognitive Wissen

gliedert sich weiter in Unterbegriffe. Die zwei wichtigsten sind [45]:

• Deklaratives Wissen – Wissen über Fakten, Ereignisse und Objekte

• Prozedurales Wissen – Die Fähigkeit zur Anwendung, Assoziation und darüber hinaus auch

Erzeugung von deklarativem Wissen.

In der Regel wird das prozedurale Wissen höher geschätzt als das deklarative. Ein gutes Beispiel sind

dafür die Gebiete der Mathematik oder Physik, wo man die vergessene Formel oft leicht aus anderen

Formeln ausrechnen kann. Daher ist die richtige Anwendung des Wissens (Verständnis der

Sachverhalte) viel wichtiger. Man sollte jedoch die Wichtigkeit des deklarativen Wissens nicht

unterschätzen. Zu den Wissensgebieten, die viel deklaratives Wissen benötigen, zählen z.B.

Linguistik, Jura oder Medizin. Ob deklaratives oder prozedurales Wissen von den Menschen besser

angenommen wird, hängt vom Einzelfall ab. Es gibt Leute, die meinen, sie hätten kein Gedächtnis für

Zahlen oder Daten (bevorzugen daher das prozedurale Wissen), andere wiederum lernen gerne

auswendig (Prädisposition für deklaratives Wissen).

Im negativen Kontext spricht man über träges Wissen. Es ist ein Wissen, das in einer Situation

theoretisch gelernt wurde, in einer Anwendungssituation jedoch nicht genutzt werden kann [50].

Anders gesagt: in dem Fall wurde das deklarative Wissen ohne das zugehörige prozedurale Wissen

gelernt. Daher sollte ein gutes Bildungsprogramm immer Methoden enthalten, die das prozedurale

Wissen fordern, wie z.B. Fallstudien und Übungsaufgaben. Der Lernende sollte auch möglichst oft

über die Anwendungsmöglichkeiten des gelernten Wissens informiert werden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

31

Wir beschreiben drei grundlegende Lernformen: formelles, entdeckendes und beiläufiges Lernen.

Formelles Lernen findet in Situation statt, wo der Lernprozess gezielt geplant und gestaltet wird (z.B.

das Lernen im Klassenzimmer während einer Übungsstunde). Entdeckendes Lernen (engl. exploratory

learning) wird durch den Lernenden selbst gesteuert. Statt alle relevanten Informationen fertig

strukturiert zu bekommen, muss der Lernende wichtige Informationen selbst finden und neu ordnen,

bevor er daraus Regeln ableiten und Probleme lösen kann [12]. Beiläufiges Lernen (engl. learning by

doing) findet (oft unbemerkt) in alltäglichen Situationen des Lebens statt, ganz nebenbei während der

gewöhnlichen Tätigkeiten.

3.3. Lernparadigmen

Im Laufe – der Jahrhunderte währende – Anwendung der Didaktik entstanden zahlreiche

Methoden des Lernens. Die ersten bedeutenden Ansätzte führen sogar bis zum Zeitalter der Griechen

in der Antike und den Erkenntnissen solcher großen Philosophen wie Sokrates, Plato oder Aristoteles.

Wir sprechen z.B. von der sokratischen Methode, die Wissen durch intensive Fragestellung fördert.

Die gegenwärtige Erziehungswissenschaft unterscheidet drei grundlegende lerntheoretische

Paradigmen: Behaviourismus, Kognitivismus und Konstruktivismus [35] [45]. Jedem dieser Ansätze

ist eine Reihe von Theorien zugeordnet.

3.3.1. Behaviourismus

Das behaviouristische Konzept besagt, dass das Lernen durch Anpassung an äußere Reize

geschieht (Reiz-Reaktions-Modell19). Man betrachtet nicht die Prozesse, die in der Kognition des

Lernenden stattfinden, sondern lediglich die Endreaktion des Lernenden auf vorgegebene

Informationen20. Die möglichst schnelle Bestätigung der korrekten Antwort (oder Bestrafung der

falschen) verstärkt die richtige Reaktion des Lernenden. Das Lernziel ist nur das Erreichen der

richtigen Reaktion, nicht das Verständnis des gelernten Lernstoffs. Das zu Lernende teilt man in

möglichst kleine Informationsportionen, die man schnell abfragen kann. Die Rolle des Lehrenden

besteht vor allem in der Beurteilung der Korrektheit der Antworten des Lernenden. Das

behaviouristische Konzept eignet sich gut zum Einüben von automatischen Vorgängen

(psychomotorisches Wissen oder z.B. das Erlernen von Vokabeln einer Fremdsprache) [45]. Ein

Bespiel für die praktische Realisation der Ansätze des Behaviourismus ist die Callan-Methode des

Englischunterrichts [80]. Ein Callan-Lehrbuch besteht ausschließlich aus Fragen und Antworten auf

diese Fragen. Während des Unterrichts liest der Lehrende die in dem Buch stehenden Fragen vor, und

19 Grundlagen für dieses Lernparadigma waren u.a. die Arbeiten von I.P. Pawlow (berüchtigte Pawlows Hunde). Einer der

Einflussreichsten der behaviouristischen Schule war der Psychologe B.F. Skinner in den Fünfzigerjahren des vergangenen

Jahrhunderts. 20 Sowohl Behaviourismus wie auch Kognitivismus basieren übereinstimmend mit der objektivistischen Sichtweise.

Objektivismus besagt, dass es bloß eine einzige korrekte, vollständige, extern und objektiv existierende Form der Wahrheit

gibt. Konstruktivismus dagegen geht von der Annahme aus, es gäbe keine objektive Wahrnehmung von Realität.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

32

der Lernende muss so schnell wie möglich eine grammatisch korrekte21 Antwort geben. Der wichtigste

Kritikpunkt an der behaviouristischen Sichtweite des Lernens ist, dass man komplexe Fähigkeiten

nicht übermitteln kann, ohne einen Einblick in die Denkweise des Lernenden zu haben [45]. Des

Weiteren werden die individuellen Eigenschaften des Lernenden während des Lehrprozesses nicht

berücksichtigt. Trotz dieser Kritikpunkte ist die Mehrzahl der heutzutage verfügbaren Lernprogramme

überwiegend nach behaviouristischen Prinzipien gestaltet [12].

3.3.2. Kognitivismus

Im Kognitivismus22 spielen die Denk- und Verstehensprozesse des Lernenden eine zentrale Rolle.

Bildung wird als Internalisierung des Wissens, z.B. durch den Aufbau mentaler Modelle, verstanden

[12]. Im Gegensatz zum Behaviourismus wird der Lernende nicht nur durch einfache, vorgefertigte

Information gesteuert, sondern muss die aufgenommenen Informationen selbst strukturieren, mit

vorhandenem Wissen vergleichen und es entsprechend in neues Wissen umwandeln. Der Lehrende

soll dem Lernenden bei der richtigen Auswahl der wichtigen Informationen helfen, indem er die

Lehrmaterialien an den Lernenden (dessen Denkweise und Vorwissen) anpasst. Genauso wie im

behaviouristischen Ansatz gehört zu den Pflichten des Lehrenden auch die Verifikation und Korrektur

des Wissens des Lernenden.

3.3.3. Konstruktivismus

Der Konstruktivismus23 verwirft das Konzept der Existenz einer objektiven Wahrheit, die der

Lehrer während des Lernprozesses dem Lernenden übermitteln kann. Das Wissen erzeugt der

Lernende selbst durch interne subjektive Konstruktionen von Ideen [12]. Externe Informationen

dienen nur als Anregung zur Bildung der eigenen Anschauung [45]. Anders als in den vorigen

Ansätzen kann die Formulierung der Problemstellung schon selbst Ziel des Lernprozesses sein. Im

Konstruktivismus verliert der Lehrende die autoritäre Rolle. Seine Aufgabe wird vielmehr als die eines

Trainers gesehen, der dem Lernenden nur eine motivierende Umgebung zur selbstständigen Suche

nach Wissen bereitstellt. Diese Lernmethode eignet sich gut zur Auffassung von komplizierten und

bislang nicht gründlich erforschten Wissensgebieten.

3.4. E-Learning im Detail

Den Zusammenhang des E-Learnings mit anderen gängigen Begriffen aus den modernen

Bildungstechnologien zeigt die Abbildung 3-1. Technology-based Training, das in mancher Hinsicht

als Oberbegriff für E-Learning gesehen werden kann, bezeichnet alle Lerntechnologien, die auf

irgendwelche Weise moderne Informations- und Kommunikations-Geräte [4] benutzen. Der

Unterschied zu E-Learning ist, dass man mit dem Namen Technology-based Training auch

traditionelle Präsenzveranstaltungen bezeichnet, für die man z.B. Beamer oder Smartboards benutzt.

21 Es muss nicht unbedingt die Antwort sein, die in dem Buch steht 22 Der führende Vertreter des Kognitivismus ist J.Piaget 23 Einer der Gründer des Konstruktivismus war der italienische Philosoph Giambattista Vico

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

33

Blended Learning ist eine hybride Lernform, die eine Kombination aus Präsenzveranstaltungen und E-

Learning-Szenarios ist [50].

BlendedLearning

Technology-based Training

E-Learning

Distance Learning

WBTCBT

Abbildung 3-1 Begriffslandkarte, in Anlehnung anI [4]

Distance Learning ist ein recht alter24 Begriff und bedeutet Lernen in Situationen, wo den

Lernenden und den Lehrenden weite Entfernungen voneinander trennen. Die traditionelle

Kommunikationsmethode des Distance Learning (Briefe) wird heutzutage weitgehend modernisiert

und durch solche Technologien wie E-Mails, Chats, Whiteboards, Videokonferenzen und virtuelle

Klassenzimmer ersetzt. Distance Learning kann man, meiner Meinung nach, nicht als Unterbegriff für

E-Learning halten, denn die Verwendung von elektronischen Mitteln ist für diese Lehrform nicht

notwendig.

WBT (Web-Based-Training) bedeutet das Lernen über Netzumgebungen wie Internet oder

Intranet. CBT (Computer-Based-Training) sind computerbasierte Lernmethoden (z.B. Multimediale

Lernprogramme auf CD-ROM), die offline stattfinden. CBT kann nur statische Inhalte anbieten

(gebrannt auf CD-ROM oder DVD), im Gegensatz dazu können die WBT Materialien ständig

aktualisiert und ergänzt werden. Sowohl WBT wie auch CBT können interaktive Elemente beinhalten,

wobei nur WBT direkte Kommunikationsmöglichkeiten unter den Lernenden und zwischen dem

Lernenden und Lehrenden ermöglicht. Der Vorteil des CBT sind keine Einschränkungen aufgrund der

begrenzten Bandbreite der Übertragung von Daten. CBT Systeme können daher deutlich mehr

multimediale Materialien (wie Videofilme) beinhalten25.

3.4.1. St. Galler E-Learning-Referenzmodell

Das St. Galler E-Learning-Referenzmodell (Abbildung 3-2) wurde als Versuch der Ordnung und

Strukturierung der Begriffe des E-Learning entwickelt.

24 Die Geschichte des Distance Learning (von manchen auch D-Learning bezeichnet) begann in der zweiten Hälfte des

19.Jahrundert, zeitgleich mit der Industriellen Revolution. Die Erfindung der Bahn ermöglichte einen schnellen Transport der

Lehrmaterialien auf weite Entfernungen [40] 25 Man muss aber anmerken, dass bei den wachsenden Übertragungsgeschwindigkeiten der modernen Netze dieser

Unterschied immer mehr verwischt.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

34

E-Learning-Strategie

Prozesse und Methoden

Technologien und Systeme

E-Learning-Systeme

Lerntechnologien

Basistechnologien

Lernarchitektur

Lernraum

Lernprozesse

Management derVeränderung

Abbildung 3-2 St. Galler E-Learning-Referenzmodell, in Anlehnung an [4]

Das Modell gliedert sich in vier Ebenen auf [8]:

• Technologien und Systeme

• Prozesse und Methoden

• E-Learning-Strategie

• Management der Veränderungen

Die Ebene der Technologien und Systeme bezieht sich auf Beschaffung, Integration und Betrieb

von Basistechnologien, Lerntechnologien und E-Learning-Lernsystemen.

Unter Basistechnologien verstehen wir einfache Informations- und Kommunikationstechnologien,

die im E-Learning angewandt werden können, aber von E-Learning grundsätzlich unabhängig sind.

Dazu zählen wir z.B. E-Mail, Chat, Diskussionsforen, Suchmaschinen, Hypermediasysteme,

Technologien des Semantic Webs.

Bei den Lerntechnologien handelt es sich um Technologien, die speziell für den E-Learning-

Lernbereich entwickelt wurden. Beispiele von Lerntechnologien sind: Virtuelles Klassenzimmer,

Interaktives Whiteboard, Business TV.

E-Learning-Systeme bezeichnen eine konkrete Problemlösung im Lernbereich, die außer der

Technologie zusätzlich noch Lernstoff und didaktische Methoden und Konzepte zur Übermittlung des

Wissens beinhaltet. E-Learning-Systeme werden aus Basis- und Lerntechnologien zusammengesetzt

und ergänzt durch Konzepte aus den drei anderen Ebenen des St. Galler Referenzmodells. Komplexe

E-Learning-Systeme können selbst einfachere E-Learning-Systeme beinhalten. Beispiele von E-

Learning-Systemen sind konkrete CBT- oder WBT-Applikationen, wie z.B. (ADE → 5.4.1).

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

35

Die Ebene der Prozesse und Methoden definiert die Lernmaßnahmen des E-Learnings. Die

Ebene gliedert sich in drei Unterebenen auf: Lernprozesse, Lernraum und Lernarchitektur.

Lernprozesse bilden die unterste Gestaltungsebene der Lernmaßnahmen und beinhalten

Methoden, aus denen komplexere Lernszenarien entwickelt werden. Beispiele von Lernprozessen sind

E-Training26 (wo es um individuelle Vermittlung von Wissen geht), E-Collaboration (wo der

Wissensaustausch in der Gruppe im Vordergrund steht) und JIT-E-Learning27 (wo der Lernende bei

Ad-hoc-Lernbedarf direkt am Arbeitsplatz mit Informationen versorgt wird) [8].

Ein Lernraum umfasst alle Lernmaßnahmen in Bezug auf spezielle Zielgruppen oder eine

bestimmte Thematik. Ein Lernraum verschachtelt mehrere Lernprozesse. Beispiele zur Gestaltung von

Lernräumen sind nach [4]: kompetenzorientiertes Lernen (Lernen gerichtet auf den Erwerb und die

Anwendung einer bestimmten Kompetenz), supportorientiertes Lernen (Lernen, bei dem die

Unterstützung des Lernenden durch einen Lehrer als sehr wichtig gesehen wird),

mitgestaltungsorientiertes Lernen (wo der Lernende viele Parameter des Lernprozesses selbst

bestimmen kann) und anwendungs- und arbeitsplatzorientiertes Lernen (Ausrichtung des Lernraumes

auf konkrete Probleme und Bedürfnisse des Arbeitsalltags).

Die Lernarchitektur vernetzt Lernräume untereinander und orientiert sich an der E-Learning-

Strategie. Die Lernarchitektur wird nur für große Bildungssysteme aufgestellt.

Die E-Learning-Strategie-Ebene definiert die E-Learning-Politik in der Organisation, in der das

E-Learning-Programm eingesetzt wird. In Unternehmen ist es wichtig, die E-Learning-Strategie mit

anderen Strategien der Organisation (wie z.B. der Personalstrategie) abzugleichen. In der Strategie

werden sowohl aktuelle wie auch zukünftige Entwicklungen des E-Learnings berücksichtigt.

Die Ebene des Managements der Veränderung umfasst Elemente des Projektmanagements, die

mit der Weiterentwicklung des Systems in Zusammenhang stehen.

3.5. Technologien des E-Learnings

Im folgenden Unterkapitel werden einige der Basis- und Lerntechnologien kurz vorgestellt. Aus

Platzgründen ist es nicht möglich, im Rahmen meiner Diplomarbeit, alle möglichen Technologien des

E-Learnings zu beschreiben. Daher wurde willkürlich aus den im Punkt 3.4.1 genannten Beispielen je

ein Repräsentant für Basistechnologie (Diskussionsforum) und Lerntechnologie (Virtuelles

Klassenzimmer) charakterisiert. Die zwei gezeigten Begriffe unterscheiden sich voneinander auch

dadurch, dass die erste Technologie eine asynchrone und die zweite eine synchrone

Kommunikationstechnologie ist.

Die Prinzipien der Semantic Web-Basistechnologie wurden wegen der Relevanz dieses

Ansatzes für die MAESTRO-Architektur in einem getrennten Kapitel besprochen (→ Kapitel 4).

26 E-Training gliedert sich nach [4] in folgende Unterarten auf: E-Tutorials, E-Assignments, E-Discussions und E-

Simulations 27 JIT-E-Learning = Just-in-time-E-Learning

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

36

3.5.1. Diskussionsforum

Ein Diskussionsforum ist laut Internetlexikon Wikipedia [131] ”eine Kommunikations-Plattform

und ein Platz zum Austausch von Gedanken und Erfahrungen” Die Kommunikation in einem

Diskussionsforum findet asynchron, das heißt, nicht in Echtzeit, statt. Die Foren sind meistens einem

bestimmten Thema bewidmet (z.B. Mountainbiking oder Technologien verbunden mit der Java-

Programmiersprache) und können sich auf weitere Unterforen (Kanäle) gliedern. Um die Beiträge der

Teilnehmer der Foren zu ordnen, werden mehrere Aussagen zum selben Thema zu einem Thread

(Faden) oder Topic (Thema) zusammengefasst. Häufige Beispiele von Foren sind so genannte

Hilfsforen, in denen sich Benutzer einander bei verschiedenen technischen Problemen helfen. Die

meisten Foren sind frei zugänglich, es gibt jedoch auch eine Gruppe von kommerziellen Systemen

(z.B. Hilfeforen der Softwarehersteller zu ihren jeweiligen Produkten). Viele Foren unterscheiden

zwischen verschiedenen Benutzerrollen, zum Beispiel gewöhnlichen Forennutzern und

Administratoren, die die Diskussion moderieren können. Es gibt verschiedene Arten von

Diskussionsforen: WebForen, BBS, Usenet, Mailinglisten28.

Wenn man das Diskussionsforum im St.Gallen Referenzmodell betrachtet, so kann man sagen,

dass es ein klassisches Beispiel von einer Basistechnologie zur Gestaltung von E-Collaboration-

Lernprozessen ist. Die Primäranwendung von Diskussionsforen ist allgemein und nicht unbedingt mit

Lernen verbunden. Man kann sich jedoch leicht spezielle Foren vorstellen, in denen die Lernenden

gegenseitig ihre Erfahrungen in dem gelernten Wissensgebiet austauschen und sich gegenseitig bei

Problemen Hilfe leisten können. Der Lehrende kann auch Teilnehmer der Diskussionen werden, was

für die Lernenden eine zusätzliche Hilfe sein kann. Der Lehrende kann vom Einsatz der

Diskussionsforen auch profitieren, denn die einfachen Fragen können die Studenten unter sich klären,

was zur Entlastung der Sprechstunden führen kann. Möglich sind auch Foren, in denen eine Gruppe

Studenten zu didaktischen Zwecken kollaborativ ein Problem löst.

3.5.2. Virtuelles Klassenzimmer

Das Virtuelle Klassenzimmer ist eine synchrone E-Learning-Technologie der Übertragung des

Unterrichts in der Situation, wo die Lernenden vom Lehrenden durch eine bedeutende räumliche

Entfernung getrennt sind. Zur Ausstattung eines virtuellen Klassenzimmers gehören Webcams und

Mikrophone zur Übertragung vom Bild und Ton aus den Standorten, wo der Unterricht stattfindet.

Bestandteil von vielen virtuellen Klassenzimmern ist das interaktive Whiteboard. Das interaktive

Whiteboard (auch Smartboard genannt) ist eine Lerntechnologie der synchronen Übertragung von

Zeichenflächen zu mehren Orten gleichzeitig [33]. Es gibt verschiedene Varianten von Whiteboards.

Die einfachste Version ermöglicht, ähnlich wie eine traditionale Tafel, das Schreiben, Zeichnen von

einfachen Bildern und Löschen der virtuell beschriebenen Fläche. Komplexere Lösungen ermöglichen

zusätzlich z.B. das Anzeigen von derselben Power Point-Präsentation in verschiedenen Standorten

zugleich.

28 Details zu den einzelnen asynchronen Kommunikationsmechanismen des Internets findet der Benutzer u.a. in [131]

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

37

Abbildung 3-3 Multimedia-Hörsaal an der TU Clausthal

Die Abbildung 3-3 zeigt ein virtuelles Klassenzimmer an der TU-Clausthal. Dank der

Zusammenarbeit im Rahmen des ELAN-Projektes können die Studenten aus Clausthal virtuell an

manchen Vorlesungen der Universität Göttingen (und vice versa) teilnehmen.

3.6. E-Learning-Plattformen

Eine E-Learning-Plattform ist ein System, das es ermöglicht, innerhalb einer Organisation

(Unternehmen, Hochschule) ein virtuelles Bildungszentrum aufzubauen. Zu den Kernfunktionen einer

E-Leraning-Plattform gehören (laut [50]):

• Verwaltung von E-Learning-Angeboten

• Verwaltung von jeglicher Art von Lernmedien

• Verwaltung von Anwendern

Viele Lernplattformen bieten darüber hinaus unterschiedliche Kommunikationsmethoden und

Suchfunktionen, wie auch separate Arbeitspeicher für jeden Lernenden. Man kann sagen, dass eine E-

Learning-Plattform einen schnellen Aufbau der Ebene der Technologien und Systeme des St. Galler

Referenzmodells (→3.4.1) ermöglicht. Zu den bekanntesten E-Learning-Plattformen gehören: WebCT

[129], Blackboard [79], TopClass e-Learning Suite [125] sowie IBM Lotus Learning Management

System29 [98]. Einen detaillierten Vergleich der Funktionen der populären E-Learning-Plattformen

findet der Leser unter [83] [85] [130]. Im folgenden Punkt möchte ich kurz eine der Plattformen

vorstellen. Meine Wahl fiel auf WebCT, weil diese Plattform oft an den Universitäten eingesetzt wird

(z.B. [34]).

29 IBM Lotus Learning Management System ist Nachfolger der Lotus LearningSpace E-Learning-Plattform

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

38

3.6.1. WebCT

Die E-Learning-Plattform WebCT [129] wurde im Jahre 1995 durch Murray Goldberg an der

University of British Columbia in Kanada entwickelt und ist seitdem mehrmals erweitert worden.

Abbildung 3-4 Ein mit Hilfe von WebCT erstelltes E-Learning-System

Die Plattform ist ein Werkzeug, mit dem die Lehrenden ohne großen Zeitaufwand und technischer

Erfahrung fortgeschrittene E-Learning-Systeme effektiv erstellen können. WebCT ist aus über 40

kleinen Applikationen (Tools) zusammengesetzt30, die den Lernprozess unterstützen sollen. Der

Dozent liefert den Lehrstoff und interaktiviert ihn mit Hilfe der Applikationen. Die Abbildung 3-4

zeigt als Bespiel einen on-line-Kurs (im Fach Sozialpsychologie), realisiert mit Hilfe der WebCT-

30 Nicht alle Applikationen müssen in das fertige E-Learning-System integriert werden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

39

Technologie. Die auf dem Bild sichtbaren Ikonen sind Verweise auf die oben erwähnten

Applikationen. In der Tabelle 3-1 sind einige der verfügbaren WebCT-Tools beschrieben [95].

Name der Applikation Beschreibung Discussion Board Implementation eines Diskussionsforums (→3.5.1), das sich mit

Themen verbunden mit der Lerneinheit befasst.

Student Tips Erlaubt den Kursleitern, spezielle Tipps für die Studenten im Kurs zu

schreiben.

Progress Beinhaltet Informationen über die Benutzung des Kurses durch den

Studierenden. Hier kann man sich informieren, welche Seiten man

schon gesehen hat und welcher Teil des Kurses schon absolviert wurde.

Compile Bietet den Studenten die Möglichkeit, mehrere oder alle Seiten des

Kursmaterials in ein langes Dokument zusammenzufassen (z.B. für den

Ausdruck).

Exams and Quizzes Erlaubt die Durchführung von Examen und Tests im Internet. Diese

Option beinhaltet auch die Ergebnisse und Statistiken der

durchgeführten Examen und Tests. Bei Mathematikaufgaben steht dem

Lernenden ein spezieller, in Java geschriebener Editor zur Verfügung,

womit der Lernende Formeln eingeben kann. Es existiert auch eine

separate WebCT-Tools-Applikation, die das Durchführen von Self-

Tests ermöglicht, das heißt Test, deren Ergebnisse dem Lehrenden nicht

zur Bewertung geschickt werden.

CD-ROM Ermöglicht dem Lehrenden bei besonders speicherbedürftigen

Lernmaterialien, sie auf CDs zu brennen, die man später unter den

Studenten aufteilt. Der Inhalt der CD wird auf dem Rechner des

Studenten mit dem on-line-Kurs integriert.

Tabelle 3-1 Einige der WebCT Tools

Außer den allgemein zugänglichen Applikationen gibt es auch eine Reihe von Authoring-Tools für die

Kursleiter, die die Vorbereitung der Lernmateriallien unterstützen sollen (z.B. File Manager, Student

Manager, Course Backup Tool).

3.7. Ausgewählte Beispiele von E-Learning-Aktivitäten

Die Bildungsministerien fast aller Staaten, Hochschulleiter, wie auch die Führungskräfte

zahlreicher Unternehmen haben das Potenzial des E-Learnings erkannt und entsprechende Programme

zur Förderung dieser Lernform gebildet. Über das Ausmaß des Trends zeugt die Tatsache, dass schon

im Jahre 2000 75% der amerikanischen Universitäten unterschiedliche Lernkurse durch Internet

anboten [109]. Aus der großen Menge der E-Learning-Unternehmen habe ich nur die Aktivitäten in

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

40

Deutschland und in meinem Heimatland Polen betrachtet und daraus repräsentativ drei Beispiele kurz

charakterisiert.

3.7.1. ELAN Niedersachsen

ELAN-Niedersachsen (E-Learning Academic Network) [86] ist ein von dem Ministerium für

Wissenschaft und Kultur des Landes Niedersachsen gefördertes Programm zur Unterstützung des

Einsatzes von neuen (multimedialen) Technologien in Lehre, Studium und Weiterbildung. Dieses Ziel

soll durch den Ausbau eines E-Learning-Netzwerkes in Niedersachsen geschehen. Die Teilnehmer des

Programms werden in drei Kategorien eingeteilt:

• Netz-Piloten, die die Rahmenbedingungen und Infrastrukturen für das Netzwerk festlegen und

dafür vom Land finanziell besonders gefördert sind,

• Netz-Träger, die das Netzwerk nach Absprache mit den „Netz-Piloten“ ausbauen

• Netz-Partnern, die die Leistungen des Netzwerkes nutzen und gegebenenfalls bei Lücken, in

den durch den „Netz-Piloten“ und „Netz-Träger“ abgedeckten Bereichen, eigene Leistungen

in das Netzwerk einbringen.

Grund für die Entstehung des Netzwerkes ist die Integration von Lernangeboten aus

verschiedenen Hochschulen. Der Studierende soll durch die Verbindung mit dem ELAN-Netz zeit-

und ortsunabhängig lernen können. Dank eines Systems von Kreditpunkten werden dem Studierenden

Leistungen, die er auf einer anderen Hochschule des ELAN-Projektes vollbracht hat, an dem

Studienort anerkannt.

Das Land Niedersachsen hat drei „ELAN-Piloten“ gewählt: Uni Oldenburg/Osnabrück, Uni und

MH Hannover/TU Braunschweig und Uni Göttingen/TU Clausthal. Ein Schwerpunkt des „ELAN-

Piloten“ Uni Göttingen/TU Clausthal ist der Aufbau eines „Lehrverbundes Informatik“. In Rahmen

dieser Zusammenarbeit können die Studierenden aus Clausthal und Göttingen mit Hilfe eines

virtuellen Klassenzimmers (Abbildung 3-3, →3.5.2) an manchen Vorlesungen der Partneruniversität

virtuell teilnehmen. Die Vorlesungen werden aufgezeichnet und stehen dem Studierenden beliebig zur

Verfügung.

3.7.2. Fernuniversität Hagen

Die Fernuniversität Hagen (gegründet 1974) ist eine der ersten deutschen Universitäten, für das

s.g. Fernstudium. Die Hochschule bietet Diplom-, Bachelor- und Master-Studiengänge in 6

Fachbereichen (Elektrotechnik, Informatik, Kultur- und Sozialwissenschaften, Mathematik,

Rechtswissenschaft und Wirtschaftswissenschaft) an. Das Fachwissen wird durch Studienbriefe,

Übungsaufgaben, interaktive CD-ROMs, Audio- und Videokassetten und immer häufiger auch über

das Netz erworben. An der FU Hagen sind zurzeit 55000 Studierende immatrikuliert, die durch 77

Professoren und 395 wissenschaftliche Mitarbeiter betreut werden. Das Durchschnittsalter der

Studenten ist 29 Jahre. Die meisten davon (80%) sind berufstätig, 40% haben bereits ein Studium an

einer anderen Hochschule erfolgreich abgeschlossen. An der FU Hagen werden auch

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

41

wissenschaftliche Arbeiten durchgeführt. Der Schwerpunkt der Forschung liegt im Bereich der

Anwendung „Neue Medien“.

3.7.3. Polski Uniwersytet Wirtualny

Polski Uniwersytet Wirtualny31 (PUW) [109] ist eine gemeinsame Initiative der Maria Curie-

Skłodowska Universität in Lublin und der Hochschule für Humanistik und Ökonomie in Łódź. An

dieser virtuellen Hochschule kann man in einer von vier Fakultäten (Verwaltung und Marketing,

Informatik, Politologie und Krankenpflege) studieren. Das Studium dauert 6-7 Semester. Jedes der

Semester besteht aus zwei Halbsemestern. In jedem Halbsemester muss der Student 3

Lehrveranstaltungen absolvieren. Die Studenten der PUW sind in Gruppen von 20 Personen aufgeteilt,

die wiederum in 4 Personen große Arbeitsgruppen gegliedert sind. Der Student bekommt Aufgaben,

die in der Arbeitsgruppe zu lösen sind, und auch individuelle Fragen und Aufgaben zur

selbstständigen Ausarbeitung. Die Basistechnologie für die PUW bildet die E-Learning-Plattform R5

Generation. Die Studenten benutzen bei ihrer Arbeit u.a. Diskussionsforen, Chats, Whiteboards, wie

auch spezielle elektronische Verzeichnisse, wo sie ihre fertigen Arbeiten abgeben können. Der

Lehrende bewertet die Arbeit der Lernenden anhand der abgegebenen Materialien, der Aktivität des

Lernenden in Diskussionsforen und auch eines Abschlusstests. Examen und Klausuren werden

traditionell (so wie in der Präsenzlehre) durchgeführt.

3.7.4. Zusammenfassung der gebrachten Beispiele

Aus der großen Anzahl der Lernenden in den virtuellen Studiengängen (z.B. FU Hagen) kann

man schließen, dass ein großer Bedarf an E-Learning-Diensten besteht. Die Vielfalt der Lernmethoden

(z.B. Polski Uniwersytet Wirtualny), unterstützt durch Förderungen der für die Bildung zuständigen

Behörden (z.B. ELAN Niedersachen), lässt vermuten, dass sich das Konzept des Einsatzes neuer

Technologien in der Bildung weiterhin positiv entwickeln wird.

3.8. Warum E-Learning?

Lernen wird oft zu Unrecht ausschließlich mit dem Schulalter verbunden. Tatsächlich lernt man

sein Leben lang. Einer der Gründe, weshalb man besondere Achtung auf die persönliche

Weiterbildung legen sollte, ist der Alterungsprozess des Wissens. Wie man in der Abbildung 3-5

sehen kann, wird nach 20 Jahren 50% unseres Schulwissens veraltet sein. Bei Hochschulwissen,

beruflichem Fachwissen und technischem Wissen geschieht der Prozess noch schneller. Ein

Extremfall ist hier das EDV-Wissen – nach fünf Jahren ohne Weiterbildung ist das Wissen praktisch

nutzlos.

Aus dem oben genannten Grund organisieren Unternehmen Schulungen, die die Angestellten auf

den neusten Stand des Wissens bringen sollen. Das Präsenzstudium bringt jedoch für den Arbeitgeber

Nachteile, vor allem das Fehlen des Personals am Arbeitplatz. Eine gute Lösung bietet hier E-

31 Polski Uniwersytet Wirtualny (pol.) – Polnische Virtuelle Universität

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

42

Learning. Wie die durch Harhoff und Küpper durchgeführte Befragung [30] zeigt, ist die

Verfügbarkeit des Personal der größte erhoffte Vorteil bei der Einführung des E-Learning gegenüber

Präsenzveranstaltungen. Die Anwendung der E-Learning-Technologie spart Zeit und fördert das

Selbstlernen. Früher galt die Kosteneinsparung als wichtiges Argument für E-Learnig (in [30] auf

vierter Stelle gesetzt). Die neuesten Umfragen bezüglich der praktischen Realisation des E-Learning in

Unternehmen haben jedoch gezeigt, dass dies nicht unbedingt der Fall ist32. Die anderen potenziellen

Vorteile des E-Learning (die aber in der Studie [30] nicht gut bewertet wurden) sind die schnellere

Aktualisierbarkeit der Lernmaterialien und erhöhte Qualität des Lernens.

Unternehmen sind nicht die einzigen Nutzer des E-Learning-Angebots. Die zeitliche und

räumliche Freiheit („überall und zu jeder Zeit“), die das E-Learning mit sich bringt, bietet eine Chance

für Menschen, die bislang wenige Möglichkeiten zur Weiterbildung hatten. Zu dieser Gruppe gehören

schwer Kranke und Behinderte, Eltern auf Erziehungsurlaub, Arbeitslose, Rentner und Berufstätige,

deren Arbeitgeber keine entsprechenden Schulungen ermöglichen.

Abbildung 3-5 Alterung von Wissen [45]

E-Learning kann auch bedeutende Vorteile für die traditionellen Hochschulen bringen [42]. Viele

Lehrveranstaltungen an den Universitäten sind überfüllt, und daher ist die Möglichkeit, die

Veranstaltung interaktiv zu gestalten, sehr begrenzt. Die verschiedenen interaktiven Technologien des

E-Learning, gedacht als Ergänzung zum Präsenzstudium, erlauben, diese Mängel zu minimieren. Die

Studierenden beginnen die Lehrveranstaltungen mit unterschiedlichen Vorkenntnissen. Die Dozenten

konzentrieren sich während der Vorlesungen lieber auf neue und komplexe Sachverhalte, als die Zeit

für Wiederholungen zu vergeuden. Durch E-Learning können die Studenten das fehlende Wissen

schnell selbstständig nachholen. In den heutigen Zeiten, wo der Haushalt für die Hochschulen ständig

gekürzt wird, könnten gut realisierte E-Learning-Systeme zusätzliche Einnahmequellen für die

Hochschulen bedeuten.

32 Das Wegfallen dieses Argumentes war einer der wichtigsten Gründe für die Ernüchterung nach der anfänglichen Euphorie

auf dem Markt der E-Learningsysteme.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

43

3.9. Nachteile des E-Learning

Nach dem anfänglichen Boom bei der Einführung des Konzeptes des E-Learnings, kam die

Ernüchterungsphase. Die hohen (oft überschätzten) Kosten der Realisation der E-Learning-Systeme,

die Überdosis an ablenkenden Multimedia und fehlende Lehrkonzepte haben viele zu der Ansicht

gebracht, dass E-Learning nur eine Zeitverschwendung ist.

Zu den Nachteilen des E-Learning gehört auch die begrenzte Auswahl an Themen der realisierten

Systeme [50]. Nicht alle Wissensbereiche lassen sich gut „computerisieren“. Die E-Learning-

Methoden setzen einen immer höheren Grad an interner Motivation des Lernenden zum Eigenstudium

voraus, was nicht immer der Fall ist. Nicht alle Lernenden verfügen über eine unbeschränkte

Netzverbindung. Der freien Zugänglichkeit und dadurch großen Vielfalt der E-Learning-Angebote

stehen die Urheberrecht-Fragestellungen im Wege. Die besten Bildungszentren wollen aus

Konkurrenzgründen ihre Lehrangebote nicht freigeben (das gilt auch für öffentliche Hochschulen)

[42].

Aus den oben genannten Gründen stießen die E-Learning-Ansätze immer wieder auf mangelnde

Akzeptanz bei den auszubildenden Angestellten und Führungskräften in Unternehmen, wie auch

relativ geringe Interessen bei den Studenten. Die zusätzlich andauernde Tiefkonjunktur in der IT-

Branche und finanzielle Probleme der Hochschulen führten dazu, dass in vielen Betrieben und

manchen Hochschulen die Arbeiten an E-Learning-Systemen eingestellt wurden.

3.10. Zusammenfassung

In diesem Kapitel habe ich mich mit dem Begriff E-Learning auseinandergesetzt. Ich habe

festgestellt, dass man damit die Methoden der Lehre mit Hilfe elektronischer Medien bezeichnet. Ich

habe betont, dass E-Learning nicht nur computerunterstützte Übertragung der Lernmaterialien ist,

sondern auch didaktische Methoden und Konzepte beinhalten muss. Um dem Leser einen Einblick in

die Lernmethoden zu geben, habe ich die klassischen Ansätze der Didaktik vorgestellt. Weitere

wichtige Aspekte des E-Learning sind Strategien der Weiterentwicklung der E-Learning-Systeme

sowie Methoden zur Verwaltung der Veränderungen. Alle diese Aspekte ordnet der das vorgestellte

St. Galler Referenz Modell. Im weiteren Verlauf des Kapitels charakterisierte ich kurz ausgewählte E-

Learning-Technologien und beschrieb einige E-Learning-Aktivitäten an deutschen und polnischen

Hochschulen. Zum Schluss des Kapitels fasste ich die wichtigsten Vor- und Nachteile des E-Learnings

zusammen.

Zu den größten Stärken der neuen Lernform gehört, meiner Ansicht nach, die Ermöglichung der

Lehre zu jeder Zeit an (fast) jedem Ort. Diese Technologie hat das Potential, das Konzept des

lebenslangen Lernens effektiv und zielgerichtet zu gestalten. Zu den bedeutendsten Schwächen des E-

Learnings würde ich dagegen den erheblichen Zeit- und Kostenaufwand der Vorbereitung von

hochwertigem Lernmaterial zählen. Die Unterschätzung dieses Aufwandes ist die wichtigste Ursache

der Misserfolge vieler E-Learning-Systeme.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

44

4. Grundlagen des Semantic Web

Wie ich schon im Abschnitt 3.5 kurz angedeutet habe, können die Technologien des Semantic

Web zur Realisation von E-Learning-Systemen angewandt werden. Dieses Kapitel schildert die

Grundrisse des Semantic Web Projekts.

4.1. Einführung

Die Menge der im Internet gesammelten Daten hat schon lange alle anfänglichen Erwartungen

übertroffen. Um in dieser Flut von Informationen die gesuchten Daten zu finden, entwickelte man

spezielle Internet-Suchmachinen (wie z.B. Google, Yahoo, AltaVista). Trotz großer Popularität haben

diese Dienste wesentliche Nachteile. Zu den wichtigsten Mängeln zählt die relativ geringe Qualität der

gelieferten Ergebnisse. Außer der geforderten Information erhalten wir sehr viele Verweise zu

Internet-Beständen, die uns überhaupt nicht interessieren. Dieser Effekt lässt sich leicht damit

erklären, dass die Suchmaschinen in ihren Recherchen nur auf dem einfachen Vergleich von

Zeichenketten basieren, ohne auf die Bedeutung der Begriffe schließen zu können.

Das oben genannte Problem soll das Semantic Web Projekt lösen [67]. Das Konzept wurde von

Tim Berners-Lee [10], dem Erfinder des WWW, vorgeschlagen und wird von dem W3C-Konsortium

[128] gefordert. Das Semantic Web soll die Nützlichkeit des Internets steigern. Der Benutzer wird

weniger Zeit gebrauchen, um wichtige Informationen vom unbrauchbaren Material zu trennen. Das

gegenwärtige Web kann man sich als großes Buch vorstellen. Nach der globalen Einführung des

Semantic Web wird es mehr einer globalen Datenbank ähneln. Dieses Ziel soll durch ein einheitliches

System der Beschreibung von Beständen (Metadaten) des Internets erreicht werden. Web-Entwickler,

die mit dem Semantic Web-Standard arbeiten, definieren ihr eigenes Vokabular oder benutzen

vorgefertigte Sammlungen von Begriffen (auch Ontologien genannt) womit sie Internetseiten (oder

nur ihre Abschnitte), wie auch andere im Web publizierte Bestände erläutern können. Die

Beschreibung kann automatisch von den Computern (z.B. durch Softwareagenten) bearbeitet werden.

Dies ist wiederum der Ausgangspunkt für viele potentielle Einsätze des Semantic Webs (→ Abschnitt

4.5).

Der große Vorteil des Semantic Web, das die Einführung des Konzeptes deutlich beschleunigen

soll, ist, dass das Projekt auf der existierenden Netz-Infrastruktur aufbauen wird. Die mit Semantic

Web beschriebenen Seiten werden weiterhin in HTML (XHTML) formatiert, durch den WWW-Dienst

vertrieben und können ohne Probleme neben traditionellen Internetseiten existieren (der

durchschnittliche Benutzer wird wahrscheinlich überhaupt nicht merken, dass es sich um eine Seite

aus dem Semantic Web handelt).

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

45

4.2. Schichten des Semantic Web

Das Semanitc Web besteht aus Schichten (→Abbildung 4-1). Unicode ist der Codierungsstandard

für Zeichen des Semantic Web. URI identifiziert die beschriebenen Bestände. Die XML Schicht

repräsentiert nur die Syntax der Daten. Über die Bedeutung der Tags lässt sich automatisch nicht

schließen33. Die Schicht des RDF (→ 4.3.1) und des RDF Schema (→ 4.3.2) liefert Mittel zur

Ergänzung der Dokumente mit semantischer Beschreibung. RDF erlaubt die Kodierung, den

Austausch und Wiederverwendung von strukturierten Metadaten [64] Die Schicht der Ontologie34

repräsentiert eine formale Vereinbarung über die Bedeutung der Daten.

Abbildung 4-1 Schichten des Semantic Web

Ontologie ist die logische Beschreibung eines Abschnittes der realen Welt. Sie beinhaltet eine

strukturierte Menge von Begriffen, die miteinander durch verschiedene Relationen verbunden sind.

Die Darstellung der Wirklichkeit muss nicht genau sein (häufig ist das wegen der Komplexität der

realen Welt auch nicht möglich), sondern man benutzt ein vereinfachtes Modell, das sich nur auf die

für den Betrachter interessanten Objekte der Wirklichkeit konzentriert. Zwei Ontologien kann man

vereinen durch die Kennzeichnung von semantisch äquivalenten und verwandten Begriffen aus beiden

Ontologien. Die aktuelle Sprache zur Definition von Ontologien ist OWL (→4.3.3) Die nächste

Schicht ist die Sicht der Logik, in der man über die Bestände logische Aussagen machen kann. Es

sollen Mechanismen entwickelt werden, die Aussagen beweisen können, wie auch neue Aussagen aus

den bestehenden folgern. Es besteht auch Bedarf an Anfragesprachen, die bestimmte Informationen in

den Beschreibungen effektiv aufsuchen können. Zum Schluss soll das Semantic Web-Projekt das

33 Wir können die Bedeutung des Tags nur intuitiv vermuten, die maschinellen Verfahren können es nicht. 34 Die Ontologie in der Informatik ist nicht gleich dem philosophischen Begriff der Ontologie, der eine Lehre vom Sein und

vom Seienden bedeutet.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

46

Problem der Sicherheit untersuchen. Die Aussagen sollen digital signiert sein, was dem Benutzer die

Möglichkeit gibt, Schlüsse über die Glaubwürdigkeit der Aussagen zu ziehen.

4.3. Sprachen des Semantic Web

Im folgendem Abschnitt stelle ich die drei Basissprachen des Semantic Web vor: RDF, RDF

Schema und OWL. Die RDF Schema-Sprache ist eine Ergänzung der RDF Sprache. OWL wiederum

baut auf RDF und RDF-Schema auf.

4.3.1. RDF

RDF [117] (engl. Resource Description Framework) ist eine Sprache zur Repräsentation von

Metadaten. Das RDF-Modell (RDFMS) besteht aus vier Klassen von Elementen:

• Ressourcen (engl. Resources)

• Literale (engl. Literals)

• Eigenschaften (engl. Properties)

• Aussagen (engl. Statements)

Ressourcen sind alle Objekte einer gegebenen Domäne, die mit Hilfe von RDF beschrieben werden.

Jede Ressource muss durch eine URI (engl. Uniform Resource Identifier) identifizierbar sein. Literale

sind einfache Zeichenketten. Eigenschaften beschreiben die Merkmale, Attribute und Relationen einer

Ressource. Die Menge der Eigenschaften ist eine Untermenge der Menge aller Ressourcen. Aussagen

sind Tripel der Form: {predicat, subject, object}. Subject ist eine Ressource, Predicat eine Eigenschaft

der Ressource und Object (der Wert der Eigenschaft einer Ressource) ist entweder eine andere

Ressource oder ein Literal. Aussagen kann man in Form gerichteter Graphen darstellen, in denen man

zwei Arten von Knoten unterscheiden kann: Knoten der Ressourcen (dargestellt in Form von Ellipsen)

und Knoten der Literale (dargestellt in Form eines Rechtecks). Die Kanten bedeuten die

Eigenschaften.

Als Beispiel betrachten wir die Aussage: Das Dokument http://www.kowalski.pl/cv.pdf wurde

erstellt durch Jan Kowalski (die Abbildung 4-2 zeigt den Graph für diese Aussage). Die beschriebene

Ressource ist hier das Dokument http://www.kowalski.pl/cv.pdf (wie man hier sieht, muss das nicht

unbedingt eine HTML Seite sein), die Ressource hat die Eigenschaft author (definiert unter der URI

http://www.propertyTypes/types#author) mit dem Wert (Literal): „Jan Kowalski“.

http://

www.kowalski.pl/

cv.pdf

Jan Kowalski

http://www.propertyTypes /types#author

Abbildung 4-2 Beispiel einer graphischen Darstellung einer RDF-Aussage

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

47

Die Syntax der RDF ist normalerweise35 ein XML-Dialekt. Die in der Abbildung 4-2 gezeigte

Aufgabe würde als RDF-Code folgende Form haben:

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:books="http://www.propertyTypes/types#">

<rdf:RDF>

<rdf:Description rdf:about="http://www.kowalski.pdf">

<books:author>Jan Kowalski</books:author >

</rdf:RDF>

4.3.2. RDF Schema

Die RDF Schema-Sprache [114] ist eine Erweiterung von RDF. Das RDF Schema führt Konzepte

aus der Objektorientierten Programmierung (OOP) in das RDF ein. Jede Ressource kann jetzt

Vertreter einer oder mehrer Klassen sein. Die Klassen können durch die Relation der Vererbung

verbunden sein. Mit Hilfe des RDF Schema kann man den Eigenschaften Nebenbedingungen setzten

(engl. Constraints). Diese Nebenbedingungen definieren die Klassen der Ressourcen, die diese

Eigenschaft besitzen können, wie auch Klassen der möglichen Werte der Eigenschaft.

4.3.3. OWL

OWL [107] [108] (engl. Web Ontology Language) ergänzt die RDF und RDF Schema-Sprachen

um logische Operationen. Wie der Name der Sprache schon andeutet dient OWL hauptsächlich zur

Erstellung von Ontologien.

Es existieren drei Varianten von OWL: OWL Lite, OWL DL und OWL Full, die sich durch den

Komplexitätsgrad unterscheiden. Die OWL Full Variante bietet die größte Aussagekraft, aber die

Inferenz-Algorithmen in Beständen, beschrieben mit OWL Full, garantieren keine Berechenbarkeit.

Die einfachste Variante des OWL ist OWL Lite.

Klassen können in OWL als Schnittmenge, Vereinigung oder Komplement von anderen Klassen

definiert werden. Die Eigenschaften können zusätzlich durch maximale und minimale Kardinalität der

Ausprägungen der Eigenschaft in einer Instanz einer Klasse begrenzt sein. Die Eigenschaften selbst

können genauer bestimmt sein (z.B. durch die Transitivität oder Symmetrie - Eigenschaft). Schließlich

beinhaltet OWL Mechanismen zur Abbildung von Ontologien aufeinander (Relationen zur

Kennzeichnung von äquivalenten Klassen und äquivalenten Instanzen von Klassen in verschiedenen

Ontologien).

35 Es gibt auch eine RDF-Syntax Variante, die nicht XML konform ist.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

48

4.4. Übersicht der Werkzeuge zum Bau des Semantic Web

Um das Semantic Web entstanden viele Tools, die das Konzept erweitern oder dessen Realisation

vereinfachen. Eine genaue Beschreibung aller Werkzeuge würde bei weitem den Umfang dieser Arbeit

sprengen. Aus diesem Grund möchte ich nur kurz einige (meiner Ansicht nach) wichtige Kategorien

der Semantic Web-Tools besprechen. Dazu zählen Semantic Web-Editoren, RDF Datastores, APIs36

für das Semantic Web.

4.4.1. Semantic Web-Editoren

Das manuelle Eintippen von Semantic Web-Beschreibungen wäre ein sehr mühsamer Prozess.

Daher existiert eine ganze Reihe von RDF, RDF Schema und OWL-Editoren. Mit Hilfe dieser

Applikationen ist es möglich, die Internetbestände semantisch zu beschreiben. Diese Tools können

meistens auch neue Klassen von Ressourcen oder Eigenschaften erstellen oder aus existierenden

Ontologien, auf Befehl des Benutzers, Klassen importieren. Zu den wohl bekanntesten Editoren aus

dieser Gruppe gehört Protégé 2000 [111]. Diese Anwendung wurde auf der Universität in Standfort

entwickelt. Protégé 2000 wurde vollständig in der Java-Technologie geschrieben. Dank einer offenen

und modularen Architektur, gewährleistet durch ein System von Plug-Ins, entwickelte sich Protégé zu

einem sehr universellen Werkzeug zum Bau des Semantic Web.

4.4.2. RDF Datastores

Die semantischen Beschreibungen kann man in manchen Fällen direkt in die beschriebenen

Bestände integrieren. Die Suche nach bestimmten Informationen in einer Sammlung von vielen auf

diese Weise beschriebenen Ressourcen ist aber uneffektiv. Daher entstanden spezielle Anwendungen

zur Aufbewahrung und Verwaltung von semantischen Beschreibungen, genannt RDF Datastores (RDF

Webstores, RDF Servers). Zu dieser Gruppe zählen solche Applikationen wie Sesame [122], RDF

Gateway [113], Joseki [102]. Intern werden die RDF/OWL-Daten normalerweise in relationalen

Datenbanken gespeichert. Mit Hilfe spezieller (SQL-ähnlichen) Anfragesprachen (wie z.B. RQL

[119], RDQL [115], RDFQL [116], SquishQL [124]) kann der Klient dem RDF Datastore Fragen

bezüglich der gespeicherten Beschreibungen stellen. Die Sprachen unterscheiden sich in der

Komplexität der möglichen Anfragen. Manche suchen nur nach explizit eingegebenen Informationen

(z.B. RDQL, SquishQL), andere wiederum versuchen, zusätzliche Aussagen aus den gegebenen

Informationen zu folgern37 (z.B. RQL).

4.4.3. APIs für Semantic Web

Es entstand eine ganze Reihe von Bibliotheken (hauptsächlich für die Java-Programmiersprache)

zur Entwicklung von Semantic Web-Applikationen. Dazu gehören u.a. Jena [100], Sergey Melnik's

36 API – engl. Application Programming Interface 37 Für Semantic Web gibt es auch spezielle Inference Engines, die der Schlussfolgerung in den semantischen Beschreibungen

gewidmet sind (wie z.B. JESS [101] , Cerebra [82])

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

49

RDF API [121] oder JRDF [103]. Als Beispiel möchte ich hier kurz die Jena-Bibliothek

charakterisieren38:

Jena ist ein offenes Projekt, gestartet durch die firm HP. Das Jena-Paket beinhaltet Klassen zur

Verarbeitung (erzeugen, ändern, löschen) von RDF- und OWL-Dokumenten. Man kann mit Hilfe der

Jena-Bibliothek die RDF- und OWL-Daten in Dateien oder relationalen Datenbanken speichern und

aus ihnen wieder Daten laden. Jena beinhaltet auch eine Schnittstelle für die RDQL-Sprache. Es

existieren spezielle Klassen zur Formulierung von RDQL-Anfragen und zur Bearbeitung der

Antworten auf Anfragen.

4.5. Beispiele von Anwendungen des Semantic Web

4.5.1. Data Mining

Die Semantic Web-Technologie kann die automatische Suche nach Informationen in großen

Datenbeständen erleichtern. Man kann sich z.B. vorstellen, das Semantic Web in der Medizin zur

Ermittlung der Ursachen von seltenen Krankheiten zu verwenden. Die interessanten statistischen

Daten befinden sich auf getrennten Rechnern vieler Krankenhäuser. Durch die Beschreibung der

Daten mit Hilfe Semantic Web-Technologien können Softwareagenten die Daten automatisch

analysieren und den Benutzer über interessante Zusammenhänge informieren. Nach ähnlichem

Schema könnte man Informationen für wirtschaftliche Zwecke finden (z.B. durch die Analyse der auf

WWW publizierten Verkaufsdaten).

4.5.2. Verbinden von Zeitplänen

Eine weitere Anwendungsmöglichkeit für Semantic Web ist die automatische Erstellung von

verschiedenen Zeitplänen [112], die z.B. zusätzlich geographische Einschränkungen berücksichtigen

können. Durch eine SemanticWeb-Suchmaschine können wir (zurzeit immer noch hypothetisch) z.B.

den Befehl geben: „Finde für mich einen interessanten Film im Kino, den ich noch heute sehen könnte

und dass ich vor 22:00 wieder zu Hause bin“. Das Verfahren sucht erstmals die nahe gelegenen Kinos,

die Verbindungen vom Wohnort des Benutzers zu den Kinos und filtert danach die Filme in den

gefundenen Kinos in dem ermittelten Zeitfenster gemäß den Vorlieben des Benutzers. Das fertige

Ergebnis wird dem Benutzer präsentiert. Dieses Szenario ist nur dann möglich, wenn die WWW-

Server von Kinos und Transportfirmen ihre Dokumente nicht nur in der menschenlesbaren Form

präsentieren, zusätzlich sondern sie zusätzlich mit semantischer Beschreibung ergänzen.

4.5.3. Semantic Web im E-Learning

Die Anwendung, auf die ich mich in dieser Arbeit konzentriere, ist der Einsatz von Sematic Web

im Bildungsbereich.

38 Unter anderem aus dem Grund, dass ich diese Bibliothek später in dem MAT-MAESTRO (Kapitel 7 und ff.) System

verwende.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

50

E-Learning setzt Selbstständigkeit beim Lernprozess voraus. Nach dem Prinzip „überall und zur

jeden Zeit“ (→ 3.8) sucht der Lernende selbst Lerninhalte aus. Dank der Beschreibung von

didaktischen Seiten kann der Benutzer leichter die Suche seinen Bedürfnisse anpassen. Stojanovic,

Staab und Studer [64] unterscheiden in ihrer Arbeit drei potentielle Einsatzgebiete von Metadata in E-

Learning: Metadata zur Beschreibung des Inhaltes, des Kontextes und der Struktur.

Die Beschreibung des Inhalts lässt uns die Möglichkeit, äquivalente Begriffe aus verschiedenen

Wissensbeständen zu verbinden, was die Qualität der Suche erhöht. Durch allgemeine Angaben über

den Inhalt kann der Benutzer (oder dessen Agent) noch vor dem Öffnen der Seite entscheiden, ob

diese für den Lernenden interessant ist oder nicht. Ein Beispiel einer persönlichen Einstellung der

Suche nach Lerninhalten kann die Bestimmung des Schwierigkeitsgrads der gezeigten Dokumente

sein. So werden z.B. einem kleinen Kind vor allem Seiten angeboten, die die Sachverhalte ohne

komplizierte Fachausdrücke erklären, wobei für einen Erwachsenen kindliche Beschreibungen eher

uninteressant sind. Weitere Einstellungsmöglichkeiten der Suche könnten die Interessen des

Lernenden berücksichtigen: die benutzte Hardwareplattform, die beherrschten Sprachen, usw.

Die Beschreibung des Kontextes kann die Irrtümer in der Suche beschränken, die aus der

Gleichnamigkeit der Begriffe hervorgehen. Die Suche könnte auch den Kontext der Anfrage erkennen.

So würden jemandem, der gerade Seiten über Vögel ansieht und nach dem Adler sucht, Seiten über die

Vogelart Adler angeboten und nicht Seiten z.B. über das Modehaus „Adler“ oder den Einshockeyklub

„Adler Mannheim“. Ein weiterer Vorteil der Beschreibung des Kontextes in Hinsicht auf den

Lernprozess ist die Suche nach unbestimmten Begriffen (deren Name der Lernende noch nicht kennt),

die aber mit einem anderen Begriff semantisch verbunden sind. So kann der Benutzer in einer

entdeckungsreichen Weise lernen (exploratory learning → 3.2).

Die E-Learning-Lerninhalte sind normalerweise in kleine Portionen geteilt. Somit wird dem

Lernenden die Gelegenheit geboten, den Lernprozess möglichst gut an seine Bedürfnisse anzupassen.

Um aber Unordnung in dieser Datenmenge zu vermeiden, kann man parallel zur semantischen

Verknüpfung der Inhalte, noch eine chronologische Struktur aufstellen. Dazu dient die letzte Gruppe

der Struktur-Metadaten (wie z.B. die Felder next, prev oder isPartOf).

In diesem Abschnitt habe ich nur sehr kurz und allgemein angedeutet, welchen Nutzen die

Semantic Web-Technologie für E-Learning-Systeme haben kann. Im Kapitel 6 und den folgenden

findet der Leser eine detaillierte Beschreibung einer von mir entworfenen Architektur für

Bildungssysteme, die ein gutes Beispiel der Anwendung von Semantic Web im E-Learning bildet.

4.6. Kritik des Semantic Web

Einige Forscher sehen das Semantic Web-Projekt zwar als interessantes Konzept, das aber vom

Aufwand her unrealisierbar ist. Sie behandeln es daher mehr als utopische Vision als ein ernsthaftes

Projekt. Als Beweis dieser These wird angeführt, dass trotz jahrlanger Arbeit bei der Entwicklung des

Semanitc Web, immer noch Beispiele von erfolgreichen Einsätzen der Technologie in der Praxis

fehlen. Auf den Punkt brachte es Elliotte Rusty Harold auf der Konferenz WWW2004 [132] in New

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

51

York: „I feel like I'm a mechanical engineer in 1904 listening to a bunch of other engineers talking

about airplanes, but nobody's willing to show me how they actually expect to get their flying machines

into the air. Maybe they can do it, but I won't believe it until I see a plane in the air (…)” [133].

4.7. Zusammenfassung

Trotz der im vorigen Abschnitt gebrachten Kritik, sehe ich die Zukunft des Semantic Web

weiterhin positiv. Obwohl die Einführung eines globalen Semantic Web in vorhersehbarer Zeit eher

unrealistisch erscheint, kann meiner Ansicht nach das Konzept in abgegrenzten Gebieten erfolgreich

eingesetzt werden. Die vorgestellten Sprachen zur Beschreibung der Semantik wurden inzwischen zu

sehr ausgereiften Standards, die weltweit anerkannt sind. Zu RDF existieren zusätzlich sehr viele

Werkzeuge, die die Arbeit mit der Technologie beschleunigen. Die OWL-Technologie wird wegen

ihrer Innovation und Komplexität noch nicht in solchem Ausmaß unterstützt wie RDF, aber die

Situation von OWL verbessert sind ständig. Die gebrachten Anwendungsbeispiele zeigen große

Perspektiven für das Semantic Web. Als Fazit kann man sagen, dass die wirkliche Stärke von

Semantic Web sich erst in ein paar Jahren zeigen wird, wenn sich im Internet viele im Semantic Web

beschriebene Daten befinden werden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

52

5. Übersicht der Möglichkeiten der Anwendung von Softwareagenten im E-Learning

Im Kapitel 2 habe ich allgemein das Konzept der Multiagentensysteme vorgestellt. Das Kapitel 3

beinhaltet eine Einführung in die Thematik des E-Learning. Im folgenden Kapitel untersuche ich die

Möglichkeiten der Synthese dieser zwei Forschungsgebiete und zeige einige Beispiele der Anwendung

von Agenten im E-Learning.

5.1. Gründe der Verwendung der Agententechnologie im E-Learning

Die Konsequenz der großen Flexibilität des E-Learning ist, dass der Lernende meistens auf einen

direkten Kontakt mit dem menschlichen Lehrer verzichten muss. Um diesen Nachteil gewissermaßen

auszugleichen, versucht man die modernen Bildungssysteme möglichst „menschenähnlich“ zu

gestalten. Dazu gehört vor allem die intelligente, an den Lernenden angepasste Gestaltung des

Lernprozesses. Agenten, als autonome, intelligente Prozesse (→Kapitel 2), können diese Aufgabe gut

übernehmen. Durch die Beobachtung des Verhaltens des Benutzers im Umgang mit dem System kann

der Agent selbstständig Schlüsse ziehen über die effektivsten Lernmethoden für den Benutzer.

Wie schon gesagt ist (→ 4.5.3), werden die Lerninhalte für intelligente Bildungssysteme meistens

in kleine Abschnitte geteilt. Ein Lernender, der über den Lernstoff noch wenig weiß, kann hier leicht

die Übersicht verlieren. Bei einer agentenverständlichen Beschreibung des didaktischen Materials (→

Kapitel 4) kann der Agent den Lernenden auf intelligente Weise von einem Thema zum anderen

führen. Er kann den Lernenden beim Prozess der Wissensaneignung begleiten und ihm im passenden

Moment mit adäquaten Ratschlägen (Bedienung des Systems, Lernmethoden, usw.) helfen oder ihn

motivieren.

Die Agenten können sich auch beim Anordnen der Lerninhalte als sehr nützlich erweisen. Die

didaktischen Seiten müssen nicht mehr zentral verwaltet sein, sondern können von mehreren Personen

zur gleichen Zeit in verschiedenen Bildungseinheiten erstellt werden. Dank der Intelligenz-, Mobilität-

und Autonomieeigenschaften können die Agenten verteilte Bestände, transparent für den Benutzer, in

einem System verbinden.

5.2. Definition des pädagogischen Agenten

Agenten, die die oben genannten Aufgaben realisieren, bezeichnet man als pädagogische Agenten

(manchmal auch als Guidebots). In der wissenschaftlichen Literatur findet man viele Definitionen

dieses Agententyps. So definiert Fenton-Kerr den Begriff z.B. folgendermaßen: „A pedagogical

software agent is an autonomous software process, which occupies the space between human learners

and a task to be learned. The agent‘s task is likely to involve offering some kind of proactive,

intelligent assistance [...] to aid task completion.“ [27]. Die Definition von Bendel stimmt mit der von

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

53

Fenton-Kerr weitgehend überein: „Pädagogische Agenten sind Agenten, die Lernende in virtuellen

Lernwelten oder in anderen elektronischen Umgebungen anleiten und begleiten. Sie dienen dazu,

Lern- und Wissensprozesse zu unterstützen und gegebenenfalls zu transformieren, z.B. in eine neue

Richtung zu lenken und damit auch zu optimieren.“ [9]

Für unerfahrene Benutzer, die oft Angst vor Computersystemen haben, wie auch für Kinder, die

herkömmliche Benutzerschnittstellen leicht langweilen, versucht man die Illusion der

„Menschlichkeit“ der Maschine zusätzlich mit graphischen Darstellungen der pädagogischen Agenten

zu verstärken. Solche Gestalten nennt man Avatars39. Einige Wissenschaftler setzten so eine

graphische Gestalt als wichtiges Merkmal der pädagogischen Agenten voraus: „Bei vielen Aufgaben

der pädagogischen Agenten ist ihre Sichtbarkeit unverzichtbar, und oft sind sie anthropomorph, also

menschenähnlich gestaltet“ [5]. Meine persönliche Erfahrung auf diesem Gebiet hat mich aber zu der

Ansicht gebracht, dass für bestimmte Benutzergruppen die Avatars der pädagogischen Agenten eher

störend als hilfreich erscheinen und mit einer Verflachung des betrachteten Themas verbunden

werden.

5.3. Beispiele von Agentenarchitekturen für Multiagentensysteme

Im Laufe der Forschung auf dem Gebiet der Multiagentensysteme entstanden viele Arbeiten, die

sich mit den Architekturen dieser Systeme befassen. Unter den zahlreichen Konzepten interessierten

mich vor allem die Lösungen, die explizit für Bildungssysteme entworfen sind. In meiner Arbeit

möchte ich einige der Architekturen kurz vorstellen.

5.3.1. Multiagenten-Architektur für Intelligente Bildungssysteme

Chen und Mizoguchi [21] stellen in ihrer Arbeit die Ergebnisse der zwanzigjährigen Forschung

auf dem Gebiet der Intelligenten Bildungssysteme (IES – engl. Intelligent Educational Systems) dar.

Sie definieren eine Liste der wichtigsten Agenten, die im allgemeinen IES gebraucht werden:

• Learning Material Agent – Verwahrt das fachspezifische Wissen (sowohl den Inhalt als auch die

Struktur) und antwortet auf Fragen von anderen Agenten, die das fachspezifische Wissen für die

Realisierung ihrer Ziele brauchen

• Learning Support Agent – Ist für die Planung des Lernprozesses verantwortlich. Entscheidet über

die optimale Lernstrategie für den Lernenden. Bekommt das fachspezifische Wissen von dem

Learning Material Agenten

• Learner Modeling Agent – Konstruiert ein abstraktes Modell des Lernenden. Die zur Herstellung

des Modells nötigen Informationen bezieht er aus der Beobachtung der Interaktion zwischen dem

Benutzer und dem Bildungssystem

39 Der Begriff Avatar kommt im ursprünglichen aus dem Sanskrit und bedeutet göttliche Herkunft, Verkörperung einer

Gottheit auf Erden. In der Informatik bezeichnet man mit dem Namen eine künstliche Person oder den virtuellen

Stellvertreter einer Person in der virtuellen Realität [131].

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

54

• Learner Model Agent – Antwortet auf von externen Agenten gestellte Fragen bezüglich des

Lernenden. Beinhaltet Hypothesen über das verfügbare Wissen und den mentalen Zustand des

Lernenden. Dieser Agent soll die Informationen des Lernenden vertraulich behandeln und entscheiden,

welche Daten man an welche Agenten weitergeben darf.

• Interface Agent – Ist direkt für die Interaktion mit dem Benutzer verantwortlich. Überwacht die

Tätigkeiten des Lernenden und leitet die Information an die anderen Agenten weiter.

Interface Agent

Learning Support Agent

Learner Modeling Agent

Learning Material Agent

Learner Model Agent

External AgentsLearner

Abbildung 5-1 Multiagenten-Architektur für Intelligente Bildungssysteme (nach [21])

Die von Chen und Mizoguchi vorgestellte Architektur war für mich ein direkter Impuls zum

Entwurf der MAESTRO-Architektur (→ Kapitel 6). Ich habe versucht, diese Architektur kritisch zu

betrachten. Meiner Ansicht nach überdecken sich die Funktionen des Learner Modeling Agent und des

Learner Model Agent. Der zusätzliche Aufwand der Implementierung von zwei statt einem Agenten

wie auch die Zeitkosten der (intensiven) Kommunikation zwischen den beiden Agenten haben, meiner

Ansicht nach, keine Begründung40. Des Weiteren ist für mich unklar, wie die Learning Support-

Agenten das fachspezifische Wissen aufbewahren wollen. Das Speichern des ganzen Wissens im einen

Agent scheint mir (wegen des Umfangs des Wissens) eine schlechte Idee zu sein. Meiner Ansicht nach

ist die Verwendung von speziellen Servern, die das fachspezifische Wissen effektiv verwalten können,

angebrachter41. Die Learning Support Agents könnten dann aus solchen Datenbanken nur einen

gewissen Teil des Wissens beziehen, das der Agent zur Bearbeitung des aktuellen Zustandes des

Systems benötig. Diese Lösung muss nicht eine erneute Zentralisierung des Systems bedeuten, weil

die Agenten das Wissen aus mehreren derartigen Servern schöpfen können. In der Chen und

40 Diese zwei Agententypen wurden in der MAESTRO-Architektur zu einem Pedagogical Agent vereinigt 41 Die MAESTRO-Architektur benutzt dazu spezielle Lerneinheits-Knoten

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

55

Mizoguchi-Architektur fehlen, meiner Ansicht nach, noch zusätzliche Agententypen, die den

Lehrenden und den Systemadministrator in einem E-Learning-System vertreten.

Zum Schluss kann man noch anmerken (nicht unbedingt kritisierend), dass sich trotz der

scheinbaren Schlichtheit des Modells ein enormer Aufwand der Implementierung hinter diesem

Konzept verbirgt. Zum Beispiel ist die Erstellung eines glaubwürdigen Modells des Zustandes eines

Lernenden ein sehr schwieriges Problem, mit dem sich Pädagogen und Psychologen seit

Jahrhunderten (oft vergeblich) auseinandersetzen.

5.3.2. Federated Architecture for Agent Communications

Ein anderes Konzept einer agentenbasierenden Architektur für Bildungssysteme stellt Cheikes

[17] vor. Das Modell wird Federated Architecture For Agent Communications (FAAC) genannt und

kann in der allgemeinen Form auch für andere Systeme (außer dem Gebiet des E-Learnings)

angewandt werden.

Standalone Executive

Kernel Agent Community Interface Agent Community

Facilitator

Abbildung 5-2 Federated Architecture for Agent Communications - Standalone Configuration (nach [17])

In der FAAC-Architektur bezeichnen wir als Facilitator einen (oder mehrere) auserwählte

Agenten, die die Arbeit der anderen Agenten koordinieren. Die „non-Facilitator“-Agenten werden in

Agent Communities (Agentengemeinden) aufgeteilt. Die Agent Communities gliedern sich weiter in

Kernel Agent Communities und Interface Agent Communities auf. Die Kernel Agents sind für das

logische Schließen und die Verarbeitung der Informationen zuständig. Diese Informationen werden

wiederum aufgrund der Beobachtungen des Benutzers durch die Interface Agents gesammelt. Die

Kernel Agents können sich beliebig weiter spezialisieren (z.B. Curriculum Manager, Training

Administrator, Activity Manager, Student Model, Coaching Planner). Auch die Interface Agents

nehmen verschiedene Funktionen auf (Argument Palette Agent, Database Browser Agent, usw.).

Man unterscheidet zwischen zwei Varianten der FAAC-Architektur: Standalone Configuration

und Networked Configuration. In der Standalone Configuration-Architektur (Abbildung 5-2) wird eine

Kernel Agent Community und eine Interface Agent Community durch einen einzigen Standalone

Executive Agents bedient (der die Rolle des Facilitators übernimmt).

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

56

In der Networked Configuration-Architektur (Abbildung 5-3) kommuniziert eine Kernel Agent

Community gleichzeitig mit einer oder mehreren Interface Agent Communities. Ein Kernel Executive

Agent und Screen Managers spielen die Rolle des Facilitator.

Screen Manager

Interface Agent Community Interface Agent Community

Facilitator

Screen Manager

Facilitator

Kernel Agent Community

Screen Manager

Facilitator

...

Abbildung 5-3 Federated Architecture for Agent Communications Networked

Configuration (nach [17])

Das FAAC-Modell eignet sich für Systeme, in denen man viele Benutzer mit Hilfe eines

zentralen Schlussfolgerungssystems bedienen möchte. Ein zentrales Schlussfolgerungssystem ist

einerseits günstig, weil es ausgereifte Inferenz-Mechanismen anwenden kann, anderseits kann es bei

großer Belastung des Systems zu einem Engpass werden oder sogar beim Ausfall das ganze System

lahm legen. Dasselbe gilt auch für Facilitator Agents, die möglichst gut gegen Ausfälle geschützt sein

sollten. Meiner Ansicht nach ist die Architektur in der gezeigten Form noch zu allgemein und bedarf

weiterer Forschung.

5.3.3. ADE-Architektur

ADE (Advanced Distance Education) ist ein Projekt, geführt von der CARTE-Gruppe (Center for

Advanced Research in Technology for Education) an der Universität Southern California [74]. Die

Forschungsgruppe arbeitet neben ADE auch an zahlreichen anderen Projekten im Bereich

agentenbasiertes E-Learning [81].

In Rahmen des ADE-Projektes erstand eine E-Learning-Architektur (Abbildung 5-4) [63], in

deren Mittelpunkt sich der pädagogische Agenten – Adele (Agent for Distance Education – Light

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

57

Edition) befindet. Die Architektur ist nach dem Server-Client-Modell gestaltet. Auf dem Server

befinden sich die Lernmaterialien und auch die gespeicherten Daten der einzelnen Studenten. ADE ist

für Netzverbindungen mit geringer Bandbreite angepasst, deshalb wird aus Effizienzgründen

(Kommunikationseinsparung) der ganze Agent in Form eines Java-Applets auf den Rechner des

Lernenden geladen. Außer dem Agenten befinden sich auf der Seite des Klienten auch Mechanismen

zur Durchführung von Simulationen (darüber später → 5.4.2), Transformation von Text in Sprache,

Planung der Aufgaben und die Benutzeroberfläche. Der Adele-Agent selbst ist aus einem

Schlussfolgerungsmodul (reasoning engine) und einer animierten Gestalt des Agenten (Avatar → 5.2)

zusammengesetzt.

Abbildung 5-4 ADE Architektur [63]

Die Adele-Architektur unterscheidet sich von den soeben vorgestellten Architekturen (→ 5.3.1,

→5.3.2) insofern, dass hier ein einziger Agent die ganze Funkion, die in anderen Beispielen auf

mehrere Agenten aufgeteilt wurde, übernimmt. Ich bin aber der Meinung, dass diese Architekur viele

Einschränkungen in Hinblick auf eine potentielle Erweiterung des Systems hat und die Möglichkeiten,

die die Agententechnologie bietet, nicht voll ausnutzt. Der Vorteil dieser Architektur ist die Reduktion

des Kommunikationsaufwandes zwischen Benutzer und Server.

Im Punkt 5.4.2 stelle ich ein auf der ADE-Architektur basierendes E-Learning-System vor, das

an Medizinstudenten gerichtet ist.

5.4. Beispiele für realisierte Agenten-Systeme im E-Learning

In den vergangenen Jahren entstanden zahlreiche Anwendungen, in denen Agenten-Technologien

zu Bildungszwecken verwendet worden sind. Bei den Anwendungen handelt sich um kommerzielle

Produkte und um wissenschaftliche Forschungsprojekte. Die meisten Systeme befinden sich immer

noch in der Testphase. Aus der Gruppe agentenbasierter E-Learning-Anwendungen habe ich

repräsentativ drei Beispiele ausgewählt, die ich jetzt kurz vorstellen möchte.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

58

5.4.1. Multiagentensystem zur Durchführung von Examen

Ein interessantes Beispiel der Anwendung von Agenten im E-Learning entstand an der AGH

Krakau. Es basiert auf dem Konzept von Test-Bäumen (engl. test tree, T-tree) [69]. Dem Lernenden

werden Testfragen gestellt. Die vollständige Antwort auf eine Frage verhindert weitere Fragen,

während eine unvollständige Antwort eine ganze Reihe von weiteren detaillierten Fragen aus dem

gegebenen Gebiet auslöst. Ein T-Tree spiegelt die Sequenz von Fragen wider, die gestellt werden, um

die kleinstmögliche Einheit des Wissens zu identifizieren, die dem Lernenden zur korrekten

Beantwortung der Frage fehlt. Die Fragen, die auf das mangelhafte Wissen des Lernenden hindeuten,

ergeben einen Baum der Unwissenheit (engl. ignorance tree, N-tree). Diese Art der Durchführung von

Tests soll dem realen Stil des Ablaufs von mündlichen Prüfungen ähnlicher sein als in herkömmlichen

Computertests.

Die Durchführung der soeben beschriebenen Tests wird durch eine Reihe von Softwareagenten

realisiert [70]. Der Advertiser Agent stellt dem Lernenden eine Prüfung vor, der sich der Lernende

unterziehen kann. Dieser Agent spielt eine rein informative Rolle. Der Examiner Agent führt die

Prüfung durch (zählt die gesammelten Punkte, überwacht den Stand der Prüfung und setzt die

endgültige Note fest). Ein ganzes Team von Test Agents ist verantwortlich für das Stellen von

Testfragen und die vorläufige Bewertung der Antworten des Lernenden. Wenn die Antwort auf eine

Frage durch den Test Agent als nicht ausreichend bewertet ist, erzeugt der Agent einen weiteren Test

Agent, der eine Frage repräsentiert, die tiefer in der Struktur des T-Baumes lokalisiert ist.

Außer den Agenten zur Durchführung von Prüfungen beinhaltet das realisierte Prüfungssystem

Agenten zur Realisation von Anfragen an die Datenbank, zur Durchführung des Einloggens,

Registrierung von Benutzern, Administrationsagenten und Agenten, die die Daten der Studenten

repräsentieren. Die Agenten können sich in zwei Umgebungsarten befinden: in Prüfungszentren (engl.

Examination Center, XC) und lokal auf dem Rechner des Benutzers. XC sind Server, auf denen die

momentan nicht gebrauchten Agenten gespeichert werden und auf denen die Testfragen deponiert

sind. Der Lernende kann sich mit mehreren XC in Verbindung setzen. Die Realisation des

vorgestellten Projektes war Gegenstand zweier Diplomarbeiten [22] [38].

5.4.2. Agentenbasiertes E-Learning-System für Medizinstudenten

Obwohl die E-Learning-ADE-Architektur (→ 5.3.3) nicht nur auf ein einziges Wissensgebiet

gerichtet sein soll, verwendet man den Adele Agent zurzeit hauptsächlich zur Bildung im

Medizinbereich.

Der Lernende wird in die Rolle eines Arztes versetzt und muss eine Reihe von Aufgaben

selbstständig (oder in Zusammenarbeit mit anderen Studenten42) lösen. Eine typische Aufgabe ist die

Diagnose eines Patienten (Abbildung 5-5). Der Student kann Fragen über die Krankheitsgeschichte

des Patienten stellen, ärztliche Untersuchungen ausführen oder zusätzliche Labortests anfordern.

42 Multiuser-Modus

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

59

Abbildung 5-5 Untersuchung eines Patienten im ADE-System

Zu den Funktionen von Adele zählen die klassischen Eigenschaften eines pädagogischen

Agenten: Präsentation von Lernmaterialien, Überwachung des Lernprozesses des Studenten, Abfragen

des Lernenden, Leistung von zusätzlicher Hilfe in Form von Hinweisen und Erklärungen. Das System

ermöglicht auch die Teilnahme an Simulationen, in denen die Zeit eine sehr wichtige Rolle spielt. Ein

Beispiel dafür ist die Behandlung eines Traumapatienten. Das Fehlen einer schnellen und korrekten

Reaktion des Lernenden auf z.B einen abrupt fallenden Herzschlag des Patienten wird negativ

bewertet.

Die Lernmaterialien werden im einem gewöhnlichen Java-unterstützenden Web-Browser

präsentiert. Der Agent wird in einem separaten Fenster angezeigt. Adele „beobachtet“ den Lernprozess

des Studenten und je nach dem Verhalten des Studenten versucht er, behilflich zu sein. Fordert der

Student z.B. einen unnötigen Labor-Test an, so liefert der Agent eine Begründung, weshalb dieser

Schritt in der Situation nicht zielführend gewesen ist. Darüber hinaus kann der Student den Agenten

immer um Tipps zum bearbeitenden Thema bitten. Auf manche Übungen kann ohne das Bestehen

eines Wissenstests nicht zugegriffen werden. In dem Exam-Modus darf der Student die Hilfe des

Agenten nicht nutzen, und am Ende der Übung wird sein Verhalten zusammengefasst und bewertet.

5.4.3. Extempo Expert Characters

Die Firma Extempo bietet eine ganze Reihe von pädagogischen Softwareagenten (genannt Expert

Characters) an [85]. Die Agenten verfügen über ein menschenähnliches graphisches Interface. Sie

können mit dem Benutzer in einer (fast) natürlichen Sprache kommunizieren. Das System wurde

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

60

hauptsächlich für Schulungen in großen Unternehmen realisiert. Es werden drei Arten der Expert

Characters unterschieden: Expert Coaches, Expert Role Players, Expert Guides.

Abbildung 5-6 Expert Coach Agent [87]

Expert Coaches Agents begleiten den Benutzer beim Lernen eines ausgewählten Lernmoduls.

Zu den angewandten Lernmethoden gehören das Anzeigen von Schulungsmaterialien, Durchführung

von Interaktiven Übungen, Quiz oder Simulationen (z.B. Simulation eines Gespräches mit einem

Kunden). Agenten dieser Art verwenden von dem Hersteller gelieferte Lernmaterialien, sind aber auch

offen für externe Daten. Um den Lernenden besser zu motivieren und den Bildungsprozess effektiver

zu gestalten, verwenden die Agenten Benutzerprofile. Diese Profile beinhalten solche Informationen

wie: eine Liste der bisher absolvierten Kurse, Aufzeichnungen der erbrachten Leistung und der

Lernfortschritte, Bemerkungen und Präferenzen des Benutzers.

Das Ziel der Expert Role Player Agents ist die Übung der interpersonellen Kontakte mit dem

Lernenden (z.B. Kontakte mit Kunden, Angestellten, Patienten). Der Lernerde führt ein Gespräch in

natürlicher Sprache mit dem Agenten, der verschiedene Rollen spielt. Der Benutzer bekommt

verschiedene Aufgaben (z.B. Abmahnung eines Angestellten), und der Agent simuliert verschiedene

mögliche Verläufe des Gesprächs.

Die Funktion des Expert Guides Agent besteht darin, den Lernenden bei der Wahl eines neuen

Kurses zu helfen.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

61

Abbildung 5-7 Expert Role Player Agent [87]

Das System der Firma Extempo ist ein kommerzielles Produkt, daher wurden die

Implementierungsdetails nicht veröffentlicht. Auf der Homepage des Produzenten [87] fehlen jegliche

Angaben über die Architektur des Systems und Informationen zu Methoden der Zusammenarbeit von

den Extempo Agents.

5.5. Zusammenfassung

In diesem Kapitel habe ich versucht, die wichtigsten Punkte der möglichen Zusammenarbeit von

Agenten und E-Learning-Systemen aufzuzählen. Zusammenfassend kann man sagen, dass die Agenten

eine Anpassung des Lernprozesses an den Lernenden ermöglichen und verteilte Lerninhalte gut

bedienen können.

Keine der gezeigten Architekturen von Agentensystemen für den Bildungsbereich konnte sich als

Standard durchsetzen. Gründe dafür gibt es meiner Ansicht nach mehrere. Einerseits sind einige der

Architekturen zu allgemein und lassen sehr viele schwierige Probleme offen (→ 5.3.1, → 5.3.2), oder

zu detailliert, dafür aber begrentzt einsatzfähig (→ 5.3.3). Die Lösung liegt wahrscheinlich in einem

Kompromiss zwischen diesen zwei Tendenzen.

Sehr wichtig ist die Durchführung von praktischen Experimenten mit Realisierung der

vorgeschlagenen Architekturen. Beispiele von realisierten E-Learning-Systemen, in denen man

Agenten verwendet, wurden am Schluss des Kapitels gezeigt. Diese Beispiele zeigen, dass die

Realisation von agentenbasierten Bildungssystemen möglich ist, aber die Applikationen schöpfen,

meiner Ansicht, nach noch nicht alle potentiellen Möglichkeiten der Agententechnologie aus.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

62

6. MAESTRO-Architektur

Dieses Kapitel führt das Konzept der MAESTRO-Architektur ein. Wegen der Komplexität des

Entwurfs einer agentenbasierenden Architektur für Bildungssysteme betrachte ich die Problemstellung

in Schichten (→ Abbildung 6-1).

MAESTRO

MAT-MAESTRO

Prototyp

Abbildung 6-1 Schichten in der Entwicklung der MAESTRO-Architektur

Die oberste Schicht ist recht abstrakt, umfasst aber ein großes Gebiet. Sie beinhaltet eine

allgemeine Beschreibung der von mir vorgeschlagenen, MAESTRO-Architektur. Eine detaillierte

Charakteristik der Architektur würde bei weitem den Umfang einer Diplomarbeit überschreiten. Aus

diesem Grund wähle ich einige Aspekte der Architektur aus und betrachte sie genauer während des

Designs des MAT-MAESTRO-Systems (→ Kapitel 7 und Anhang). Ich möchte hier betonen, dass

MAT-MAESTRO in sich keine Architektur mehr ist, sondern ein praktisches Computersystem, das

ausgewählte Elemente der MAESTRO-Architektur realisiert. Um einen Eindruck von den praktischen

Aspekten der Implementierung solcher Computersysteme zu gewinnen, habe ich mich entschlossen,

einige Teile des Systems in Form eines Prototypen zu programmieren (→ Kapitel 8 und Anhang).

Weitere Arbeiten auf diesem Gebiet können sich auf andere Aspekte der MAESTRO-Architektur

konzentrieren, die Architektur auf ähnliche Weise zu dekomponieren, wie ich es in dieser Arbeit

mache. Erfahrungen aus der praktischen Realisation der Systeme werden zu Verbesserungen der

allgemeinen Architektur führen. Ich bin der Meinung, dass solch ein zyklischer top-down- und

bottom-up-Entwicklungsprozess die besten Ergebnisse bei der Entwicklung der Architektur geben

kann.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

63

6.1. Gründe für die Entstehung der MAESTRO-Architektur

Die im Abschnitt 5.3 gezeigten Architekturen beweisen, dass das Konzept des Entwurfs eines

Gerüsts für agentenbasierende Systeme im Bildungsbereich nicht neu ist43. Wie ich aber auch gezeigt

habe, gibt es zurzeit keine optimale Lösung für diesen Bereich. Die von mir vorgeschlagene

Architektur vereinigt, vertieft und erweitert – meiner Ansicht nach – die besten Ideen aus den

bestehenden Ansetzten. Im Gegensatz zu den bestehenden Architekturen werden einige Funktionen

der Agenten, wie z.B. Leistung der Hilfestellung, detailliert betrachtet, und konkrete Methoden der

Realisierung dieser Aufgaben werden vorgestellt.

Innovativ in meiner Architektur sind vor allem Überlegungen zu der Wissensrepräsentation der

Lerninhalte. Ich führe in die Architektur spezielle Datenbank-Knoten ein, die Quelle des Wissens für

die Agenten sind. Eine wichtige Rolle spielt hier das Konzept des Semantic Web. Ich verwende es als

universelle Beschreibungsmethode für die Lernbestände.

Neu in meiner Architektur (obwohl nicht näher betrachtet) ist auch die Berücksichtigung

spezieller Agententypen zum Schutz der Sicherheit des Systems und auch zur Erfüllung der

Funktionen des Lehrenden und des Systemadministrators.

6.2. Bemerkungen zur angewandten Notation

Im weiteren Verlauf der Arbeit benutzte ich zur Darstellung einiger Konzepte die UML Notation

(engl. Unified Modeling Language) [126]. UML ist seit langem ein anerkannter Standard im Entwurf

objektorientierter Systeme. Die Version 1.5 der UML-Notation unterstützt neun verschiedene

Diagrammtypen, aufgeteilt in drei Gruppen:

• Statische Diagramme – beschreiben die logische Struktur des Systems –

(Anwendungsfalldiagramm (use case diagram), Klassendiagramm (class diagram),

Objektdiagramm (object diagram)),

• Verhaltensdiagramme – beschreiben die Dynamik des Systems – (Zustandsdiagramm

(statechart diagram), Aktivitätsdiagramm (activity diagram), Sequenzdiagramm (sequence

diagram), Kollaborationsdiagramm (collaboration diagram))

• Implementierungsdiagramme – beschreiben die physische Struktur des Systems

(Komponentdiagramm (component diagram) Verteilungsdiagramm (deployment

diagram)).

Die UML Diagramme-beinhalten einige Redundanzen. Z.B. kann man das Kollaborationsdiagramm

automatisch aus dem Sequenzdiagramm generieren. Aus diesem Grund werden in dieser Arbeit nicht

alle Diagrammtypen gezeigt.

Das Anwendungsfalldiagramm eines auf der MAESTRO-Architektur basierenden Systems wird im

Abschnitt 6.3 präsentiert. Die Klassen-, Aktivitäts- und Sequenz- und Implementierungsdiagramme

für das MAT-MAESTRO-System und sein Prototypen werden im Kapitel 7 und im Anhang gezeigt.

43 Gründe, weshalb man überhaupt Agenten im E-Learning benutzt, werden im Abschnitt 5.1 gebracht.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

64

6.3. Analyse der gebrauchten Funktionalität

Der erste Schritt auf dem Entwicklungsweg der MAESTRO-Architektur war die Analyse der

Funktionalität, die die mit ihr konformen Systeme zeigen sollen. Das Ziel erreiche ich durch die

Erstellung von UML-Anwendungsfalldiagrammen. Diese Diagramme werden zur Beschreibung eines

externen Systemverhaltens aus der Sicht der Benutzer verwendet.

Ich habe drei Klassen von Benutzern eines auf der MAESTRO-Architektur gründenden Systems

unterschieden (Abbildung 6-2). Es sind: die Lernenden, die Lehrenden und die Systemadministratoren.

Lehrender

Benutzer

Lernender

System-

administrator

Abbildung 6-2 Benutzer in der MAESTRO-Architektur

Alle Benutzer sollen die Möglichkeit haben, in das System eingefügt und aus ihm wieder

gelöscht zu werden44,45. Ein registrierter Benutzer soll die Möglichkeit haben, sich im System

anzumelden (einloggen) und sich aus ihm wieder abzumelden (ausloggen) (Abbildung 6-3).

Einloggen Ausloggen

Benutzer

Abbildung 6-3 Use-Case Diagram für den Benutzer

44 Mindestens ein Systemadministrator muss immer im System registriert sein 45 Die Einfügung der neuen Benutzer in das System und das Löschen der Benutzer aus dem System ist eine Funktion des

Systemadministrators.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

65

6.3.1. Der Lernende

Das Ziel des Lernenden (Studierenden oder an Weiterbildung interessierten Externen) während

der Arbeit mit dem System ist das Erlangen des Wissens auf möglichst effiziente und angenehme

Weise. Der Lernprozess soll möglichst nach dem Prinzip des Lernens durch Erforschen konzipiert

sein. Der Lernende kann sich in verschiedene Lerneinheiten einschreiben. Nicht alle Lerneinheiten

müssen für den Lernenden zugänglich sein. Einige Kurse können bestimmte Vorkenntnisse oder die

Einzahlung eines bestimmten Geldbetrags erfordern. Nach der Einschreibung hat der Benutzer die

Möglichkeit, die Materialien der Lehreinheit zu nutzen.

An-/Abmeldung zur Lerneinheit

Zugriff auf didaktische Seiten

Nutzung der "intelligenten" Hilfe

Bewertung der Hilfe

Persönliche Einstellungen des

Lernprozesses

Zahlung für die Nutzung der

Bestände

Diskussion über Lerninhalte

Lernender

Abbildung 6-4 Use-Case Diagram für den Lernenden

Während des Lernprozesses treten voraussichtlich Schwierigkeiten mit dem Verständnis des

Lehrstoffes auf. In solchen Fällen kann der Benutzer das System um Hilfe bitten. Die Hilfe soll

möglichst gut an den Benutzer angepasst werden. Anhand der Geschichte des bisherigen

Lernprozesses und der Erfahrungen aus der bisherigen Arbeit mit den Lernenden soll das System

schätzen, welche Materialien hilfreich sein können.

Die Hilfe, die der Benutzer von dem System erwartet, kann sehr unterschiedlich sein. Es können

sowohl Antworten auf sehr detaillierte Fragen sein (z.B. „Was bedeutet Kombinatorik?“46) und auch

Ratschläge auf sehr allgemein gestellte Probleme (z.B. „Finde etwas Interessantes, was ich noch

lernen könnte, was zusammenhängt mit dem was ich schon gelernt habe.“). Die letzte Anfrage stellt

46 Im praktischen Teil der Arbeit möchte ich nicht auf die sehr komplizierten Aspekte der Interpretation der natürlichen

Sprache eingehen – der Student soll nur stichwortartig die Begriffe nennen, die ihm Schwierigkeiten bereiten.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

66

eine spezielle Kategorie der Hilfestellung dar. Der Lernende versteht das Gelernte, aber aus Interesse

zum Thema möchte er sein Wissen auf diesem Gebiet erweitern. Diese Art der Hilfestellung bezeichne

ich im weiteren Verlauf der Arbeit als Vertiefungsfunktion. Als Antwort auf die Anfrage liefert das

System eine Liste der möglichen Hilfsverweise zu anderen Materialien. Die Liste sollte nach den

Wahrscheinlichkeiten des Zutreffens geordnet sein. Nur die n-besten Ergebnisse sollen angezeigt

werden. Der Studierende sollte auch die Möglichkeit haben, das System um Übungen zum aktuellen

Lernstoff zu bitten. Die Korrektur solcher Übungen überschreitet oft die Möglichkeiten der

gegenwärtigen Computer, aber dem Lernenden werden zumindest Antworten oder Musterlösungen der

Aufgaben angeboten. Der Benutzer kann die ihm angebotenen Lerninhalte und Hilfestellung bewerten,

um dem System die Möglichkeit zu geben, die Vorlieben des Lernenden kennen zu lernen. Der

Lernende kann die Parameter des Lernprozesses auch explizit festlegen. Der Lernende soll die

Möglichkeit haben, die Lehrmaterialien für den Lehrenden oder die Mitlernenden zu kommentieren

oder in Hinsicht auf Verständlichkeit und Nutzen zu bewerten.

Befinden sich im System Lerneinheiten, für deren Gebrauch eine Bezahlung vorgesehen ist, so

kann der Lernende wirkliches Geld in virtuelles Zahlungsmittel umwandeln (z.B. durch eine

elektronische Banküberweisung)47.

Die Architektur sollte auch das Recht auf persönlichen Datenschutz des Lernenden

berücksichtigen. Die mit der MAESTRO-Architektur realisierten Systeme dürfen einige der

gesammelten Daten überhaupt nicht oder nur anonymisiert an andere Benutzer (auch an Lehrende)

oder Agenten weitergeben. Die Funktionen der Architektur sollten auf keinen Fall zu aufdringlich sein

und auf diese Weise den Lernenden bei der Arbeit stören.

Abbildung 6-4 zeigt eine Zusammenfassung der Funktionen des System aus der Sicht des

Lernenden in Form eines UML Use-Case Diagram.

6.3.2. Der Lehrende

Der Lehrende publiziert seine Lehrmaterialien im MAESTRO-System. Die Materialien werden

vom Lehrenden derart beschrieben, das eine automatische Verarbeitung des Wissens ermöglich ist

(semantische Netze z.B. in der RDF [117] /RDF Schema [114] oder OWL- Sprache [107] [108],

Sprachen des Semantic Web → 4.3)48. Die Materialien können durch den Lehrenden modifiziert oder

gelöscht werden. Die Materialien werden in Lerneinheiten-Knoten gruppiert. Das MAESTRO-System

bietet dem Lehrenden die Möglichkeit, die für ihn bestimmten Kommentare des Lehrmaterials zu

lesen und zu beantworten. Der Lehrende kann sich über einige Statistiken des Lernprozesses

47 Die Problematik des Umgangs mit wirklichen Zahlungsmitteln in elektronischen Umgebungen ist so komplex, dass ich sie

in meiner Arbeit aus Platzgründen nur sehr allgemein (hypothetisch) betrachten werde. Die Implementierung dieses

Fragmentes der MAESTRO-Architektur wird in meiner Arbeit nicht realisiert. 48 Diese Sprachen sind in erster Linie den Maschinen und nicht den Menschen verständlich. Der Lehrende wird

voraussichtlich selten den RDF-Code selbst erstellen. Dafür sind in der MAESTRO-Architektur spezielle Werkzeuge

vorgesehen, die den Lehrenden auf angenehme Weise erlauben sollen, die semantischen Beschreibungen der Lerninhalte

anzufertigen.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

67

informieren (z.B. welche Übungen wurden besonders gerne gewählt, bei welchen Begriffen sind am

häufigsten Probleme entstanden, usw.). Aufgrund dieser Daten kann der Lehrende Schlüsse für die

weitere Entwicklung der Lehrveranstaltungen ziehen. Bei manchen Ergebnissen der Statistiken soll die

Anonymität der Daten zum Schutz der Lernenden gewährleistet sein. Der Lehrende soll über neue

Wissensmodule im MAESTRO-System informiert werden. Wenn sie semantisch ähnlich sind, soll er

die Möglichkeit haben, sie als Ergänzungsmaterial für seine Lehreinheit vorzuschlagen. Nicht alle

Lehreinheiten müssen frei zugänglich sein. Der Lehrende kann entscheiden, welchen Benutzern

(Gruppen von Benutzern) unter welchen Bedingungen der Zugriff auf die Daten ermöglicht wird. Die

Bedingungen können z.B. die Einzahlung eines gewissen Geldbetrages oder ein Nachweis der

Vorkenntnisse sein.

Erstellung der Lerninhalte

Erstellung des semantischen

Netzes

Lesen und Antworten auf

Kommentare der Lernenden

Zugriff auf Statistiken der

Lernprozesse

Erstellung von Verweisen zu

anderen Lerneinheiten

Lehrender

Abbildung 6-5 Use-Case Diagram für den Lehrenden

Abbildung 6-5 fasst die Funktionen des Systems aus der Sicht des Lehrenden, in Form eines UML

Use-Case Diagram zusammen.

6.3.3. Der Systemadministrator

Der Systemadministrator fügt neue Benutzer in das System ein. Dabei verifiziert er die Identität

des Benutzers, fügt die Daten des Benutzers in das System ein, erzeugt die für den Benutzer

vorgesehenen Agenten und übergibt dem Benutzer die Daten, die zur automatischen Autorisation im

System notwendig sind. Zu den Pflichten des Administrators gehört auch das Löschen der Benutzer

aus dem System, entweder auf Wunsch des Benutzers, nach Ablauf der Zeit, in der der Benutzer das

System nutzen konnte, oder nachdem der Benutzer die Regeln der Arbeit im System gebrochen hat.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

68

Hinzufügen von Benutzern

Kontrolle über die Befolgung der

Regeln durch die Benutzer

Kontrolle der Sicherheit des

SystemsKontrolle der Speicherbestände

Löschen von Benutzern

Erstellung von Zugriffsregeln für

Lernende

Erstellung und Löschen der

Lerneinheits-Knoten

System-

administrator

Abbildung 6-6 Use-Case Diagram für den Systemadministrator

Der Systemadministrator soll die Befolgung der Regeln der Arbeit mit dem System kontrollieren

und – wenn nötig – entsprechend handeln. Dazu gehört z.B. die Suche nach unsachlichen oder

vulgären Kommentaren. Der Systemadministrator verwaltet auch die Mechanismen zum Schutz des

Systems von außen wie von innen (z.B. Denial of Service-Attacks). Diese Sprachen sind in erster

Linie den Maschinen und nicht den Menschen verständlich. Der Lehrende wird voraussichtlich selten

den RDF-Code persönlich erstellen. Dafür sind in der MAESTRO-Architektur spezielle Werkzeuge

vorgesehen, die den Lehrenden auf angenehme Weise erlauben sollen, die semantischen

Beschreibungen der Lerninhalte anzufertigen. Wichtig ist auch die Kontrolle, ob die Speicherbestände

des Systems sich nicht den Grenzen nähern. Dabei sollte der Systemadministrator im richtigen

Moment entsprechend handeln (entweder die Ressourcen vergrößern oder den Selbstreinigungsprozess

des Systems starten). Der Systemadministrator sollte auch das Recht haben, ungenutzte Lerneinheits-

Knoten zu löschen (z.B. in dem Fall, wenn der Eigentümer dieser Einheit nicht mehr Benutzer des

Systems ist).

Die Abbildung 6-6 ist eine Zusammenfassung der Funktionalität des Systemadministrators in

Form eines UML Use-Case Diagrams.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

69

6.4. Architektur des System

Die MAESTRO-Architektur ist vor allem für große Bildungsprojekte wie z.B. das ELAN

Niedersachsen-Projekt (eLearning Academic Network Niedersachsen → 3.7.1 [86]) vorgesehen. In

diesen Projekten werden die Lernmaterialien verschiedener Bildungszentren verbunden und zur

gemeinsamen Nutzung freigesetzt.

ELAN

TU Clausthal Uni GöttingenUni

Oldenburg

MAESTRO-Plattform

Mathematik Informatik Mathematik

MAESTRO-PlattformMAESTRO-Plattform

MAESTRO-Plattform

Mobiler Agent

Stationärer Agent

Mathematik

Abbildung 6-7 Verbindungen von MAESTRO-Plattformen (Beispiel: ELAN Projekt)

Die MAESTRO-Architektur ist ein Netz von miteinander verbundenen MAESTRO-

Plattformen. Eine MAESTRO-Plattform ist eine Agentenplattform mit festgelegten Klassen von

Agenten, erweitert um zusätzliche Komponenten. Jedes Bildungszentrum kann eine oder mehrere (z.B.

eine pro Fakultät oder eine pro Bildungszentrum) MAESTRO-Plattformen besitzen (Abbildung 6-7).

Die Funktion einer einzelnen MAESTRO-Plattform ist die Verwaltung gewisser Mengen von

Lerninhalten und Benutzerdaten. Die mobilen Agenten verknüpfen Bestände aus mehreren

MAESTRO-Plattformen. So kann ein Benutzer aus einem Bildungszentrum auch die Ressourcen

anderer Bildungszentren nutzen.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

70

Ein allgemeines Schema einer MAESTRO-Plattform zeigt die Abbildung 6-849.

Lernender UI Lernderder UI Admin UI

Semantische

Beschreibung

Lerneinheits-Knoten Interface

Lern-

inhalte

Lerneinheits -Knoten 1

Lern-

inhalte

Lerneinheits -Knoten 2

Lernender BLernender ASystem-

administrator S

A’sPedagogical

Agent

S’

Administrator Agent

Lehrender T

T’sTutor Agent

A’s

LM Searchbot Agent

T

u

t

o

r

UI

(eingeloggt) (beim Einloggen)

Passwords

Benutzerdaten -Knoten

Verbindung zur

nächstenMAESTRO

PlattformGateway Guard

Agent

A’s

Learner Interface Agent

Semantische

Beschreibung

A’sShopper Agent

Daten der

Agenten

Lerneinheits-Knoten Interface

Benutzerdaten-Knoten Interface

migrierter

LM Searchbot Agent

MAESTRO Plattform

Mobiler Agent

Stationärer Agent

Kommunikation

B’s

Login Agent

A’sCourse

Agent Configurartion Agent

B’s

Learner Interface Agent

Abbildung 6-8 Allgemeines Schema der MAESTRO-Plattform

Jede MAESTRO-Plattform beinhaltet folgende Komponenten:

• Lerneinheits-Knoten – einer oder mehrere pro MAESTRO-Plattform. Beinhaltet die

Lernmaterialien sowie deren Beschreibung, Informationen über die Autoren der Bestände und

Zugriffsrechte auf publizierte Inhalte. Bei kommerziellen Systemen werden hier auch die

Kosten für die Nutzung der Bestände bestimmt. Die Struktur eines Lerneinheits-Knotens wird

näher im Abschnitt 6.5 beschrieben. Die Methoden der Beschreibung der Lerninhalte werden

im Abschnitt 6.8 vorgestellt. Datenbanken, die diesen Knoten implementieren, werden im

Abschnitt 7.7.2 und im Anhang beschrieben.

• Lerneinheits-Knoten Interface – die Schnittstelle des Lerneinheits-Knotens zu weiteren

Komponenten der MAESTRO-Plattform. Die Beschreibung einer prototypischen Realisation

dieses Interfaces befindet sich im Anhang. Sehr zu empfehlen ist die Realisation dieser

Schnittstelle als ein Web Service (was aber aus Zeitgründen in dem Prototyp nicht gemacht

wurde).

49 Diese Abbildung dient nur der Veranschaulichung der Konzepte und beinhaltet nicht alle Kommunikationsmöglichkeiten

zwischen den Agenten.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

71

• Benutzerdaten-Knoten – nur ein Knoten pro MAESTRO-Plattform. Wie der Name des

Knotens andeutet, beinhaltet diese Einheit Daten über die Benutzer des Systems. Diese Daten

werden durch die Agenten gesammelt. Abschnitt 6.6 beschreibt diesen Knoten genauer. Eine

Datenbank, die diesen Knoten im MAT-MAESTRO-System implementiert, wird im Abschnitt

7.7.3 und im Anhang präsentiert.

• Benutzerdaten-Knoten Interface – die Schnittstelle des Benutzerdaten-Knotens zu weiteren

Komponenten der MAESTRO-Plattform. Die Beschreibung einer prototypischen Realisation

dieses Interfaces befindet sich im Anhang. Sehr zu empfehlen ist die Realisation dieser

Schnittstelle als Web Service (was aber aus Zeitgründen in dem Prototyp nicht gemacht

wurde).

• MAESTRO-Agenten – eine Reihe spezialisierter Agenten mit unterschiedlichen Funktionen.

Eine allgemeine Charakteristik der Agenten wird im Abschnitt 6.7 gezeigt. Die

Zusammenarbeit der Agenten zur Realisation der Systemfunktionen im MAT-MAESTRO-

System beschreibt Abschnitt 7.2. Einen detaillierten Einblick in die Dynamik der einzelnen

Agenten geben die Aktivitätsdiagramme, die in den Anhang aufgenommen wurden.

• Learner UI50 (Benutzerschnittstellen für den Lernenden) – Diese Schnittstelle bietet dem

Lernenden die Möglichkeit zur Ausführung seiner Funktionen im System (→ 6.3.1). Ein

Prototyp einer Web-Anwendung, der einige dieser Funktionen realisiert, wird im Abschnitt

8.2 und im Anhang gezeigt.

• Tutor UI (Benutzerschnittstellen für den Lehrenden) – Diese Schnittstelle bietet dem

Lehrenden die Möglichkeit zur Ausführung seiner Funktionen im System (→ 6.3.2). Ein

Werkzeug, das die Lernmodule mit dem semantischen Netz im RDF-Format einrichtet (→

6.8), ist Teil des MAT-MAESTRO. Die Beschreibung dazu befindet sich in den Abschnitten

7.5, 8.2 und im Anhang.

• Admin UI (Benutzerschnittstellen für Systemadministratoren) – Diese Schnittstelle bietet dem

Systemadministratoren die Möglichkeit der Ausführung seiner Funktionen im System (→

6.3.3). In Rahmen dieser Diplomarbeit wird kein explizites Werkzeug für den Administrator

entworfen oder implementiert.

• Verbindungen zu anderen Agentenplattformen – die Verknüpfung erfolgt durch eine

spezielle überwachte Pforte. Die Sicherheitsmechanismen zum Schutz gegen Gefahren

außerhalb der MAESTRO-Plattform werden aus Zeitgründen, trotz ihrer Relevanz, in dieser

Arbeit nicht näher betrachtet.

50 UI – (engl. User Interface) – Benutzerschnittstelle

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

72

6.5. Lerneinheits-Knoten

Die Lerneinheits-Knoten werden durch Lehrende für die Ordnung der Lerninhalte erzeugt. Die

Daten werden auch semantisch beschrieben, um ihre Weiterverarbeitung durch Agenten zu erlauben.

MAESTRO-Plattform

Lerneinheits-Knoten

Lernmodul

Seite

Semantische

Beschreibung des

Lernmoduls

Zugriffsrechte der

Benutzer

Informationen über den /die

Autor/-en

des Lernmoduls

Allgemeine Beschreibung

des Lernmoduls

Kommentare

Verknüpfungen

mit anderen Lernmodulen

0..n

1

1

0..n1

1..n

1

0..n 1

1..n

1

1..n

1..n1

0..n

1

1

0..n

Strukturelle

Beschreibung des

Lernmoduls

1..n

1

Abbildung 6-9 Lerneinheits-Knoten im Detail

Die Abbildung 6-9 zeigt das Schema eines Lerneinheits-Knoten. Ein Lerneinheits-Knoten

beinhaltet folgende Daten:

• Allgemeine Beschreibung – Eine Beschreibung der gebotenen Lerneinheit in natürlicher

Sprache. Diese Charakteristik dient nur als Information für andere Benutzer (vor allem

Lernende, aber auch andere Lehrende) und wird vom System nicht automatisch verarbeitetet

(dazu dient die semantische Beschreibung). Diese allgemeine Beschreibung kann als

Motivation für den Lernenden und zur Einschreibung für die Lehreinheit funktionieren. Sie

kann neben einem Überblick des präsentierten Lehrstoffes auch Anwendungsbeispiele des

vorgetragenen Wissens beinhalten. Nützlich sind Information über für die Lerneinheit

erforderliche Vorkenntnisse, wie auch mit dieser Lerneinheit verbundene Veranstaltungen im

Präsenzstudium. Das Format der Beschreibung kann eine einfache Textdatei sein oder

Webseiten im HTML/XHTML-Format.

• Lernmodule – Zusammenfassung inhaltlich verwandter didaktischer Seiten.

• Seiten – HTML/XML Dokumenten und auch mit ihnen verknüpfte Bilder, Applets usw., die

den Lernstoff bilden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

73

• Semantische Beschreibung – Eine formale Beschreibung der Materialien der Lehreinheit. Die

Beschreibung wird im RDF-Format [117] (RDF Scheme [114] oder OWL [107] [108])

gespeichert. Zur Erstellung der Beschreibung kann man verschiedene Anwendungsprogramme

des Semantic Web benutzen wie z.B. Protégé 2000 [109], SMORE [123] oder spezielle

Werkzeuge, die für die MAESTRO-Architektur entwickelt wurden (→ 8.2.2). Die

Beschreibungen werden in speziellen RDF-orientieren Datenbanken aufbewahrt (RDF

Datastores → 4.4.2). Der Zugriff auf die Daten wird durch spezielle semantische

Anfragesprachen realisiert – z.B. RDFQL oder RQL [119].

• Zugriffsrechte der Benutzer – beinhaltet Informationen, welche Gruppen von Benutzern unter

welchen Bedingungen der Zugriff auf die Lerninhalte ermöglicht wird. Es können

Bedingungen kommerzieller Art sein (Zugriff nach Bezahlung) oder bedingt durch die

erbrachte Vorleistung (z.B. nur für Studenten im Hauptdiplom). Lernenden können in

verschiedene Gruppen eingeteilt werden (z.B. nach dem Bildungszentrum der Registrierung).

Gruppen können ihre eigenen Zugriffsrechte haben. Wenn sich verschiedene Zugriffsregeln

widersprechen, wird zu Gunsten des Lernenden entschieden. Je nach Menge der Regeln

können die Daten in einer einfachen Textdatei oder in einer Relationsdatenbank aufbewahrt

werden. Diese Daten werden nicht außerhalb des Lerninheits-Knotens in einem zentralen

Benutzerdaten-Knoten aufbewahrt, um die Dezentralisierung zu fördern und dadurch mehr

Flexibilität zu gewinnen.

• Autor des Lernmoduls – Information über den Autor der Lerneinheit. Identifikationsnummer

des Lehrenden, der die Materialien der Lehreinheit modifizieren oder löschen darf. Diese

Person oder deren Agenten haben auch Zugriff auf die Kommentare zu den Materialien der

Lerneinheit. Bei Bedarf kann der Lerneinheits-Knoten auch detaillierte Informationen über

den Lehrenden beinhalten: z.B. E-Mail-Adresse, Telefonnummer, Anschrift, Termine der

Sprechstunden, Foto oder Verweis auf die persönliche Homepage des Lehrenden oder auf

andere durch den Lehrenden geführte Lerneinheits-Knoten.

• Kommentare – Kommentare zu den Materialien der Lerneinheit die für andere Lernende oder

Lehrende bestimmt sind. Die Kommentare können in einfachem ASCII-Textformat, HTML

oder XML gespeichert sein. Jeder Kommentar beinhaltet zusätzlich den Namen des Autors

sowie den Zeitpunkt der Entstehung des Kommentars. Die Kommentare können auch andere

Kommentare betreffen. Auf diese Weise kann eine on-line Diskussion geführt werden. Der

Lehrende darf auch an öffentlichen Diskussionen teilnehmen. Die Identität des

kommentierenden Lernenden kann vor dem Lehrenden verborgen werden (aber nicht vor dem

Systemadministrator – aus Sicherheitsgründen).

• Verknüpfungen – Verknüpfungen zu anderen ähnlichen Lerneinheits-Knoten. Diese Verweise

werden von dem Lehrenden erzeugt, um den Agenten die Suche nach semantisch ähnlichen

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

74

Inhalten zu ermöglichen (es können sogar Verweise auf Bestände des öffentlichen Internets

sein, die nicht die Anforderungen der MAESTRO-Architektur erfüllen51).

6.6. Benutzerdaten-Knoten

In einem Benutzerdaten-Knoten werden Daten der Lernenden und Daten für alle

Benutzergruppen gemeinsam gespeichert. Diese Daten werden von unterschiedlichen Agenten52

verwendet.

Zu den Daten, die jeden Benutzer beschreiben, zählen u.a. der vollständige Name des

Benutzers, die Rolle des Benutzers im System (Lernender, Lehrender, Administrator) sowie das

Kennwort des Benutzers. Die allgemeinen Benutzerdaten werden vor allem durch die Login Agents

zwecks Autorisation genutzt.

Zu den Daten des Lernenden zählen die persönlichen Einstellungen des Lernprozesses (wie z.B.

Informationen über den Lernstil des Lernenden, das zulässige Format der Lerninhalte, interessante

Schlüsselwörter) und die Geschichte des Lernprozesses (die Liste der geöffneten Lernmodule und der

gesehenen Seiten). Diese Daten werden durch zwei Sorten von Agenten genutzt: Course Agents (vor

allem für die Geschichte der Lernprozesse) und Pedagogical Agents (vor allem für die persönlichen

Einstellungen des Lernprozesses). Die Daten werden von diesen Agenten beim Einloggen aus dem

Benutzerdaten-Knoten bezogen, während der Arbeit mit dem Lernenden verwendet und entsprechend

der Situation geändert und nach dem Ausloggen des Benutzers wieder in dem Benutzerdaten-Knoten

gespeichert.

6.7. MAESTRO-Agenten

Tabelle 6-1 beinhaltet eine kurze Charakteristik der MAESTRO-Agenten. Die erste Spalte

beinhaltet neben dem Namen des Agenten die Information, ob der Agent stationär oder mobil ist53. Die

weiteren Spalten beschreiben die Ziele, Aufgaben zur Realisation der Ziele und den Lebenszyklus des

Agenten. Eine detallierte Beschreibung der Funktion ausgewählter Agenten im MAT-MAESTRO-

System befindet sich im Abschnitt 7.2 und im Anhang.

51 Für diese Dokumente werden die Möglichkeiten der MAESTRO-Architektur selbstverständlich eingeschränkt. 52 Die Agenten werden im Abschnitt 6.7 charakterisiert. 53 Der Unterschied zwischen den Agententypen wird in Abschnitt 2.1.6.6 erklärt

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

75

Name des Agenten Ziel Aufgaben Lebenszyklus Login Agent (mobil)

Verifiziert die Identität des Benutzers − Übernimmt den Namen und das Kennwort des Benutzers von dem Interface Agent

− Findet den Benutzerdaten-Knoten − Verifiziert die Identität des Benutzers − Informiert den Learner Interface Agent

über das Ergebnis der Autorisation

� Erzeugt (durch den Learner Interface Agent, Tutor Agent oder Administrator Agent) bei jedem Versuch des Einloggens.

� Beseitigt nach der Übermittlung der Information über das Ergebnis der Autorisation

Course Agent (stationär)

Verwaltet für den Lernenden Informationen über eine bestimmte Lerneinheit

− Sammelt Information welche Materialien der Lerneinheit der Lernende schon gesehen hat (wie oft) und wie er sie bewertet hat

− Bei der Leistung der Hilfestellung schickt der Agent LM Searchbot Agents aus, auf der Suche nach zusätzlichen Informationen über den Inhalt des Lernmoduls

− Arbeitet mit dem Pedagogical Agent bei der Aufstellung einer, an den Lernenden angepassten Hilfestellungen zusammen

− Koordiniert die Bestellungen des Lernenden auf didaktische Materialien (schickt Shopper Agenten aus, empfängt die gekauften Ressourcen und leitet sie an den Learning Material Agent weiter)

� Erzeugt zum ersten Mal nach Anmeldung des Lernenden zu einer neuen Lerneinheit

� Beim Ausloggen des Lernenden speichert der Agent seine Daten in dem Benutzerdaten-Knoten ab. Der Agent selbst wird danach gelöscht.

� Beim nächsten Einloggen des Lernenden wird der Agent erneut erstellt. Er bezieht seine Daten aus dem Benutzerdaten-Knoten.

Pedagogical Agent (stationär)

Entscheidet über die für den Lernenden geeignete Lernstrategie

− Übernimmt von dem Learner Interface Agent die Informationen über das Verhalten des Benutzers und speichert sie

− Zieht anhand der gesammelten Daten Schlüsse über Charakter und Vorlieben des Lernenden

− Speichert die persönlichen Lernprozess-Einstellungen des Benutzers ab

− Auf Wunsch des Benutzers, eine neue Lerneinheit zu beginnen, schickt der Pedagogical Agent LM Searchbot Agents aus um nach neuen Modulen aus, verschiedenen Lerneinheits-Knoten zu suchen, filtert die Ergebnisse (unter Berücksichtigung der Informationen über

� Erzeugt zum ersten Mal nach dem ersten Einloggen des Lernenden in das System.

� Beim Ausloggen des Lernenden speichert der Agent seine Daten in dem Benutzerdaten-Knoten ab. Der Agent selbst wird danach gelöscht.

� Beim nächsten Einloggen des Lernenden wird der Agent erneut erstellt. Er bezieht seine Daten aus dem Benutzerdaten-Knoten.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

76

den Lernenden) und liefert die Ergebnisse an den Interface Agenten.

− Verwaltet in kommerziellen Systemen die virtuellen Finanzen des Lernenden

Learning Material Searchbot (mobil)

Sucht neue Lernmodule auf. Sucht nach Informationen für die Hilfestellungen.

− Durchsucht die MAESTRO-Plattformen nach neuen Lerneinheits-Knoten, die bestimmte (durch den Pedagogical Agenten festgelegte) Kriterien erfüllen. Die Ergebnisse werden dem Pedagogical Agent geliefert. Die Ergebnisse werden dem Pedagogical Agent geliefert.

− Durchsucht ein bestimmtes Lernmodul und mit ihm verknüpfte Lernmodule nach neuen Informationen über ein bestimmtes Thema, das Gegenstand der Hilfestellung ist. Die Kriterien der Suche bestimmt hier der Course Agent. Die Ergebnisse werden dem Course Agenten geliefert.

� Erzeugt (durch den Pedagogical Agent oder Course Agent) nach dem Eingehen eines Suchbefehls vom Benutzer

� Beseitigt nach der Ablieferung des Ergebnisses der Suche

Learner Interface Agent (stationär)

Gewährleistet die Kommunikation zwischen den Lernenden und seinen restlichen Agenten.

− Empfängt Befehle vom Benutzer und leitet sie entsprechend der Situation an den Login Agent, Course Agent oder Pedagogical Agent weiter.

− Präsentiert dem Benutzer die Antworten der Agenten.

− Beobachtet das Verhalten des Benutzers (z.B. Methoden der graphischen Oberfläche, die besonders oft benutzt werden) und Informiert darüber den Pedagogical Agent.

� Erzeugt nach der Ausführung der Bedieneroberfläche des Lernenden.

� Beseitigt nach der Schließung der Bedieneroberfläche des Lernenden.

Shopper Agent (mobil)

Kauft für den Lernenden eine Ressource mit didaktischen Inhalten ein

− Bekommt vom Course Agent den Auftrag, eine Ressource (z.B. eine Seite mit Lerninhalten) zu beschaffen. Von dem Pedagogical Agent bekommt der Shopper Agent den gebrauchten virtuellen Geldbetrag und kauft dafür eine bestimmte Ressource im Lerneinheits-Knoten ein.

− Überträgt die Ressource für den Course Agent

� Erzeugt (durch den Course Agent), nachdem ein Kaufbefehl vom dem Benutzer eingegangen ist.

� Beseitigt nach der Übergabe der Ressource an den Course Agent

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

77

Configuration Agent (stationär)

Bewahrt die allgemeinen Konfigurationsdaten der MAESTRO-Plattform (ergänzt den DF-Dienst der FIPA-Architektur) auf.

− Bekommt Daten über die neu zugegebenen Benutzerdaten- und Lerneinheits-Knoten, wie auch der Adressen der benachbarten MAESTRO-Plattformen.

− Antwortet auf Anfragen der Agenten bezüglich der Adressen der Benutzerdaten- und Lerneinheits-Knoten, und auch der benachbarten MAESTRO-Plattformen.

− Kann einen zusätzlichen Schutz der Agentenplattform bieten, indem es die aufbewahrten Informationen nur an bestimmte, vertrauenswürdige Agenten weiter gibt.

� Erzeugt beim Start der MAESTRO-Plattform

� Beseitigt bei Schließung der MAESTRO Plattform

Tutor Agent (stationär)

Repräsentiert den Lehrenden. − Erhält von dem Lehrenden Befehle zur Suche nach Informationen über Ergebnisse des Lehrprozesses

− Präsentiert die Informationen dem Lernenden durch eine graphische Benutzeroberfläche

� Erzeugt beim Einloggen des Lehrenden in das System

� Beseitigt nach dem Ausloggen des Lehrenden aus dem System

Administrator Agent (stationär)

Repräsentiert den Systemadministrator.

− Erhält von dem Systemadministrator Befehle zur Wartung des Systems (z.B. Informationen, welche Kommentare gelöscht werden sollen)

− Präsentiert die Informationen dem Systemadministrator durch eine graphische Benutzeroberfläche

� Erzeugt (beim Start der Plattform oder durch einen bereits in der Plattform existierenden Systemadministrator) für jeden neuen Systemadministrator

� Beseitigt bei Schließung der Plattform

Gateway Guard Agent Kontrolliert die mobilen Agenten, die das System betreten möchten.

− Integriert sich mit den Administrations-Diensten der Plattform und hilft bei der Entscheidung, ob ein fremder mobiler Agent sich in dieser MAESTRO-Plattform registrieren darf.

� Erzeugt beim Start der MAESTRO-Plattform

� Beseitigt bei Schließung der MAESTRO Plattform

Tabelle 6-1 Charakteristik der MAESTRO-Agenten

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

78

6.8. Beschreibung der Lerninhalte

Die Lerninhalte werden in der MAESTRO-Architektur mit Hilfe semantischer Netze beschrieben54.

Jedes Lernmodul besitzt sein eigenes Netz. Der Name „semantische Netze“ ist hier ein wenig irreführend55,

denn diese Strukturen beschreiben nicht nur die semantischen, sondern auch die strukturellen

Zusammenhänge von Konzepten aus den Lernmodulen. Diese Beschreibung wird in den Lerninhalts-Knoten

der MAESTRO-Plattform gespeichert.

Die MAESTRO-semantischen Netze bestehen aus drei Sorten von Knoten56:

• Term-Knoten, die Begriffe aus dem Lernbereich repräsentieren (Beispiele: Stichprobe57, DNA,

Schwerkraft, NP-Problem)

• Page-Knoten, die didaktische Seiten repräsentieren (Beispiele: Satz 2.258., Definition 2.5, Bemerkung

2.7)

• Structure-Knoten, die die Struktur des Lernmoduls repräsentieren (Beispiele: Kapitel 1, Abschnitt

1.2.3)

Abbildung 6-10 und Abbildung 6-11 zeigen beispielhafte semantische Netze für einen Abschnitt eines

Statistik-Lernmoduls (Quelle des Lerninhaltes ist [43]). Die weißen Knoten bedeuten Term-Knoten, die

rosafarbigen Page-Knoten, die bläulichen Structure-Knoten.

Die Knoten in den semantischen Netzen werden durch Relationen verknüpft. Relationen zur

Beschreibung der semantischen Zusammenhänge im Lernmodul zeigt die Tabelle 6-2. Die Liste der

Relationen ist nicht vollständig. Zu den möglichen weiteren Relationen gehören u.a. die Relationen (partOf,

related). Die Liste wird aber in der ersten Version der Architektur aus Komplexitätsgründen auf die vier in

der Tabelle 6-2 genannten Relationen beschränkt.

54 Die Netze werden in der RDF-Sprache (→ 4.3.1) implementiert 55 Das Problem kennt man schon von dem Begriff Semantic Web 56 Diese Knoten entsprechen in der RDF-Terminologie den Ressourcen 57 Die Ressourcen werden in RDF durch URI identifiziert. Das bedeutet, dass z.B. der Knoten Stichprobe durch den URI

http://maestro.org/clausthalMat1/AngwStatistik#stichprobe repräsentiert wird. Die landesspezifischen Zeichen werden auf

internationale Zeichen transformiert. Die Leerzeichen werden ausgelassen. Für eine bessere Lesbarkeit wird in diesem Kapitel auf die

URI-Bezeichnungen verzichtet. 58 Genauer gesagt, werden die Page-Knoten durch Dateinamen identifiziert. Die präsentierte Form dient lediglich der besseren

Lesbarkeit.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

79

Name Domäne Wertebereich Bedeutung subTerm Term-Knoten Term-Knoten Ein Begriff ist ein Unterbegriff des

anderen

Beispiel: Stichprobenmedian subTerm Statistische Maßzahlen

sameTerm Term-Knoten Term-Knoten Die Begriffe sind identisch

(Synonyme)

Beispiel: Mittelwert sameTerm Stichprobenmittel

hlm

(hasLearningMaterial)

Term-Knoten Page-Knoten Der Term hat ein Lernmaterial, das

ihn beschreibt

Beispiel: Geordnete Stichprobe hlm Definition 2.3

rk

(requiresKnowing)

Term- oder

Page-Knoten

Term- oder

Page-Knoten

Um das Element zu verstehen, braucht

man das Verständnis eines Elementes

Beispiel: Stichprobe rk Merkmal

Beispiel: Satz 5.2 rk Lemma 5.1

Tabelle 6-2 Relationen zur Beschreibung der semantischen Zusammenhänge

Relationen zur Beschreibung der Struktur des Lernmoduls zeigt die Tabelle 6-3.

Name Domäne Wertebereich Beschreibung contains Structure-

Knoten

Structure-Knoten Strukturelement beinhaltet ein

weiteres Element

Beispiel: Kapitel 2 contains Sektion 2.2

Page-Knoten Page-Knoten hasNext

Structure-

Knoten

Structure-Knoten Dem Strukturelement folgt ein

nächstes Element

Beispiel: Kapitel 1 hasNext Kapitel 2

Tabelle 6-3 Relationen zur Beschreibung der Struktur

Praktisch gesehen, werden die Netze in der RDF-Sprache implementiert. Weil die RDF-Sprache für den

Menschen nicht gut lesbar und schwierig anzufertigen ist, werden z.B. in dem MAT-MAESTRO-System die

zur Erstellung des Netzes gebrauchten Daten aus speziellen Header-Dateien gelesen (die Header-Dateien

werden im Anhang beschrieben).

Die Page-Knoten besitzen weitere Eigenschaften, die die Anpassung des Lernprozesses an den Benutzer

erleichtern. Werte dieser Eigenschafte sind Literale. Diese Eigenschaften zeigt die Tabelle 6-4.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

80

2.B. Statistische Maßzahlen

Definition 2.10 i

hlm

subTerm

Mittelwert

-› Stichprobe

rk

Abbildung 2.3

hlm

Stichproben-

mittel

Arithmetisches

Mittel

Sample Mean

sameTerm

sameTerm

sameTerm

Statistische

Maßzahlen

Beispiel 2.11

Bemerkung 2.12

Median

Definition 2.10 ii

-› GeordneteStichprobe

Stichproben-

median

Bemerkung 2.10.0

Statistische

Maßzahlen für die

Streuung

Stichproben-

streuung

Stichproben-

standard-

abweichung

Standard Deviation

Beispiel 2.15

Satz 2.16 Definition 2.14 i Definition 2.14 ii

-› Stichprobe -› Mittelwert

-› Stichprobe -› Mittelwert

subTerm

subTerm

hlm

hlmhlm

hlm

hlm

rk

sameTerm

hlm

sameTermsubTerm

subTerm

hlm

hlmhlm

rk rk

rk rk

hlmBeispiel 2.13

hlm

-› Häufigkeits-

verteilung-› Klassen in der

Häufigkeits-

verteilung

rk

rk

Statistische

Maßzahlen

für die Lage

subTerm

Abbildung 6-10 Beispiel eines semantischen Netzes der Begriffe

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

81

Name der Eigenschaft Beschreibung Difficulty Beschreibt den Schwierigkeitsgrad des Lerninhaltes. Beispielwerte59 sind

very easy, easy, moderate, hard, very hard.

Stage Beschreibt das Niveau des Lerninhaltes. Beispielwerte: pre-primary,

primary, secondary, post-secondary.

lmType Beschreibt den Typ des Lerninhaltes. Beispielwerte: definition, static

example, interactive example, static static example, interactive example,

static exercise, interactive exercise, remark, theorem.

lmFormatType Gibt Formate der Ressourcen, die den Page-Knoten bilden. Beispielwerte:

pdf ,java applet ,png, gif ,jpeg , macromedia flash. (html ,xhtml, muss durch

den Benutzer akzeptiert werden)

hasAddFiles Gibt den Namen einer anderen Ressource, die mit der aktuellen Ressource

unzertrennlich zusammenhängt. Z.B. hängen mit einer Web-Seite

normalerweise zusätzliche Bilddateien zusammen. Die zusätzlichen

Ressourcen bilden in sich keinen selbstständigen Page-Knoten.

Tabelle 6-4 Eigenschaften der Page-Knoten

Die semantische Beschreibung wird u.a. zu zweierlei Anfragen verwendet: Hilfe bei einem nicht

verstandenen Begriff (oder alle Themen auf einer bestimmten Seite) und zur Realisation der Vertiefungs-

Funktion, bei dem der Lernende mehr Informationen über einen ihn interessierenden Begriff (oder alle

Themen auf einer bestimmten Seite) bekommen möchte. Details dieses Vorgangs werden im

Abschnitt 7.4 näher erklärt.

Kapitel 1

Einleitung

Teil I.

Beschreibende Statistik

Kapitel 2Beschr.Statistik bei

einem Merkmal

Abschnitt 2A

Stichprobe und

Häufigkeitsverteilung

Definition 2.3Beispiel 2.1 Satz 2.2

contains

contains

containscontains

contains

hasNext

hasNext hasNext

Abbildung 6-11 Beispiel eines strukturellen Netzes des Lernmoduls

59 Die Relationen, Eigenschaften und Beispielwerte der Eigenschaften könnten in der Zukunft eine formelle Ontologie bilden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

82

7. MAT-MAESTRO

Wie schon in der Einführung zum Kapitel 6 gesagt wurde, ist die vollständige Entwicklung der

MAESTRO-Architektur ein sehr aufwendiger Prozess, der den Rahmen einer Diplomarbeit sprengen würde.

Aus diesem Grund konzentriere ich mich im Folgenden auf ausgewählte Aspekte der vorgeschlagenen

Architektur. Dieses Kapitel beinhaltet einen Teil des detaillierten Entwurfs des prototypischen MAT-

MAESTRO-Systems (hauptsächlich in der UML Notation → Kapitel 6). Dieses System kann für die

Mathematiklehre (Spezialgebiet Statistik) angewandt werden. Die Lerninhalte für den Prototyp sind aus den

ersten Kapiteln des Skripts Angewandte Statistik von Michael Kolonko [43] entnommen worden.

7.1. Einschränkungen gegenüber der vollständigen MAESTRO-Architektur

Das MAT-MAESTRO-System wird sich vor allem auf die Funktionen für den Lernenden konzentrieren.

Es werden Einloggen/Ausloggen in das/aus dem System, Eröffnung eines neuen Lernmoduls,

Wiedereröffnung eines Lernmoduls, Zugriff auf didaktische Seiten, Persönliche Einstellungen des

Lernprozesses und Realisation der Hilfestellung/Vertiefung – Funktionen entworfen. Das entsprechenden

Use-Case Diagram stellt die Abbildung 7-1dar.

Einloggen/Ausslogen

Eröffnung eines neuen Lernmoduls

Zugriff auf didaktische Seiten

Wiedereröffnung eines Lernmoduls

Realisation der

Hilfestellung/Vertiefungsfunktion

Persönliche Einstellungen des

Lernprozesses

Lernender

Abbildung 7-1 Funktionen des MAT-MAESTRO-System aus der Sicht des Lernenden

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

83

Im Vergleich zu den Use-Case Diagrams für die MAESTRO-Architektur (Abbildung 6-4) wurde die

Realisation der Funktionen zur kommerziellen Nutzung von Wissensbeständen, die Evaluation der

Hilfebestände sowie Möglichkeit zur Diskussion über Lerninhalte ausgelassen. Die Funktion An-/Abmeldung

zur Lerneinheit wurde in die Eröffnung eines neuen Lernmoduls und Wiedereröffnung eines Lernmoduls

gegliedert. Die Nutzung der „intelligenten“ Hilfe wurde auf Realisation der Hilfestellung/Vertiefung –

Funktionen präzisiert.

Es werden auch rudimentär einige Funktionen des Lehrenden (Erstellung des semantischen Netzes,

Erstellung von Verweisen auf andere Lerneinheiten) und des System-Administrators (Erstellung von

Lerneinheits-Knoten) in dem Prototyp des MAT-MAESTRO-Systems implementiert (Abbildung 7-2). Die

anderen Funktionen dieser zwei Benutzergruppen aus der MAESTRO-Architektur (→ Abbildung 6-4 und

Abbildung 6-5) wurden in dem Projekt ausgelassen.

Erstellung des semantischen

Netzes

Erstellung von Verweisen auf

andere Lerneinheiten

LehrenderErstellung von Lerneinheits-Knoten

System-

administrator

Abbildung 7-2 Funktionen des MAT-MAESTRO-System aus der Sicht des Lehrenden und des Lernenden

7.2. Realisation der Funktionen des Lernenden

Im Abschnitt 7.1 habe ich die Anwendungsfälle des MAT-MAESTRO-Systems für den Lernenden

vorgestellt. In diesem Abschnitt möchte ich die Realisation der Funktionalität des Systems für den

Lernenden mit Hilfe von Sequenzdiagrammen illustieren.

Ein UML-Sequenzdiagramm zeigt einzelne Abläufe der Realisation einer Systemfunktion in ihrer

genauen Reihenfolge. Dieses Diagramm stellt einen Weg durch den Entscheidungsbaum innerhalb eines

Systemablaufes dar [131]. Die UML-Sequenzdiagramme können auch durch UML-

Kollaborationsdiagramme ersetzt werden, die dieselben Informationen in einer anderen Notation

präsentieren. Um alle Entscheidungsmöglichkeiten des Ablaufes einer Systemfunktion zu zeigen, können die

UML-Aktivitätsdiagramme benutzt werden.

Ich habe die UML-Notation der genutzten Objekte ergänzt. Die weißen Rechtecke stellen den Benutzer

des Systems dar, der mit Hilfe eines Internet Browsers und Servlets mit dem System kommuniziert, die

bläulichen Rechtecke zeigen die MAESTRO-Agenten an, die rosafarbigen Kästchen dagegen bedeuten

entweder den Lerneinheits-Knoten, den Benutzerdaten-Knoten oder den DF-Dienst (also die Elemente der

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

84

Plattform, die nicht als Agenten realisiert sind60). Eine genaue Beschreibung der Nachrichten-Klassen

befindet sich im Anhang

Im folgenden Teil des Abschnittes präsentiere ich Sequenzdiagramme

• das Einloggen in das System

• die Wiedereröffnung einen Moduls

• die Eröffnung eines neuen Moduls

• das Anzeigen der gewünschten Seite mit Lerninhalten

• die Realisation der Hilfestellung

• das Ausloggen aus dem System

Die Vertiefungsfunktion wird nach identischem Schema, wie die Hilfestellung realisiert, daher wird sie

aus Platzgründen nicht dargestellt. Die Persönliche Einstellungen des Lernprozesses-Funktion wird in die

Eröffnung eines neuen Moduls und Realisation der Hilfestellung-Funktionen mit einbezogen (die gefundenen

Informationen werden an den Lernenden angepasst). Die Kommunikation der Agenten mit dem Directory

Facilitator (→2.3.1) zwecks Registrierung und Deregistrierung der Dienste, wie auch das Aufsuchen der

Agenten mit Hilfe des DF, wurde wegen der besseren Übersicht der Diagramme und auch der

Offensichtlichkeit dieses Prozesses ausgelassen. Für eine bessere Lesbarkeit der Diagrame wurde der Name

Learner Interface Agent auf Interface Agent gekürzt.

Eine gewisse Schwierigkeit stellen die Adressen der Lerneinheits- und Benutzerdatens-Knoten dar. Die

Knoten sind keine Agenten, daher sind sie auch nicht in dem DF zu finden. Das Aufsuchen dieser Adressen

erfolgt durch den Configuration Agent, der die globalen (nicht agentenspezifischen) Daten aufbewahrt.

Diesen Prozess zeigt die Abbildung 7-3, auf der ein unbestimmter MAESTRO-Agent die Adresse des

Benutzerdaten-Knoten ermittelt.

: Generic MAESTRO Agent : DF : Configuration Agent

findConfigurationAgent()

configurationAgentAID

GetUserNodeAddressMsg

UserNodeAddressMsg

Abbildung 7-3 Sequenzendiagramm - Aufsuchen von Adressen mit Hilfe des Configuration Agent

60 Laut der neusten FIPA Spezifikation [91] muss der DF nicht mehr als Agent realisiert sein.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

85

7.2.1. Einloggen in das System

Beim Einloggen in das System-Sequenzdiagramm (Abbildung 7-4) öffnet der Benutzer die Startseite des

MAT-MAESTRO-Systems und führt seinen Benutzernamen und sein Kennwort zwecks Autorisation ein.

Die Daten werden dem Learner Interface Agent durch das HTTP-Protokoll übergeben. Dieser Agent erzeugt

daraufhin einen Login Agent, der die Aufgabe erhält, den Benutzerdaten-Knoten zu finden, um die ihm als

Initialisierungsparameter übergebenen Daten des Benutzers zu prüfen. Der Knoten wird dank des

Configuration Agent gefunden (→ Abbildung 7-3). In unserem Beispiel erweisen sich die Autorisationsdaten

als korrekt, und der Benutzerdaten-Knoten stellt anhand der gespeicherten Daten den Pedagogical Agent

wieder her. Der Login Agent bekommt als Ergebnis einer erfolgreichen loginUser()-Methode allgemeine

Informationen über den Benutzer (z.B. dessen Vornamen, Nachnamen, Datum der letzten Sitzung). Diese

Daten werden an den Learner Interface Agent weitergeleitet und dienen der Erstellung der Anfangsseite.

Nach Übermittlung dieser Information beendet der Login Agent seine Tätigkeit. Der Learner Interface Agent

erzeugt für die Session des Benutzers ein Verzeichnis, speichert den Verzeichnis-Pfad in einer

entsprechenden Sessions-Variablen und zeigt dem Benutzer die Startseite des Systems an. Der Benutzer wird

nach dem Einloggen im Allgemeinen ein neues oder bereits gelesenes Lernmodul öffnen wollen. Der Prozess

der Öffnung eines neuen Moduls wird im nächsten Abschnitt (→7.2.3) detailliert beschrieben, die

Wiedereröffnung im übernächsten Abschnitt (→7.2.3).

: Pedagogical Agent

: Benutzerdaten-Knoten : Learner : Interface Agent

: Login Agent

LoginResponseMsg

UserDscrShort

LoginMsg

LoginResponseMsg

role=LEARNER

loginUser(userName,pass,role,interfaceAID)

<<create>> (interfaceAID,username,pass)

<<create>> (interfaceAID,PedagogicalAgentData)

Abbildung 7-4 Sequenzdiagramm - Einloggen

7.2.2. Eröffnung eines neuen Lernmoduls

Das Eröffnung eines neuen Lernmoduls-Sequenzdiagramm wird in Abbildung 7-5 präsentiert. Der

Befehl des Benutzers, ein neues Lernmodul zu eröffnen, geht in erster Linie an den Learner Interface Agent.

Der Learner Interface Agent leitet ihn an den Pedagogical Agent weiter. Der Pedagogical Agent verfügt über

Informationen, welche Lernmodule der Lernende schon gesehen hat und für welche

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

86

: Learner : Interface Agent : Pedagogical Agent

: LM Searchbot Agent

: Lerneinheits-Knoten

: Course Agent

: Shopper Agent

getStartPage(moduleAddress)Falls zum Zeitpunkt ein

anderer Course Agent des

Benutzers aktiv ist , so sollte der deaktiviert werden

(-> Wiedereröffnung eines Moduls).

action=GET_START

ModuleQuery

ModuleQuery

<<create>> (pedagogicalAgentAID,action,searchParams)

ModuleResponse

ModuleResponse

ModuleResponse

OpenModuleMsg

<<create>> (interfaceAID,moduleAddress,sessionDir )

<<create>> (courseAgentAID,sessionDir ,action,moduleAddess)

lmid

PageMsg

ModuleResponse

action=SEARCH_MODULES

searchParams=keywordList

getModuleList()

Es werden ModuleResponses

von mehreren LM Searchbots gesammelt,vereinigt und an den Lernenden angepasst.

OpenModuleMsg

PageMsg

PageMsg

Abbildung 7-5 Sequenzdiagramm - Eröffnung eines neuen Lernmoduls

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

87

er sich eventuell interessieren könnte61. Diese Informationen bilden die Einschränkungen der Suche nach

neuen Lernmodulen. Der Pedagogical Agent erzeugt eine Reihe von LM Searchbot Agents, die den Auftrag

bekommen, in verschiedenen Lerneinheits-Knoten und MAESTRO-Plattformen nach verfügbaren

Lernmodulen zu suchen. Die Ziel-Plattform, auf der die Suche durch den gegebenen LM Searchbot Agent

durchgeführt werden soll, wird von dem Pedagogical Agent bestimmt (die Adressen der benachbarten

MAESTRO-Plattformen bekommt der Pedagogical Agent von dem Configurations-Agent, → analog wie auf

der Abbildung 7-3). Zu einer benachbarten MAESTRO-Plattform wird jeweils ein LM Searchbot Agent

geschickt, der sich dort gegebenenfalls klonieren kann, um weitere MAESTRO-Plattformen zu erreichen, die

nicht direkt mit der ursprünglichen MAESTRO-Plattform verbunden sind. Die max. Hop-Zahl bestimmt die

maximale Zahl der durch einen LM Searchbot Agent besuchten MAESTRO-Plattformen. Ein LM Searchbot

Agent kann eine Plattform (mit Ausnahme der Ursprungsplattform) nicht mehr als einmal besuchen. Der

klonierte Agent übernimmt von seinem Vorfahren die Liste der besuchten MAESTRO-Plattformen (das

beugt dem Kreisen von LM Searchbot Agents vor).

Die Listen der verfügbaren Lernmodule, die der LM Searchbot Agent von den jeweiligen Lerneinheits-

Knoten erhalten hat, werden gemäß den Suchparametern gefiltert und nach Abschluß der Suche an den

Pedagogical Agent zurückgegeben. Der Pedagogical Agent sammelt alle Suchergebnisse, löscht Duplikate in

der Liste und ordnet die Liste nach gewissen Kriterien (alphabetisch, nach Wissensgebieten, nach

Lerneinheiten, Bewertungen62, usw.). Die fertige Liste wird dem Learner Interface Agent übergeben, der sie

entsprechend formatiert und dem Benutzer anzeigt.

Der Benutzer wählt ein Lernmodul aus. Diese Nachricht wird durch den Learner Interface Agent

empfangen. Der Learner Interface Agent informiert den Pedagogical Agent über die Wahl des Benutzers und

erzeugt für den Benutzer einen neuen Course Agent. Falls zu diesem Zeitpunkt ein anderer Course Agent des

Benutzers aktiv ist, sollte er (wie in 7.2.3 gezeigt wird) in dem Benutzerdaten-Knoten gespeichert und

deaktiviert werden. Der neue Course Agent erzeugt einen Shopper Agent, der in dessen Auftrag die Startseite

des Lernmoduls aus dem Lerneinheits-Knoten übeträgt. Nachdem der Shopper Agent die bestellte Seite in

das Sessions-Verzeichnis kopiert hat, gibt er den Verweis zu der Seite an den Course Agent weiter und löst

sich auf. Der Course Agent schickt die erhaltenen Daten dem Learner Interface Agent, der die Seite dem

Benutzer anzeigt.

61 Die Information, für welche Themen sich der Lernende interessiert, kann durch den Lernenden explizit festgelegt werden oder

durch den Pedagogical Agent auf Grund der Beobachtungen des Verhaltens des Benutzers gefolgert werden. Diese Funktionen

werden in dem Prototyp nicht realisiert. 62 Die Bewertungen von Lerninhalten werden in dem Prototyp nicht betrachtet

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

88

7.2.3. Wiedereröffnung eines Moduls

Die Abbildung 7-6 zeigt das Sequenzdiagramm für die Wiedereröffnung eines Lernmoduls. Die Liste

aller bereits durch den Benutzer geöffneten Module wird auf Befehl des Benutzers durch den Learner

Interface Agent, vom Pedagogical Agent entnommen. Für jedes Lernmodul, das bereits durch den Benutzer

geöffnet worden ist, existiert in dem Benutzerdaten-Knoten ein gespeicherter Course Agent mit dem

aktuellen Stand des Lernprozesses (zu den gespeicherten Informationen gehören z.B. die Namen der

besuchten Seiten). Nach der Wahl eines bestimmten Lernmoduls zur Wiedereröffnung wird dem aktuellen

Course Agent von dem Learner Interface Agent der Befehl geschickt, sich in dem Benutzerdaten-Knoten zu

speichern und sich dann selbst zu löschen. Danach führt der Learner Interface Agent die Methode des

Benutzerdaten-Knotens zur Wiedererstellung des Course Agent des neu geöffneten Lernmoduls aus. Der

wiedererstellte Course Agent erzeugt einen Shopper Agent für die Übertragung der Startseite seines

Lernmoduls. Dieser Vorgang wurde bereits auf der Abbildung 7-5 gezeigt.

: Learner : Interface Agent old : Course Agent

new : Course Agent

: Benutzerdaten-Knoten : Pedagogical Agent

: Shopper Agent

Der weitere Ablauf so wie in

dem "Erstellung eines neuen

Modulus"-Sequenzdiagramm.

action=GET_START

GetModuleListMsg

ModuleResponse

OpenModuleMsg

GetModuleListMsg

SuspendMsg

storeCourseAgent(CourseAgentData)

true

restoreCourseAgent(interfaceAID,userName,pass,courseName,sessionDir )

<<create>> (interfaceAID,CourseAgentData,sessionDir)

<<create>> (courseAgent,sessionDir ,action,moduleAddress)

SuspendOKMsg

ModuleResponse

Abbildung 7-6 Sequenzdiagramm - Wiedereröffnung eines Moduls

7.2.4. Anzeigen der gewünschten Seite mit Lerninhalten

Das Anzeigen der gewünschten Seite mit Lerninhalten-Sequenzdiagramm wird in der Abbildung 7-7

präsentiert. Nachdem der Benutzer eine Seite mit Lerninhalten angefordert hat, wird diese Bestellung an den

dem Lernmodul zugehörigen Course Agent weitergeleitet. Dieser überprüft, ob sich diese Seite bereits in

dem Sessions-Verzeichnis befindet. Sollte das nicht der Fall sein, erzeugt der Course Agent einen Shopper

Agent und beauftragt ihn mit der Aufgabe, die gewünschte Seite aus dem geeigneten Lerneinheits-Knoten zu

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

89

entnehmen und in das Sessions-Verzeichnis zu kopieren. Der lmid-Parameter in der Abbildung 7-7 bedeutet

den vollständigen Identifikator der didaktischen Seite (d.h. Lerneinheits-Knoten-Name, Lernmodul-Name,

Seitenname). Der Course Agent erhält den Pfad zur kopierten Seite. Danach aktualisiert der Course Agent

die Statistiken über die besuchten Seiten und bittet den Learner Interface Agent, die Seite dem Benutzer zu

zeigen.

In kommerziellen Systemen63 kann zusätzlich für das Herunterladen der Seite aus dem Learneinheits-

Knoten ein virtueller Geldbetrag gefordert werden. In solchen Fällen wird der Benutzer, noch vor der

Bestellung, über den Preis informiert. Die Finanzen des Benutzers verwaltet der Pedagogical Agent. Von

ihm entnimmt der Shopper Agent den abgezählten Geldbetrag und kauft dafür die gewünschte Seite. Seiten,

die bereits vom Benutzer gekauft, aber nach dem Ausloggen zusammen mit dem Sessions-Verzeichnis

gelöscht worden sind, könnten von dem Lerneinheits-Knoten kostenlos heruntergeladen werden.

: Learner : Interface Agent : Course Agent

: Shopper Agent

: Lerneinheits-Knoten

GetPageMsg

GetPageMsg

page

getPage(lmid)

action=GET_PAGE

<<create>> (courseAgentAID,sessionDir ,action,lmid)

PageMsg

PageMsg

PageMsg

Aktualisiert Statistiken über die Seite

Abbildung 7-7 Sequenzdiagramm - Anzeigen von gewünschten Seiten

7.2.5. Realisation der Hilfestellung

Die Abbildung 7-8 stellt das Realisation der Hilfestellung-Sequenzdiagramm dar. Hilfestellung kann für

ganze Seiten wie auch für einzelne Begriffe geleistet werden. Die Leistung der Hilfe für eine ganze Seite

beinhaltet die Hilfe für alle mit der Seite verbundenen Begriffe. Die Frage nach einem bestimmten Begriff

wird dem für diese Lerneinheit verantwortlichen Course Agent von dem Learner Interface Agent übermittelt.

Dieser baut einen Baum der Begriffe auf, die mit dem aktuell gesuchten Begriff verbunden sind (eine

detaillierte Beschreibung des angewandten Algorithmus befindet sich in → 7.4). Die Daten für diesen Baum

entnimmt der Course Agent den Daten, die ihm seine LM Serachbot Agents liefern. Der Course Agent

sammelt die Antworten seiner LM Searchbot Agents und fügt sie in den Hilfestellungsbaum ein. Der Baum

wird durch den Pedagogical Agent an den Lernenden angepasst. Die Ergebnisse der Suche nach

63 Auf die finanziellen Aspekte der Verwaltung von Lerninhalten wird im Rahmen dieser Arbeit nicht eingegangen

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

90

Hilfestellungsseiten werden dem Benutzer vorgestellt, der selbst entscheidet, welche der ihm

vorgeschlagenen Seiten er sehen möchte. Das Herunterladen und Anzeigen von Seiten geschieht nach dem

im vorigen Abschnitt (→ 7.2.5) beschriebenen Schema.

: LM Searchbot Agent

: Learner : Interface Agent : Course Agent : Lerneinheits-Knoten : Pedagogical Agent

action=SEARCH_RELATED_NODES

searchParams={moduleName,subjectName,subjectType}

HelpRequest

<<create>> (courseAgentAID,action,searchParams)

findRelatedSubject(moduleName,subject)

relatedSubjects_rdf

PartModelMsg

HelpResponse

HelpResponse

HelpResponse

HelpRequest

Es werden PartModels von mehreren

LMSearchbot Agents gesammelt und vereinigt. Danach wird das Netz in die

HelpResponse-Klasse transformiert.

Passt die Hilfestelllung

an den Lernenden an.

Abbildung 7-8 Sequenzdiagramm - Realisation der Hilfestellung

Die Realisation der Vertiefungs-Funktion, die dem Lernenden ermöglichen soll, bestimmte Aspekte des

Lernstoffs zu erweitern, entspricht auf der Ebene des Sequenzdiagramms genau der Realisation der

Hilfestellung. Der Unterschied zwischen den zwei Funktionen wird erst auf der Ebene des semantischen

Netzes sichtbar, wo die Hilfestellungsbäume auf eine andere Weise konstruiert werden (→ 7.4.1).

In weiteren Stadien der Entwicklung des MAESTRO-Systems wird der Pedagogical Agent die

Hilfestellung mit zusätzlichen allgemeinen Tipps zum Lernprozess bereichern können. Möglich wäre auch,

dass der Agent bei dieser Gelegenheit Informationen über Veranstaltungen im Präsenzstudium, verbunden

mit dem vorgestellten Lernstoff, übermitteln würde (z.B. Zeiten der Sprechstunden, Termine der Übungen

im Präsenzstudium, Relevanz des Kurses für das weitere Studium, usw.).

7.2.6. Ausloggen aus dem System

Die Abbildung 7-9 zeigt das Sequenzdiagramm des Ausloggen aus dem System. Nachdem der Benutzer

auf den Ausloggen-Knopf gedrückt hat, befiehlt der Learner Interface-Agent dem aktuellen Course Agent

und dem Pedagogical Agent, ihre Daten auf Benutzerdaten-Knoten zu speichern und die Tätigkeit zu

beenden. Danach löscht der Learner Interface Agent das Sessions-Verzeichnis und zeigt dem Benutzer die

Logout-Seite. Der Ausloggen-Prozess ist damit beendet.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

91

: Learner : Interface Agent : Pedagogical Agent : Course Agent : Benutzerdaten-Knoten

SuspendMsg

LogoutMsg

SuspendMsg

storeCourseAgent(CourseAgentData)

true

LogoutResponse

true

storePedagogicalAgent(PedagogicalAgentData)

SuspendOKMsg

SuspendOKMsg

Abbildung 7-9 Sequenzdiagramm - Ausloggen

7.3. Beschreibung der Aktivitäten einzelner Agenten

Die Funktionsweise der MAESTRO-Agenten wird mit Hilfe der Aktivitätsdiagramme dargestellt. Das

UML-Aktivitätsdiagramm (engl. Activity Diagram) zeigt einzelne Abläufe der Realisation einer

Systemfunktion. Im Gegensatz zu Aktivitätsdiagrammen spielen hier die Zeitbeziehungen keine große Rolle

mehr, dafür werden aber alle Entscheidungsmöglichkeiten der Abläufe betrachtet. Ein Aktivitätsdiagramm

besitzt einen oder mehrere Start- und Endpunkte. Zwischen diesen Punkten befinden sich Teilaktivitäten.

In den von mir angefertigten Diagrammen sieht man, welch wichtige Rolle die Übertragung der

Nachrichten, für den inneren Zustand der Agenten hat. Diese Diagramme werden wegen Platzmangels im

Anhang aufgeführt.

7.4. Realisation der Hilfestellung

In diesem Abschnitt wird das allgemeine Schema der Hilfestellung64 in der MAESTRO-Architektur

vorgestellt. Dabei wird gezeigt, wie das im Abschnitt 6.8 vorgestellte semantische Netz praktisch genutzt

wird.

Der Benutzer wählt die Hilfestellungsfunktion durch die graphische Oberfläche aus. Er gibt dazu den

gewählten Begriff (oder die ganze Seite) an, den die Hilfestellung betreffen soll. Der Learner Interface Agent

64 Zwecks flüssigerer Beschreibung verwende ich in diesem Abschnitt den Begriff Hilfestellung (wenn das aus dem Kontext nicht

anders hervorgeht) auch für die Vertiefungsfunktion.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

92

erhält die Anfrage und leitet sie an den für das Lernmodul zuständigen Course Agent weiter. Dieser sendet

einen LM Searchbot Agent zu dem aktuellen Lernmodul (und bei Anfragen, die nicht die ganze Seite

betreffen, auch weitere LM Searchbot Agents zu den semantisch verwandten Lernmodulen). Die LM

Searchbot Agents beziehen aus dem semantischen Netz des jeweiligen Lernmoduls einen Ausschnitt, in

dessen Mittelpunkt sich der gesuchte Term- oder Page-Knoten befindet. Der Algorithmus des Bezugs des

Teilgraphen aus dem semantischen Netz wird in dem Abschnitt 7.4.1 vorgestellt. Die Ausschnitte aus den

Netzen werden dem Course Agent geliefert. Dieser vereinigt die Teilgraphen (die Verknüpfungsstelle ist der

gesuchte Term- oder Page-Knoten). Danach wird der gerichtete Graph zu einem Baum reduziert (dessen

Wurzel der gesuchte Term- oder Page-Knoten bildet) und mit Informationen versehen, wie oft der jeweilige

Page-Knoten aus dem Baum vom Lernenden aufgesucht wurde. Der Hilfestellungsbaum wird dem

Pedagogical Agent übermittelt, der dann die Reihenfolge der Knoten auf einem Niveau an den Benutzer

anpasst. Zum Beispiel werden – je nach Einstellung des Benutzers – die Page-Knoten, die der Lernende noch

nicht gesehen hat, vor (oder hinter) die anderen Knoten gestellt. Je nach dem Lernstil des Benutzers werden

Page-Knoten mit praktischen oder theoretischen Informationen bevorzugt. Die Page-Knoten, die Ressourcen

in – durch den Lernenden – nicht gewünschten Formaten beinhalten, werden aus dem Baum entfernt. Das

Schwierigkeitsniveau wird berücksichtigt. Die Reihenfolge der Knoten auf einem Niveau ist besonders in

großen Hilfsbäumen von Bedeutung, in denen aus Platzgründen nicht alle Informationen auf einmal gezeigt

werden können. Die angepassten Hilfestellungsbäume werden dem Interface Agent übermittelt, der sie für

den Benutzer visualisiert. Der Benutzer kann weitere Informationen über bestimmte Hilfestellungspunkte

anfordern. Die Informationen werden auf identische Weise gesammelt mit dem Unterschied, dass der

bisherige Teilgraph, der durch den Course Agent aufbewahrt wird, nicht gelöscht, sondern ergänzt wird (die

Verknüpfungsstelle ist der neu gesuchte Term- oder Page-Knoten, der aber nicht Wurzel des

Hilfestellungsbaumes ist). Der Teilgraph wird bei dem Befehl der Suche nach einem neuen Begriff gelöscht.

7.4.1. Algorithmus des Bezugs von Informationen aus dem semantischen Netz.

Algorithmus des Bezugs von Informationen bei der Hilfestellungs- oder Vertiefungsfunktion für einen

einzelnen Begriff:

1. Überprüfe, ob der gesuchte Begriff (Term-Knoten) im semantischen Netz vorhanden ist. Wenn nicht,

beende die Funktion mit einem leeren Ergebnis.

2. Finde Synonyme für den gesuchten Begriff. Zu diesem Zweck suche rekurent nach Aussagen der

Form65:

Subjekt Prädikat Objekt

* sameTerm gesuchter Begriff oder sein

Synonym gesuchter Begriff oder sein

Synonym sameTerm *

65 * - bedeutet alle möglichen Knoten

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

93

3. Finde mit dem Begriff semantisch verbundene Knoten. Im Falle der Hilfestellungsfunktion suche

nach Aussagen der Form wie im Punkt 3a. Im Falle der Vertiefungsfunktion suche nach Aussagen

der Form wie im Punkt 3b.

3a. Hilfestellungsfunktion

Subjekt Prädikat Objekt gesuchter Begriff oder sein

Synonym rk *

gesuchter Begriff oder sein Synonym

hlm *

gesuchter Begriff oder sein Synonym

subTerm *

* subTerm gesuchter Begriff oder sein

Synonym

3.b Vertiefungsfunktion

Subjekt Prädikat Objekt

* rk gesuchter Begriff oder sein

Synonym gesuchter Begriff oder sein

Synonym hlm *

* subTerm gesuchter Begriff oder sein

Synonym gesuchter Begriff oder sein

Synonym subTerm *

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

94

7.5. Realisation der Funktionen des Lehrenden und des Systemadministrators

Die Vorbereitung der Materialien für E-Learning ist ein sehr zeitaufwendiger Prozess. Deshalb sieht die

MAESTRO-Architektur spezielle Hilfswerkzeuge für den Lehrenden und den Administrator vor (Tutor UI,

Admin UI → 6.4). Ein Prototyp eines solchen Tools, genannt lmAdmin, wurde für den Gebrauch des MAT-

MAESTRO entwickelt. Es erzeugt, aus speziellen Header-Dateien, ein Lernmodul im Lerneinheits-Knoten.

Die Header-Dateien werden von dem Lehrenden verfasst. Sie beschreiben das Lernmodul, das

veröffentlicht werden soll. Die Header-Dateien sind im XML-Format geschrieben und sollen möglichst

leicht für den Lernenden zu erstellen sein.

Es werden drei Arten von Header-Dateien unterschieden:

• !module.info.xml – diese Datei beinhaltet eine allgemeine Lernmodul-Beschreibung. Es existiert

nur eine Datei für das ganze Lernmodul. Die Datei befindet sich im Hauptverzeichnis des

Lernmoduls. Sie beinhaltet Daten wie den Namen des Lernmoduls, die Daten des Autors des

Lernmoduls, Schwierigkeitsgrad, Schlüsselwörter für das ganze Lernmodul und allgemeine

Bemerkungen zum Lerninhalt. Eine beispielhafte !module.info.xml-Datei und weitere Details

über diese Header-Dateien werden im Anhang präsentiert.

• [PageName].dscr.xml – beschreibt jede didaktische Seite. Für jede Seite im Modul existiert eine

solche Datei. Der Name der Datei ist identisch mit dem Namen der Seite, hat aber noch zusätzlich

den Suffix .dscr.xml. Diese Konfigurations-Datei ist in zwei Teile gegliedert. Im ersten Teil

werden allgemeine Daten zu der Seite angegeben (wie der vollständige Name der Seite,

Schwierigkeitsgrad der Seite, Typ des Lerninhaltes, Namen zusätzlicher Dateien, die mit dieser Seite

verbunden sind und Formate der Ressourcen, die auf der Seite oder in den verbundenen Ressourcen

verwendet werden). Im zweiten Teil der Datei werden die semantischen Zusammenhänge des Page-

Knotens (der Seite) mit Term-Knoten aus dem semantischen Netz beschrieben. Dabei müssen die

Term-Knoten nicht vorher definiert sein. Jeder zum ersten Mal angewandte Name des Term-Knotens

erzeugt automatisch einen neuen Term-Knoten im semantischen Netz. Die Zusammenhänge

entsprechen den Relationen in Tabelle 6-2. Eine beispielhafte [PageName].dscr.xml-Datei und

weitere Details über diese Header-Dateien werden im Anhang präsentiert.

• !module.struct.xml – beschreibt die strukturellen Zusammenhänge im Lernmodul. Es existiert

nur eine solche Datei für das ganze Modul. Diese Datei befindet sich im Hauptverzeichnis des

Moduls. Sie beschreibt die Reihenfolge der Lernseiten, auf eine Weise wie man sie aus klassischen

Inhaltsverzeichnissen kennt. Dabei werden Relationen aus der Tabelle 6-3 verwendet.

Ein im lmAdmin enthaltener Parser liest die Header-Dateien, erzeugt ein semantisches Netz im RDF-Format

und fügt Einträge in die Lerneinheits-Datenbanken ein (die Struktur dieser Datenbank wird im Abschnitt 7.7

beschrieben).

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

95

7.6. Statische Struktur des Systems

Das MAT-MAESTRO-System ist in sechs Pakete aufgeteilt (Abbildung 7-10).

learnerGUI

maestro

lmAdmin

agents

lmWebService

userWebService

comOntology test

Abbildung 7-10 Pakete des MAT-MAESTRO-Systems

Die Tabelle 7-1 beinhaltet eine kurze Beschreibung der Pakete.

Name des Pakets Beschreibung maestro Das Oberpaket. Beinhaltet die restlichen Pakete und Klassen, die allgemein

gebraucht werden oder in keines der anderen Pakete passen.

agents Beinhaltet Klassen der MAESTRO-Agenten.

comOntology Beinhaltet die Kommunikations-Ontologie der MAESTRO-Agenten.

learnerGUI Beinhaltet Klassen der graphischen Benutzeroberfläche des Lernenden (→ 8.2.1).

lmAdmin Beinhaltet Klassen des lmAdmin-Werkzeuges (→ 7.5) zur Erzeugung des

Lerneinheits-Knotens.

lmWebService Beinhaltet Klassen der Web-Anwendung, die den Zugriff auf die Funktionen des

Lerneinheits-Knotens gewährleisten.

test Beinhaltet Tests des Systems.

userWebService Beinhaltet Klassen der Web-Anwendung, die den Zugriff auf die Funktionen des

Benutzer-Knotens gewährleisten.

Tabelle 7-1 Beschreibung der MAT-MAESTRO Pakete

Eine detaillierte Beschreibung der Pakete wird aus Platzgründen im Anhang aufgeführt. Diese

Beschreibung beinhaltet Klassendiagramme der einzelnen Pakete. Ein UML-Klassendiagramm zeigt die

Objekt-Klassen, die zulässige Operationen auf Klassen, die Attribute der Klassen und die Beziehungen

zwischen den Klassen von Objekten.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

96

7.7. Datenbanken im MAT-MAESTRO-System

Die im Abschnitt 6.5 und 6.6 beschriebenen Lerneinheits- und Benutzerdaten-Knoten werden im MAT-

MAESTRO als relationale Datenbanken realisiert. Dieser Abschnitt beinhaltet eine Beschreibung der

Struktur dieser Datenbanken.

7.7.1. Bemerkung zur Notationsform der Datenbankstruktur

Obwohl das Design des Systems in dieser Arbeit überwiegend in der UML-Notation dargestellt wird

(→ 6.2), möchte ich hier eine Ausnahme machen und das Entity-Relationship-Diagram (ERD) der

Datenbanken, zwecks besserer Anschaulichkeit, in der alten Krähenfuss-Notation verfassen.

7.7.2. Lerneinheits-Datenbanken

Der Lerneinheits-Knoten (→ 6.5) wird durch zwei Datenbanken realisiert. Die erste, genannt

lmModuleDB, beinhaltet eine allgemeine Beschreibung der Lernmodule, die zweite Datenbank – rdfDB –

beinhaltet das semantische Netz für das Lernmodul.

Die Abbildung 7-11 zeigt die Struktur der lmModuleDB-Datenbank.

LmNodeInfo

Author

LMModule

Keyword

RelationType

RelatedModule

Difficulty

Level

StageOf

Education

LmAuthor

Abbildung 7-11 Struktur der lmModuleDB-Datenbank

Die Tabelle 7-2 charakterisiert die Tabellen der lmModuleDB-Datenbank

Name der Tabelle Beschreibung LmNodeInfo Beinhaltet die allgemeine Beschreibung des ganzen Lerneinheits-

Knotens66. Neben den vollständigen Namen des Knotens befindet sich in

dieser Tabelle auch die Beschreibung des Bildungszentrums, das für diesen

Knoten zuständig ist.

LmModule Beinhaltet die Beschreibung des Lernmoduls. In dieser Tabelle werden

66 Wie man hier sieht, kann eine Lerneinheits-Datenbank mehrere Lerneinheits-Knoten implementieren (obwohl das in der Praxis

wahrscheinlich wenige Vorteile hat).

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

97

folgende Daten gespeichert: der vollständige Name des Lernmoduls, das

Hauptverzeichnis der didaktischen Inhalte, der Name des semantischen

Netzes in der rdfDB-Datenbank oder der Name der Start-Seite des Moduls.

Author Beinhaltet Daten über den Autor der Lerneinheit.

LmAuthor Implementiert die Relation N:M zwischen der Autoren- und der

LMModule-Tabelle.

RelatedModule Beinhaltet Adressen der Module, die mit dem aktuellen Modul semantisch

verbunden sind.

RelationType Definiert die zulässigen Typen der Verknüpfungen für die mit dem

aktuellen Knoten verbundenen Module. Beispiele aus dieser Tabelle sind:

Similar Module, Next Level Module, Prerequisite Module.

Keyword Beinhaltet allgemeine Stichwörter für das ganze Modul. Diese Stichwörter

sind nicht gleich der semantischen Beschreibung (die in der rdfDB-

Datenbank gespeichert ist).

Difficulty Level Definiert die zulässigen Werte für die Schwierigkeit des Moduls. Beispiele

sind easy, moderate, hard.

Stage of Education Definiert die zulässigen Namen der Etappen im Bildungsprozess der

Zielgruppen des Lernmoduls. Beispiele sind Pre-Primary, Primary,

Secondary, Post Secondary.

Tabelle 7-2 Tabellen der lmModuleDB-Datenbank

Die einzelnen Felder der Tabellen kann man im Initialisierungs-Skript lmnode.sql sehen, der im Anhang

dargestellt ist.

Die rdfDB spielt die Rolle eines RDF-Datastores ab. Im MAT-MAESTRO-System wird sie mit Hilfe

des Jena-Frameworks (→ 4.4.3) realisiert. Eine detaillierte Beschreibung des Jena-APIs findet man unter

[100].

7.7.3. Benutzerdaten-Datenbank

Der Benutzerdaten-Knoten (→ 6.6) wird durch eine relationale Datenbank realisiert. Diese Datenbank

wurde userDB genannt. Die Abbildung 7-12 zeigt die Struktur der userDB.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

98

LearnerData User

UserRole

MaestroRole

VisitedModule

VisitedPage

IntSubject

UserLearnStyle AcceptedFormat

LearnStyle LmFormat

Difficulty

Level

StageOf

EducationModuleKeyword

LmType

Abbildung 7-12 Struktur der userDB-Datenbank

Die Tabelle 7-3 charakterisiert die Tabellen der userDB-Datenbank

Name der Tabelle Beschreibung User Beinhaltet das Login, den vollständigen Vor- und Nachnamen, den Titel,

Geschlecht, Alter und das persönliche Kennwort des Benutzers. In dieser

Tabelle werden auch die Zeitpunkte des ersten und letzten Einloggens des

Benutzers in das System gespeichert.

MaestroRole Beinhaltet die Namen der möglichen Rollen, die der Benutzer in dem

System ausüben kann. Die vorgesehenen Werte sind: learner, tutor, admin.

Wie man sieht, kann ein Benutzer sowohl als Lernender als auch Lehrender

und Administrator im System auftreten.

UserRole Verbindet die Benutzer mit den Rollen.

LearnerData Beinhaltet allgemeine Daten über den Lernenden: Bildungszentrum, zu

dem der Lernende gehört, Etappe im Bildungsprozess, auf der sich der

Lernende befindet, die Studienrichtung und Fakultät (für Studenten) und

bevorzugtes Schwierigkeitsniveau der Lerninhalte.

StageOfEducation Definiert die zulässigen Werte für die Etappen im Bildungsprozess der

Zielgruppe des Moduls. Beispiele sind Pre-Primary, Primary, Secondary,

Post Secondary.

IntSubject Beinhaltet Schlüsselwörter, für die sich der Lernende interessiert.

AcceptedFormat Verknüpft den Lernenden mit den Ressource-Formaten, die er akzeptiert.

LmFormat Beinhaltet Werte der möglichen Formate von Lernressourcen. Beispiele

sind pdf, java applet, png, gif, jpeg, macromedia-flash.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

99

UserLearnStyle Verknüpft den Lernenden mit den entsprechenden Lernstilen.

LearnStyle Beinhaltet mögliche Werte für den Lernstil. Beispiele sind: example-driven,

theory-driven oder interactive-driven.

VisitedModule Speichert Informationen über die von dem Lernenden besuchten

Lernmodule. Aufbewahrt werden der Name des Moduls, der Name des

Lerneinheits-Knotens, der das Modul beinhaltet, die Zahl der Zugriffe auf

das Modul und Daten des ersten und letzten Zugriffes auf das Modul.

ModuleKeyword Beinhaltet Stichwörter, die mit dem Modul verbunden sind.

VisitedPage Enthält Daten über vom Lernenden besuchte Seiten. Gespeichert werden

der Name der Seite, der Lerninhaltstyp, Anzahl der Zugriffe auf die Seite

und Daten des ersten und letzten Zugriffes auf die Seite.

LmType Beinhaltet Namen der zulässigen Lerninhaltstypen der didaktischen Seiten.

Beispiele sind: Definition, Static Example, Interactive Example, Static

Exercise, Interactive Exercise, Remark, Theorem.

Tabelle 7-3 Tabellen der userDB-Datenbank

Die Attribute der Tabellen befinden sich im Initialisierungs-Skript user.sql im Anhang.

7.8. Physische Struktur des Systems

Die Physische Struktur des Systems beschreiben die UML Einsatz- und Komponentendiagramme. Das

Einsatzdiagramm (engl. Deployment Diagram) zeigt einen statischen Einblick in die Hardware-

Konfiguration der Knoten67 des Systems und die Abhängigkeiten der Knoten und informiert, welche

Komponenten auf welche Knoten verteilt und welche Protokolle für die Kommunikation der Elemente

gebraucht werden. Komponentendiagramme zeigen eine Menge physischer und austauschbarer Teile eines

Systems, dem Menge von Schnittstellenspezifikationen genügt und das diese realisiert.

In diesem Abschnitt konzentriere ich mich vor allem auf der Beschreibung der Einsatzdiagramme für

das MAT-MAESTRO-System. Die Komponentendiagramme werden in diesem Abschnitt nur gelegentlich

gezeigt, weil man sie in MAT-MAESTRO meistens aus den Klassen-Diagrammen ableiten kann, und

enthalten daher nicht viele Informationen (Klassen-Diagramme werden im Anhang beschrieben).

Abbildung 7-13 zeigt das allgemeine Einsatzdiagramm von MAT-MAESTRO. Im Folgenden werden

die einzelnen physischen Knoten genauer beschrieben.

67 Hier ensteht ein kleiner Namensgebungkonsflikt, denn in der MAESTRO-Architektur habe ich für zwei logische (nicht unbedingt

physische) Elemente der Architekur auch den Namen Knoten verwendet (Benutzerdaten-Knoten, Lerneinheits-Knoten). Ein Rechner,

der die physische Realisation dieser Elemente beinhaltet, sollte also konsequent z.B. Benutzerdaten-Knoten-Knoten genannt werden.

Ich benutze dafür den Namen Benutzerdaten-Knoten-Server und Lerneinheits-Knoten-Sever.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

100

Benutzerdaten-Knoten-Server

MAESTRO-Plattform-

Server

Rechner

des Lernenden

Nächster

MAESTRO-

Plattform-Server

HTTP

Lerneinheits-Knoten-

Server

Abbildung 7-13 Allgemeines Einsatzdiagramm von MAT-MAESTRO

7.8.1. MAESTRO-Plattform-Server

Ein MAESTRO-Plattform-Server ist ein zentraler Punkt des MAT-MAESTRO-Systems. Wie im

Kapitel 6 beschrieben, können mehrere MAESTRO-Plattform-Server miteinander verknüpft werden. Das

Einsatzdiagramm eines MAESTRO-Plattform-Servers zeigt Abbildung 7-14. In diesem physischen Knoten

werden folgende Komponenten installiert:

• Jade-Agenten-Plattform – Jade ist eine klassische FIPA-konforme Multiagentenplattform

(→2.4.3), die in vielen Projekten erfolgreich eingesetzt wurde. Diese Plattform bildet die

Ausführungsumgebung für die MAESTRO-Agenten. In dem Prototyp von MAT-MAESTRO wurde

die Version 3.1 der Jade-Bibliothek genutzt.

• maestro::agents.jar – das maestro.agents-Paket beinhaltet Klassen von MAESTRO-Agenten.

Die Komponenten aus diesem Paket greifen oft auf die Jade Bibliothek zurück.

• axis.jar – Axis ist ein Framework zum Bau von Web-Services. Einige der MAESTRO-Agenten

implementieren mit Hilfe dieser Bibliothek den Klienten-Teil des Web-Service. Die aktuelle Version

von Axis ist 1.2

• jena.jar – Jena ist ein API, mit dem man Semantic Web Applikationen implementieren kann (→

4.4.3). Diese Bibliothek wird auf dem MAESTRO-Plattform-Server von den MAESTRO-Agenten

(Course Agents) für die Verarbeitung von semantischen Netzen im RDF-Format benutzt. Im MAT-

MAESTRO wird die Version 2.1 der Bibliothek verwendet.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

101

MAESTRO-Plattform-

Server

Apache Tomcat (Servlet Container)Jade Agenten Plattform

maestro::agents.jarmaestro::learnerGUI.war

jena.jar axis.jar

Abbildung 7-14 Einsatzdiagramm des MAESTRO-Plattform-Servers

• Apache Tomcat – Tomcat ist ein Servlet-Container, entwickelt innerhalb des Apache-Projektes.

Diese Komponente verbindet den ganzen MAESTRO-Plattform-Server mit dem Rechner des

Benutzers. In dem Prototyp wird die Version 5.0.25 von Tomcat verwendet.

• maestro::learnerGUI.war – Diese Komponent beinhaltet Klassen des maestro.learnerGUI

Pakets, die den Prototyp der Learner GUI realisieren. Diese Web-Applikation verwendet Java

Servlets zur Kommunikation mit dem Benutzer durch das HTTP-Protokoll.

7.8.2. Lerneinheits-Knoten-Server

Es können mehrere Lerneinheits-Knoten-Server mit einem MAESTRO-Plattform-Server verbunden

werden. Es ist auch zulässig, dass sich der Lerneinheits-Knoten-Server auf demselben physischen Knoten

wie der MAESTRO-Plattform-Server befindet. Das Einsatzdiagramm für den Lerneinheits-Knoten-Server

zeigt Abbildung 7-15. Der Server beinhaltet folgende Komponenten:

• axis.jar – Auf dem Lerneinheits-Knoten-Server wird diese Bibliothek zur Implementierung des

Server-Teils des lmWebService verwendet.

• Apache Tomcat – Dieser Applikationsserver veröffentlicht den lmWebService

• maestro::lmWebService.jar – beinhaltet Klassen des maestro.lmWebService-Pakets, die die

Schnittstelle zum Lerneinheits-Knoten und einige Funktionen des Lerneinheits-Knotens

implementieren.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

102

Lerneinheits-Knoten-

Server

mySQL

maestro::lmWebService.jar

jena.jar

axis.jarApache Tomcat (Servlet Container)

rdfDB lmModuleDBmaestro::lmAdmin.jar

Abbildung 7-15 Einsatzdiagramm für den Lerneinheits-Knoten-Server

• mySQL ist ein effizienter, relationaler Datenbankserver. Der Lerneinheits-Knoten-Server beinhaltet

zwei Datenbanken – rdfDB und lmModuleDB (diese Datenbanken wurden im Abschnitt 7.7.2

beschrieben). Im MAT-MAESTRO-Prototyp wird die Version 7.2.1 des Servers benutzt.

• jena.jar – diese Bibliothek wird im Lerneinheits-Knoten-Server zum Verwalten der rdfDB

Datenbank verwendet. Sie ermöglicht, semantische Netze (z.B. im RDF-Format) in einer

relationalen Datenbank abzuspeichern.

• maestro.lmAdmin.jar – beinhaltet Klassen des maestro.lmAdmin-Pakets. Das Werkzeug

lmAdmin wurde bereits im Abschnitt 7.5 beschrieben. In Abbildung 7-16 wird zusätzlich das

Komponenten-Diagramm für dieses Werkzeug gezeigt. Wie man sieht, werden drei Typen von

Header-Dateien durch die LMParser-Komponente gelesen. LMAdminMain speichert die gelesenen

Daten durch das mySQL-Interface in die rdfDB- und lmModuleDB-Datenbanken.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

103

LMParser.class

!module

.info

.xml

{page

Name}

.dscr

.xml

{pageName}

.xml

!module

.struct

.xml

LMAdminMain.class

mySQLrdfDB

lmModuleDB

Abbildung 7-16 Komponentendiagramm des lmAdmin-Pakets

7.8.3. Benutzerdaten-Knoten-Server

Es darf nur ein Benutzerdaten-Knoten-Server mit einem MAESTRO-Plattform-Server verbunden

werden. Es ist zulässig, dass sich der Benutzerdaten -Knoten-Server auf demselben physischen Knoten wie

der MAESTRO-Plattform-Server befindet. Das Einsatzdiagramm für den Benutzerdaten-Knoten-Server zeigt

Abbildung 7-17. Der Server beinhaltet folgende Komponenten:

• axis.jar – Auf dem Benutzerdaten-Knoten-Server wird diese Bibliothek zur Implementierung des

Server-Teils des userWebService verwendet.

• Apache Tomcat – Dieser Applikationsserver veröffentlicht den userWebService

• maestro::userWebService.jar – beinhaltet Klassen des maestro.userWebService-Pakets, die

die Schnittstelle zum Benutzerdaten-Knoten und einige Funktionen des Benutzerdaten-Knoten

implementiert.

• mySQL – Auf dem Benutzerdaten-Knoten-Server beinhaltet dieser rationale Datenbankserver die

userDB Datenbank (diese Datenbank wurde im Abschnitt 7.7.3 beschrieben).

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

104

Benutzerdaten-Knoten-Server

mySQL

maestro::userWebService.jar

axis.jar

Apache Tomcat (Servlet Container)

userDB

Abbildung 7-17 Einsatzdiagramm für den Benutzerdaten-Knoten-Server

7.8.4. Rechner des Lernenden

Die einzige Software-Komponente, die der Lernende auf seiner Maschine installieren muss, um das

MAT-MAESTRO-System zu nutzen, ist ein Web-Browser (→Abbildung 7-18). Empfohlen wird der

Mozilla-Browser (z.B. die Version 1.7.2), da er ohne zusätzliche Plug-Ins68 das MathML-Format anzeigen

kann, das oft in dem Test-Lernmodul des MAT-MAESTRO-Prototyps auftritt.

Rechner des

Lernenden

Web Browser (Mozilla)

Abbildung 7-18 Einsatzdiagramm für den Rechner des Lernenden

Selbstverständlich können mehrere Rechner der Lernenden gleichzeitig mit dem MAESTRO-Plattform-

Server verbunden sein.

68 Es müssen gelegentlich spezielle Schriftarten (kostenlos) installiert werden.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

105

8. Beschreibung der Implementation

Einen eingeschränkten Teil der Funktionalität des MAT-MAESTRO-Systems habe ich in Form eines

Prototyps implementiert. Das Hauptziel des Prototyps ist die Untersuchung der Realisierbarkeit und

Effizienz der Grundfunktionen der MAESTRO-Architektur. Aufgrund der Ergebnisse kann man Schlüsse

über die Weiterentwicklung des Konzeptes ziehen.

Bei der Beschreibung der Implementierung hat sich eingebürgert, dass man die Dokumentation in drei

Teile gliedert:

• Handbuch für den Programmierer (→ 8.1) – der technische Details der Implementierung beinhaltet

• Handbuch für des Benutzer – der nur die Beschreibungen der äußersten Schnittstellen ohne

technische Details enthält (→ 8.2)

• Dokumentation für den Systeminstallateur (engl. Deployer) – der die Komponenten des Systems in

den physischen Knoten montiert (→ 8.3)

8.1. Beschreibung aus der Sicht des Programmierers

Der Prototyp wurde in der Java-Programmiersprache implementiert. Ich habe diese Sprache gewählt,

weil sie sehr gut für Internet-Anwendungen geeigent ist. Die weitere Beschreibung aus der Sicht des

Programmierers bilden das ganze Kapitel 7 und der Anhang. Im nächsten Unterabschnitt möchte ich nur kurz

aufzählen, welcher Teil des MAT-MAESTRO-Systementwurfes tatsächlich prototypisch implementiert

wurde.

8.1.1. Prototypisch implementierte Elemente des MAT-MAESTRO

• Die lmAdmin-Anwendung zum Erzeugen von Lernmodulen und der dazugehörigen semantischen

Netze aus Header-Dateien (ohne !module.struct.xml-Dateien)

• Die Funktionen des lmWebService (ohne diese Methoden in Form eines Web-Service darzustellen).

Aufwendig war vor allem die Realisation der Funktion findRelatedSubjects(), die aus dem

semantischen Netz, gespeichert in der rdfDB-Datenbank, einen Teilgraphen ausscheidet, der die

Umgebung des gesuchten Begriffs beinhaltet. Der Algorithmus dazu wurde im Abschnitt 7.4.1

beschrieben. Die Methode findRelatedSubjects() gibt den Teilgraphen als Zeichenkette (im

RDF-Format) zurück.

• Elemente des Learner GUI: Öffnen eines Moduls, Anzeigen einer didaktischen Seite, Anzeigen der

Hilfestellung (die Hilfestellung und die Modulliste werden im Prototyp noch nicht an den Lernenden

angepasst). Die graphische Oberfläche der Benutzerschnittstelle wird im Abschnitt 8.2 beschrieben.

• Elemente des Course Agent. Der Course Agent schickt keine LM Searchbot Agents aus, sondern

sucht selbst nach Informationen für die Hilfestellung in einem einzigen Lerneinheits-Knoten. Die

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

106

Adresse des Knotens ist festgelegt. In dem Lerneinheits-Knoten befindet sich nur ein einfaches

Lernmodul. Der Pedagogical Agent wird nicht implementiert. Die Daten werden direkt dem Learner

Interface Agent übermittelt. Die Informationen über die besuchten Seiten werden nicht gespeichert.

Der Course Agent kann sich nicht in dem Benutzerdaten-Knoten archivieren. Die bestellten Seiten

werden nicht in ein temporäres Verzeichnis kopiert, sondern direkt aus dem Server entnommen

(statische Verweise).

• Elemente des Learner Interface Agent: Hauptsächlich Kommunikation mit dem Course Agent.

8.2. Beschreibung aus der Sicht des Benutzers

8.2.1. Prototyp des Learner UI

Der Learner UI ist eine Web-Applikation. Sie kann durch einen beliebigen Browser aufgerufen

werden69. Die Arbeit mit dem Systems verläuft gewöhnlicher Weise nach folgendem Schema ab: der

Lernende loggt sich in das System ein, wählt ein Lernmodul aus, in dem Inhaltsverzeichnis wählt eine

gewünschte Seite aus, sieht sich die angezeigten Daten an, bei Bedarf ruft die Hilfestellungs-Funktion auf,

die ihm neue Seiten liefert, nach dem Lernprozess loggt sich der Benutzer wieder aus dem System aus.

8.2.1.1. Das Einloggen in das System

Der erste Schritt nach dem Aufruf der Internet-Adresse der Learner UI Web-Applikation ist das

Einloggen. Der Benutzer führt den Benutzernamen und das Kennwort in die entsprechenden Felder ein und

drückt auf den Login-Knopf (Abbildung 8-1).

Abbildung 8-1 Learner UI / Einloggen in das System

69 Gemeint sind die akutellen Versionen der populären Browser Internet Explorer, Mozilla, Netscape Navigator, Konqueror oder

Opera. Für unsere Ziele empfehle ich Mozilla, denn dieser Browser hat (neben vielen anderen Vorteilen) momentan die beste

Unterstützung für das MathML-Format

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

107

Sind die Autorisations-Daten nicht korrekt, wird dem Benutzer eine Fehlermeldung (unter dem Login-

Knopf) angezeigt. Dann kann der Benutzer nochmals versuchen die Daten einzugeben. Sind Benutzername

und Passwort korrekt, kann der Benutzer ein Lernmodul wählen.

8.2.1.2. Die Auswahl des Lernmoduls

Die Liste der im aktuellen Lerneinheits-Knoten zur Verfügung stehenden Module, wird im unteren Teil

des Browser-Fensters angezeigt (Abbildung 8-2). In der vollständigen Version von MAT-MAESTRO wird

der Benutzer noch zusätzlich die Möglichkeit haben, Suchkriterien für neue Lernmodule zu setzen. Im

Gegensatz zu dem Prototyp werden im fertigen System die Bestände anderer Lerneinheits-Knoten dem

Benutzer zur Verfügung gestellt. Es wird auch eine zusätzliche Liste der durch den Benutzer bereits

geöffneten Module gezeigt.

Abbildung 8-2 Learner UI / Wahl eines Moduls

Der Lernende wählt das gewünschte Modul durch einen Mausklick auf den Namen des Moduls. Dem

Lernenden wird die Start-Seite des Lernmoduls gezeigt (Abbildung 8-3).

8.2.1.3. Aufteilung der Steuerungs-Komponenten

An dieser Stelle möchte ich die Aufteilung der Steuerungs-Elemente in einem geöffneten Lernmodul

erläutern. Der Bildschirm wird horizontal in drei Teile gegliedert (Abbildung 8-3)70:

• Titelbalken-Frame – In der Mitte des Frame steht der Name der aktuellen Seite. Links und rechts

von dieser Beschriftung sind zwei Pfeile platziert, die die nächste oder vorhergehende didaktische

Seite in der strukturellen Ordnung des Lernmoduls aufrufen (das Navigieren zwischen den Seiten

mit Hilfe von Pfeilen wurde im Prototyp nicht implementiert).

• Aktuelle-Seite-Frame – In diesem Bildschirmabschnitt werden die Inhalte der didaktischen Seiten

gezeigt.

70 Beschrieben in der Reihenfolge von oben nach unten.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

108

• Menü-Frame – Das Verhältnis der Größe dieses Frame im Vergleich zu den anderen Frames kann

man durch Ziehen der Frame-Kante mit dem Mausanzeiger verändern. Die Beschreibung des Menüs

erfolg im Abschnitt 8.2.1.4.

Abbildung 8-3 Learner UI / Startseite eines Moduls

8.2.1.4. Beschreibung des Menüs

Der Menü-Frame beinhaltet sechs Funktions-Knöpfe und einen freien Platz für die Einstellungen der

einzelnen Funktionen.

Die Funktionsknöpfe sind:

• Hilfe – Durch diesen Funktionsknopf kann der Benutzer, Hilfestellung zu der aktuellen Seite oder

einem nicht verstandenen Begriff anfordern. Diese Funktion wird im Abschnitt 8.2.1.5 genauer

beschrieben.

• Vertiefung – Diese Funktion ermöglicht dem Benutzer, mehr Informationen über Themen,

verbunden mit der aktuellen Seite oder mit einem ausgewählten Begriff, zu erhalten. Die graphische

Oberfläche für diese Funktion ist identisch mit der für die Hilfe-Funktion. Aus diesem Grund wird

sie hier nicht extra beschrieben.

• Inhaltsverzeichnis – Dieser Funktionsknopf ruft das Inhaltsverzeichnis des aktuellen Lernmoduls

auf (Abbildung 8-4). Durch Anklicken auf die Namen kann der Lernende die gewählte Seite

anzeigen lassen.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

109

Abbildung 8-4 Learner UI / Inhaltsverzeichnis des Moduls

• Wechsle Modul – Diese Funktion meldet den Benutzer aus der aktuellen Lerneinheit ab. Es wird

erneut das Fenster zur Wahl des Moduls angezeigt (Abbildung 8-2).

• Einstellungen – Gibt dem Lernenden die Möglichkeit, seine persönlichen Einstellungen des

Lernprozesses zu ändern (Abbildung 8-5). Im Prototyp wurde diese Funktion nicht realisiert.

Abbildung 8-5 Learner UI / Persönliche Einstellungen des Lernprozesses

• Ausloggen – Durch diese Funktion verlässt der Benutzer das MAT-MAESTRO-System. Nach der

Durchführung dieser Operation zeigt der Browser erneut die Login-Seite (Abbildung 8-1)

8.2.1.5. Leistung der Hilfestellung

Bei Problemen mit dem Verständnis des Lerninhalts kann der Lernende Hilfe von dem System

beziehen. Dazu klickt man auf den Hilfe-Knopf im Menü. Der Benutzer kann jetzt entweder Hilfestellung zu

allen Begriffen, verbunden mit dieser Seite, oder zu einem bestimmten Begriff anfordern. Im ersten Fall

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

110

klickt er auf die Überschrift Hilfe allgemein zum Thema der Seite, bei der zweiten Möglichkeit führt er den

Begriff mit der Tastatur in das Feld Hilfe zum Begriff und klickt auf die Überschrift. Die Ergebnisse der

Hilfestellungs-Suche werden unter dem Menü angezeigt (Abbildung 8-6).

Abbildung 8-6 Learner UI / Hilfestellung

Das erste Ergebnis der Hilfestellung liefert nur Seitennamen oder Begriffe, die semantisch direkt mit dem

gesuchten Begriff verbunden sind.

Namen der gefundenen Begriffe werden auf weißem Hintergrund in Fettschrift angezeigt. Synonyme

des Begriffs werden in Normalschrift in runden Klammern nach dem Namen des Begriffs angezeigt. Falls

der Begriff ein Unterbegriff eines oberhalb von ihm gelegenes Begriffs ist (was das bedeutet, wird im

weiteren Verlauf des Abschnittes klar), wird die Anmerkung subTerm: vor dem Namen des Begriffs

hinzugefügt.

Namen der gefundenen Seiten werden auf farbigem (nicht-weißem) Hintergrund gezeigt. Die Farbe des

Hintergrundes hängt vom Typ des Lerninhaltes ab. So werden z.B. Seiten mit Definitionen auf gelbem

Hintergrund gezeigt, Seiten mit statischen Beispielen auf grünem und Seiten mit interaktiven Aufgaben auf

blauem. Den Namen der Seite (Fettschrift, unterstrichen) kann man anklicken, um den Inhalt der Seite

anzuzeigen. Außer dem Namen der Seite werden auch der Schwierigkeitsgrad und der Name des

Ursprungsmoduls der Seite dargestellt.

Vor jedem Begriff- und Seiten- Namen befindet sich ein blaues Dreieck. Dieses Symbol kann entweder

senkrecht ( – geschlossen) oder wagerecht ( – offen) orientiert sein. Jede Zeile in der Hilfestellung hat

ursprünglich das Symbol in der senkrechten Lage. Nachdem der Benutzer ein solches Symbol mit dem

Mausanzeiger angeklickt hat, sucht das System nach Begriffen oder Seiten, verbunden mit dem Begriff oder

der Seite aus der Zeile, zu der das Symbol gehört (nach gleichem Schema wie bei der ursprünglichen

Hilfestellung). Das Symbol ändert nach dem Anklicken die Lage. Die Ergebnisse der Suche werden

unterhalb der angeklickten Zeile (mit einem zusätzlichen Rand) platziert (Abbildung 8-6). Nach dem

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

111

erneuten Klick auf das soeben geklickte Symbol wechselt das Symbol wieder in die ursprüngliche senkrechte

Lage, und die von der angeklickten Zeile abhängigen Begriffe- und Seite-Namen werden wieder verborgen71.

8.2.2. Prototyp des lmAdmins

Die Funktionsweise des lmAdmin-Tools wurde bereits im Abschnitt 7.5 beschrieben. Im Vergleich zu

dem Entwurf werden in dem Prototyp nicht die !module.info.xml-Header-Dateien beschrieben. Im

weiteren Teil dieses Abschnittes wird kurz die Bedienung des Prototyps erklärt.

Der Prototyp besitzt eine bescheidene Mensch-Maschine-Schnittstelle. Das ganze Werkzeug wird durch

eine Java-Property-Datei gesteuert. Name und Pfad zu dieser Datei werden als Initialisierungs-Parameter bei

der Ausführung der Anwendung angegeben.

Die Property-Datei hat folgende Felder, die vor der Ausführung des lmAdmin mit Werten gefüllt sein

sollten:

• RDF_DB_URL – Beinhaltet die Adresse der rdfDB Datenbank (z.B.

jdbc:postgresql://localhost/rdfDB)

• RDF_DB_USER – Beinhaltet den Namen des Benutzers in der rdfDB-Datenbank

• RDF_DB_PASSWD – Beinhaltet das Kennwort zu der rdfDB-Datenbank

• Die Felder LM_DB_URL, LM_DB_USER und LM_DB_PASSWD haben analoge Bedeutung zu

den drei oben beschriebenen Feldern mit dem Unterschied, dass sie nicht den Zugriff auf die rdfDB

sonder auf die lmModuleDB Datenbank konfigurieren.

• fileRootDir – Gibt den Pfad zum Verzeichnis mit den Header-Dateien an (im Prototyp muss er

gleich dem Verzeichnis der Lernmodul-Ressourcen sein)

• lmNodeName – Enthält den Namen des neu angelegten Lernmoduls

lmAdmin wird mit dem Befehl:

java LmAdminMain [lmNode.prop] [dirName]

ausgeführt, wobei [lmNode.prop] Name und Pfad zu der Property-Datei und [dirName] Name des

Hauptverzeichnisses den Lernmoduls bedeutet. Im Classpath von Java sollte sich die Jena-Bibliothek

befinden.

8.3. Beschreibung aus der Sicht des Systeminstallateurs

Die folgenden Abschnitte beinhalten eine Beschreibung der Installation der Software des MAT-

MAESTRO-Prototyps. Sie beinhaltet Instruktionen zur Aufstellung der implementierten Teile des Systems

(daher zum Beispiel keine Anweisungen zur Installation des MAT-MAESTRO-Web Service). Die benötigte

Software befindet sich auf der Projekt-CD, die der Diplomarbeit beiliegt.

71 Technische Bemerkung: Die beschriebene Visualisierungsart ist eine Abbildung des an den Lernenden angepassten

Hilfestellungsbaumes (→7.4) in einer kompakteren Form.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

112

8.3.1. Installation des MAESTRO-Plattform-Servers

1. Installiere den Apache Tomcat gemäß den Anweisungen des Herstellers [78].

2. Kopiere das learnerGUI.war-Paket in das Servlet-Verzeichnis

3. Kopiere die Jena-, Jade- und maestro::agents.jar-Pakete in die Classpath von

learnerGUI.war

8.3.2. Installation des Lerneinheits-Knoten-Servers

1. Installiere den mySQL gemäß den Anweisungen des Herstellers [105]

2. Erzeuge im mySQL eine leere Datenbank für rdfDB

3. Erzeuge im mySQL eine leere Datenbank für lmNodeDB

4. Initialisiere die lmNodeDB Datenbank mit dem lmnode.sql Skript

5. Kopiere das maestro::lmadmin.jar-Paket auf die Festplatte des Servers

8.3.3. Installation des Benutzerdaten-Knoten-Servers

1. Installiere den mySQL gemäß den Anweisungen des Herstellers [105]

2. Erzeuge im mySQL eine leere Datenbank für userDB

3. Initialisiere die userDB Datenbank mit dem lmnode.sql-Skript

8.3.4. Installationen auf dem Rechner des Lernenden

1. Installiere den Mozilla-Browser (oder einen anderen) gemäß den Anweisungen des Herstellers

2. Bei Verwendung von Mozilla installiere zusätzlich die MathML-Schriftarten für Mozilla (die Datei

mathml-fonts-1.0-fc1.exe befindet sich auf der CD)

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

113

9. Tests und Eindrücke aus der Implementierung des Prototyps

In diesem Kapitel beschreibe ich einige Beobachtungen aus der Implementierungs-Phase der Arbeit.

Wie ich schon erklärt habe, ist die vollständige Realisation des Systems aus zeitlichen Gründen nicht

möglich, daher konzentrierte ich mich nur auf einige – meiner Ansicht nach interessante – Aspekte der

Implementierung. Dazu gehören: Aufbewahrung des semantischen Netzes der Beschreibungen im

Lerneinheits-Knoten (→ 9.1) und Verknüpfung der Benutzeroberfläche für den Lernenden mit den

MAESTRO-Agenten (→ 9.2).

9.1. Effizienz des Lerneinheits-Knotens

Ein wichtiger Aspekt für die Effizienz des gesamten MAT-MAESTRO-Systems ist eine korrekte Wahl

der Datenbank für die Lerneinheits-Knoten. Jena-API, die für die Speicherung der semantischen

Beschreibung in der der Datenbank verantwortlich ist, arbeitet mit drei Typen von RDBMS-Servern

zusammen: PostgreSQL, mySQL und Oracle. Die ersten zwei Technologien sind open-source-Datenbaken,

die dritte ist ein kommerzielles Produkt. Um die Kosten des Systems nicht unnötig zu erhöhen, habe ich

Oracle nicht weiter berücksichtigt. Die durchgeführten Tests untersuchen die Antwortszeiten bei der

Ausführung der Funktionen zum Aufbau – aus Daten aus Header-Dateien – eines semantischen Netzes in

einer Datenbank (lmAdmin → 9.1.2) und die Antwortszeiten bei der Suche im Lerneinheits-Knoten nach

semantisch verwandten Begriffen (lmAdmin → 9.1.3 ).

9.1.1. Beschreibung des Tests

Es wurden Test-Header Dateien mit Beschreibungen von Seiten generiert (*.dscr.xml). Jede der

Beschreibungen beinhaltet ein semantisches Netz mit der Topologie eines gerichteten vollständigen

Graphen. In einem vollständigen Graphen ist jeder Knoten mit jedem anderen Knoten durch eine Kante

verbunden. Gerichtet bedeutet hier, dass zwischen jedem Paar-Knoten sich zwei – in gegenseitige

Richtungen orientierte – Kanten befinden. Die Anzahl der Kanten in einem vollständigen Graphen mit n

Knoten beträgt

2

n. Im gerichteten vollständigen Graphen beträgt die Anzahl der Kanten

( )12

2 −⋅=

⋅ nnn

. Jede Kante entspricht einer RDF-Aussage. Als Typ für die Kanten wurde die rk-

Relation (→ Tabelle 6-2) benutzt. Es wurden Testdaten für Graphen mit 0,10,25,50,100 und 200 Kanten

generiert. Die Testprozedur wurde für jeden Graphen getrennt durchgeführt. Die Daten wurden mit Hilfe des

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

114

lmAdmin zu semantischen Netzen konvertiert und in der rdfDB-Datenbank gespeichert72. Die

Bearbeitungszeit dieses Prozesses wurde gemessen. Beim Durchlauf der Testprozedur wurde anschließend

eine Hilfestellung für einen bestimmten Knoten im rdfDB mit Hilfe der findRelatedSubject()-Methode

aus der LmNodeWSImpl (lmNodeWebService) gesucht73. Die Zeit dieses Vorgangs wurde auch gemessen.

Zum Schluss wurde das im rdfDB erzeugte Modell gelöscht. Dieser Vorgang wurde für jeden Graphen 10-

mal wiederholt und der Mittelwert der Ergebnisse berechnet. Die Postgres- und mySQL-Datenbanken

wurden abwechselnd getestet. Der erste Test wurde nicht mitgezählt, weil die Prozesse, verbunden mit der

Erstausführung des Testprogramms, die Ergebnisse stark beeinflusst haben.

Die Tests wurden auf einem Rechner mit Intel Celeron 2600 MHz, 512 DDR RAM und Linux Red Hat

9.074 durchgeführt. Es wurden die Datenbanken PostgreSQL 7.4.5 (JDBC3 Driver Build 215) und mySQL

4.0.20 (Connector/J 3.0) getestet. Zum Speichern der Modelle der semantischen Netze in der Datenbank

wurde die Version 2.1 des Jena-API benutzt.

Die durchgeführten Test-Prozeduren sind lediglich eine Einführung in die eigentliche Effizienz-

Untersuchung. Es fehlen Test der Antwortzeiten bei einem belasteten Server und gleichzeitigem Zugriff

mehrer Agenten. Die getesteten Datenbestände könnten noch größer sein. Es ist wichtig die Effizienz bei

unterschiedlichen Hardware-Architekturen zu testen. Die Durchführung einer vollständigen Studie würde

aber den Rahmen dieser Arbeit überschreiten.

9.1.2. Ergebnisse der Effizienzuntersuchung für die Einrichtung eines semantischen Netzes

Die Ergebnisse der Effizienzuntersuchung der Einrichtung von semantischen Netzen zeigen Abbildung

9-1 und Abbildung 9-2.

Eindeutiger Testsieger ist – ein wenig unerwartet – mySQL 4.075. Der Unterschied wird besonders bei

größeren Modellen (Abbildung 9-2, z.B. bei n=100 → 9900 Aussagen) sichtbar, in denen mySQL 4.0 mehr

als zweimal schneller als PostgreSQL ist.

72 Zu Testzwecken wurden die auf die lmNodeDB zugreifende Methoden zur Einrichtung der allgemeinen Beschreibung in

ausgelassen, 73 Weil das semantische Netz in dem Testbeispiel ein vollständiger Graph ist, beinhaltet die Antwort auf die Anfrage n-1 Knoten. 74 Es wurden auch Tests unter Windows XP und mySQL 3.23/ PostgreSQL 7.2 durchgeführt. Die Ergebnisse werden aber nicht

dargestellt, weil PostgreSQL 7.x unter Windows nur mit Hilfe eines Unix-Emulators (cygwin) funktionieren kann, der aber die

Geschwindigkeit der Datenbank enorm beeinträchtigt. In manchen Tests unter Windows war mySQL c.a. 10-mal schneller als

PostgreSQL (cygwin). 75 In der ersten Version des MAT-MAESTRO-System-Entwurfes habe ich (vor allem wegen ihres guten Rufes) PostgreSQL als

Datenbank für die Lerneinheits-Knoten vorgeschlagen. Nach der Durchführung der Tests habe ich den Entwurf geändert.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

115

0,361,25

6,68

0,350,97

3,71

0

2

4

6

8

0/0 10/90 25/600

Anzahl der Knoten/Aussagen

Bearbeitungstszeit [s]

PostgreSQL 7.4 mySQL 4.0

Abbildung 9-1 Bearbeitungszeit der Einrichtung eines semantischen Netzes mit der Topologie eines vollständigen gerichteten Graphen mit n={0,10,25} Knoten

Die absolute Zeit der Erzeugung eines Modells mit nahezu 10000 Aussagen (bei n=100), die für

mySQL weniger als eine Minute beträgt, scheint mir akzeptabel zu sein. Man muss beachten, dass die

Modelle für einzelne Module voraussichtlich kaum größer werden und der Prozess nur selten durchgeführt

wird.

27,04

116,13

492,32

13,8455,91

263,39

0

100

200

300

400

500

50/3540 100/9900 200/39800

Anzahl der Knoten/Aussagen

Bearbeitungstszeit [s]

PostgreSQL 7.4 mySQL 4.0

Abbildung 9-2 Bearbeitungszeit der Einrichtung eines semantischen Netzes mit Topologie eines vollständigen gerichteten Graphen mit n={50,100,200} Knoten

9.1.3. Ergebnisse der Effizienzuntersuchung für Abfragen des semantischen Netzes

Die Ergebnisse der Effizienz der Abfrage des semantischen Netzes für PostgreSQL und mySQL

unterscheiden sich nicht mehr so sehr voneinander wie bei der Einrichtung des semantischen Netzes.

Trotzdem ist der Vorsprung des mySQL im Vergleich zu PostgreSQL sichtbar.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

116

0,08 0,20 0,26 0,52

1,35

4,65

0,05 0,11 0,17 0,381,00

4,39

0

1

2

3

4

5

6

0/0 10/90 25/600 50/3540 100/9900 200/39800

Anzahl der Knoten/Aussagen

Antwortszeit [s]

PostgreSQL 7.4 mySQL 4.0

Abbildung 9-3 Antwortszeiten bei der Hilfestellungs-Funktion

Die Antwortszeiten liegen bei einem Modell mit 100 Knoten (9900 Aussagen) bei 1 Sekunde, was

wenig erscheint; man muss aber berücksichtigen, dass die Tests bei einem nicht belasteten Server

durchgeführt wurden und die Migrations-Zeiten der Agenten, die Zeit für die Anpassung der Ergebnisse an

den Lernenden und die graphische Darstellung der Ergebnisse nicht berücksichtigt wurden. Man sollte daher

im weiteren Verlauf der Arbeiten an Reduktionsmöglichkeiten der Wartezeiten auf die Hilfestellung

forschen.

9.1.4. Bewertung des Tests

Aus den durchgeführten Tests darf man keine allgemeinen Schlüsse für die Effizienz von PostgreSQL

und mySQL ziehen. Das Ergebnis hängt stark von der Effizienz der JDBC-Treiber und der internen

Anpassung des Jena-Framework an die einzelnen Datenbanken ab. Untersucht wurde nur die Performance

der Zusammenarbeit des MAT-MAESTRO-Prototyps mit den Datenbanken in Hinsicht auf ausgewählte

Funktionen des Lerneinheits-Knoten. Wie diese Studie zeigt, scheint sich zurzeit mySQL besser als

PostgreSQL für diese Anwendung zu eignen. Um die Tests zu vollständigen, sollten weitere Untersuchungen

durchgeführt werden, die zeigen, wie sich die Datenbanken im Falle mehrerer gleichzeitiger Anfragen

verhalten. Die Effizienz der Erstellung von semantischen Netzen in den Lerneinheits-Knoten scheint mir

zum jetzigen Zeitpunkt ausreichend zu sein. Die Performance der Anfragen ist zu diesem Zeitpunkt auch

akzeptabel, man sollte aber beachten, dass dieser Aspekt sehr kritisch in Hinsicht auf die Zufriedenstellung

des Lernenden ist.

9.2. Eindrücke aus der Implementierung des Learner GUI

Während der Implementierung des Learner GUI bin ich auf gewisse Schwierigkeiten bei der

Zusammenarbeit der Jade-Agentenplattform und Apache Tomcat gestoßen. Trotz vieler Versuche ist mir

nicht gelungen, die Jade-Agentenplattform (in der Version 3.1 und 3.2) mit Apache Tomcat 5.0 zu

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

117

verbinden. Die Fehlerursache sind wahrscheinlich neue Sicherheitsmaßnahmen des Tomcat-Applikations-

Servers. Die Verbindung Jade mit Apache Tomcat 4.1 klappte ohne Probleme.

Die prototypische Implementierung zeigte, dass die im Abschnitt 8.2 präsentierte graphische

Benutzeroberfläche mit Hilfe von Java Script und Java Server Pages leicht zu realisieren ist.

Es ist noch zu früh, um die Learner GUI –Schnittstelle objektiv zu testen. Es fehlt an umfangreichen

Lernmodulen, die an die MAESTRO-Architektur angepasst sind. Die Bewertung der Ergebnisse der

Hilfestellung sollten die an der Lerneinheit interessierten Lernenden und nicht die Programmierer oder

Autoren des zum Lernmodul gehörenden semantischen Netzes durchführen.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

118

10. Zusammenfassung

Das Hauptziel meiner Diplomarbeit war der Entwurf einer möglichst universellen Multiagenten-

Architektur für E-Learning-Systeme. Die durchgeführte Literaturrecherche gab mir Informationen über die

vorhandenen Lösungen in diesem Bereich, aber auch deren Mängel. Die daraufhin von mir vorgeschlagene

MAESTRO-Architektur vereinigt drei auf den ersten Blick getrennte Konzepte: Multiagentensysteme, E-

Learning und Semantic Web. Ein Einblick in die aktuellen Forschungsarbeiten auf diesen Gebieten gab mir

neue Ideen für die geplante Architektur.

Mein Konzept zeigt, wie Lerninhalte mit Hilfe der RDF-Sprache (der Basistechnologie für das

Semantic Web) beschrieben werden können. Des Weiteren zeigt, es wie die Materialien in getrennten

Knoten aufbewahrt und zur gegebenen Zeit zusammengeführt werden. Die Verteilung der didaktischen

Bestände gibt der Plattform eine gute Skalierbarkeit und Robustheit gegen potentielle Ausfälle. Ein weiterer

Knotentyp dient der Aufbewahrung der Daten von Lernenden. Diese Daten werden zur Anpassung des

Lernprozesses an den Benutzer genutzt. Mein Konzept der beiden Knotentypen ist eine Art hybride Lösung

aus traditionellen Datenbanken- und der Semantic Web-Technologie. Die Anwendung von Web Services als

Schnittstelle für diese Knoten ist zukunftsorientiert und flexibel.

Für das Verbinden der Lerninhalte ist eine Reihe von mir entworfenen Agenten zuständig. Es gibt

Agenten, die für das Aufsuchen und den Transport von Lerninhalten zuständig sind. Weitere Agenten führen

die gesammelten Daten zusammen und versuchen, die Ergebnisse der Suche für den Benutzer anzupassen.

Jeder Lernende in der MAESTRO-Architektur hat einen Agenten, der direkt für die Kommunikation mit ihm

verantwortlich ist und einen, der die Aufgaben des Einloggens für den Lernenden übernimmt.

Der Lehrende und der Systemadministrator bekommen in der MAESTRO-Architektur einige

Werkzeuge, die den Erstellungs- und Verwaltungsprozess des Systems erleichtern sollen.

Im praktischen Teil der Arbeit realisierte ich einen Prototyp eines Systems mit der MAESTRO-

Architektur (genannt MAT-MAESTRO). Die durchgeführten Tests beweisen die Nützlichkeit des Systems

und auch die Realisierbarkeit der ganzen Architektur. Während der Arbeit an der Implementierung hatte ich

Gelegenheit, viele Technologien unterschiedlicher Hersteller (Jade, Jena, Axis, Apache Tomcat) kennen zu

lernen und die Möglichkeiten ihrer Zusammenarbeit (auch mit anderen Technologien wie Java Servlets, Java

Server Pages, PostgreSQL) zu testen. Viele der Technologien befinden sich immer noch in einer intensiven

Entwicklungsphase (wie z.B. Jena), was meine Aufgabe erschwerte.

Meine Versuche raffiniertere Technologien des Semantic Web als RDF (z.B. OWL) anzuwenden,

sind vorerst gescheitert. Der Grund dafür war der enorme Zeitaufwand dieses Prozesses (bei der heutigen

Technologie) im Vergleich zu dem relativ niedrig erhofften Nutzen. Die RDF-Technologie reichte für die

aktuellen Bedürfnisse völlig aus. Ich will aber nicht ausschließen, dass in Zukunft die Einführung von OWL-

Ontologien für die MAESTRO-Architektur eine gute Lösung sein könnte. Man muss auch anmerken, dass

trotz meiner Bemühungen und gewisser Erfolge auf diesem Feld der Zeitaufwand für die Erstellung eines E-

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

119

Learning-Lernmoduls für den Lehrenden relativ groß ist. Meiner Ansicht nach werden viele Elemente des

Lehrprozesses noch lange Zeit (oder vielleicht für immer) nicht automatisierbar sein.

Die MAESTRO-Architektur ist ein sehr breit angelegtes Konzept. Nicht alle Aspekte der Architektur

konnten genau betrachtet werden. Zum Beispiel wurden Agenten für den Lehrenden und den

Systemadministrator in der Architektur berücksichtigt, aber aus Zeitgründen nicht entworfen. Gründlichere

Tests der Effizienz der Architektur sollten durchgeführt werden. Die Probleme der Zahlung für die Nutzung

der Bestände und der Sicherheit dieser Operationen wurden nicht gelöst. Dies könnte der Ausgangspunkt für

weitere Arbeiten an der MAESTRO-Architektur sein. Viele Elemente der Architektur und des MAT-

MAESTRO Systems warten noch auf eine prototypische Implementierung.

Zusammenfassend möchte ich feststellen, dass nach meiner Ansicht die MAESTRO-Architektur

(und das MAT-MAESTRO-System) einen guten Einblick in die Möglichkeiten der heutigen Technik gibt.

Sie zeigt, wie Multiagentensysteme, Semantic Web-Technologie und E-Learning sich gegenseitig ergänzen

können mit dem Ziel, den Lernprozess für den Menschen effektiver und angenehmer zu gestalten.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

120

A. Beschreibung des Inhalts der beigelegten CD

Die Tabelle 0-1 beinhaltet eine Beschreibung des Inhalts der Projekt-CD, die der Diplomarbeit beiliegt.

Name des Verzeichnisses Beschreibung des Inhaltes des Verzeichnisses

\diplomarbeit In diesem Verzeichnis befindet sich die Texte der Diplomarbeit

(Maestro_Diplomarbeit_Krakow_final.doc) und des

Anhangs (Maestro_Anhang_Krakow_final.doc).

\diplomarbeit\abbildungen Beinhaltet Abbildungen aus der Diplomarbeit im Microsoft Visio-

und IBM Rational Rose-Format.

\diplomarbeit\praesentation Beinhaltet Power Point-Präsentationen zu der Diplomarbeit.

\implementierung Beinhaltet den im praktischen Teil der Arbeit geschriebenen

Programmcode.

\implementierung\LearnerGUI Ein JBuilder76-Projekt des Prototyps des LearnerGUI.

\implementierung\lmNode Ein Beispiel eines kleinen Lerneinheits-Knotens zum Thema Statistik.

Die Lerninhalte sind im MathML- und XHTML-Format geschrieben.

Im Verzeichnis befinden sich außer den Lerninhalten Beispiele von

Header-Dateien.

\implementierung\

LMNodeAdminConsole

Ein JBuilder-Projekt des Prototyps des lmAdmin, des lmWebService

und der Methoden zum Testen der Effizienz der rdfDB-Datenbank.

\implementierung\sql SQL-Skripten zur Einrichtung der lmNodeDB- und userDB-

Datenbank.

\implementierung\TestGraph Ein JBuilder-Projekt eines Generators zum Erzeugen von Test-

Header-Dateien.

\implementierung\webapps\

maestro

Beinhaltet die LearnerGUI Web-Applikation, die in einem Servlet-

Container platziert sein kein.

\literatur Einige Literaturquellen, die in der Arbeit verwendet wurden

(hauptsächlich im Adobe PDF-Format).

\software Installationspakete einiger Programme, die in der Arbeit genutzt

werden (Windows-Versionen): Apache Tomcat 4.1, Jade 3.2, Jena

API 2.1, Mozilla 1.7.2 (mit MathML Fonts), mySQL 4.0.

\tests Testdateien, sowie Ergebnisse der Tests im Microsoft Excel Format.

Tabelle 0-1 Beschreibung des Inhalts der Projekt-CD

76 Borland JBuilder ist eine Java-Entwicklungsumgebung. Bei der Implementierung wurde die Version X des JBuilders genutzt.

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

121

B. Literatur

[1] Aiken M., Benzacar E., Cocosco C. A.: ABC - An Intelligent Robocup Agent , 1998, http://citeseer.nj.nec.com/aiken98abc.html

[2] Anderson R. et al.: XML professionell, MITP-Verlag, Bonn, 2000

[3] Bach J.: Enhancing Perception and Planning of Software Agents with Emotion and Acquired Hierarchical Categories, in: Proceedings of MASHO 02, German Conference on AI KI 2002, Karlsruhe, 2002, http://www.informatik.hu-berlin.de/~bach/publication/BachMasho2002.pdf

[4] Back A., Bendel O., Stoller-Schai D.: E-Learning im Unternehmen: Grundlagen - Strategien - Methoden – Technologien, Zürich, 2001

[5] Back A., Bendel O., Stoller-Schai D.: E-Learning - Ein Wörterbuch: Über 100 Begriffe - schnell nachgeschlagen, Kappelrodeck, 2002

[6] Baer W. S.: E-Learning: A Catalyst for Competition in Higher Education, in: iMP Information Impacts Magazine, 1999

[7] Bellifemine F., Caire G., Poggi A., Rimassa G.: JADE - A White Paper, in: exp – In Search of Innovation, Telecom Italia, Turin, vol.3, no.3, pp. 42-51, 2003

[8] Bendel O.: Pädagogische Agenten im Corporate E-Learning, Ph.D Thesis, Univeristy of St. Gallen, 2003, http://verdi.unisg.ch/org/iwi/iwi_pub.nsf/wwwPublAuthorGer/05535D23A73EF464C1256D0A003572E5/$file/Paedagogische_Agenten.pdf

[9] Bendel O.: Pädagogische Agenten im Corporate E-Learning, in: Neumann R., Nacke R., Ross A. (Ed.), Corporate E-Learning: Strategien, Märkte, Anwendungen, Wiesbaden, pp. 97-106, 2002.

[10] Berners-Lee T.: Semantic Web Road map, http://www.w3.org/DesignIssues/Semantic

[11] Bigus J, Bigus J.: Intelligente Agenten mit Java programmieren - eCommerce und Informationsrecherche automatisieren, Addison-Wesley, München 2001

[12] Blumstengel A.: Entwicklung hypermedialer Lernsysteme, Ph.D. Thesis, University of Paderborn, 1998

[13] Bonabeau E.,Théraulaz G.: Swarm smarts, in: Scientific American, pp. 72-79, 2000

[14] Borselius N.: Mobile agent security, in: Electronics & Communication Engineering Journal, IEE, vol.14, no. 5, pp. 211-218, 2002

[15] Bratman M. E.: Intentions, Plans, and Practical Reason, Harvard University Press, Cambridge, MA, 1987

[16] Bryson K., Luck M., Joy M., Jones D.T.: Applying Agents to Bioinformatics in GeneWeaver, in: Proceedings of the 4th International Workshop on Collaborative Information Agents IV, LNAI 1860, pp. 60-71, 2000

[17] Cambier C.: Simdelta: un systme multi-agents pour simuler la pche sur le Delta Central du Niger. PhD thesis, Universit de Paris, 1994

[18] Cetnarowicz K., Nawarecki E., Żabińska M.: M-Agent Architecture and its Application to the Agent Oriented Technology of Decentralized Systems, in: Proceedings of the Int. Workshop “Distributed Artificial Intelligence and Multi-Agent Systems” DAIMAS’97, St Petersburg, pp. 88-94, 1997

[19] Cetnarowicz K., Żabińska M., Cetnarowicz E.: An Application of th M-Agent Architecture to Learning Process, in: Proceedings of 4th International Conference, “Computer Aided Engineering Education CAEE’97”, Kraków, pp. II/7-II/14,1997

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

122

[20] Cheikes B.: GIA: An Agent-Based Architecture for Intelligent Tutoring Systems, in: Proceedings of the CIKM’95 Workshop on Intelligent Information Agents, 1995

[21] Chen W., Mizoguchi R.: Communication Content Ontology for Learner Model Agent in Multi-agent Architecture, in: Proceedings of the 7th International Conference on Computers in Education, ICCE99, pp. 95-102, 1999

[22] Cieszkowski M., Gołębiewski G.: Zastosowanie technologii agentów do realizacji procesu egzaminowania, Master Thesis, Supervisors: Żabińska M., Rakoczy W., Institute of Computer Science, University of Science and Technology (AGH), Kraków, 2000

[23] Demazeau Y., Müller J.P.: Decentralized artificial intelligence, in: Decentralized A.I., Elsevier North Holland, Amsterdam, pp. 3-13., 1990

[24] Dorigo M., Di Caro G.: The Ant Colony Optimization Meta-Heuristic. in: Corne D., Dorigo M., Glover F. (Ed.), New Ideas in Optimization, McGraw-Hill, pp. 11-32, 1999

[25] Dorigo M., Gambardella L.M.: Ant Colonies for the Traveling Salesman Problem, BioSystems, vol. 43, pp. 73-81., 1997

[26] Ecker K., et al., An Optimization Framework for Dynamic, Distributed Real-Time Systems, in: Proceedings of the International Parallel and Distributed Processing Symposium, Workshop on Parallel and Distributed Real-Time Systems, IEEE Computer Society, 2003

[27] Fenton-Kerr T.: GAIA: An Experimental Pedagogical Agent for Exploring Multimodal Interaction, in: Nehaniv Ch. (Ed.), Computation for Metaphors, Analogy, and Agents. Lecture Notes in Computer Science, Berlin, vol. 1562, pp. 154-164, 1999

[28] Ferber J.: Multiagentensysteme: eine Einführung in die Verteilte Künstliche Intelligenz, Addison-Wesley, München 2001

[29] Gutknecht O., Ferber J.: The MADKIT Agent Platform Architecture, in: Agents Workshop on Infrastructure for Multi-Agent Systems, pp.48-55, 2000

[30] Harhoff D, Küpper C.: Verbreitung und Akzeptanz von eLearning. Ergebnisse aus zwei Befragungen, in: Dowling M., Eberspächer J., Picot A (Ed.), eLearning in Unternehmen: neue Wege für Training und Weiterbildung ; Fachkonferenz -eLearning in Unternehmen: Neue Wege für Training und Weiterbildung, Springer, Berlin, 2003

[31] He M., Jennings N., Ho-Fung L.: The Agent-mediated Electronic Commerce http://citeseer.nj.nec.com/567141.html

[32] He, M., Jennings N., Leung H.: On agent-mediated electronic commerce, IEEE Trans. Knowledge Data Eng., vol. 15, pp. 985-1003, 2003

[33] Hoffman B.: The Encyclopedia of Educational Technology, San Diego State University, Department of Educational Technology, 1994-2004, http://coe.sdsu.edu/eet/

[34] Holm Ch.: The use of WebCT as the E-Learning Platform at the Universities of Applied Sciences Aargau and Solothurn, A project report FHA-01-03-015, Universities of Applied Sciences Aargau and Solothurn, 2001, http://www.edol.ch/Dozenten_Anlass2/chandra.pdf

[35] Issing, L.: Von der Mediendidaktik zur Multimedia-Didaktik, in: Unterrichtswissenschaft 22, pp. 267-284, 1994

[36] Jennings N., Wooldridge J.: Applications of Intelligent Agents, in: Agent Technology: Foundations, Applications, and Markets, Springer-Verlag: Heidelberg, pp. 3-28,1998, http://citeseer.nj.nec.com/jennings98applications.html

[37] Jennings N., Sycara K., Wooldridge M.: A Roadmap of Agent Research and Development, in: Journal of Autonomous Agents and Multi-Agent Systems, vol.1, no.1, pp. 7-38, 1998 http://citeseer.nj.nec.com/jennings98roadmap.html

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

123

[38] Kaczmarek W., Małecki B.: Agentowy system do egzaminowania, Rozszerzenie koncepcji "drzewa niewiedzy" i implementacji systemu OCET, Master Thesis, Supervisors: Żabińska M., Rakoczy W., Institute of Computer Science, University of Science and Technology (AGH), Kraków, 2002

[39] Karjoth G., Lange D.B, Oshima M.: A Security Model for Aglets, in: IEEE Internet Computing, vol.1, no. 4, pp. 68-77, 1997, http://citeseer.ist.psu.edu/karjoth97security.html

[40] Keegan D.: The future of learning: From elearning to mlearning, ZIFF-Papiere 119, Zentrales Inst. für Fernstudienforschung, Fernuniv. Hagen, 2002

[41] Kephart J., Chess D.: The Vision of Autonomic Computing, in: IEEE Computer, vol. 36(1), pp. 41-50, 2003

[42] zu Knyphausen-Aufseß D.: Die Rolle der Hochschule in der Weiterbildung durch E-Learning. E-Learning in Deutschland und den USA: ein Überblick, in: Dowling M., Eberspächer J., Picot A (Ed.) eLearning in Unternehmen : neue Wege für Training und Weiterbildung, Fachkonferenz "eLearning in Unternehmen: Neue Wege für Training und Weiterbildung", Berlin, Springer, 2003

[43] Kolonko M.: Angewandte Statistik, Vorlesungsskript, Technical University of Clausthal, 2003

[44] Koźlak J., Demazeau Y., Bousquet F.: Multi-agent system to model the FishBanks game process, in: The First International Workshop of Central and Eastern Europe on Multi-agent Systems (CEEMAS'99), St. Petersburg, pp. 154-162, 1999

[45] König M.: E-learning und Management von technischem Wissen in einer webbasierten Informationsumgebung, Ph.D Thesis, University of Dortmund, 2001

[46] Liu J., Ye Y. E-Commerce Agents- Marketplace Solutions, Security Issues, and Supply and Demand, Springer-Verlag, Heidelberg, 1998

[47] Ljungberg M., Lucas A.: The OASIS air-traffic management system, in: Proceedings of the Second Pacific Rim International Conference on Artificial Intelligence PRICAI '92, Seoul, 1992, http://citeseer.nj.nec.com/ljungberg92oasis.html

[48] Luck. M., McBurney, P., Preist, C.: Agent Technology: Enabling Next Generation Computing (A Roadmap for Agent Based Computing), AgentLink, 2003, http://www.agentlink.org/admin/docs/2003/2003-48.pdf

[49] Lytras M. D., Pouloudi A.: E-learning: Just a waste of time, in: Strong D., Straub D., DeGross J., (Ed.), 7th Americas Conference on Information Systems (AMCIS 2001), pp. 216-222, 2001.

[50] Mandl H., Winkler K.: Auf dem Weg zu einer neuen Weiterbildungskultur. Der Beitrag von eLearning in Unternehmen, in: Dowling M., Eberspächer J., Picot A (Ed.), eLearning in Unternehmen : neue Wege für Training und Weiterbildung, Fachkonferenz "eLearning in Unternehmen: Neue Wege für Training und Weiterbildung",Springer, Berlin, 2003

[51] Merrill M.: Where's massive? Past, present and future for the Lord of the Rings' crowd software, Metro Magazine, 2004, http://www.findarticles.com/p/articles/mi_m0PAM/is_139/ai_112861526

[52] Milojicic D., et. al. MASIF – The OMG Mobile Agent System Interoperability Facility, in: Proceedings of the Second International Workshop on Mobile Agents (MA ’98), Lecture Notes in Computer Science, Springer Verlag, Berlin, Heidelberg, vol. 1477, pp. 50–67, 1998

[53] Morley R.E., Schelberg C.: An Analysis of a Plant-Specific Dynamic Scheduler, in: Proceedings of the NSF, Workshop on Dynamic Scheduling, Cocoa Beach, FL, 1993

[54] Murakami Y., Minami K., Kawasoe T., Ishida T.: Multi-Agent Simulation for Crisis Management, IEEE International Workshop on Knowledge Media Networking (KMN-02), pp.135-139, 2002, http://www.lab7.kuis.kyoto-u.ac.jp/publications/02/yohei-kmn2002.pdf

[55] Nie A. G., et. al.: The Osnabrueck RoboCup Agents Project, 2001, http://citeseer.nj.nec.com/nie01orca.html

[56] Page L., Brin S., Motwani R., Winograd T.: The PageRank Citation Ranking: Bringing Order to the Web, 1998, http://citeseer.nj.nec.com/page98pagerank.html

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

124

[57] Peine H.: Run-Time Support for Mobile Code, Ph.D Thesis, University of Kaiserslautern, 2002

[58] Rakoczy W., Żabińska M.: Cyberprzestrzeń jako środowisko życia mobilnych agentów programowych, Automatyka, Uczelniane Wydawnictwa Naukowo-Dydaktyczne AGH, Kraków, vol. 7 (1/2) pp.245-250, 2003

[59] Rao A., Georgeff M.: Modeling Rational Agents within a {BDI}-Architecture, in: Proceedings of the 2nd International Conference on Principles of Knowledge Representation and Reasoning, Morgan Kaufmann publishers Inc., San Mateo, CA, 1991

[60] Rao A., Georgeff M.: {BDI}-agents: from theory to practice, in: Proceedings of the First Intl. Conference on Multiagent Systems San Francisco, 1995

[61] Roda C., Jennings N.R., Mamdani E.H.,: ARCHON: A Cooperation Framework for Industrial Process Control, in: Proceedings of workshop on Cooperating Knowledge Based Systems, Deen S. M. (Ed.), Springer, pp. 95-112, 1991

[62] Schoonderwoerd R., Holland O., Bruten J., Rothkrantz L.: Ant-based Load Balancing in Telecommunications Networks, Adaptive Behavior, 5(2), pp. 169-207, 1997

[63] Shaw E., Johnson, W., Ganeshan, R.: Pedagogical Agents on the Web, in: Proceedings of the 3th International Conference on Autonomous Agents, pp. 283-290, 1999

[64] Stojanovic L., Staab S., Studer R., Elearning based on the semantic web, in: WebNet2001-World Conference on the WWW and Internet, Orlando, FL, 2001, http://citeseer.nj.nec.com/stojanovic01elearning.html

[65] Wahle J., Bazzan A., Klügl F., Schreckenberg M.: Anticipatory Traffic Forecast Using Multi-Agent Techniques in: Traffic and Granular Flow '99, Springer, Heidelberg, pp. 87-92, 2000

[66] Weigel T., et al.: CS Freiburg: Doing the Right Thing in a Group, in: Stone P., Kraetzschmar G., Balch T., (Ed.), RoboCup-2000: Robot Soccer World Cup IV, Springer, Berlin, Heidelberg, New York, 2001, pp. 52-63, 2000, http://citeseer.nj.nec.com/article/weigel00cs.html

[67] Williamson B., Miller L.: The semantic web - A touch of intelligence for the internet?, Education.Guardian.co.uk, 2003, http://education.guardian.co.uk/elearning/story/0,10577,981948,00.html

[68] Zedler J. H., et al.: Grosses vollständiges Universal-Lexicon Aller Wissenschafften und Künste, J. H. Zedler Verlag, Halle, Leipzig, 1732

[69] Żabinska M., Ambroszkiewicz S., Cetnarowicz K.: The application of m-agent technology to dynamic resource distribution, in: Borzemski L., Grzech A., Molasy M., Wilimowska Z., (Ed.), Proceedings of the 20th International Scietific School: Information Systems Architecture and Technology ISAT'98, Oficyna Politechniki Wrocławskiej, Wrocław, pp. 201-208, 1998

[70] Żabinska M., Rakoczy W., Cieszkowski M., Gołębiewski G.: The Multi-Agent System for Examination – A Practical Realization of Ignorance Tree Concept, in: Štefan J. (Ed.), Proceedings of XXIInd International Colloquium ASIS 2000, Sv. Hostyn, MARQ, Ostrava, pp. 117-124, 2000

[71] Die Welt wird eins am Mittelkreis, Das Triaton Magazin, http://www.triaton.com/evolution/02_03/technologie/2002-03_1_1.php

[72] Intelligent Agent Resource Manager, Open Blueprint, G325-6592-0

[73] E-Markets: realism, not pessimism, PriceWaterhouseCoopers, 2001, http://www.pwcglobal.com/gx/eng/ins-sol/survey-rep/etrust/pwc_emarkets.pdf

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

125

Internetquellen

[74] Across Trophic Level System Simulation, http://atlss.org/ (16.02.2004)

[75] Advanced Distance Education, http://www.isi.edu/isd/ADE/ade.html (11.01.2004)

[76] Ant Colony Optimization, http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html (12.04.2004)

[77] AIBO, http://www.sony.net/Products/aibo/ (20.02.2004)

[78] Apache Tomcat, http://jakarta.apache.org/tomcat/ (20.08.2004)

[79] Blackboard, http://www.blackboard.com/ (22.05.2004)

[80] Callan Method, http://www.callan.co.uk (24.05.2004)

[81] Center for Advanced Research in Technology for Education, http://www.isi.edu/isd/carte/ (11.01.2004)

[82] Cerebra Server, http://www.networkinference.com/Products/Index.html (29.07.2004)

[83] Comparison of Online Course Delivery Software Products, http://www.marshall.edu/it/cit/webct/compare/comparison.html (30.05.2004)

[84] Cormas – Natural Resources and agent-based simulations, http://cormas.cirad.fr/en/demarch/sma.htm (16.02.2004)

[85] EduTech – Evaluation of Learning Management Systems, http://www.edutech.ch/lms/ev2.php (30.05.2004)

[86] ELAN E-Learning Academic Network Niedersachsen, http://www.elan-niedersachsen.de (30.05.2004)

[87] Extempo, http://www.extempo.com/index.html (11.01.2004)

[88] FernUniversität Hagen, http://www.fernuni-hagen.de (31.05.2004)

[89] FIPA 98 Part 1 Version 1.0: Agent Management Specification, http://www.fipa.org/specs/fipa00002/ (27.03.2004)

[90] FIPA 98 Part 10 Version 1.0: Agent Security Management Specification, http://www.fipa.org/specs/fipa00020/ (27.03.2004)

[91] FIPA Abstract Architecture Specification, http://www.fipa.org/specs/fipa00001/ (27.03.2004)

[92] FIPA ACL Message Structure Specification, http://www.fipa.org/specs/fipa00061/ (27.03.2004)

[93] FIPA Communicative Act Library Specification, http://www.fipa.org/specs/fipa00037/ (27.03.2004)

[94] FIPA SL Content Language Specification, http://www.fipa.org/specs/fipa00008/ (27.03.2004)

[95] FNL – Was kann WebCT, http://www.fnl.ch/webct/deutsch/indexD_MO.html (30.05.2004)

[96] Foundation of Physical Inteligent Agents, http://www.fipa.org/ (27.03.2004)

[97] Google, http://www.google.com (20.02.2004)

[98] IBM Lotus Learning Management System, http://www.lotus.com/lotus/offering6.nsf/wdocs/homepage (30.05.2004)

[99] JADE, http://sharon.cselt.it/projects/jade/ (31.03.2004)

[100] Jena, http://jena.sourceforge.net/ (29.07.2004)

[101] JESS, http://herzberg.ca.sandia.gov/jess/index.shtml (29.07.2004)

[102] Joseki, http://www.joseki.org/ (28.07.2004)

[103] JRDF, http://jrdf.sourceforge.net/ (29.07.2004)

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

126

[104] MadKit, http://www.madkit.org/ (30.03.2004)

[105] MySQL, http://www.mysql.com/ (04.09.2004)

[106] Object Management Group, http://www.omg.org (28.03.2004)

[107] OWL Web Ontology Language Overview, http://www.w3.org/TR/2004/REC-owl-features-20040210/ (20.02.2004)

[108] OWL Web Ontology Language Guide, http://www.w3.org/TR/2003/PR-owl-guide-20031215/ (20.02.2004)

[109] Polski Uniwersytet Wirtualny, http://www.puw.pl (30.05.2004)

[110] PostgreSQL, http://www.postgresql.org/ (20.08.2004)

[111] Protégé 2000, http://protege.stanford.edu/index.html (30.03.2004)

[112] RDF Calendar Taskforce, http://www.ilrt.bris.ac.uk/discovery/2001/04/calendar/ (28.07.2004)

[113] RDF Gateway, http://www.intellidimension.com/default.rsp?topic=/pages/site/products/rdfgateway.rsp (30.03.2004)

[114] RDF Vocabulary Description Language 1.0: RDF Schema, W3C, http://www.w3.org/TR/rdf-schema (20.02.2004)

[115] RDQL, http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/ (29.07.2004)

[116] RDFQL, http://www.intellidimension.com/default.rsp?topic=/pages/rdfgateway/reference/db/default.rsp (29.07.2004)

[117] Resource Description Framework (RDF), W3C http://www.w3.org/RDF (20.02.2004)

[118] Robo Cup, http://www.robocup.org (16.02.2004)

[119] RQL, http://139.91.183.30:9090/RDF/RQL/ (30.03.2004)

[120] Semantic Web Activity Statement, http://www.w3.org/2001/sw/Activity (20.02.2004)

[121] Sergey Melnik's RDF API http://www-db.stanford.edu/%7Emelnik/rdf/api.html#overview (30.06.2004)

[122] Sesame, http://www.openrdf.org/ (30.03.2004)

[123] SMORE, http://www.mindswap.org/ (30.03.2004)

[124] SquishQL, http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/ (29.07.2004)

[125] TopClass e-Learning Suite, http://www.wbtsystems.com/products (30.05.2004)

[126] UML Resource Page, http://www.uml.org/ (15.04.2004)

[127] User Agents, http://www.siteware.ch/webresources/useragents/ (20.02.2004)

[128] W3C – World Wide Web Consortium, http://www.w3.org/ (28.07.2004)

[129] WebCT, http://www.webct.com/ (30.05.2004)

[130] WebED Tools/Reviews & Comparison, http://www.osc.edu/education/webed/Tools/review.shtml (30.05.2004)

[131] Wikipedia, http://de.wikipedia.org (29.05.2004)

[132] WWW2004, 13th International World Wide Web Conference 2004, New York, http://www2004.org/ (29.07.2004)

[133] WWW2004 Semantic Web Roundup, http://www.xml.com/pub/a/2004/05/26/www2004.html (29.07.2004)

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

127

C. Verzeichnis der wichtigsten Begriffe

Agent ...................................................... 11, 12, 13 Agenten im E-Learning ......................................52 Agenteninhaltssprache........................................17 Agentenkommunikationssprache .......................17 Agentenplattform ...............................................19 Ant Colony Optimization ...................................22 Anwendungsgebiete für Multiagentensysteme...22 Apache Tomcat ................................................ 101 BDI-Agent ..........................................................15 Behaviourismus ..................................................31 Benutzerdaten-Datenbanken ..............................97 Benutzerdaten-Knoten.................................. 71, 74 Benutzerdaten-Knoten-Server .......................... 103 Computer-Based-Training..................................33 Directory Facilitator, DF ....................................17 Diskussionsforum...............................................36 Distance Learning ..............................................33 ELAN-Niedersachsen.........................................40 E-Learning.......................................... 7, 29, 41, 43 E-Learning-Plattform .........................................37 FIPA ...................................................................16 Header-Dateien...................................................94 hlm-Relation.......................................................79 IBM Aglets Workbench .....................................19 Intelligente Softwarearchitekturen .....................27 JADE ..................................................................21 Jena.....................................................................48 Kognitiver Agent................................................14 Kognitivismus ....................................................32 Kollaborativer Agent..........................................15 Konstruktivismus ...............................................32 Learner UI ..........................................................71 Lerneinheits-Datenbanken..................................96 Lerneinheits-Knoten..................................... 70, 72 Lerneinheits-Knoten-Server ............................. 101

Lernmodul ..........................................................72 MadKit................................................................20 MAESTRO.....................................................9, 62 MAESTRO-Agenten ..............................71, 74, 91 MAESTRO-Plattform-Server ...........................100 M-Agent .............................................................15 MASIF................................................................18 MAT-MAESTRO...................................62, 82, 95 MAT-MAESTRO-Prototyp........................62, 105 Mobiler Agent ....................................................15 Multiagenten-Architektur für Intelligente

Bildungssysteme ............................................53 Multiagentensystem........................................8, 16 mySQL .............................................................102 Ontologie ............................................................47 OWL...................................................................47 Pädagogischer Agent ..........................................52 Protégé................................................................48 RDF ....................................................................46 RDF Datastores ..................................................48 Reflexiver Agent ................................................14 rk-Relation..........................................................79 Schema ...............................................................47 Semantic Web.....................................7, 44, 45, 50 Semantic Web im E-Learning ............................49 Semantische Beschreibung ...........................73, 78 Simulationen.......................................................23 Software Agent ...................................................15 St. Galler E-Learning-Referenzmodell ...............33 Stationärer Agent................................................16 Swarm Intelligence .............................................22 UML ...................................................................63 Virtuelle Klassenzimmer ....................................36 Web-Based-Training ..........................................33 WebCT ...............................................................38

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

128

D. Abbildungs – und Tabellenverzeichnis

A b b i l d u n g e n Abbildung 2-1 Das Modell des generischen Agenten [21] ..............................................................................12 Abbildung 2-2 Bewertung von Fähigkeiten von Softwareagenten ..................................................................14 Abbildung 2-3 FIPA98-Referenzmodell zur Agentenverwaltung [87]............................................................17 Abbildung 3-1 Begriffslandkarte, in Anlehnung anW [4] ...................................................................................33 Abbildung 3-2 St. Galler E-Learning-Referenzmodell, in Anlehnung an [4] ..................................................34 Abbildung 3-3 Multimedia-Hörsaal an der TU Clausthal ................................................................................37 Abbildung 3-4 Ein mit Hilfe von WebCT erstelltes E-Learning-System.........................................................38 Abbildung 3-5 Alterung von Wissen [43] ........................................................................................................42 Abbildung 4-1 Schichten des Semantic Web ...................................................................................................45 Abbildung 4-2 Beispiel einer graphischen Darstellung einer RDF-Aussage ...................................................46 Abbildung 5-1 Multiagenten-Architektur für Intelligente Bildungssysteme (nach [19]).................................54 Abbildung 5-2 Federated Architecture for Agent Communications - Standalone Configuration (nach [17]) .55 Abbildung 5-3 Federated Architecture for Agent Communications Networked Configuration (nach [17]) ...56 Abbildung 5-4 ADE Architektur [61] ..............................................................................................................57 Abbildung 5-5 Untersuchung eines Patienten im ADE-System.......................................................................59 Abbildung 5-6 Expert Coach Agent [85] .........................................................................................................60 Abbildung 5-7 Expert Role Player Agent [85].................................................................................................61 Abbildung 6-1 Schichten in der Entwicklung der MAESTRO-Architektur ....................................................62 Abbildung 6-2 Benutzer in der MAESTRO-Architektur .................................................................................64 Abbildung 6-3 Use-Case Diagram für den Benutzer .......................................................................................64 Abbildung 6-4 Use-Case Diagram für den Lernenden.....................................................................................65 Abbildung 6-5 Use-Case Diagram für den Lehrenden.....................................................................................67 Abbildung 6-6 Use-Case Diagram für den Systemadministrator .....................................................................68 Abbildung 6-7 Verbindungen von MAESTRO-Plattformen (Beispiel: ELAN Projekt)..................................69 Abbildung 6-8 Allgemeines Schema der MAESTRO-Plattform .....................................................................70 Abbildung 6-9 Lerneinheits-Knoten im Detail.................................................................................................72 Abbildung 6-10 Beispiel eines semantischen Netzes der Begriffe...................................................................80 Abbildung 6-11 Beispiel eines strukturellen Netzes des Lernmoduls..............................................................81 Abbildung 7-1 Funktionen des MAT-MAESTRO-System aus der Sicht des Lernenden................................82 Abbildung 7-2 Funktionen des MAT-MAESTRO-System aus der Sicht des Lehrenden und des Lernenden 83 Abbildung 7-3 Sequenzendiagramm - Aufsuchen von Adressen mit Hilfe des Configuration Agent.............84 Abbildung 7-4 Sequenzdiagramm - Einloggen ................................................................................................85 Abbildung 7-5 Sequenzdiagramm - Eröffnung eines neuen Lernmoduls ........................................................86 Abbildung 7-6 Sequenzdiagramm - Wiedereröffnung eines Moduls...............................................................88 Abbildung 7-7 Sequenzdiagramm - Anzeigen von gewünschten Seiten .........................................................89 Abbildung 7-8 Sequenzdiagramm - Realisation der Hilfestellung...................................................................90 Abbildung 7-9 Sequenzdiagramm - Ausloggen ...............................................................................................91 Abbildung 7-10 Pakete des MAT-MAESTRO-Systems..................................................................................95 Abbildung 7-11 Struktur der lmModuleDB-Datenbank...................................................................................96 Abbildung 7-12 Struktur der userDB-Datenbank.............................................................................................98 Abbildung 7-13 Allgemeines Einsatzdiagramm von MAT-MAESTRO .......................................................100 Abbildung 7-14 Einsatzdiagramm des MAESTRO-Plattform-Servers..........................................................101 Abbildung 7-15 Einsatzdiagramm für den Lerneinheits-Knoten-Server .......................................................102 Abbildung 7-16 Komponentendiagramm des lmAdmin-Pakets ....................................................................103 Abbildung 7-17 Einsatzdiagramm für den Benutzerdaten-Knoten-Server ....................................................104 Abbildung 7-18 Einsatzdiagramm für den Rechner des Lernenden...............................................................104 Abbildung 8-1 Learner UI / Einloggen in das System ...................................................................................106

Andrzej Kononowicz Anwendung von Multiagentensystemen im E-Learning

129

Abbildung 8-2 Learner UI / Wahl eines Moduls............................................................................................107 Abbildung 8-3 Learner UI / Startseite eines Moduls......................................................................................108 Abbildung 8-4 Learner UI / Inhaltsverzeichnis des Moduls ..........................................................................109 Abbildung 8-5 Learner UI / Persönliche Einstellungen des Lernprozesses ...................................................109 Abbildung 8-6 Learner UI / Hilfestellung ......................................................................................................110 Abbildung 9-1 Bearbeitungszeit der Einrichtung eines semantischen Netzes mit der Topologie eines

vollständigen gerichteten Graphen mit n={0,10,25} Knoten ................................................................115 Abbildung 9-2 Bearbeitungszeit der Einrichtung eines semantischen Netzes mit Topologie eines

vollständigen gerichteten Graphen mit n={50,100,200} Knoten ..........................................................115 Abbildung 9-3 Antwortszeiten bei der Hilfestellungs-Funktion ....................................................................116

T a b e l l e n Tabelle 3-1 Einige der WebCT Tools ..............................................................................................................39 Tabelle 6-1 Charakteristik der MAESTRO-Agenten .......................................................................................77 Tabelle 6-2 Relationen zur Beschreibung der semantischen Zusammenhänge................................................79 Tabelle 6-3 Relationen zur Beschreibung der Struktur ....................................................................................79 Tabelle 6-4 Eigenschaften der Page-Knoten ....................................................................................................81 Tabelle 7-1 Beschreibung der MAT-MAESTRO Pakete.................................................................................95 Tabelle 7-2 Tabellen der lmModuleDB-Datenbank.........................................................................................97 Tabelle 7-3 Tabellen der userDB-Datenbank...................................................................................................99 Tabelle 0-1 Beschreibung des Inhalts der Projekt-CD ...................................................................................120