Home

Dokument 1

image

Contents

1. L Legende System Agent ke i Ask Agent L Abb 10 Einbindung von Mole Office in das Agentensystem Mole 38 siehe Kapitel 5 1 Der substantielle Bereich 61 5 Entwurf des Softwaresystems Mole Office Einbindung von Mole Office in Mole Die Unterst tzung f r die Teamkoordination von Mole Office f r jeden Benutzer wird durch eine gewisse Anzahl von benutzerspezifischen Agenten an speziellen Orten bzw Locationen innerhalb von Mole realisiert Jeder Standardaufenthaltsort in Mole Office stellt eine Location innerhalb von Mole dar Jeder Agent hat eine speziell ihm bertrage ne Aufgabe zu erf llen Jeder Benutzer hat einen ortsfesten Systemagenten in seinem Standardb ro der alle Informationen in Bezug auf den Benutzer verwaltet Mittels des Systemagenten werden auch die anderen zu integrierenden Werkzeuge gestartet bzw auf Informationen durch sucht Nur der Systemagent kann ber die Benutzerschnittstelle mit dem Anwender kom munizieren und umgekehrt Systemagenten werden ber den Namensdienst im Agenten system angesprochen Der Benutzer hat au erdem die M glichkeit mobile Agenten einzusetzen die Informatio nen zwischen den Systemagenten bertragen k nnen Die Anzahl von mobilen Agenten pro Benutzer ist nicht festgelegt Je nach spezifiziertem Interessenskontext sendet der lokale Systemagent einen mobilen Watch Agenten zu dem entsprechenden Systemagenten des anderen Benutzern um de ren Aktivit
2. Ein Ziel dieser Diplomarbeit ist es die Anwendung der Agententechnologie am Beispiel der Teamkoordination zu evaluieren Aus diesem Grund vorhandene mobile Agentensy steme daraufhin untersucht ob sie als grundlegende Technologie f r das zu erstellende Softwaresystem in Frage kommen Im ersten Teil dieses Kapitels werden dazu zun chst einige Konzepte von Agenten Agentensystemen und mobilen Agenten vorgestellt Im zweiten Teil werden dann an schlie end vorhandene mobile Agentensysteme analysiert und bewertet 3 1 Definitionen Im Bereich der Informatik existieren viele verschiedene Definitionen von Agenten die nach Sichtweise und Einsatzgebiet sehr differieren Exemplarisch seien hier zwei davon herausgegriffen Laut der Definition des Duden der sich auch F n95 anschlie t handelt es sich bei ei nem Agenten um jemanden der im Auftrag f r einen anderen eine Aufgabe erledigt Die zweite Agentendefinition die hier vorgestellt wird ist die von WoJe94 F r die Auto ren ist ein Agent ein unabh ngiges Programm das in der Lage ist seine Entscheidungen und sein Handeln basierend auf der Wahrnehmung seiner Umwelt bei der Verfolgung eines oder mehrerer Ziele selbst ndig zu kontrollieren In WoJe94 werden folgende Eigenschaften beschrieben die ein Programm erf llen mu damit es als Agent angesehen werden kann e Autonomie Die Agenten l sen eine ihnen gestellte Aufgabe selbst ndig d h ohne weitere Benutzer
3. Will der Benutzer die Angaben des Setups ndern so mu er den Setup Knopf dr cken Ein Setup Fenster mit Eingabefeldern f r jede benutzerspezifische Information wird am Bildschirm dargestellt Im Setup Fenster gibt es au erdem Kn pfe f r den Interessens kontext eines Mitarbeiters das Speichern der nderungen mittels eines Speichern Knopfes und das Verwerfen der nderungen mittels eines Abbruch Knopfes Der Benutzer kann desweiteren seinen Informationsbedarf bzw seinen Interessenskon text durch Anklicken des Interessenskontext Knopfes mit der Maus aktivieren Dieser be findet sich sowohl im Setup Fenster als auch direkt im Aktionsbereich Beim Anklicken ffnet sich ein Info Fenster in dem der Benutzer seinen Interessenskontext angeben kann e Die Mitarbeiter die im Informationsbereich dargestellt werden e Die Vertraulichkeitsstufen f r alle angew hlten Mitarbeiter Hat der Anwender seine nderungen im Interessenskontext abgeschlossen so hat er die M glichkeit seine nderungen zu speichern oder zu verwerfen siehe Kapitel 5 3 Der Verwaltungsbereich 59 5 Entwurf des Softwaresystems Mole Office Der Anwender kann seine subjektive Kooperationsbereitschaft mittels Anklicken eines der farbigen Symbole bzw Gesichter tempor r ver ndern Hierbei hat die so gew hlte Ko operationsbereitschaft Priorit t gegen ber der vom System berechneten Die nderungen bleiben nur f r den augenblicklichen Termin
4. Im Mole System existiert auch kein Namensdienst ber den man im Agentensystem vor handene Agenten aufsp ren k nnte Meldet man sich z B zum ersten Mal an das Agen tensystem an so kann keine Information ber andere Benutzer in Erfahrung gebracht werden Dazu wurde in dieser Diplomarbeit ein zentraler Namesdienst ber den Admini strator Agenten eingerichtet Da dieser Agent fest in das Mole System integriert ist wis sen alle Agenten des Mole Office Systems von wo sie sich ihre initialen Informationen ber andere Benutzer holen k nnen Der Nachteil dieser L sung besteht darin da die ser Administrator einen zentralen Ausfallpunkt engl lt single point of failure gt darstellt D h wenn der zentrale Agent ausgefallen ist bekommen neue Benutzer keine Informatio nen ber bereits im System vorhandene Benutzer Eine von Mole unabh ngige Schwierigkeit bei der Implementierung bestand darin ein Setup mit in die graphische Benutzeroberfl che zu integrieren da ein Setup eines solch gro en Systems recht flexibel und somit entsprechend umfangreich ist 7 2 Ausblick Bei einem Softwaresystem wie Mole Office existieren viele Erweiterungsm glichkeiten die den ohnehin knappen Zeitrahmen einer Diplomarbeit bei weitem sprengen w rden Angefangen bei der Integration von Videokonferenzen die bereits angedacht wurde ber eine neue Benutzerschnittstelle in der die Gruppenzugeh rigkeit von verschiedenen Be nutzern angezeigt wird bis hi
5. Ist nichts eingetragen oder reichen die Privilegien des anfragenden Benutzers nicht aus so kann das System aufgrund bisheriger Erfahrungen eine Aussage ber die wahrschein liche momentane Kooperationsbereitschaft treffen Die Integration weiterer Kommunikationswerkzeuge ist bis auf die bereits vorhandene Unterst tzung f r elektronische Post nicht geplant CAP Il ist zum Zeitpunkt dieser Arbeit nicht in der Abteilung verf gbar 2 4 1 4 Montage Das von SUN f r SPARCstations und SOLARIS entwickelte Koordinationswerkzeug Montage wurde f r r umlich verteilte Arbeitsgruppen konzipiert Das Ziel von Montage ist es durch die Integration von Video und Audiofunktionalit t kurzfristige spontane Besu che bei Arbeitskollegen zu ersetzen Dies ist z B mit einer Videokonferenz m glich Jeder Benutzer kann durch Angabe seiner momentanen Kooperationsbereitschaft oder seines momentanen Aufenthaltsortes anderen Benutzern von Montage seine Unterbrech barkeit mitteilen Ist der Empf nger einer Anfrage augenblicklich unterbrechbar so wird dieser Benutzer ber ein akustisches Signal entsprechend einem Klopfen an seiner B rot re benachrichtigt Anschlie end kann der Benutzer eine Video bzw Audiokonferenz starten Ist der Empf nger einer Anfrage momentan nicht unterbrechbar so kann ein integrierter Kalender durchsucht eine kleine Notiz hinterlassen oder eine elektronische Nachricht er zeugt werden Die Bewertung anhand der aufgef
6. Roon Administrator eon Agent lt T k EJ EJ Se aT platte E E Watch Ask Agent Agent Abb 13 Architektur des Mole Office Systems Die grundlegenden Objekte in Mole Office sind die Objekte Room und User die die In formationen in Bezug auf die Benutzer und Standardaufenthaltsorte beinhalten Sie wer den jeweils da die Anzahl der Benutzer und R ume nicht beschr nkt ist von einem Vec tor nyRoomVector myUsersVector verwaltet Diese Vectoren beinhalten auch Me chanismen um die momentanen Daten persistent zu machen 74 Anmerkung Die in den Klammer angegebenen Namen sind die real im Mole Office System verwendeten 7 siehe Kapitel 5 4 Der Systemkern 79 6 Implementierung Sowohl der System Agent als auch der Administrator Agent des Mole Office Systems in stanziieren jeweils Vectoren des Typs Room und User Alle Agenten in Mole Office kommunizieren nachdem die gestartet init start wurden ber Nachrichten receiveMessage die sie sich gegenseitig senden k nnen AppClient SenderAndReceiver Der Administrator Agent verwaltet alle Benutzer und R ume die neu in das Mole Office System eingef gt werden Er stellt f r alle Benutzer eine zentrale Informationsquelle dar die es den ihnen erm glicht ihre initialen Informationen ber bereits im System vorhan dene R ume und Benutzer zu erhalten Der System Agent holt sich beim Starten des Systems immer die aktuellen Informationen vom Administ
7. Li96 Li W Telescript Technoloy Mobile Agents General Magic White Paper General Magic 1996 http www genmagic com Telescript Whitepapers wp4 whitepaper 4 html LiMe96 Li W Messerschmitt D G Java To Go Itinerative Computing Using Java 1996 http ptolemy eecs berkley edu dgm javatools java to go Lud89 Ludewig J Einf hrung in die Informatik Skriptum Informatik I II 2 Auflage Z rich vdf 1989 Mae94 Maes P Agents that Reduce Work and Information Overload In Communications of the ACM July 1994 Vol 37 No 7 pp 31 40 Mae951 Maes P Artifical Life meets Entertainment Lifelike Autonomous Agents In Special Issue on New Horizons of Commercial and Industrial Al Communications of the ACM November 1995 Vol 38 No 11 115 6 Implementierung Mae95ll Maes P Intelligent Software Programs that can act independently will case the burdens that computers put on people In Scientific American September 1995 Vol 273 No 3 pp 84 86 MaCr90 Malone T W Crowston K What is Coordination Theory and How Can It Help Design Cooperative Work Systems In CSCW 90 Proceedings of the Conference on Computer Supported Cooperative Work 0 0 ACM Press 1990 pp 357 370 Mas54 Maslow A H Motivation and Personality New York Harper amp Row 1954 MCF94 Mitchell T Caruana R Freitag D u a Experience with a Learning Personal Assi stant In Communications of
8. sowohl unter Solaris Version 2 4 als auch unter Windows NT Version 3 51 bzw Windows 95 funktionieren e Die zu erstellende Software mu die Richtlinien zur Programmierung von Software vom 21 03 1994 der Abteilung IPVR einhalten Dadurch wird ein von der Abteilung IPVR gew nschter Grad an Lesbarkeit und Dokumentierung des Codes sowie ein ge w nschter Grad an Einfachheit der Wartung erreicht e Der Benutzer des Systems soll die M glichkeit haben mobile Agenten zur berwa chung von Aktivit ten eines anderen Benutzers und f r die Informationsgewinnung ein setzen zu k nnen e Das zu entwickelnde System soll zwischen unterschiedlichen Wahrscheinlichkeiten bei der Festlegung von Terminen wie z B findet garantiert statt oder findet m glicher weise statt unterscheiden k nnen Diese Wahrscheinlichkeiten m ssen vom Anwen der in das Kalendermanagementwerkzeug CM explizit eingetragen werden e Die nderung des Status eines Benutzers soll sofort oder nach benutzerdefinierbaren Intervallen angezeigt bzw abgefragt werden e Der Benutzer soll die M glichkeit haben sich einen eigenen Aufenthaltsort zus tzlich zu den im System vorhandenen Standardaufenthaltsorten zu definieren Die Standar daufenthaltsorte ergeben sich aus den T rschildern und rtlichkeiten der Abteilung IPVR der Fakult t Informatik e Das System soll Anfragen anderer Benutzeragenten registrieren und wenn gew nscht am Bildschirm anzeigen Gegebenen
9. Entwurf des Softwaresystems Mole Office farbige Symbole eines Gesichtes die die augenblickliche Kooperationsbereitschaft der jeweiligen Benutzer angeben dargestellt Unter den Symbolen steht der jeweilige Namen des Mitarbeiters und der Raum bzw der Ort an dem sich der Mitarbeiter im Augenblick befindet Im Informationsbereich werden die Mitarbeiter Ort Beziehungen und die Kooperationsbereitschaft der ausgew hlten Teamkollegen dargestellt Klickt ein Benutzer auf eines dieser Symbole kann der Benutzer genauere Informationen ber den angew hlten Benutzer vom Mole Office System erfragen Dazu wird ein Einga befeld ge ffnet in dem der Name des angew hlten Benutzers seine Telefonnummer ein Datumsfeld mit dem aktuellen Datum ein Zeitfeld mit der aktuellen Zeit angezeigt werden Der Benutzer kann das Datum und die Zeitangabe nach seinen W nschen ver ndern um so z B den Status des anderen Benutzers in oder vor zwei Tagen abzufragen und damit weitere Aktivit ten effizient planen bzw nachvollziehen zu k nnen Durch Dr cken eines Best tigungsknopfes wird die Anfrage gestartet indem der Systemagent einen Ask Agenten erzeugt Anschlie end werden die Informationen ber den Status des ange w hlten Benutzers in der Meldungsleiste dargestellt Das kleine Eingabefeld verschwindet wieder Dr ckt der Benutzer einen Abbruchknopf so verschwindet das kleine Eingabefeld ebenfalls wieder Desweiteren hat ein Anwender die M glichkeit b
10. KVSV html BuSe94 S Burger C Sembach F Ein berblick ber Verfahren zur rechnergest tzten Kooperati on Fakult tsbericht 7 1994 Fakult t Informatik Stuttgart 1994 http www informatik uni stuttgart de ipvr vs publications publications html 1994 burger_01 Bus93 Busbach U Kooperation und Koordination in geographisch verteilten Organisationen In Groupware Einsatz in Organisationen GI FG 2 0 1 Personal Computing Symposium number 220 in GMD Studien Hrsg Kl ckner K Marburg 1993 S 81 94 ChMo95 Chapman M Montesi S Overall Concepts and Principles of TINA Version 1 0 1995 TINA Consortium TB_MDC 018 1 0 94 Chi92 Chiueh T Papyrus A History Based VLSI Design Process Management System PhD thesis University of California at Berkeley 1992 CM941 Calendar Manager Solaris User s Guide Kap 5 August 1994 aus Online helpfunction Solaris 2 4 Cri94 Crispin M Internet Message Access Protocol Version 4 0 University of Washington 1994 http www imap org docs base html DeFr92 Dermler G Froitzheim K JVTOS A Reference Model for a New Multimedia Service In Proceedings of the fourth IFIP Conference on High Speed Networks Liege 1992 DiSa93 Diaper D Sanger C Eds CSCW in Practice an Introduction and Case Studies London Berlin Heidelberg u a Springer 1993 Dud89 Das neue Dudenlexikon Meyers Lexikonredaktion 1989 113 6 Implem
11. constructor public boolean action Event evt Object arg Eventhandler SetupColoredPicture Farbbild f r Setup methods SetupColoredPicture Gui app SetupScreen aParent String PictureName int xCoordinate int yCoordinate int xWidth int yHeight constructor public String getFileName Dateiname holen public void setFileName String aFileName Dateiname setzen public void paint Graphics g Bild zeichnen 108 6 Implementierung class public class methods ray tInfo class class SetupRaumButton_CLASS Default Raum Knopf methods SetupRaumButton_CLASS Gui app SetupScreen aParent int xCoordinate int yCoordinate int xWidth int yHeight String aSetupSystemAgentArray String aDefaultRoom constructor public boolean action Event evt Object arg Eventhandler void sendNewDefaultRoomT oSystem String r neuen Default Raum zum System Agenten senden void getAllAvailableRooms alle R ume mit Raumnummer f r Default Room auflisten UserSetup UserSetup Fenster UserSetup Gui app Gui aParent String aSystemAgentInfoAr constructor public void paint Graphics g Trennlinien zeichnen public void getOtherUserParametersFromSystem String systemAgen int alndexOfUser die Parameter der anderen Benutzer vom System Agenten erfragen public void setNewPanel SetupScreen aPanel Link auf Panel Ubergeben ExitButton Exit Knopf methods ExitButton Gui app UserSetup aPar
12. die au Berhalb des Agentensystems liegen zugreifen Durch diesen Mechanismus wird verhin dert da ein Programmierer einen Agenten schreibt der zu beliebigen Orten migrieren und sich dort beliebige Systemresourcen reservieren oder unauthorisiert entfernte An wendungen ausf hren kann 3 2 Agentensysteme mit mobilen Agenten Als mobile Agentensysteme werden Java To Go CyberAgent Ara Telescript und Mole vorgestellt und anhand der vorhandenen Literatur auf die Eignung als zugrunde liegende Technologie der zu erstellenden Software untersucht Diese Agentensysteme sind alle aus der Klasse der verteilten Systeme heraus entstanden d h sie unterst tzen alle die Migration von Agenten Die folgenden Kriterien wurden bei der Bewertung der einzelnen Ans tze verwendet e Verf gbarkeit Das Agentensystem mu bei Beginn der Diplomarbeit im Lehrstuhl verf gbar sein oder es mu ohne weitere Kosten angeschafft werden k nnen e M glichkeit der Integration von anderen Anwendungen Da in dieser Diplomarbeit auch Anwendungen au erhalb des Agentensystems verwendet werden sollen mu im Agentensystem die M glichkeit bestehen solche Anwendungen zu integrieren e Unterst tzung von Java Das Agentensystem mu laut den Anforderungen an die Di plomarbeit die Sprache Java von Sun Microsystems unterst tzen Insbesondere mu die M glichkeit der Kommunikation mit Java Applets bestehen denn das Agentensy stem mu die M glichke
13. hrten Kriterien ergibt da die gew nschte Funktiona lit t durch Montage in Grundz gen zur Verf gung gestellt wird siehe Mue93 vgl TIR94 23 2 Computerunterst tztes Kooperatives Arbeiten CSCW Die momentane Kooperationsbereitschaft eines Benutzers ist direkt ber die Benutzer oberfl che erkennbar Der Benutzer kann die Priorit t einer Aufgabe durch seine mo mentane Unterbrechbarkeit mitteilen Der physikalische Aufenthaltsort kann wie auch die Start und Endzeit eines Termins im System angegeben werden Die M glichkeit der An gabe von statischen und dynamischen Rauminformationen fehlt jedoch Die Integration von weiteren Kommunikationswerkzeugen zus tzlich zu der bereits vor handenen Unterst tzung f r Video und Audiokonferenzing Email und Kalendermanager ist in Vorbereitung Dieses Werkzeug war zum Zeitpunkt der Diplomarbeit jedoch nicht in der Abteilung ver f gbar 2 4 2 Die Funktionalit t vorhandener Kooperationswerkzeuge Folgende Kooperationswerkzeuge wurden untersucht 2 4 2 1 DIVA Diese virtuelle B roumgebung unterst tzt synchrone und asynchrone Kommunikation Koordination und Kooperation Dazu orientiert sich DIVA mit seiner graphischen Benut zeroberfl che an einem realen B ro so da abstrakte Elemente f r Mitarbeiter R ume Schreibtische und Dokumente im Softwaresystem existieren bzw dargestellt werden k nnen und jeder Benutzer ein eigenes virtuelles B ro erh l
14. public void setNewPanel SetupScreen aPanel Link zu Panel bergeben SetupLabel3 umzubennenenden Label erstellen method SetupLabel3 Gui app RoomSetup aParent int xCoordinate int yCoordinate int xWidth int yHeigth String labelText int fontSize constructor ForewardiButton n chsten Raum anzeigen methods ForewardiButton Gui app RoomSetup aParent int xCoordina int yCoordinate int xWidth int yHeight String aSystemAgentinfo constructor public boolean action Event evt Object arg Eventhandler public void getRoomParametersFromSystem String systemAgentinfo Raumparameter von System Agenten holen Backwards IButton vorherigen Raum anzeigen methods BackwardsliButton Gui app RoomSetup aParent int xCoordinate int yCoordinate int xWidth int yHeight String aSystemAgentinfo constructor public boolean action Event evt Object arg Eventhandler public void getRoomParametersFromSystem String systemAgentinfo Raumparameter von System Agenten holen NewButton neuen Raum erstellen methods New Button Gui app RoomSetup aParent int xCoordinate int yCoordinate int xWidth int yHeight String aSystemAgentinfo constructor 111 6 Implementierung class xWidth public class method public class public boolean action Event evt Object arg Eventhandler public void sendRoomParametersToSystem String systemAgentinfo Parameter des neuen Raum
15. tigtem und das Anwenden von Erlerntem um eine entsprechende Aufgabe l sen zu k n nen Man kann anhand des Gelernten R ckschl sse auf die vergangenen Aktivit ten z B ber pers nliche Erfahrungen und erworbene Fertigkeiten ziehen Hat sich ein Mitarbei ter in einem Projekt spezielle Kenntnisse und Erfahrungen in Bezug auf die Programmier sprache Java erworben so kann man davon ausgehen da dieser Mitarbeiter auch in Zukunft von diesen neuen Fertigkeiten profitieren wird er also in der Lage ist weitere Aufgaben in Bezug auf diese Programmiersprache zu erledigen Nachdem der Begriff einer Aktivit t n her erl utert wurde werden nun die Beziehungen zwischen Aktivit ten Orten und Mitarbeitern untersucht 11 2 Computerunterst tztes Kooperatives Arbeiten CSCW Beziehungen zwischen Aktivit ten und Orten Manche Aktivit ten k nnen nur an bestimmten Orten mit speziellen Eigenschaften durch gef hrt werden Man kann z B in einem kleinen B ro kein gro es Arbeitstreffen mit vielen Beteiligten sinnvoll abhalten oder man braucht spezielle Ausr stung wie einen Over headprojektor eine Videokamera oder eine Tafel um verschiedene Aspekte eines Vor trages zu verdeutlichen In manchen F llen kann es sogar sein da nur ein Ort im ge samten Geb ude f r eine bestimmte Aktivit t geeignet ist Man braucht also einerseits statische Informationen ber die Gr e des Raumes und sei ne Einrichtung Andererseits ben tigt
16. von den Systemagenten verwaltet Zus tzlich ist zu jedem Standardaufenthaltsort eine Standardkooperationsbereitschaft angegeben die in die Berechnung des Status des Benutzers einflie t Hierbei wird davon ausgegangen das der Mitarbeiter nur in seinem eigenen B ro die h chste Kooperations bereitschaft in bezug auf andere Mitarbeiter hat Befindet sich der Mitarbeiter an einem anderen Aufenthaltsort so ist seine Kooperationsbereitschaft von den anderen Mitarbei tern aus gesehen prinzipiell niedriger als in seinem eigenem B ro Der Benutzer kann diese Standardkooperationsbereitschaft ber das dem Softwaresystem integrierte Setup entsprechend seine W nschen und Vorstellungen anpassen Def Kooperationsbereitschaft Unter Kooperationsbereitschaft wird im folgenden der Wille eines Mitarbeiters zur Koope ration und sein daraus resultierendes Verhalten in Bezug auf St rungen zu einem be stimmten Zeitpunkt verstanden Es gibt zwei grundlegende Einflu faktoren auf die Kooperationsbereitschaft der Benutzer objektive und subjektive Die objektiven Einflu faktoren auf die Kooperationsbereitschaft sind die Termine und Aufgaben die der Mitarbeiter abzuarbeiten hat also die Termininformationen aus dem Kalendermanagementwerkzeug CM des Benutzers wobei hier unterschieden wird in e kein e Termin Aufgabe in den Kalender eingetragen e ein e Termin Aufgabe ohne Priorit t in den Kalender eingetragen e ein e Termin Aufgabe mit Pr
17. B einem Agenten und einem Benutzer kann asynchron stattfinden Der Vorteil hierbei liegt darin da der Initiator einer Aktion nicht auf deren Ende und die Ergebnisse warten mu Mobile Agenten k nnen also wenn sie entsprechend programmiert sind ohne dauernden Kontakt zum Anwender ar beiten e Die Kommunikation kann lokal und nicht nur entfernt stattfinden Hierdurch ist es m g lich effektiv Netzbandbreite zu sparen In verschiedenen Situationen kann z B die Kommunikation mittels eines mobilen Agenten schneller ablaufen als Kommunikation mit RPC s Sind in einem Netzwerksystem mit geringer Bandbreite z B mehrere Anfra gen an einen Server zu stellen so k nnte es schneller sein einen Agenten zu diesem Server hin migrieren ihn dort lokal die Anfragen bzw Aufgaben ausf hren und wenn das Ergebnis vorliegt ihn wieder zur ck migrieren zu lassen als mehrere Anfragen ber das Netzwerk zu senden 35 vgl Hoh95 Hoh96 vgl Hoh95 Hoh96 HCK95 29 3 Agententechnologie e Mobile Agenten unterst tzen die Echtzeitdatenverarbeitung bei einem Server indem sie zu diesem Server hin migrieren un dort lokal kommunizieren Dadurch sind die bertragungszeiten der Daten k rzer insofern ist die Verarbeitung schneller e Client Server Computing ist auch mittels mobiler Agenten m glich Nachteile eines Agentensystems mit mobilen Agenten e Verschiedene Sicherheitsaspekte m ssen unbedingt ber cksichtigt werden
18. Kooperationsbereitschaft wird neu berechnet Analog zu Zustand 19 k nnen auch neue Termine beginnen und enden Die Zust nde 22 bis 24 sind direkt vergleichbar mit den Zust nden 19 bis 21 mit dem Unterschied da sich der Benutzer momentan in seinem B ro befindet Entsprechend er geben sich andere Folgezust nde bei den jeweiligen Ereignissen die aber leicht aus der Tabelle abzulesen sind Die einzige Besonderheit ist die Tatsache da der Zustand 24 als Start bzw Initialzustand des Softwaresystems benutzt wird da dieser Zustand der Tatsache entspricht da sich der Benutzer in seinem B ro befindet und gerade einen Termin beendet hat Falls kein Termin im Kalender eingetragen ist und der Benutzer kei ne subjektive Kooperationsbereitschaft angegeben hat ist die Kooperationsbereitschaft die des B ros 78 6 Implementierung 6 Implementierung Im sechsten Teil dieser Diplomarbeit wird nun n her auf die prototypische Implementie rung des Mole Office Systems eingegangen Zuerst wird dazu die Architektur des Mole Office Systems erl utert Anschlie end wird die Benutzeroberfl che des Systems beschrieben Am Ende des Kapitels werden die Metho den Aufrufe und die Kommunikation der wichtigsten Objekte im Mole Office System wie z B die Agenten n her erl utert 6 1 Die Architektur des Mole Office Systems Im Mole Office System wurde ausgehend von den grundlegenden Informationsquellen folgende Architektur gew hlt
19. Softwaresystems Die Funktionalit t der Informationsobjekte die bereits im Informationsstandpunkt zur Veranschaulichung angegeben wurden wird hier um der Voll st ndigkeit gen ge zu tun noch einmal angegeben 4 3 1 Die Aspekte der Benutzerschnittstelle e Die anderen Benutzer sollen als graphisches Symbol oder als Bild auf der graphischen Benutzeroberfl che dargestellt werden Der Status des Benutzers soll auf einen Blick erkennbar sein Desweiteren sollen Terminanfragen anderer Benutzer am Bildschirm durch ein blinkendes Symbol dargestellt werden e Durch Klicken mit der Maus auf das Symbol eines anderen Benutzers soll eine Anfrage ber den genauen Status des Benutzers in der Vergangenheit der Gegenwart oder in der Zukunft erm glicht werden Das Ergebnis dieser Anfrage enth lt unter Wahrung von Vertraulichkeitsstufen zumindest den Namen des angefragten Benutzers und wenn es die Vertraulichkeitsstufe erlaubt auch die Raumnummer die Telefonnummer den augenblicklichen Status und wenn gew nscht den Status zu einer benutzerdefinierten Zeit z B in der Zukunft am Tag X um 11 15 Uhr e Der Benutzer soll seinen Aufenthaltsort und seinen augenblicklichen Grad der Unter brechbarkeit sowie seinen Informationsbedarf ber eine direkte Eingabe mit der Maus seinen W nschen entsprechend ver ndern k nnen oder dies durch einen Eintrag in seinem Kalender automatisch ausl sen e Der Benutzer soll das Setup das ihm die M glichkeit bi
20. String pw construtor public MSAskAgent String einString AgentName aName LocationName LocationName t Long t1 Long t2 constructor public void start beim Starten des Agenten public void stop beim Stoppen des Agenten public void receiveMessage Message m Nachrichten erhalten message ReplyFromMSSystemAgent Antwort eines System Agenten erhalten ReplyFromMOAdminitratorAgent Antwort des Administrator Agenten erhalten MSWatchAgent Watch Agent public MSWatchAgent constructor public MSWatchAgent String einString AgentName aName LocationNa h LocationName t constructor public MSWatchAgent String einString AgentName aName LocationNa h LocationName t Long t1 Long t2 constructor 103 6 Implementierung public void start beim Starten des Agenten public void stop beim Stoppen des Agenten 8 2 2 Die Benutzeroberfl che von Mole Office public class methods class ten class class boxGroup en Gui Applet der Benutzeroberfl che public void init Initialisierung public boolean checklfSystemSetup String aSystemAgentinfo Test ob das Setup beendet ist screen2_2 Hauptfenster der GUI methods Screen2_2 Gui app Gui aParent SetupScreen aNewSetupScreen MailScreen aNewMailScreen VideoScreen aNewVideoScreen String aSystemAgentinfo constructor public void paint BegrenzungsLinien zeichen void checkUserStateAndRoom akt
21. den Proze der Softwareentwicklung an dem i a mehrere Personen beteiligt sind Dies geschieht dadurch da der Software Lebenszyklus also Analyse Design Implementie rung Test Integration und Wartung einer Software durch Integration geeigneter Ent wicklungswerkzeuge wie z B Versionsverwaltungswerkzeuge vereinfacht oder sogar teilweise automatisiert wird Durch CASE Tools werden also die einzelnen Phasen des Lebenszyklus bzw die Projektarbeit zur Erstellung eines Softwaresystems koordiniert Kooperative Lernsysteme Kooperative Lernsysteme k nnen insofern als Koordinationswerkzeuge betrachtet wer den als sie Lehrer und Sch ler bei der Auswahl Planung und Durchf hrung von zielge richteten Aktionen unterst tzen bzw koordinieren Die Systeme k nnen den Lernproze entweder direkt steuern indem sie die Sch ler auf einen vorgegeben Weg f hren oder sie k nnen den Lernproze auch nur berwachen Ferndiagnosesysteme Diese Systeme unterst tzen die Kommunikation und Koordination zwischen lokalen An wender und entfernten Experten und tragen somit effektiv zur Behebung von Fehlern und der L sung von Problemen im Hard und Softwarebereich bei Der Anwender und der Ex perte arbeiten dabei gleichzeitig mit vorgegenen Aufgaben die sich in den verschiedenen Rollen niederschlagen Dabei kann das Diagnosesystem z B dem lokalen Benutzer eines Softwaresystems Hilfestellungen zur Auswahl und zum Ablauf von Diagnoseschritte
22. des Kollegen den man fra gen m chte von selbst erledigt wenn es sich um eilige Termingesch fte handelt Wenn der Anwender trotz fehlender Kooperations bzw Kommunikationsbreitschaft mit dem passenden Mitarbeiter synchron kommunizieren will ist es wahrscheinlich da der Arbeitsablauf dieses Mitarbeiters durch das Hilfegesuch empfindlich gest rt wird Solch eine St rung des Arbeitsablaufes k nnte nur im Fall einer Aufgabe mit gr erer Priorit t gerechtfertigt sein Findet eine Kommunikation statt wird der angesprochene Mitarbeiter im Rahmen seiner Kooperationsstrategie seines die Kooperationsanfrage annehmen bzw ablehnen Man erkennt da Beziehungen zwischen einzelnen Mitarbeitern und Aktivit ten die meh rere Mitarbeitern betreffen alle Beteiligten direkt beeinflussen Die daraus resultierende Kommunikation tr gt im Fall der Annahme einer Kooperationsanfrage dann letztendlich zur gew nschten Kooperation bei Anmerkung Arbeitsplatzbeschreibungen wird hier im Sinne von Mitarbeiterbeschreibungen bzw Stellenbeschreibungen verstanden 1 siehe Kapitel 5 1 Der substantielle Bereich 15 2 Computerunterst tztes Kooperatives Arbeiten CSCW 2 3 Klassifizierung von Koordinations und Kooperationswerkzeugen Da in dieser Diplomarbeit ein System zur Unterst tzung von Teamkoordination geschaf fen werden soll werden im folgenden nur die Bereiche der Koordinations und Kooperati onswerkzeuge n her daraufhin un
23. g Trenlinien zeichnen public void getUserParametersFromSystem String systemAgentlnfo Benutzerparameter vom System Agenten holen class CancelAndBackKnopf_CLASS Setup beenden und zur ck zu Screen2_2 methods CancelAndBackKnopf_CLASS Gui app SetupScreen aParent int xCoordinate int yCoordinate int xWidth int yHeight SetupTextField aNameField SetupTextField aPreNameField SetupTextField aMailAdressField SetupTextField aPasswordOfUserField SetupTextField aPrivateTelefonNumberField SetupT extField aNameOfCmField SetupTextField aTimelntervallOfMail SetupTextField aTimelntervallOfUpdate SetupTextField aTimeOfWorkField SetupTextField aTimeOfLunchField SetupRaumButton_CLASS aDefaultRoomButton String aDefaultRoom String aSystemAgentinfo constructor public boolean action Event evt Object arg Eventhandler void sendNewDefaultRoomToSystem String r neuen Default Room an System Agent senden public void setNewPanel Screen2_2 aPanel Link auf Panel bergeben public void getUserParametersFromSystem String systemAgentinfo aktuelle Benutzerparameter vom System Agenten holen class SaveAndBackKnopf_ CLASS Ar nderungen abspeichern und zur ckkehren auf Screen2_2 methods SaveAndBackKnopf_CLASS Gui app SetupScreen aParent int xCoordinate int yCoordinate int xWidth int yHeight SetupTextField aNameField SetupTextField aPreNameField SetupTextField aMailAdressField SetupTextField aPasswordOfUserF
24. hrungszeit durch paralleles Arbeiten entsprechend beschleunigen k nnen Java To Go ist in der Programmiersprache Java programmiert worden da in dieser Spra che eine nahtlose Unterst tzung f r Netzwerkverbindungen und Sicherheitsdienste inte griert wurden Desweiteren erm glicht die virtuelle Maschine von Java das Java To Go auf allen Plattformen die Java unterst tzen funktioniert Zus tzlich erhalten die Agenten ihre Befehle und Daten direkt von Java Applets an die sie auch entsprechende Daten wieder zur ck senden k nnen Bewertung anhand der aufgef hrten Kriterien Das Agentensystem Java To Go unterst tzt die Programmiersprache Java und hat auch die M glichkeit direkt ber Java Applets zu kommunizieren Andere Anwendungen k n nen ber entsprechende Schnittstellen mittels Hall Server in das Agentensystem einge bunden werden Dieses Agentensystem war erst Ende Juli 1996 in der Version Pre alpha 0 95 verf gbar so da das Kriterium der Verf gbarkeit nicht erf llt und das Agentensy stem nicht verwendet werden konnte 3 2 2 CyberAgent Von der Firma FTP Software Inc wurde im Laufe des Jahres 1996 die CyberAgent Tech nologie entwickelt Hierbei handelt es sich um intelligente mobile Agenten die von Netz werkadministratoren zur Verwaltung des Netzwerks und zur L sung von Problemen ein gesetzt werden k nnen Das Agentensystem wurde in der Programmiersprache Java implementiert da diese eine gewisse Plattformunabh n
25. inier nint t A EE E EEA EER AEREN 21 VAFA CAR E 22 2 4 1 4 M ont ge 32 2222 223 8 42 58322888 RES 2 Bis eet ie Bu ea eta eae 23 2 4 2 Die Funktionalit t vorhandener Kooperationewerkzeuge 24 242I KK ET 24 2 4 2 2 GroupDesk SY Stem E 25 3 AGENTENTECHNOLOGIE E 27 SE ADERINITIONEN Pen EEE A age E E E E EA 27 3 2 AGENTENSYSTEME MIT MOBILEN AGENTEN san 32 GE 32 3 2 2 CYberA gent wile sah tai ra Sat act ea tae a ae aad ree eee alee aaa ata amauta aad Rae 33 SE EE 35 3 2 4 Telese ripl sen ann 36 BEI MON es ee east 37 4 BRODUKTSPEZIEIKATION ner RR 38 4 1 DER NTERNEHMENSSTANDPUNKT 24 3422 4402 He0 gedgEEe gedeien 39 4 2 DERINFORMATIONSSTANDPUNKT 22 2 2 2 Ha RAR DER 41 4 3 DER BERECHNUNGSSTANDPUNKT a EIER 43 4 3 1 Die Aspekte der Benutzerschnittstelle AAA 43 4 3 2 Die Aspekte der Schnittstelle zum Mailtool 2 2 HR 44 4 3 3 Die Aspekte der Schnittstelle zum Kalendermanagementwerkzeug CH 44 3 1 Einleitung 4 3 4 Die Aspekte der Funktionalit t von Mole Office 2222444s2222nnnnnennessssnnnennnnnensnnnnnn 45 4 4 DER ENGINEERINGSTANDPUNKT sssssseessseseerssessstrsstrsstrsstrsserssetesetsetrsstrsstosserssersseessersere 46 4 5 DER TECHNOLOGIESTANDPUNKT ttres et tresse trees strrsstrrseserseets 47 5 ENTWURE DES SOFTWARESYSTEMS MOLE OFFICE ccccccssssssccssssssccccssssesessees 49 5 1 DER SUBSTANTELLE BEREICH mien neniarn n a a a A Ea o ra SCE oana 50 5 2 DER EE Die KEE Eet EE 60 5 3 DER NER
26. locations bergreifend zu kommunizieren Bewertung anhand der aufgef hrten Kriterien Das Mole Agentensystem war bereits seit Beginn der Diplomarbeit am Lehrstuhl im Ein satz Durch seine Implementierung in Java unterst tzt es s mtliche Features von Java so da die M glichkeit der Kommunikation ber Applets im Agentensystem generell gegeben ist Im Augenblick ist jedoch nur die Kommunikation von einem Java Applet zu einem Agenten realisiert Der umgekehrte Weg die Weitergabe von Informationen an ein App let ist zwar m glich aber noch nicht offiziell freigegeben Andere Anwendungen k nnen ber entsprechende Schnittstellen eines Systemagenten ins Agentensystem integriert werden Da das Mole Agentensystem das einzige Agentensystem ist das die aufgef hrten Kriteri en erf llt und da es bereits in der Abteilung IPVR eingesetzt wird wurde es in dieser Di plomarbeit als Agentensystem mit mobilen Agenten ausgew hlt 37 4 Produktspezifikation 4 Produktspezifikation Um die Komplexit t des Softwaresystems n her zu untersuchen und zu verstehen wird eine Spezifikationstechnik aus ChaMon95 verwendet Diese Technik basiert auf dem Referenzmodell f r offenes verteiltes Arbeiten IsolecI92 IsoleclI92 IsolecllI92 und ist ein Standardvorgehen f r die Spezifikation von generischen verteilten Systemen Ein zu spezifizierendes Softwaresystem wird dabei von f nf Standpunkten aus untersucht Unternehmen Berechnung Inf
27. lokalen Anwender nicht zwischen gespeichert Der lokale Anwedner erh lt nur die vom Mole Office System automatisch generierte elek tronische Post gt Der Anwender hat keinen Watch Agenten an den versandt Der Interessenskontext eines Benutzers enth lt also eine Menge von anderen Benutzern gt siehe Kapitel 5 4 Der Systemkern 56 5 Entwurf des Softwaresystems Mole Office e von denen Ereignisse empfangen werden deren Status innerhalb der Benutzeroberfl che dargestellt wird und Vertraulichkeitsstufen des jeweiligen Benutzers Nachdem die zugrundeliegenden Konzepte der Kommunikation erl utert wurden wird nun die Benutzerschnittstelle des Mole Office Systems wie folgt gestaltet Person A Person B Person C Person D Person E Biiro 2 17 Raumnr 2 18 Mensa zu Hause benutzerdefiniert Person F Person G Person H Person I Person J Raumnr 2 18 B ro 2 21 B ro 2 22 Mensa SES 20 02 D sch Meldungen el ationsbedarf a Buo R 2 18 R 2 19 R 2 R220 R R22 21 R 2 22 R 2 23 R 2 24 Abb 9 Der Entwurf der Benutzerschnittstelle Die Benutzerschnittstelle gliedert sich in zwei Bereiche den Informationsbereich und den Aktionsbereich Der Informationsbereich Im ersten oberen Bereich dem Informationsbereich werden die im Setup von Mole Office bzw die im Interessenskontext angegebenen Mitarbeiter der Arbeitsgruppe durch siehe Kapitel 5 3 Der Verwaltungsbereich 57 5
28. man dynamische Informationen z B in wie weit der Raum im Augenblick belegt bzw frei ist Beziehungen zwischen Aktivit ten und Mitarbeitern Die Beziehungen zwischen Mitarbeitern und ihren Aktivit ten ergeben sich aus den Ver pflichtungen der Mitarbeiter bestimmte Aufgaben mit einer bestimmten Priorit t zu erledi gen Die Aufgaben k nnen bereits erledigt sein im Augenblick bearbeitet werden oder erst f r die Zukunft geplant sein Aus der Priorit t von noch zu erf llenden Aufgaben und der damit verbundenen Verpflichtung kann man die Kooperationsbereitschaft eines Mitar beiters z B sein Verhalten in Bezug auf St rungen zu einem bestimmten Zeitpunkt ab leiten Es werden also Informationen ber den Status der zu erledigenden Aufgaben und deren Priorit t f r die einzelnen Mitarbeiter ben tigt um R ckschl sse auf die Kooperationsbe reitschaft ziehen zu k nnen Insbesondere der Start und Endpunkt aller Aktivit ten des Mitarbeiters m ssen bekannt sein um St rungen zu verhindern Desweiteren werden In formationen ber die Fertigkeiten und F higkeiten einzelner Mitarbeiter ben tigt damit bestimmt werden kann welche Mitarbeiter die Fertigkeit haben einzelne Aufgaben zu er ledigen bzw neue Fertigkeiten innerhalb eines vorgegebenen Zeitrahmens zu erlernen Beziehungen zwischen Mitarbeitern und Orten Diese Beziehung beschreibt an welchem Ort sich ein Mitarbeiter gerade befindet Nicht betrachtet wird hier die vir
29. mit den Namen inte griert um die speziellen Informationen ber den aktuellen Benutzer wie z B die Telefon nummer abzufragen bzw um einen Ask Agenten der den Aufenthaltsort oder und die Kooperationsbereitschaft des entsprechenden Benutzers ndert an den Benutzer zu senden In der momentanen Version von Mole Office k nnen nur bis zu max acht Benutzer in den Interessenskontext aufgenommen werden da sonst die gesamte Darstellung des Applets nicht mehr auf einen Bildschirm passen w rde Die Meldungszeile und der Hilfeknopf funktionieren wie im Entwurf beschrieben Da das Setup des Mole Office Systems einen erheblichen Teil des Programmieraufwan des f r das System ausmachte werden nun noch die entsprechenden Setup Fenster n h jeben Applet Viewer mole moleschedule Gui class joerg zimmer studbox uni stuttgart de m 09 00 18 00 31 30 12 30 Abb 15 Das Setup Fenster von Mole Office 82 6 Implementierung Das Setup Fenster SetupScreen von Mole Office kann entweder aufgerufen werden in dem man den Setup Knopf auf der Benutzeroberfl che dr ckt oder automatisch beim er sten Starten des Mole Office Systems Das Setup Fenster gliedert sich in drei unterschiedliche Teile Im ersten Teil werden die Informationen des Systemagenten wie die Beschreibung der Name die Location und der Engineport des lokalen Benutzers angezeigt Im zweiten Teil kann der Benutzer seinen Namen seinen Vornamen seine Mailadre
30. oder Ort bestehen Wechselt der Anwender seinen Aufenthaltsort bzw endet dieser Termin oder es beginnt ein neuer Termin wird also ein Ereignis im Mole Office System ausgel st wird die Kooperationsbereitschaft wieder an vom Softwaresystem berechnete angepa t e Das gr ne l chelnde Gesicht steht f r eine hohe Kooperationsbereitschaft also f r die erste Stufe Kontaktfreudig des zuvor erkl rten Modells e Das gelbe neutrale Gesicht steht f r eine mittlere Kooperationsbereitschaft Diese entspricht der zweiten Stufe Bitte nicht st ren e Das rote rgerliche Gesicht steht schlie lich f r eine niedrige Kooperationsbereit schaft und entspricht der dritten Stufe Keine St rung Der Anwender kann insbesondere seine augenblickliche Kooperationsbereitschaft direkt von der Benutzeroberfl che ber das entsprechend ausgew hlte Gesichtssymbol able sen Indem der Benutzer einen der Raumkn pfe dr ckt kann er sich von Standardaufenthalts ort zu Standardaufenthaltsort bewegen um z B ein spontanes Treffen mit einem Mitar beiter an einem entsprechenden Standardaufenthaltsort abzuhalten 5 2 Der Gebrauchsbereich In diesem Bereich werden die Schnittstellen zu den externen Komponenten wie Mailtool und Kalendermanagementwerkzeug CM definiert Desweiteren wird hier die Einbindung von Mole Office in das Agentensystem Mole erl utert Das zu erstellende Werkzeug Mole Office besteht aus verschiedenen individuell ko
31. setupButton_CLASS Gui app Screen2_2 aParent Systemmeldungen_CLASS Systemmeldungen constructor public boolean action Event evt Object arg Eventhandler public void setNewPanel SetupScreen aPanel Link auf Panel bergeben public void switchToSetup Zum SetupScreen umschalten wenn Setup noch nicht been det class videoButton CLASS Knopf f r sp tere Videokonferenz methods videoButton_CLASS Gui app Screen2_2 aParent Systemmeldungen_CLASS Systemmeldungen constructor public boolean action Event evt Object arg Eventhandler public void setNewPanel VideoScreen aPanel Link auf Panel bergeben class updateButton_CLASS Knopf f r Update methods updateButton_CLASS Gui app Screen2_2 aParent Systemmeldungen_CLASS Systemmeldungen String systemAgentinfo constructor public boolean action Event evt Object arg Eventhandler void updateAndAnswer Gui auf aktuellen Informationsstand bringen class mailButton_CLASS Knopf f r MailScreen methods mailButton_CLASS Gui app Screen2_2 aParent 105 6 Implementierung class class Benutzer me class class class class class Systemmeldungen_CLASS Systemmeldungen constructor public boolean action Event evt Object arg Eventhandler public void setNewPanel MailScreen aPanel Link auf Panel bergeben nameButton allg Knopf erschaffen den man unbenennen kann method nameButton Gui app S
32. the ACM July 1994 Vol 37 No 7 pp 81 91 M Sc92 M hlh user M Schaper J Project NESTOR New Approaches to Cooperative Multi media Authoring Leraning In Computer Assisted Leraning fourth International Conference ICCAL 92 Vol 602 von Lecture Notes in Computer Science Eds Tomek Wolfville Nova Scotia Springer 1992 Mue93 M ller J Hrsg Verteilte K nstliche Intelligenz Methoden und Anwendungen Mannheim Leipzig Wien Z rich BI Wissenschaftsverlag 1993 NRZ92 Nodine M H Ramaswamy S Zdonik S B A Cooperative Transaction Model for De sign Databases In Database Transaction Models for Advanced Applications Hrsg Elmargamid A K San Mateo Morgan Kaufmann 1992 Kap 3 S 53 85 Ous95 Ousterhout J Scripts and Agents The New Software High Ground Invited Talk USENIX Conference 1995 PYF92 Palaniappan M Yankelovich N Fitzmaurice G u a The Envoy Framework An Open Architecture for Agents In ACM Transactions on Information Systems July 1992 Vol 10 No 3 pp 233 264 PSF95 Paulsen V Syri A Fuchs L u a Cooperative Awareness in the GroupDeskSystem In ECSCW 95 Proceedings of the Fourth European Conference on Computer Supported Co 116 6 Implementierung operative Work Eds Marmolin H Sundblad Y Schmidt K Dordrecht Boston London Kluwer Academic Publishers 1995 pp 81 82 Pei95 Peine H Programmierunterst tz
33. wer den alle zus tzlich von den Benutzern des Mole Office System eingef gten Standar daufenthaltsorte die im Administrator Agenten gespeichert sind in die lokale Datenbasis eingef gt getAdditionalRooms 93 6 Implementierung 7 Zusammenfassung 7 1 Ergebnisse Im Rahmen dieser Diplomarbeit wurde nach eingehender Untersuchung vorhandener Ko ordinations und Kooperationswerkzeuge aus dem Bereich des CSCW festgestellt da zur Zeit noch keine Koordinationswerkzeuge am Markt existieren die alle f r diese Di plomarbeit ben tigten Informationen zur Kooperation verwalten oder bereitstellen Bei diesen Informationen handelt es sich um den Status und die Priorit t einer Aufgabe statische und dynamische Rauminformationen den physikalischen Aufenthaltsort jedes Mitarbeiters in einem Team zu jedem beliebigen Zeitpunkt und den Start und Endpunkt von Aktivit ten und Aufgaben Desweiteren existieren bisher keine Werkzeuge in die verschiedene Kommunikations und Koordinationswerkzeuge wie elektronische Post ein Kalendermanager oder Video konferenzing integriert werden die die Kooperationsbereitschaft eines Mitarbeiters in ei nem Team direkt am Bildschirm anzeigen k nnen und die ein Agentensystem mit mobilen Agenten verwenden Daraufhin wurde das Softwaresystem Mole Office aus der Sicht verschiedener Untersu chungsstandpunkte spezifiziert und mittels des USCM Modells entworfen Anschlie end wurde eine prototypische Implementie
34. zu Beginn oder w hrend einer Kooperation und zwar durch die Vorgabe von entsprechenden Zielen oder die Entdeckung eines Konfliktes Hierbei ist der Konfliktfall besonders hervorzuhe ben da es dort zu einer Blockierung eines oder mehrerer beteiligter Partner kommen kann Damit z B die Mitarbeiter in einem Unternehmen ihre Aufgaben erledigen k nnen m s sen sie entweder alleine oder in Kooperation mit anderen Mitarbeitern an gegebenen Or ten entsprechende Teilaktivit ten ihrer Gesamtaufgabe ausf hren Aufgrund der Abh n gigkeiten und Beziehungen zwischen diesen Teilaktivit ten den entsprechenden Orten und Mitarbeitern m ssen die einzelnen Teilaktivit ten um Chaos zu vermeiden geplant werden Erst durch diese Planung die nur anhand von entsprechenden Informationen 2 Computerunterst tztes Kooperatives Arbeiten CSCW ber die betroffenen Mitarbeiter durchgef hrt werden kann ist es m glich da die Akti vit ten und Arbeitsabl ufe effizient und effektiv durchgef hrt werden Besonders ist hierbei die Tatsache noch einaml hervorzuheben da die einzelnen Akti vit ten voneinander abh ngen bzw sich gegenseitig beeinflussen k nnen Schreibt man z B eine Einleitung f r ein Dokument sind die folgenden Kapitel semantisch von der Ein leitung abh ngig ndert man die Einleitung so mu der Rest der Arbeit nachgef hrt werden W rde das Dokument in einem Team geschrieben werden so m ten sich alle mitarbei tende
35. 1 Einleitung Pr fer Prof Dr Kurt Rothermel Betreuer Dr Cora Burger Dipl Inform Hartmut Benz Begonnen am 01 06 1996 Beendet am 30 11 1996 CR Nummer C 2 4 C 2 M D 2 1 H 5 2 H 5 3 Diplomarbeit Nr 1421 Benutzeragenten zur Unterst tzung von Teamkoordination J rg Zimmer 1 Einleitung Kurzfassung Die Unterst tzung der Teamarbeit ist im Zuge der zunehmenden r umlichen Verteilung der ein zelnen Mitarbeiter eines Teams eine der wichtigsten Aufgaben im Gebiet der verteilten Systeme Die Teamarbeit in solchen Gruppen besteht aus einer gro en Anzahl von Aktivit ten der einzel nen Mitarbeiter die um Chaos und Ineffizienz zu vermeiden aufeinander abgestimmt werden m ssen Um dies zu leisten sollen die einzelnen Mitarbeiter die M glichkeit haben sich ber die mo mentane oder zuk nftige K ooperationsbereitschaft ihrer Kollegen zu informieren Im Rahmen dieser Diplomarbeit wurde nach eingehender Untersuchung vorhandener Koordina tions und Kooperationswerkzeuge aus dem Bereich des CSCW festgestellt da zur Zeit noch keine Koordinationswerkzeuge am Markt existieren die alle der folgenden Kriterien e rf llen Es soll die M glichkeit bestehen alle zur Kooperation ben tigten Informationen zu verwalten Verschiedene Kommunikations und Koordinationswerkzeuge sollten integriert werden k nnen die Kooperationsbereitschaft eines Mitarbeiters in einem Team sollte direkt am Bildschirm ange zeigt we
36. 1 wird nun das in dieser Diplomarbeit verwendete Kooperationsmodell erl utert in dem der Einflu der Koordination auf die Kooperation genauer gekl rt wird Q Person A DIV Person B Sv Kooperationsbedarf Kooperationsbedarf Kooperationsstrategie Kooperationsstrategie y 4 A Benutzeroberfl che Benutzeroberfl che 4 koordinierende koordinierende Tatigkeiten Tatigkeiten Kommunikation Kommunikation asynchrone synchrone asynchrone synchrone Abb 2 Das Kooperationsmodell Erl uterungen zum Kooperationsmodell Bei einem Mitarbeiter in einem Team kann eine Diskrepanz zwischen seinen Aufgaben und den damit verbundenen Zielen und seinen Fertigkeiten bzw seinem Wissen entste hen Diese Diskrepanz hier der Kooperationsbedarf kann sowohl positiv der Mitarbeiter hat freie Kapazit ten als auch negativ der Mitarbeiter braucht Hilfe sein Um seinen Kooperationsbedarf mit anderen Mitarbeitern abzustimmen definiert sich jeder Mitarbeiter eine Kooperationsstrategie mit der er nach seinen individuellen Bed rfnis sen festlegt inwiefern er anderen hilft bzw unter welchen Bedingungen er Hilfe von an deren Mitarbeitern beziehen m chte Insbesondere mu der Mitarbeiter wenn er koope rieren will eine Art von Koordinationsplanung durchf hren in der er die Mitarbeiter seiner 14 2 Computerunterst tztes Kooperatives Arbeiten CSCW Arbeitsgruppe bestimmt die die entsprechenden F higkeiten bzw
37. 2 RR Ra ER RER A ee Benson seen ee ee 119 1 Einleitung Abk rzungsverzeichnis ONE reihe Suns Calendar Manager LE ET Computer Supported Cooperative Work E Mail eee ees elektronische Mail LR LEE Internet Calendar Access Protocol MAPS ee Be Internet Mail Access Protocol IPVR u Institut f r paralle und verteilte H chstleistungsrec hner SMIPrs ee Simple Mail Transfer Protocol USCM aan Universal Service Component Model 1 Einleitung 1 Einleitung 1 1 Aufgabenstellung Um die Erreichbarkeit f r Ansprechpartner innerhalb einer Arbeitsgruppe zu erh hen heften manche Mitarbeiter beim Verlassen ihres B ros Zettel an ihre T ren die ihren momentanen Aufenthaltsort und eventuell die geplante Aufenthaltsdauer angeben Im Zu ge der zunehmenden r umlichen Verteilung von Arbeitspl tzen und der zunehmenden Unterst tzung der Mitarbeiter durch vernetzte Arbeitsumgebungen erscheint es w n schenswert dieses Verhalten direkt vom Arbeitsplatz aus elektronisch nachahmen zu k nnen und sogenannte pers nliche Softwareagenten daf r einzusetzen Im Rahmen dieser Diplomarbeit soll ein Softwaresystem entworfen und implementiert werden das auf den Arbeitsplatzrechnern der Mitarbeiter der Abteilung IPVR der Fakult t Informatik der Universit t Stuttgart lauff hig ist und das solche elektronischen Zettel reali siert d h auf Anfrage von anderen Benutzern die momentane Erreichbarkeit ihrer Benut zer bekanntgibt Dazu wird einerse
38. Arbeiten CSCW Im Fall der Konkurrenz verfolgen die teilnehmenden Gruppen ein gegens tzliches Ziel Da die Aktionen der einzelnen Kooperationspartner im Fall einer Zusammenarbeit aufein ander abgestimmt bzw koordiniert werden m ssen ist es m glich die Werkzeuge der Kommunikation und der Koordination als Grundlage f r die Kooperation zu sehen Als Beispiele f r Kooperationsanwendungen k nnen Werkzeuge zur gemeinsamen Nut zung von Einbenutzeranwendungen Application Sharing Tools oder Werkzeuge die ei nen gemeinsamen Arbeitsbereich unterst tzen Shared Workspaces bzw Awareness Systeme angef hrt werden 2 2 Ein grundlegendes Kooperationsmodell Da in dieser Diplomarbeit die Kooperation durch Unterst tzung der Koordination verbes sert werden soll wird ein Kooperationsmodell erl utert in dem der Einflu der Koordinati on auf die Kooperation genauer gekl rt wird 2 2 1 Aktivit ten Orte und Mitarbeiter Im folgenden wird zun chst der Begriff der Aktivit t eines Mitarbeiters definiert um an schlie end die Beziehungen zwischen Aktivit ten Orten und Mitarbeitern n her zu un tersuchen und die sich daraus f r die Kooperation und das Kooperationsmodell ergeben den wichtigen Informationen abzuleiten Aktivit ten eines Mitarbeiters Unter einzelnen Aktivit ten eines Mitarbeiters versteht man z B das Editieren einer Datei die Kommunikation mit anderen Mitarbeitern oder Projektpartnern das Lernen von Ben
39. Benutzer sowohl den genauen Zeitpunkt des Termins als auch die n he ren Beschreibungen des eingetragenen Termins einsehen 2 Stufe privat bzw Others See Time only Wenn ein Benutzer einen Termin oder eine Aufgabe mit dem Attribut privat in seinen Terminkalender eintr gt so k nnen andere Benutzer die diesen Terminkalender nach Informationen durchsuchen die Zeit des eingetragenen Termins sehen Die n here Be schreibung ist ihnen aber nicht zug nglich 3 Stufe geheim bzw Show Nothing Ist ein Termin oder eine Aufgabe innerhalb des Terminkalenders als geheim eingetragen so sieht ein anderer Benutzer der diesen Terminkalender nach Informationen durchsucht nicht da ein Termin bzw eine Aufgabe eingetragen ist Der Benutzer von CM hat desweiteren die M glichkeit den Zugriff auf seinen Terminka lender f r beliebige Benutzer zu beschr nken oder zu erweitern Dazu kann der Eigent mer des Terminkalenders jedem anderem Benutzer bzw der ganzen Welt folgende Zu griffsbeschr nkungen auferlegen e Browse den Terminkalender f r den ausgew hlten Benutzer zur Informationssuche freigeben e Insert einem anderen Benutzer die Berechtigung f r das Eintragen von neuen Ter minen in den eigenen Terminkalender erteilen e Delete einem anderen Benutzer des pers nlichen Vertrauens die M glichkeit geben Termine aus dem eigenen Terminkalender zu l schen Tr gt ein Anwender zus tzliche
40. Ein frem der Agent mu sich beispielsweise beim Agentensystem authentifizieren seine Funk tionen m ssen z B im Rahmen eines Viruschecks berpr ft werden e Der Schutz vor b swillig programmierten Locationen des Agentensystems kann nicht gew hrleistet werden Eine Location k nnte z B einen Agenten samt seines elektroni schem Geldes l schen oder das Geld sogar entwenden Es w re sogar m glich da eine Location den Code eines Agenten manipuliert so da sein Verhalten nach dem Besuch der b swillig programmierten Location unvorhersehbar wird e Die Funktionalit t der verschiedenen Agenten l t sich nur schwer absch tzen d h ei ne effektive berpr fung der Funktionalit t von Agenten ist nicht m glich Hieraus re sultiert ebenfalls ein Sicherheitsproblem e In einem offenen Agentensystem gibt es keine zentrale Autorit t die berpr ft ob ver schiedene Regeln die im Agentensystem gelten eingehalten werden 30 3 Agententechnologie Nachdem die Vor und Nachteile eines Agentensystems mit mobilen Agenten erl utert wurden wird nun zum besseren Verst ndnis der Agententechnologie kurz die Sicht eines Agenten auf ein einfaches Agentensystem mit mobilen Agenten n her n her eingegan gen Location 2 System Agent Location 1 mobiler Agent Location 3 Abb 3 Sicht eines Agenten auf ein einfaches Agentensystem Grunds tzlich sollte ein Agentensystem aus den einzelnen Agenten und a
41. Logik f r die Zusammenarbeit der anderen Be reiche die in der Zugriffsschicht liegen Sie sollten unabh ngig von der externen Umge bung die Kernfunktionalit t des zu erstellenden Softwaresystems zur Verf gung stellen Im folgenden werden die einzelnen Komponenten anhand des USCM Modells genauer untersucht 5 1 Der substantielle Bereich Im substantiellen Bereich werden die zugrundeliegenden Konzepte der Kommunikation anhand des Status des Benutzers in Mole Office erl utert Unter dem Status eines Benutzers werden e die objektive Kooperationsbereitschaft die von den im Kalendermanagementwerkzeug eingetragenen Terminen und Aufgaben sowie von dem augenblicklichem Aufenthalts ort des Benutzers bestimmt wird e die subjektive Kooperationsbereitschaft die der Benutzer ber die Benutzeroberfl che direkt angeben kann und e der Interessenskontext des jeweiligen Benutzers zu einer gewissen Zeit verstanden Bevor die obigen Begriffe n her erkl rt werden m ssen zun chst einige Grundlagen er l utert werden 50 5 Entwurf des Softwaresystems Mole Office Die Priorit t einer Aktivit t wird zus tzlich zu den normalen Termininformationen in den CM f r jeden Termin eingetragen Die Priorit t ist ein subjektiv wahrgenommener Ein flu faktor auf die Kooperationsbereitschaft Es werden zwei m gliche Auspr gungen vor geschlagen Normale bzw keine Priorit t einer Aktivit t Hierbei wird keine zus tzliche Termininforma
42. Rollen die ihm bei der L sung der Aufgabe helfen k nnen besitzen bzw innehaben Ist der passende Mitarbeiter durch in der Arbeitsgruppe bekannte Arbeitsplatzbeschrei bungen oder durch bereits vorhandene pers nliche Erfahrungen identifiziert m ssen sich beide ber die Zeit und den Ort der Kooperation entscheiden siehe Beziehungen zwischen Aktivit ten und Orten Aktivit ten und Mitarbeitern und Mitarbeitern und Orten Ausschlaggebend f r das Zustandekommen einer Kooperation ist die momentane Koope rationsbereitschaft des erw nschten Mitarbeiters Diese koordinierenden T tigkeiten werden direkt von der Benutzerschnittstelle unterst tzt indem der aktuelle Status aller Anwender dort dargestellt wird Nachdem der Mitarbeiter nun den Status des anderen kennt kann er die beste Kommuni kationsform bestimmen Ist der passende Mitarbeiter im Augenblick zur Kommunikation bereit so kann der An wender synchron kommunizieren d h er hat die M glichkeit eines kurzfristigen bzw spontanen Treffens z B ein Anruf oder ein Besuch im B ro Ist der passende Mitarbeiter dagegen gerade im Augenblick nicht zur Kommunikation be reit kann bzw sollte der Anwender nur asynchron kommunizieren d h er kann das Problem mit dem Mitarbeiter innerhalb eines geplanten Treffens wie zum Beispiel in der n chsten Gruppensitzung oder per elektronischer Post durchsprechen Es k nnte aber auch sein da sich der Kooperationsbedarf bei Abwesenheit
43. Sicherheitsinformationen in Bezug auf Aktivit ten in sei nen Terminkalender und in Bezug auf Mitarbeiter im Interessenskontext der im Setup eingerichtet werden kann ein so k nnen zus tzliche Vertraulichkeitsstufen realisiert werden Diese sind nur indirekt f r einen anderen Mitarbeiter d h nur ber entsprechen de Systemmeldungen sichtbar Im folgenden werden drei Vertraulichkeitsstufen f r Mitarbeiter und Termine angeben 68 5 Entwurf des Softwaresystems Mole Office 1 Stufe kein Vertrauen Wird ein anderer Benutzer als nicht vertrauensw rdig eingestuft so erh lt dieser Benut zer keinen Zugriff auf irgendwelche Ereignisse die der lokale Benutzer ausl st Der Watch Agent bzw Ask Agent wird in diesem Fall mit der Meldung Benutzerstatus unbe kannt Schutzverletzung an den Systemagenten zur ck gesendet Diese Stufe wird durch ein Minuszeichen in der Termininformation im CM gekenn zeichnet 2 Stufe Vertrauen Diese Einstellung ist der Standardwert f r alle Aktivit ten und Benutzer wenn keine zu s tzlichen Informationen eingetragen werden Ein entsprechender Watch bzw Ask Agent wird alle nicht vertraulichen Informationen im Rahmen des Sicherheitskonzeptes von CM erhalten Diese Stufe wird dadurch gekennzeichnet da kein Sonderzeichen im CM eingetragen wird 3 Stufe gro es Vertrauen Hat ein Benutzer gro es Vertrauen zu einem anderen Benutzer so kann der andere Be n
44. WALTUNGSBEREICH oris ueiicersion ionini aat a aar e a aea S ENAA 66 3 4 DFR SYSTEMKERN EEN 70 6 IMPLEMENTIERUNG EN 79 6 1 DIE ARCHITEKTUR DES MOLE OFFICE SYSTEMS sssssenssessesesssessstrsstrssersserssereseresereserrsee 79 6 2 DIE BENUTZEROBERFL CHE VON MOLE OFFICE cuaceeensssennsssnnnssennnnsnnnssennnnennnnsnnnenennensnnnnsenann 80 6 3 MODELLIERTE OBJEKTE IM MOLE OFFICE SYSTEM sssessssssssesesesssesssesssersserssereserssereserssee 86 6 3 1 Der Administrator Agent MOAdnmtntstroatorAgent 86 6 3 2 Der System Agent OMShkyetem Agent 88 6 3 3 Der Ask Agent MSASKAgENE ne A RU 90 6 3 4 Der Watch Agent MS WatchAgent 91 6 3 5 Das Benutzer Objekt User a eas este ape ae 92 6 3 6 Das Raum Objekt Room aan nalen 93 7 ZUSAMMENFASSUNG wisscciccsacecsedecsescvdescccesscscsccceccstsescescvscsseccseudetsecevecesesesocvecesesocetsetsovctccses 94 Tel EN e ON 94 7 2 NUSBEICK EE 95 S ANHANG vtec bedccsscstccceccedscasebesdcccecscediscssccsc dsecscsacs dE Nee 96 8 1 INSTALLATION UND START VON MOLE OFFICE ccccccssscccecccusscccuscccusscceuscecusccceuecesenceenes 96 8 2 DIE MOMENTANE BIBLIOTHEK VON MOLE OFFICE cccccccsscccesscccuscccusecceuscececccuseceeucseaes 98 8 2 1 Modellierte Objekte im Mole Office System cccccccccccccccccccccecccsssssseceeeeeeeeeeessessssssssnaaaaees 98 8 2 2 Die Benutzeroberfl che von Mole Office 104 8 3 IS ITERATURVERZEICHNIS u a dans AR lvl MRE EHER ERDE 113 8 4 ERKL RUNG 222 2
45. alle Benutzer des Mole Office Systems die sich mittels des Setups ordnungsgem an das System angemeldet haben und alle R ume und Auf enthaltsorte die zus tzlich zu den im System bereits vorhandenen Aufenthaltsorten von den Benutzern angegeben wurden in je einem Vektor User und Room Vektor UserRegistration RoomRegistration System sendChangedUserInfoToOthers Agent sendAdditionalRoomsToOthers getUserInformationFromHome sendAllAdditionalRoomsToMe sendAllUsersToMe Administrator Ee ee A gent saveUserInformationToHome Vektor getRoomInformationFromHome Raum Vektor Abb 18 Methoden Aufrufe und Kommunikation des Administrator Agenten saveRoomInformationToHome Es ist einerseits m glich dem Administrator Agenten die eigene Benutzerinformation wie z B Name Mailadresse oder die eigene Systemagentenbeschreibung zu senden UserRegistration um die Kommunikation mit den anderen Benutzern zu erm glichen Andererseits kann man auch Informationen ber einen neuen Standardaufenthaltsort wie z B den Namen die Raumnummer oder die Anzahl der Sitzpl tze in diesem Raum zum Adiminstrator Agenten schicken RoomRegistration Der Administrator Agent speichert die neuen Informationen saveUserInformationToHome bzw saveRoominformationToHome oder ndert sei ne veralteten Eintr ge in seiner Datenbasis und speichert danach die nderungen An schlie end werden alle bei
46. amte Ara System einschlie lich aller Agenten und des Kerns l uft dabei als ein einziger Anwendungsproze auf dem unmodifiziertem Wirtsbetriebssystem W hrend ortsfeste Systemagenten kompiliert werden laufen mobile Agenten aus Portabilit ts und Sicherheitsaspekten innerhalb eines Interpreters f r die jeweilige Programmiersprache ab Dies wird in folgender Abbildung veranschaulicht System Agert kom piliert Ara Prozesse Wirtshetriebssystem Abb 4 die Architektur des Ara Systems Agenten die als ortsfeste Systemagenten laufen k nnen in der Programmiersprache C oder C implementiert werden Mobile Agenten die interpretiert werden m ssen k nnen siehe Pei96 35 3 Agententechnologie in einer TCL Variante oder in MACE einem Bytecode der aus dem Compiler Zwischencode RTL generiert wird realisiert werden Bewertung anhand der aufgef hrten Kriterien Da dieses Agentensystem weder Java noch die M glichkeit der Kommunikation mit Java Applets unterst tzt wird es nicht als dieser Diplomarbeit zugrunde liegendes Agentensy stem verwendet 3 2 4 Telescript Das sicherlich bekannteste Beispiel f r mobile Agenten ist die Programmiersprache Te lescript die zusammen mit dem umgebenden Betriebssystem Magic Cap seit 1994 von der Firma General Magic entwickelt wird Die Hauptanwendungsbereiche des Betriebssystems Magic Cap liegen vor allem in der Unterst tzung kleiner portabler Rechner f r den ele
47. atei steht der Name des Benutzers der Name des System Agents der Name seines Terminkalenders und ein Verweis auf die restlichen Daten wie z B auf den Interessenskontext Nachdem die m glichen Informationen eines Benutzers des Mole Office Systems erl utert wurden wird nun ein Sicherheitskonzept f r die Handhabung der Daten eingef hrt Das zugrundeliegende Sicherheitskonzept von Mole Office orientiert sich einerseits an dem integrierten Sicherheitskonzept des Kalendermanagementwerkzeugs CM Anderer seits kann ein Benutzer auch pers nliche Vertraulichkeitsstufen einrichten indem er zu s tzliche Informationen ber die Vertraulichkeit eines Termins in seinen Kalender manuell eintr gt und indem er bestimmten Benutzern eine pers nliche Vertraulichkeitsstufe im Setup zuordnet Innerhalb von CM werden folgende Sicherheitsstufen f r Termine und Aufgaben defi niert 6 Anmerkung Das Zeitintervalle zur Aktualisierung der Systemdaten mu angegeben werden da der Serverproze des CM nicht in der Lage ist Erinnerungsnachrichten bei eingetragenen Terminen an das Softwaresystem zu senden wenn er nicht aktiv ist siehe Kapitel 5 1 Der substantielle Bereich 6 siehe weiter unten im gleichen Kapitel 67 5 Entwurf des Softwaresystems Mole Office 1 Stufe ffentlich bzw Others See Time and Text Tr gt man Termine oder Aufgaben mit dem Attribut ffentlich in den Terminkalender ein so k nnen alle
48. bereitschaft und den Aufenthaltsort des Benutzers an die ent sprechenden Watch und Ask Agenten weiterleiten Der Informations bzw Datenflu im zu erstellenden Softwaresystem kann nun wie folgt beschrieben werden Die Informationen aus den grundlegenden Informationsquellen werden zum Systema genten des jeweiligen Benutzers weitergeleitet Dieser erzeugt entsprechende Ereignisse die innerhalb des Agentensystems ber Nachrichten an die mobilen Watch Agenten der interessierten Benutzer weitergeleitet werden Diese leiten eine entsprechenden Nach richt an ihren Systemagenten weiter Der entsprechende Systemagent ndert den Zu stand des Benutzers gem den neuen Informationen aus den Informationsquellen Sollen weitergehende Informationen von anderen Benutzern erfragt werden benutzt der entsprechende Systemagent einen mobilen Ask Agenten um die Informationen von ande ren Systemagenten zu erhalten Der Ask Agent hat entweder die M glichkeit zu dem ent sprechenden Systemagenten zu migrieren um dort einen lokalen Nachrichtenaustausch zu veranlassen oder er sendet einen Remote Procedure Call an den Systemagenten Die gesamte Kommunikation von Mole Office innerhalb des Agentensystems ist also zu s tzlich zu der grundlegenden im System vorhandenen zeitlichen Steuerung ereignisge steuert und beruht auf Nachrichten zwischen den jeweiligen Agenten Klassifizierung der Ereignisse in Mole Office Die Ereignisse in Mole Office k nnen a
49. ce System nicht begrenzt ist werden alle Benut zer in einem Benutzer Vektor myUsersVector verwaltet UpdateDataOfAllUsers getInformationFromMOAdministratorA gent saveUserInformationToHome Administrator Agent sendAllUsersToMe getUserInformationFromHome Benutzer Vektor saveUserInformationToHome System Agent u getUserInformationFromHome saveUserInformationToHome getUserInformationFromHome Abb 22 Methoden Aufrufe und Kommunikation des Benutzer Vektors In diesem Vektor existieren die Methoden die ben tigt werden um die Daten aus dem Benutzer Vektor aus einem angegebenen Verzeichnis zu lesen getUserInformationFromHome bzw in ein gegebenes Verzeichnis zu schreiben saveUserInformationToHome Beim Starten des Mole Office Systems besteht die M glichkeit zu berpr fen ob sich be reits Benutzerinformationen im lokalen Mole Office System befinden Sind Benutzerinfor mationen vorhanden so werden die lokalen Informationen mit denen aus dem Admini strator Agenten verglichen und wenn n tig aktualisiert updateDataOfAllUsers Sind keine lokalen Benutzerinformationen vorhanden werden alle Benutzer des Administrator Agenten in die lokale Datenbasis eingef gt getUserInformationFromMOAdministrationAgent 92 6 Implementierung 6 3 6 Das Raum Objekt Room Im Raum Objekt Room werden alle die Standardaufenthaltsorte betreffenden Informa tionen gespe
50. che Java soweit unterst tzt bzw um entsprechende Klassen erg nzt da auch die M glichkeit der Kommunikation der CyberAgents mit Java Applets besteht Dieses Agentensystem k nnte prinzipiell f r diese Diplomarbeit verwen det werden allerdings handelt es sich hierbei um ein kommerzielles Produkt dies h tte nicht unerhebliche Anschaffungskosten zur Folge 34 3 Agententechnologie 3 2 3 Ara Ara Agent for Remote Actions ist ein Projekt das seit August 1994 an der Universit t Kaiserslautern l uft Es hat die Entwicklung einer portablen und sicheren Infrastruktur f r die Ausf hrung mobiler Agenten in heterogenen Netzen zum Ziel Mobile Agenten werden in diesem Projekt als Programme gesehen die die F higkeit be sitzen w hrend der Ausf hrung ihren Wirtsrechner zu verlassen Dies erlaubt ihnen ihre Kommunikation die vorher entfernt durchgef hrt werden mu te lokal abzuhalten Bei Ara liegt der Anwendungsschwerpunkt auf den Diensten f r Mobilcomputer mit draht loser Netzanbindung einer Umgebung mit inh renten Einschr nkungen im Hinblick auf die Ressourcen und die Verbindungsg te im Netzwerk Die Architektur des Ara Systems ist in einen Systemkern und mehrere Prozesse geglie dert Agenten werden als Prozesse ausgef hrt Das erleichtert sowohl ihre unabh ngige Ausf hrung als auch ihren gegenseitigen Schutz Alle Agenten k nnen ber einen RPC Mechanismus der ber den Systemkern l uft kommunizieren Das ges
51. chen Informatio nen Es stellt aufgrund von Benutzereingaben und der Informationen aus dem Kalender managementwerkzeug elektronische T rzettel zur Verf gung und filtert die elektronische Post auf der Suche nach Nachrichten aus dem Mole Office System damit der Benutzer darauf reagieren kann Mole Office kann automatisch elektronische Post generieren falls der angefragte Benutzer im Augenblick nicht zu erreichen oder nicht unterbrechbar ist Das Kalendermanagementwerkzeug CM stellt die Termininformationen die der Benut zer unter Angabe von Vertraulichkeitsstufen eingegeben hat sowohl dem Benutzer als auch dem Mole Office System zur Verf gung CM kann au erdem automatisch elektroni sche Post mit einer Termininformation generieren die dann an spezifizierte Anwender gesendet werden kann Das Mailtool verwaltet f r den Benutzer und f r Mole Office die elektronische Post Es kann die Termininformationen die von einem anderen Benutzer mittels seinem CM er zeugt wurden per Drag and Drop Verfahren in den elektronischen Kalender eintragen 4 Anm Dies entspricht einer Anrufbeantworterfunktionalit t 42 4 Produktspezifikation 4 3 Der Berechnungsstandpunkt Die Informationsobjekte des zu erstellenden Softwaresystems interagieren untereinander indem sie Nachrichten ber Schnittstellen senden oder empfangen Der Schwerpunkt beim Berechnungsstandpunkt liegt also auf der Definition der Schnittstellen des zu ent werfenden
52. chsbereich 58 5 Entwurf des Softwaresystems Mole Office Die Anzeige ist nicht raumorientiert d h im Informationsbereich werden die einzelnen Mitglieder der Arbeitsgruppe angezeigt die man im Setup angegeben hat und nicht die Standardaufenthaltsorte der Arbeitsgruppe W re die Benutzerschnittstelle raumorientiert so ware bei groBen Versammlungen wie z B bei der Gruppensitzung keine Ubersicht mehr vorhanden Der Aktionsbereich Den zweiten unteren Bereich der Benutzeroberflache stellt der Aktionsbereich des Be nutzers dar Hier kann der Benutzer das Kalendermanagementwerkzeug CM das Mailtool und das Setup aufrufen indem er auf die entsprechenden Kn pfe dr ckt Dr ckt der Benutzer den Mail Knopf so ffnet sich ein Mail Fenster mit einem Empf n gerfeld einem Subjectfeld bzw Betreff Feld einem Abbruch Knopf einem Sende Knopf und einem to Mail Knopf ber dem Aktionsbereich Der Benutzer kann die verschiedenen Empf nger per Mausklick auf die entsprechenden Symbole in das Empf ngerfeld einf gen Damit das Mole Office System entsprechende Mails erkennen kann steht an erster Stelle des Betreff Felds ein automatisch generierter Text Durch Dr cken eines Sende Knopfes wird die Mail verschickt und das Mail Fenster geschlossen Wird ein Abbruch Knopf gedr ckt wird das Mail Fenster wieder geschlos sen Wird ein to Mail Knopf gedr ckt so wird das Mailtool aufgerufen und das Mail Fenster ebenfalls wieder geschlossen
53. cht besetzten B ro erspa ren k nnen Andererseits m ssen auch die geplanten Treffen der Mitarbeiter unter st tzt werden d h es mu ein Kalendermanagementwerkzeug in das zu erstellende Softwaresystem integriert werden ber das sich Termine verabreden lassen und in das jeder Mitarbeiter seine aktuellen Termine eintr gt Dabei sollten aus Gr nden des Da tenschutzes verschiedene Vertraulichkeitsstufen innerhalb des Kalendermanagement werkzeugs beachtet werden Um die geplanten Treffen weiter zu unterst tzen benach richtigt das Softwaresystem den Benutzer falls dieser automatisch generierte elektro nische Post mit Termininformation erhalten hat e Die Verpflichtungen der Mitarbeiter und Angestellten bestehen darin da sie ihre Termine in das Kalendermanagementwerkzeug eintragen und da sie das zu erstel lende Softwaresystem mit den elektronischen T rzetteln benutzen Daraus k nnten entsprechende Akzeptanzprobleme resultieren Die Mitarbeiter k nnten sich weigern ihre Termine zus tzlich zu ihrer eigenen Terminplanung in das Kalendermanagement werkzeug einzutragen Wird aber entsprechende berzeugungsarbeit geleistet so da die Mitarbeiter die Vorteile des zu erstellenden Softwaresystems erkennen d rfte sich der Aufwand den Widerstand zu berwinden in Grenzen halten e Die Unternehmenspolitik die hinter dem zu erstellenden Softwaresystem steht ist die Erh hung der Produktivit t durch Optimierung des Arbeitsprozesses Die M
54. creen2_2 aParent String Name int xCoordinate int yCoordinate constructor roomLabel Label in denen die Orte der angezeigt werden method roomLabel Gui app Screen2_2 aParent String roomName int xCoordinate int yCoordinate int xWidth int yHeight constructor Systemmeldungen_CLASS Textfield f r Systemmeldungen method Systemmeldungen_CLASS Gui app Screen2_2 aParent constructor HilfeKnopf_CLASS Knopf f r Hilfe method HilfeKnopf_CLASS Gui app Screen2_2 aParent constructor coloredPicture um farbige Bilder in Gui einzuf gen methods coloredPicture Gui app Screen2_2 aParent String PictureNa int xCoordinate int yCoordinate int xWidth int yHeight constructor public String getFileName Dateinamen holen public void setFileName String aFileName Dateinamen setzen public void paint Graphics g Bild zeichnen picture um Bilder in Gui einzuf gen methods Picture Gui app Object aParent constructor public String getFileName Dateinamen holen public void setFileName String aFileName Dateinamen setzen public void paint Graphics g Bild zeichnen Screen ein Panel Container 106 6 Implementierung method Screen Gui app Object aParent constructor public class SetupScreen Setup Fenster methods SetupScreen Gui app Gui aParent UserSetup aLink Room Setup aLinkll String aSystemAgentInfoArray constructor public void paint Graphics
55. der Benutzer w hrend eines Termins seinen Aufenthaltsort au erhalb seines B ros O1 sendet er also einen Ask Agenten mit entsprechenden Rauminformationen so gelangt er wieder nach Zustand 19 wobei sich seine Kooperationsbereitschaft aus dem Minimum der Kooperationsbereitschaft des neuen Ortes und des Termins ergibt Kehrt der Benutzer innerhalb eines Termins in sein B ro zur ck O2 ndert sich seine Kooperationsbereitschaft entsprechend des Minimums der Kooperationsbereitschaft des B ros und der des Termins Der neue Zustand ist nun 22 Hat der Benutzer einen weiteren Termin innerhalb seines Kalenders eingetragen der ge rade w hrend des anderen Termins beginnt CM1 so bleibt der Benutzer in Zustand 19 wobei seine Kooperationsbereitschaft entsprechend der obigen Minimumregel neu be rechnet wird Beginnt gerade ein Termin mit Priorit t CM2 so springt der Benutzer nach Zustand 20 Die Kooperationsbereitschaft des Benutzers ist niedrig Beendet der Benutzer einen Termin CM3 befindet sich aber weiterhin au erhalb seines B ros so berechnet sich seine Kooperationsbereitschaft aus dem Minimum der Koopera tionsbereitschaft des momentanen Aufenthaltsortes und der eines evtl noch laufenden Termins Der Zustand des Benutzers ist 21 In Zustand 20 befindet sich der Benutzer au erhalb seines B ro und hat einen Termin mit Priorit t in seinen Kalender eingetragen Die Kooperationsbereitschaft des Benutzers ist niedrig Der Benutze
56. der entsprechenden Mitarbeiter nicht direkt erkennbar ist Die geplanten Treffen der Mitarbeiter werden bei einem spontanen Treffen der jeweili gen Personen oder bei der einmal pro Woche stattfindenden Gruppensitzung verein bart Hier besteht die Schwierigkeit darin da nicht immer alle Mitglieder der Arbeits gruppe an der Gruppensitzung teilnehmen k nnen und da diese Mitglieder ber die Vorhaben des Rests der Gruppe informiert werden m ssen bzw da auch ihre Termi ne in die Gruppenplanung mit einbezogen werden m ssen diese aber h ufig nicht be kannt sind 39 4 Produktspezifikation e Daraus l t sich folgende grundlegende Anforderung an das zu erstellende Software system ableiten Das Softwaresystem mu sowohl die spontanen als auch die geplanten Treffen der Mitarbeiter derart unterst tzen da einerseits die St rungen der Arbeitsabl ufe mini miert und andererseits Treffen der Mitarbeiter m glichst effizient geplant werden k n nen Dazu soll f r die spontanen Treffen der Mitarbeiter die Funktionalit t der T rzettel vom zu erstellenden Softwaresystem nachgebildet werden d h da die Mitarbeiter und Angestellten die M glichkeit haben m ssen beim Verlassen ihres B ros einen elektro nischen T rzettel im System anzubringen Dieser mu von den anderen Mitarbeitern von ihrem jeweiligen Arbeitsplatzrechner aus abgefragt werden k nnen damit sich die Benutzer des Systems den Weg zu oder den Anruf in dem ni
57. des Kanals Beide sowohl Sender als auch Empf nger m ssen damit sie sich verstehen und Informationen austauschen k nnen dieselbe Syntax und Semantik benutzen also diesel be Sprache sprechen Damit eine Kommunikation stattfinden kann sollte desweiteren der Kommunikationskanal soweit st rungsfrei sein da die zu bermittelnde Nachricht noch eindeutig ist Desweiteren sollte um die Qualit t des Kommunikationskanlas zu sichern eine Auslieferungsgarantie und eine Duplikatvermeidung bestehen Ein weiterer Aspekt der Kommunikation ist die Synchronit t d h die M glichkeit der be teiligten Objekte zu verschiedenen Zeiten zu kommunizieren Man unterscheidet synchro ne und asynchrone Kommunikation e Bei der synchronen Kommunikation kommunizieren die entsprechenden Partner zur selben Zeit miteinander Als Beispiel hierf r k nnen das Telefon und Videokonferenz systeme gesehen werden e Bei asynchroner Kommunikation kommunizieren die beteiligten Partner zu verschie denen Zeiten miteinander z B bei elektronischer Post oder u U bei einer Wandtafel 2 1 2 Die Koordination Jede Kooperation und jede Aktivit t in Bezug auf eine Kooperation kann durch Koordina tion organisiert und dementsprechend effizienter als ohne Koordination gestaltet werden Unter Koordination wird im folgenden die Planung von Aktivit ten f r bestimmte Zeiten und Orte verstanden Der Koordinationsbedarf also der Anla zur Koordination entsteht entweder
58. det sich nicht an seinem Arbeitsplatz und hat einen Termin ohne Priorit t in seinen Kalender eingetragen oder gt er hat die subjektive Einflu faktoren entsprechend ge ndert gt Die Unterbrechbarkeit des Benutzers ist mittel Will der Benutzer einen Termin mit mittlerer Kooperationsbereitschaft in seinen Kalen der angeben so mu er die Sonderzeichen in die Terminbeschreibung eintra gen 3 Stufe Keine St rung Status unbekannt bzw niedrige Kooperationsbereitschaft Der Benutzer ist nicht zur Kooperation bereit d h gt er hat einen Termin mit Priorit t in seinen Kalender eingetragen oder gt er hat einen Termin mit zus tzlicher Vertraulichkeitsinformation in seinen Kalender eintragen und der Mitarbeiter ist einer niedrigeren Vertraulichkeitsstufe zugeordnet gt er hat die subjektive Einflu faktoren entsprechend ge ndert gt Der Benutzer ist seines Ermessens nach bis auf Notf lle nicht unterbrechbar Will der Benutzer einen Termin mit niedriger Kooperationsbereitschaft in seinen Kalen der angeben so mu er die Sonderzeichen in die Terminbeschreibung eintra gen 55 5 Entwurf des Softwaresystems Mole Office Wie die Kooperationsbereitschaft l t sich auch der Interessenskontext eines Benutzers abgestuft definieren Der Informationsbedarf bzw der Interessenskontext der Benutzer definiert eine Menge von anderen Benutzern bzw potentiellen Kooperationspartnern und e
59. e wie z B elektronische Mail und Kalendermanagementwerkzeuge e Abteilungsweite Verf gbarkeit des Werkzeugs 2 4 1 Die Funktionalit t vorhandener Koordinationswerkzeuge Die Funktionalit t folgender Koordinationswerkzeuge wurde untersucht 2 4 1 1 Calendar Manager CM Das Kalendermanagementwerkzeug CM der Firma SUN Inc l uft unter OPEN WIN DOWS und CDE auf SPARCstations Mit Hilfe des CM kann man Verabredungen treffen und vorher eingetragene Ressourcen aufteilen F r jeden Termin kann man das Datum die Anfangs und Endzeit eine Terminbeschrei bung den Benachrichtungsmechnismus einen beliebigen Wiederholungszeitraum und eine Sichtbarkeitsstufe des Termins einstellen Je nach Benachrichtigungsmechnismus kann der CM aber nur wenn er aktiviert ist ver schiedene Erinnerungsnachrichten wie ein akustisches oder optisches Signal oder sogar eine elektronische Post an den jeweiligen Benutzer senden wenn ein zuvor eingestellter Termin beginnt vgl GrPa95 CM94I UC1 20 2 Computerunterst tztes Kooperatives Arbeiten CSCW Jeder Termin kann als ffentlich privat oder geheim deklariert werden und je nach Sicht barkeitsstufe wird einem anderen Benutzer die Zeit und die Terminbeschreibung nur die Zeit oder keine Information ber den Termin angezeigt Man kann wenn der entsprechende Benutzer seinen Kalender anderen Anwendern frei gegeben hat bei dessen Benutzern nach freien Terminen suchen oder sogar Ter
60. e Benutzerinformationen an alle anderen Benutzer senden public void createMSAskAgent String einString AgentName aName LocationName home LocationName target AgentName SystemAgent einen Ask Agenten erschaffen 101 6 Implementierung public class MSSystemAgent System Agent methods public MSSystemAgent constructor public MSSystemAgent String einString AgentName aName LocationName h int p String aHomeDir constructor public void start beim Starten des Agenten public void stop beim Stoppen des Agenten public void end beim Beenden des Agenten public void heartbeat long seconds periodische Wiederholungen Update public void getReadinessAndRoomOfUsers int aNumberOfUsers myUsersVector v Ask Agenten f r jeden Benutzer versenden um aktuellen Status zu erhalten public int readParameters String aDescription AgentName aName LocationName IName int aPort String aHome Status des internen Systemautomanten wieder einlesen public void writeParameters String aDescription AgentName aName LocationName IName int aPort String aHome int aState Status des internen Systemautomaten auf Platte schreiben public void receiveMessage Message m Nachrichten erhalten messages AskAgent Ask Agent starten getUserSetupParameters die Benutzerparameter an UserSetup senden PleaseSendReadinessAndRoom Status und Ort an anderen System Agenten senden availableRooms alle Orte mit Onlis
61. e informiert wird e Damit die Kompatibilit t zu zuk nftigen Anwendungen gew hrleistet ist sollte die Schnittstelle zum Mailtool kompatibel zum Internet Mail Access Protocol IMAP und zum Simple Mail Transfer Protocol SMTP sein 4 3 3 Die Aspekte der Schnittstelle zum Kalendermanagementwerkzeug CM e Der Benutzer soll CM direkt von Mole Office aus aufrufen k nnen e Mole Office soll alle Termininformationen unter Wahrung von Vertraulichkeitsstufen aus dem CM abfragen k nnen Diese m ssen allerdings explizit vom Anwender ange geben bzw eingetragen werden e Damit die Kompatibilit t zu zuk nftigen Anwendungen gew hrleistet ist sollte die Schnittstelle zum CM kompatibel zum Internet Calendar Access Protocol ICAP sein 44 4 Produktspezifikation 4 3 4 Die Aspekte der Funktionalit t von Mole Office e Der Benutzer soll beim ersten Anmelden an das System eine Art von Setup durch laufen indem er seine benutzerspezifischen Angaben macht e Diese werden beim wiederholten Starten oder Anmelden an das System nicht wieder abgefragt da sie gespeichert werden e Die benutzerspezifischen Angaben innerhalb des Setups die beim ersten Anmelden gemacht wurden k nnen mittels des von der Benutzerschnittstelle aufrufbaren Setups jederzeit ver ndert bzw an die momentane Situation angepa t werden e Der Status des Benutzers also Ort Zeit Kooperationsbereitschaft und Interessens kontext soll in Abh ngigkeit v
62. eingriffe und mit eigenst ndiger Kontrolle ber ihr Handeln und ihren internen Status e Kooperationsf higkeit Agenten sind in der Lage mit anderen Agenten und Anwen dern zusammenzuarbeiten vgl Sel94 Ous95 GeKe94 Dud89 WoJe95 Fon93 und F n95 30 siehe Dud89 31 siehe GeKe94 27 3 Agententechnologie e Reaktionsf higkeit Agenten beobachten ihre Umgebung und reagieren auf auftreten de Ver nderungen e Unternehmungsgeist Agenten reagieren nicht nur auf Ver nderungen sie ergreifen sogar die Initiative bei der Verfolgung ihrer Ziele Alle Agenten k nnen aber nur innerhalb ihres Agentensystems existieren Dieses Agentensystem sorgt daf r da die einzelnen Agenten ausgef hrt werden k nnen und bietet den Agenten dar ber hinaus die M glichkeit auf die Systemresourcen und dienste kontrolliert zuzugreifen Grunds tzlich kann man die Agententechnologie momentan in zwei verschiedene Klas sen einteilen In der ersten Klasse werden die Agenten aus der Sicht der Verteilten K nstlichen Intelli genz betrachtet In dieser Klasse werden autonome pers nliche Agenten bzw Multi Agentensysteme definiert und verwendet Der Schwerpunkt liegt auf der Intelligenz der Agenten Als Intelligenz wird dabei die F higkeit der Agenten bezeichnet aus vergange nen Situationen etwas f r ihr Verhalten in der Zukunft zu lernen und dadurch flexibel rea gieren zu k nnen Die zweite Klasse bet
63. en kann ReplyFromSystemAgent CreateMSWatchAgent KillWatchAgent SendNewInfoToWatch RequestFromWatchAgent ReplyFromWatchAgent System Agent Abb 21 Methoden Aufrufe und Kommunikation des Watch Agenten Nachdem der Watch Agent erzeugt wurde createMSWatchAgent migriert er zum spe zifizierten Benutzer Dort erfragt er zuerst den aktuellen Status RequestFromWatchAgent und sendet diesen dann zum entsprechenden Besitzer zu r ck ReplyFromWatchAgent Danach verbleibt der Watch Agent im Gegensatz zum Ask Agenten an dieser Location um den entsprechenden Benutzer weiterhin zu beob achten Der Watch Agent bleibt so lange an der Location bis der Besitzer den entspre chenden Benutzer aus seinem Interessenskontext entfernt Geschieht dies wird der Watch Agent einfach aus dem Agentensystem entfernt KillWatchAgent Empf ngt der Watch Agent vom zu beobachtenden System Agenten die Nachricht da dieser seinen Status ge ndert hat SendNewinfoToWatch so leitet er die Nachricht an seinen Besitzer weiter ReplyFromWatchAgent damit dieser den entsprechenden Sta tus anpassen kann 91 6 Implementierung 6 3 5 Das Benutzer Objekt User Im Benutzer Objekt User werden alle einen Benutzer betreffenden Informationen ge speichert Bei diesen Informationen handelt es sich z B um den Namen und Vornamen eines Benutzers seine Mailadresse oder die Systeminformationen des System Agenten Da die Anzahl der Benutzer im Mole Offi
64. enommen haben kann damit ausgeglichen werden da die entspre chenden Informationen schon am Entstehungsort gefiltert werden und nur die minimale Information bertragen wird Desweiteren wird durch diese Technik eine asynchrone und parallele Informationsverarbeitung erm glicht Bei einzelnen Anfragen in Bezug auf Mitarbeiter au erhalb des Teams des spezifizierten Interessenskontextes und wenn ein Benutzer den Update Knopf gedr ckt hat wird vom Systemagenten ein mobiler Ask Agent erschaffen Dieser mu im Gegensatz zu den Watch Agenten nicht unbedingt zu dem entsprechenden Systemagenten migrieren um die gew nschten Informationen zu erhalten Er entscheidet sich aufgrund eines Systemme chanismus von Mole ob sich die Migration f r ihn in diesem Fall lohnt oder ob die In formationen ber RPC s g nstiger zu besorgen sind Liegen die Ergebnisse der Anfrage vor werden sie an den auftraggebenden Systemagenten weitergeleitet Ist die Aufgabe des Ask Agenten erf llt so wird er zerst rt Schnittstelle zum Kalendermanager Wie bereits erw hnt kann das Kalendermanagementwerkzeug CM direkt ber die Benut zerschnittstelle von Mole Office aufgerufen werden Es ist desweiteren m glich verschie dene Termininformationen aus einem angegebenen Kalender unter Ber cksichtigung von verschiedenen Vertraulichkeitsstufen zu erhalten Dazu stehen dem Systemagenten fol gende standardisierte Befehle die sich am Internet Access Protokoll orientiere
65. ent int xCoordinate int yCoordinate intxWidth int yHeight int aConfidenceLevel boolean alnformationContext int aNumberOfWatchAgent String aSystemAgentInfo String aNameOfUser String aNameUsersMSSystemAgent constructor public boolean action Event evt Object arg Eventhandler public void setNewPanel SetupScreen aPanel Link auf Panel bergeben public void getUserParametersFromSystem String systemAgentinfo Benutzerparameter von System Agenten holen SaveButton Save Button methods SaveButton Gui app UserSetup aParent int xCoordinate int yCoordinate intxWidth int yHeight int aConfidenceLevel boolean alnformationContext int aNumberOfWatchAgent String aSystemAgentinfo String aNameOfUser String aNameUsersMSSystemAgent constructor 109 6 Implementierung class class int class class class te public boolean action Event evt Object arg Eventhandler void getInformationFromT extField Informationen vom Textfeld holen public void setNewPanel Screen2_2 aPanel Link auf Panel bergeben SetupLabel2 umbenennbarer Label method SetupLabel2 Gui app UserSetup aParent int xCoordinate int yCoordinate int xWidth int yHeight String labelText int fontSize constructor Checkbox2_CLASS Checkbox fur Vertrauensstufe methods Checkbox2_CLASS String aMode CheckboxGroup aConfidence boolean awert int xCoordinate int yCoordinate xWidth int yHeight Stri
66. entierung ESM96 PVCS Version Manager 5 2 f r Administrator N rtingen ESM Software 1996 Fon93 Foner L N What s An Agent A Sociological Case Study Agents Memo 93 01 Agents Group MIT Media Lab 1993 FTP961 Cyber Agent Intelligent Agent Technology FTP Software 1996 http www ftp com cyberagents FTP96I1 Introduction to Intelligent Agents and FTP Software CyberAgent Technology FTP Software 1996 http www ftp com cyberagents FTP96III The CyberAgent Framework for Network Management FTP Software 1996 http www ftp com cyberagents FPP95 Fuchs L Pankoke Babaitz U Prinz W Supporting Cooperative Awareness with Local Event Mechanisms The GroupDesk System In ECSCW ob Proceedings of the Fourth European Conference on Computer Supported Cooperative Work Eds Marmolin H Sundblad Y Schmidt K Dordrecht Boston London Kluwer Academic Publishers 1995 pp 247 262 F n95 F nfrocken S DAFID Agentenforschung in Deutschland http www informatik th darmstadt de fuenf work agenten agenten html FuNe94 Furuta R Neuwirth C Eds CSCW 94 Proceedings of the Conference on Computer Supported Cooperative Work Chapel Hill ACM 1994 GeKe94 Genesereth M R Ketchpel S P Software Agents In Communications of the ACM July 1994 Vol 37 No 7 pp 48 53 GKM93 Gronbaek K Kyng M Morgensen P CSCW Challenges Cooperative Design in En gineering Projec
67. enutzer von der Alltagsarbeit z B Terminverhandlungen weitgehend zu befreien Dazu schl gt das Softwaresystem automatisch beim Eintragen eines neuen Termins an hand der Termininformation und den internen Regeln die aus allen vorigen Kalenderein tr gen gelernt wurden die Zeitdauer vor Diese Termininformation kann jederzeit vom Anwender falls er die Werte nicht akzeptiert wieder berschrieben werden CAP Il ist hierbei ein System kommunizierender endlicher Automaten die beim Verhan deln einem Kontraknetzprotokoll folgen so da bei einer Einladung die per elektroni 4 vgl Mue93 MCF94 22 2 Computerunterst tztes Kooperatives Arbeiten CSCW scher Post an die Adressaten gesendet wird die entsprechend anderen Benutzeragenten rein reaktiv und lokal entscheiden Die Synchronisation erfolgt nur durch Kommunikation und Verhandlung Die elektronische Post des Anwenders wird dazu von CAP II auto matisch nach Nachrichten im spezifizierten Nachrichtenformat von CAP II gefiltert Die Bewertung anhand der aufgef hrten Kriterien ergibt da die gew nschte Funktiona lit t durch CAP Il etwas umfassender als durch die bereits geschilderten Systeme zur Verf gung gestellt wird Die momentane Kooperationsbereitschaft eines Benutzers ist indirekt ber einen evil vorhandenen Eintrag im Kalender des Anwenders zu erkennen Es fehlt die M glichkeit die Priorit t einer Aufgabe oder irgendwelche Rauminformationen anzugeben
68. enutzers der Aktenkoffer Die Dokumente die in ihm aufbewahrt werden k nnen nicht von anderen Personen ge ffnet werden Die Bewertung anhand der aufgef hrten Kriterien ergibt da die gew nschte Funktiona lit t durch DIVA teilweise zur Verf gung gestellt wird Die momentane Kooperationsbereitschaft und der physikalische Aufenthaltsort eines Be nutzers sind indirekt mittels der graphischen Benutzeroberfl che dadurch erkennbar da ein Benutzer gerade ein Dokument bearbeitet oder da er sich gerade in einem Gespr ch mit einem anderen Benutzer befindet Es ist nicht erkennbar welche Priorit t eine Aufga be hat oder zu welchem Zeitpunkt sie gestartet bzw beendet wird Die Integration von weiteren Kommunikations bzw Koordinationswerkzeugen zus tzlich zu der bereits vorhanden Unterst tzung f r Video und Audiokonferenzing ist vorgese hen Dieses Werkzeug war zum Zeitpunkt der Diplomarbeit jedoch nicht in der Abteilung ver f gbar 2 4 2 2 GroupDesk System Das GroupDesk System wurde zur Unterst tzung von verteiltem Arbeiten auf der Grund lage des Prinzips von gemeinsamen Arbeitsbereichen und Benachrichtigungsmechanis men in einer CORBA Umgebung entwickelt Der Schwerpunkt des Systems liegt auf der Unterst tzung der Teamsichtbarkeit Dazu werden im GroupDesk System Objekte Rela tionen zwischen den Objekten Anwender und Ereignisse definiert Die Objekte sind die grundlegenden Informationstr ger wie z B ein Dokumen
69. er die Angabe eines benutzerspezifi schen Pa wortes und Angabe eines Standardaufenthaltsortes den Aufenthaltsort eines bestimmten Benutzers zu ver ndern Dadurch wird dem Anwender und den vom Anwen der autorisieren Mitarbeitern erm glicht ggf auch von fremden Arbeitspl tzen aus den Standardaufenthaltsort des jeweiligen Anwenders zu ver ndern Startet ein anderer Benutzer eine Anfrage oder hat er eine Mail vom Mole Office System erhalten so blinkt das entsprechende Symbol des Anwenders Klickt der Anwender auf dieses Symbol so wird eine entsprechende Meldung bzw Mail in der Meldungszeile ausgegeben Unterhalb der Anzeige der Benutzer werden aktuelle Systemmeldungen z B der Erhalt einer Mail von einem anderen Benutzer des Mole Office Systems oder entsprechende abgefragte Benutzerinformationen einer Anfrage des Mole Office Systems angezeigt Zu s tzlich zu der Systemmeldungsleiste ist hier ein Hilfeknopf plaziert mit dem sich der Be nutzer die Hilfe zu den aktuell ausf hrbaren Funktionen anzeigen lassen kann und ein L schen bzw Speichern Knopf mit dem der Benutzer erhaltene Mails vom Mole Office System bei Bedarf l schen bzw speichern kann Die Benutzeroberfl che unterst tzt sowohl die synchrone Kommunikation durch die An zeige des Status des Benutzers also auch die asynchrone Kommunikation z B durch das Anzeigen vom Erhalt einer elektronischen Nachricht mit Termininformationen gt siehe Kapitel 5 2 Der Gebrau
70. erkannt und die Benutzer k nnen direkt per Knopfdruck den Termin eintragen oder ablehnen Die Bewertung anhand der aufgef hrten Kriterien ergibt da die gew nschte Funktiona lit t wie beim CM teilweise durch Schedule zur Verf gung gestellt wird Die momentane Kooperationsbereitschaft eines Benutzers ist auch hier nur indirekt ber einen evtl vorhandenen Eintrag im pers nlichen Kalender des Anwenders zu erkennen Es fehlen die M glichkeiten die Priorit t einer Aufgabe oder irgendwelche Rauminforma tionen anzugeben Ist nichts im Kalender eingetragen oder reichen die Privilegien des anfragenden Benut zers nicht aus so kann wie beim CM keine Aussage ber die momentane Kooperations bereitschaft getroffen werden Die Integration weiterer Kommunikationswerkzeuge ist bis auf die bereits vorhandene Integration der Microsoft Mail nicht geplant Die Verf gbarkeit von Schedule innerhalb der Abteilung ist gering da prim r auf Workstations die mit dem Betriebssystem SOLA RIS laufen gearbeitet wird 2 4 1 3 CAP II Bei dem Kalendermanagementwerkzeug Calendar Apprentice Version Il CAP Il handelt es sich um einen aus Erfahrung lernenden Terminkalender unter dem Betriebssystem UNIX Dieser baut auf einem extra daf r in der Sprache Common LISP entwickelten Multi Agentensystem auf Ziel von CAP Il ist es autonome lernfahige und verhandelnde Agenten f r die B roautomatisierung bereitzustellen also einen m glichen B
71. ermin keine Infor kein Termin Termin keine Termin ohne mit mation Termin ohne mit Information Kooperations FA u We IT mu u Kalender 1 Stute kontaktfreudig ren 3 Stufe Keine St rung Abb 8 Die objektiven Einflu faktoren auf die Kooperationsbereitschaft der Benutzer 1 Stufe Kontaktfreudig bzw hohe Kooperationsbereitschaft Der Benutzer ist zur Kooperation bereit d h gt er befindet sich im Augenblick an seinem Arbeitsplatz und er hat keinen Termin und keine Aufgabe im CM eingetragen oder gt er hat die subjektive Einflu faktoren entsprechend ge ndert gt Die Unterbrechbarkeit des Benutzers ist hoch Will der Benutzer einen Termin mit hoher Kooperationsbereitschaft in seinem Kalender angeben so mu er das Sonderzeichen in die Terminbeschreibung eintragen 2 Anmerkung Da die Definition von Unterbrechbarkeit von Individuum zu Individuum verschieden ist wird hier Unterbrechbarkeit als die Gr e der St rung des Arbeitsablaufes eines Mitarbeiters gesehen 54 5 Entwurf des Softwaresystems Mole Office 2 Stufe Bitte nicht st ren bzw mittlere Kooperationsbereitschaft Der Benutzer ist eingeschr nkt zur Kooperation bereit d h er befindet sich an seinem Arbeitsplatz und hat einen Termin ohne Priorit t in seinen Kalender eingetragen oder gt er befindet sich nicht an seinem Arbeitsplatz und hat keinen Termin in seinen Kalender eingetragen oder er befin
72. erstellenden Softwa resystem die folgenden Punkte e Die Anwender sind die Mitarbeiter der Abteilung IPVR der Fakultat Informatik der Uni versit t Stuttgart da diese in B ros arbeiten die eine gewisse r umliche Distanz die nicht zu vernachl ssigen ist zueinander aufweisen und somit das Arbeiten bzw das Zusammentreffen der Mitarbeiter untereinander zu Besprechungen erheblich er schwert e Folgendes Verhalten der Mitarbeiter soll durch das zu erstellende Softwaresystem teilweise bernommen bzw erleichtert werden Einige Mitarbeiter m ssen sich da sie in einer Arbeitsgruppe zusammenarbeiten und Informationen austauschen wollen des fteren am Tag zu einer spontanen oder zu einer seit l ngerem geplanten Sitzung treffen Bei den spontanen Treffen versuchen die Mitarbeiter entweder entsprechende Arbeits kollegen telefonisch zu erreichen oder sie gehen von B ro zu B ro um entsprechende Sitzungstermine zu verabreden oder spontan etwas mit diesem Mitarbeiter zu bespre chen Dabei ergibt sich immer wieder die Situation da der entsprechende Mitarbeiter nicht telefonisch zu erreichen ist oder da sich der Mitarbeiter nicht in seinem B ro befindet und seinen aktuellen Aufenthaltsort ber einen kleinen Vermerk an der T re einen sogenannten T rzettel bekannt gibt Aus diesem Verhalten resultieren au er dem permanente St rungen des Arbeitsablaufs der Mitarbeiter da die momentane Unterbrechbarkeit bzw Kooperationsbereitschaft
73. erungsnachrichten zu senden wenn der CM nicht aktiv ist Insofern mu im Setup das Zeitintervall f r die berpr fung der Daten aus dem Kalender angegeben werden Die Zust nde 1 bis 18 kennzeichnen ausschlie lich die Zust nde von Mole Office in de nen der Benutzer seine subjektive Kooperationsbereitschaft tempor r also bis zum n ch sten Ereignis ber die Benutzeroberfl che angegeben hat Die momentane Kooperati onsbereitschaft ist festgelegt Bei den Zust nden 19 bis 24 hat der Benutzer seine subjektive Kooperationsbereitschaft nicht ver ndert d h seine momentane Kooperationsbereitschaft setzt sich aus dem Mini mum der Kooperationsbereitschaft des momentanen Aufenthaltsortes und der Kooperati onsbereitschaft der momentanen Aufgabe die in seinem Kalender eingetragen ist zu sammen Eine Ausnahme stellen hierbei die Zust nde 20 und 23 dar Hier hat der Benut zer einen Termin mit hoher Priorit t in seinen Kalender eingetragen folglich ist seine Kooperationsbereitschaft niedrig 76 5 Entwurf des Softwaresystems Mole Office Im folgenden werden exemplarisch die Zust nde 19 bis 24 n her erl utert Im Zustand 19 hat der Benutzer einen Termin CM1 und befindet sich au erhalb seines B ros O1 Von diesem Zustand aus kann der Benutzer seine subjektive Kooperations bereitschaft per Ask Agenten in hoch mittel oder niedrig ndern K3 K2 oder K1 und entsprechend in die Zust nde 13 7 oder 1 springen Wechselt
74. es an System Agenten senden RoomSetupColoredPicture Farbige Bilder f rs RoomSetup methods RoomSetupColoredPicture Gui app RoomSetup aParent StringPictureName int xCoordinate int yCoordinate int int yHeight constructor public String getFileName Dateiname holen public void setFileName Dateiname setzen public void paint Graphics g Bild zeichnen SetupTextfield2 modifizierbares Textfeld method SetupTextfield2 Gui app RoomSetup a Parent int xCoordina int yCoordinate int xWidth int yHeight String labelText int fontSize boolean canEdit constructor MailScreen Mail Fenster MailScreen Gui app Gui aParent constructor TestKnopf3_CLASS Zur ck vom Mail Fenster zu methods public class class Screen2_2 TestKnopf3_CLASS Gui app Mail Screen aParent constructor public boolean action Event evt Object arg Eventhandler VideoScreen Video Fenster method VideoScreen Gui app Gui aParent constructor TestKnopf2_CLASS auf Screen2_2 umschalten methods TestKnopf2_CLASS Gui app VideoScreen aParent constructor public boolean action Event evt Object arg Eventhandler 112 6 Implementierung 8 3 Literaturverzeichnis Bur96 Burger C Kooperation in verteilten Systemen Universit t Stuttgart Fakult t Informatik Vorlesungsskript WS1995 96 http www informatik uni stuttgart de fachschaft kvv kvv ws95 veranstaltungen KVSV
75. esystems angegeben werden Innerhalb des Setups von Mole Office das automatisch beim ersten Aufruf des Pro gramms aktiviert wird k nne folgende Eigenschaften des Benutzers festgelegt werden der Name der Standardaufenthaltsort also sein Buro die Standardarbeitszeit die Standardmittagspause die Standardkooperationsbereitschaft fur sein Buro das Gesch ftstelefon das Privattelefon die elektronische Postadresse vgl Pos82 66 5 Entwurf des Softwaresystems Mole Office der Systemname des Terminkalenders das Zeitintervall zur berpr fung der elektronischen Post das Zeitintervall zur Aktualisierung der Systemdaten der Interessenskontext evtl andere eine Kooperationsbereitschaft pro Standardaufenthaltsort evtl ein oder mehrere benutzerdefinierte Aufenthaltsorte evtl der Pfad eines Bildes im GIF Format und evtl ein Pa wort um auch von anderen Arbeitsplatzrechnern in der Abteilung auf Mole Office zugreifen zu k nnen Gibt der Anwender einen neuen benutzerdefinierten Ort an so wird dieser Ort allen Sy stemagenten der anderen Benutzern mitgeteilt damit auch ihnen der neue Ort bekannt ist Die Angaben des Benutzers werden im Systemagenten persistent gespeichert Zus tzlich werden sie in einer zentralen Systemdatei abgelegt damit die anderen Mitarbeiter auf den Name des neuen Benutzers zugreifen k nnen In dieser Namensd
76. etet sein System individuell zu konfigurieren direkt ber die Benutzerschnittstelle aufrufen k nnen e Die Aufrufe des Kalender und Terminabsprachewerkzeug Calendar Manager des elektronische Post verarbeitenden Mailtools und der Hilfefunktion sollen direkt ber die graphische Benutzeroberfl che m glich sein e Beim Aufruf des Mailtools ber Mole Office soll der Benutzer andere Mitarbeiter ber die Benutzerschnittstelle per Mausklick spezifizieren k nnen siehe Kapitel 5 3 Der Verwaltungsbereich 43 4 Produktspezifikation e Elektronische Post anderer Mitarbeiter in Bezug auf das Mole Office System soll am Bildschirm angezeigt gel scht oder gespeichert werden k nnen 4 3 2 Die Aspekte der Schnittstelle zum Mailtool e Die zu erstellende Software Mole Office soll in der Lage sein elektronische Post dar auf hin zu berpr fen ob sich Post von einem anderen Mole Office Benutzer mit Ter mininformationen in dem Posteingangsordner des Benutzers befindet Das Zeitintervall zur berpr fung der Post soll vom Benutzer festgelegt werden k nnen e Der Anwender soll in der Lage sein automatisch erzeugte Post von einem anderen Mole Office Anwender von Mole Office aus nachdem er die Nachricht gelesen hat zu l schen und zu speichern e Falls ein Anwender nicht erreichbar ist soll Mole Office automatisch aber nach Best tigung des Benutzers elektronische Post erzeugen k nnen damit der gerufene ber die Anfrag
77. falls soll es diese unter Wahrung von zus tzlich zu dem im CM definierten Vertraulichkeitsstufen beantworten Diese Vertraulich keitsinformationen m ssen explizit vom Anwender im Kalendermanagementwerkzeug CM zu den Termininformationen eingetragen werden 46 4 Produktspezifikation e Das System das permanent l uft kann sich wenn der Benutzer es im Setup spezifi ziert die durchschnittlichen Arbeitsanfangs Arbeitsend und Mittagszeiten merken bzw errechnen Mit diesen Daten kann das System dann wahrscheinliche Gr nde f r die Abwesenheit des Benutzers angeben auch wenn dieser keine Eintragungen in das Kalendermanagementwerkzeug vorgenommen hat e Das System soll eine Hilfefunktion beinhalten mit der sich die Benutzer jederzeit eine Hilfe ber die verf gbaren Funktionen geben lassen k nnen e Die Informationen die ein Benutzer ber sich und seinen Zustand in das System ein gegeben hat sollen persistent sein d h sie sollen auch einen Ausfall des Arbeitsplatz rechners berstehen e Die Verwaltung des Status eines Benutzers soll auch von fremden Arbeitsplatzrech nern aus m glich sein Dazu soll ein Pa wort zur Authentifizierung f r jeden Benutzer eingerichtet werden 4 5 Der Technologiestandpunkt Im folgenden wird der Aspekt der Programmierumgebung und der zu verwendenden Komponenten untersucht e Die Programmierumgebung bilden SUN SPARCstations 10 mit dem Betriebssystem Solaris Version 2 4 und dem Window
78. gentensystem Version Alpha 1 0 wurde im Herbst 1995 an der Uni versit t Stuttgart in der Abteilung Verteilte Systeme am Institut f r Parallele und Verteilte H chstleistungsrechner im Rahmen einer Diplomarbeit von Hoh95 entwickelt Es handelt sich hierbei um ein offenes Agentensystem das f r mobile Agenten konzipiert wurde Das Agentensystem und die Agenten wurden in der Programmiersprache Java implemen tiert da diese entsprechende Sicherheitsmechanismen zur Verf gung stellt Es besteht im wesentlichen aus zwei Teilen den Agenten und den Orten auf denen die Agenten aus gef hrt werden k nnen Im Molesystem existieren zwei Typen von Agenten die ortsfesten Systemagenten die ei ne Schnittstelle zum umgebenen Softwaresystem darstellen und mobile Agenten die von Ort zu Ort migrieren k nnen Eine Besonderheit von Mole ist da die Orte in Mole in Location und Engine unterteilt werden Die Mole Engine der aktuellen Implementierung kann eine oder mehrere Loca tionen instanziieren und l uft innerhalb eines normalen Betriebssystemprozesses Der Vorteil dieser Unterteilung ist da nur ein Java Interpreter pro Engine ben tigt wird Dies bringt wesentliche Performacegewinne mit sich An jeder Location k nnen sich ortsfeste Systemagenten befinden ber die die mobilen Agenten auf die Systemressourcen der Umgebung zugreifen k nnen Die Agenten haben die M glichkeit untereinander ber Nachrichten sowohl innerhalb einer Location als auch
79. gigkeit des Agentensystems erm glicht Es besteht im wesent lichen aus zwei Teilen den mobilen CyberAgents und den CyberAgent Listeners die die Locationen im Agentensystem darstellen Ein CyberAgent wird als ein autonomes Programm gesehen das sich ber das Netz von Rechner zu Rechner bewegt und dort Aufgaben erledigt Die Agenten k nnen alleine oder in Gruppen arbeiten Sie haben die M glichkeit mit Applikationen wie z B Microsoft Excel zu kommunizieren um Daten zug nglich zu machen oder sogar Applikationen mit sich 33 3 Agententechnologie ber das Netzwerk das TCP IP kompatibel sein mu zu transportieren Desweiteren werden drei verschiedene Sicherheitsstufen im Agentensystem angeboten um den Si cherheitsbed rfnissen der Anwender zu gen gen Die CyberAgenten unterscheiden sich anhand von vier Schl sselattributen die f r jeden Agenten definiert werden e Migration Je nach Migrationsf higkeit werden die Agenten in zwei verschiedene Klas sen aufgeteilt Entweder besitzen die Agenten die M glichkeit zu entfernten Rechner zu migrieren und dort Applikationen zu starten oder sie sind an einen einzelnen Rech ner gebunden Haben die Agenten die F higkeit der Migration so kann der Benutzer eine Art Reiseplan festlegen indem er spezifiziert ob die Zielrechner seriell nachein ander besucht werden und der Benutzer am Ende ein entsprechendes Ergebnis erh lt oder ob eine Gruppe von Agenten parallel die Zielrechner besuch
80. ich f r jeden Benutzer eine Vertrauensstufe 84 6 Implementierung analog zu Kapitel 5 3 zu definieren Desweiteren ist es m glich bis zu acht Benutzer in seinen Interessenskontext aufnehmen Diese Benutzer werden dann im Hauptfenster im Informationsbereich angezeigt Um aktuelle Informationen zu erhalten wird au erdem ein Watch Agent zum entsprechenden System Agenten gesendet Wird der Benutzer wieder aus dem System entfernt so wird der Watch Agent beendet Im dritten Teil sind wie auch beim Setup Fenster die Spezialkn pfe angeordnet Durch den gt gt Knopf foreward kann man sich falls vorhanden den n chsten Benutzer an zeigen lassen Durch den lt lt Knopf backwards entsprechend den vorherigen Benut zer Nur durch den Save Knopf werden die Informationen abgespeichert an den Systema genten gesendet und das Hauptfenster der Benutzeroberfl che entsprechend angepa t Dr ckt man den Exit Knopf so gelangt man wieder zum Setup Fenster Wird im Setup Fenster der RoomSetup Knopf gedr ckt so gelangt man in das Room Setup Fenster RoomSetup E Applet Viewer mole moleschedule Gui class Applet RO OH sage eal URE Information about current Room Name of Room arbeitsraum 2 067 Number of Room 2 067 Your personal settings for current Room Readiness for talk Ke B ES p l High Medium Low Room is on Roomlist Ayes No 1st telefonnumber 233 2nd telefon
81. ichert Diese Informationen k nnen z B der Raumname die Raumnummer und die Telefonnummer des Raumes sein Da die Anzahl der R ume im Mole Office System nicht begrenzt ist werden alle R ume in einem Raum Vektor myRoomVector verwaltet UpdateDataOfAllRooms saveRoomInformationToHome Agent Se d getAdditionalRooms getRoomInformationFromHome Raum Vektor saveRoomInformationToHome N System Agent E getRoomInformationFromHome saveRoomInformationToHome getRoomInformationFromHome RoomsIPVR Abb 23 Methoden Aufrufe und Kommunikation des Raum Vektors In diesem Vektor existieren die Methoden die ben tigt werden um die Daten aus dem Raum Vektor aus einem angegeben Verzeichnis zu lesen getRoominformationFromHome bzw in ein gegebenes Verzeichnis zu schreiben saveRoominformationToHome Beim Starten des Mole Office Systems besteht die M glichkeit zu berpr fen ob sich be reits Rauminformationen im lokalen Mole Office System befinden Sind Rauminformatio nen vorhanden so werden die lokalen Informationen mit denen aus dem Administrator Agenten verglichen und wenn n tig aktualisiert updateDataOfAllRooms Sind keine lokalen Rauminformationen vorhanden so besteht die M glichkeit die Stan dardaufenthaltsorte der Abteilung IPVR der Universit t Stuttgart in das System zu laden da diese fest in das Mole Office System integriert sind RoomsIPVR Desweiteren
82. ichkeiten f r die zuk nftige Erweiterbarkeit der Anwendung aufgezeigt 2 Computerunterst tztes Kooperatives Arbeiten CSCW 2 Computerunterst tztes Kooperatives Arbeiten CSCW Da sich das Gebiet des CSCW mit dem f r diese Diplomarbeit zentralen Thema der Teamkoordination besch ftigt werden in diesem Kapitel zun chst die grundlegenden Be griffe und Konzepte des CSCW n her erl utert Anschlie end werden die Werkzeuge entsprechender relevanter Teilbereiche von CSCW klassifiziert und ausgew hlte Anwen dungen daraufhin berpr ft ob bereits Werkzeuge existieren die den Anforderungen der Diplomarbeit zur Unterst tzung von Teamkoordination gen gen 2 1 CSCW Grundlagen Ein CSCW System baut wie in folgender Abbildung veranschaulicht auf Kommunikation Koordination und Kooperation auf CSCW System Abb 1 Grundlegender Aufbau eines CSCW Systems 2 1 1 Die Kommunikation Die Grundlage jeder Kooperation und damit jedes CSCW Systems stellt die Kommuni kation also die bermittlung bzw den Austausch von Informationen zwischen verschie denen Objekten dar Vgl DiSa93 S vgl Yan95 gt vgl Lud89 2 Computerunterst tztes Kooperatives Arbeiten CSCW Die Kommunikation erfolgt mittels eines Kommunikationsmediums d h durch einen Kommunikationskanal ber den Nachrichten ausgetauscht werden Der Sender einer Nachricht befindet sich am Eingang und der Empf nger der Nachricht am Ausgang
83. icrosofts Schedule CAP Il und Montage n her untersucht 7 siehe auch GrPa95 CM94I Mue93 TIR94 18 2 Computerunterst tztes Kooperatives Arbeiten CSCW 2 3 2 Klassen von Kooperationswerkzeugen Folgende Klassen von Kooperationswerkzeugen k nnen unterschieden werden Werkzeuge zur gemeinsamen Nutzung von Einbenutzeranwendungen Bei Werkzeugen dieser Klasse werden die Ausgaben einer Anwendung allen beteiligten Benutzern zur Verf gung gestellt Application Sharing Das Werkzeug steuert das Ein gabeger t und erlaubt es meistens immer nur einem Benutzer dieses zu verwenden Das Werkzeug liefert zus tzlich noch die Funktionen zur Team bzw Sitzungsverwaltung wie z B die Weitergabe des Rechtes die Maus zu benutzen an einen anderen teilnehmenden Anwender Werkzeuge zur Nutzung von gemeinsamen Arbeitsbereichen Diese Klasse von Werkzeugen stellt den Benutzern eine Abstraktion beliebiger gemein sam zug nglicher Objekte zur Verf gung Shared Workspaces und Awareness Systeme Das Werkzeug koordiniert den gemeinsamen Zugriff auf diese Objekte durch mehrere Benutzer und f hrt damit die einzelnen Anwender nderungen nachvollziehen k nnen eine Versionsverwaltung der einzelnen Objekte durch Wie auch beim Application Sharing werden Funktionen wie z B Benachrichtigungsmechnismen zur Team bzw Sitzungs verwaltung angeboten Design Datenbanken Diese Datenbanken erweitern die auf gegenseitig konku
84. ieder zur Verf gung stehen Somit sind alle Informationen per sistent 6 3 3 Der Ask Agent MSAskAgent Der Ask Agent ist im Gegensatz zum Administrator und System Agenten ein mobiler Agent Die grundlegende Funktionalit t des Ask Agenten besteht darin den aktuellen Status eines anderen Benutzers unter der Wahrung von Vertraulichkeitsstufen abzufra gen und an den System Agenten weiterzuleiten ReplyFromSystemA gent CreateMSAskAgent Ask System Agent Agent RequestFromAskA gent ReplyFromAskA gent Abb 20 Methoden Aufrufe und Kommunikation des Ask Agenten Dazu migriert der Ask Agent nachdem er erzeugt wurde createMSAskAgent zum spe zifizierten Benutzer erfragt dort den aktuellen Status also Standardaufenthaltsort und die momentane Kooperationsbereitschaft RequestFromAskAgent und ReplyFromSyste mAgent kehrt zum lokalen Benutzer zur ck und gibt die Information an den System Agenten weiter ReplyFromAskAgent Nachdem er diese Aufgabe erf llt hat wird er automatisch aus dem System entfernt 90 6 Implementierung 6 3 4 Der Watch Agent MSWatchAgent Der Watch Agent ist wie auch der Ask Agent ein mobiler Agent Seine Hauptaufgabe besteht darin die Ereignisse des spezifizierten Benutzers unter der Wahrung von Ver traulichkeitsstufen zu berwachen ung falls sich der Status des Benutzers ndert die Informationen zu seinem Besitzer zu senden damit dieser den Status des entsprechen den Benutzers anpass
85. ield SetupTextField aPrivateTelefonNumberField SetupTextField aNameOfCmField SetupTextField aTimelntervallOfMail SetupTextField aTimelntervallOfUpdate SetupTextField aTimeOfWorkField SetupTextField aTimeOfLunchField String aSystemAgentinfo 107 6 Implementierung nate class class class class class constructor public boolean action Event evt Object arg Eventhandler void getInformationFromT extField alle Informationen vom Textfelder holen public void setNewPanel Screen2_2 aPanel Link auf Panel Ubergeben SetupTextField Textfeld f r Setup methods SetupTextField Gui app SetupScreen aParent int xCoordina int yCoordinate int xWidth int yHeight String content int alength constructor public String cutLength String text Lange der Daten aus Textfeld kurzen SetupLabel Label fur Setup method SetupLabel Gui app SetupScreen aParent int xCoordinate int yCoordinate int xWidth int yHeight String labelText int fontSize constructor SetupRoomButton Knopf f r RoomSetup methods SetupRoomButton Gui app SetupScreen aParent int xCoordinate int yCoordinate int xWidth int yHeight RoomSetup RoomLink constructor public boolean action Event evt Object arg Eventhandler SetupUserButton Knopf f r UserSetup methods SetupUserButton Gui app SetupScreen aParent int xCoordi int yCoordinate int xWidth int yHeight UserSetup aLink
86. ihm registrierten Benutzer von der nderung in der globalen Datenbasis informiert sendChangedUserlnfoToOthers bzw sendAdditionalRoom ToOthers Wenn ein Benutzer sein System neu startet und die Informationen ber die aktuellen Be nutzer und Standardaufenthaltsorte erhalten will so k nnen diese vom Administrator Agenten abgefragt werden SendAllUsersToMe bzw sendAllAdditionalRoomsToMe 87 6 Implementierung Wird der Administrator Agent selbst neu gestartet so m ssen seine evtl gespeicherten Informationen ber vorhandene R ume und Benutzer wieder eingelesen werden getRoominformationFromHome bzw getUserInformationFromHome Wird der Agent regul r beendet so werden die Informationen gesichert saveUserInformationToHome bzw saveRoominformationToHome Durch das Speichern von Informationen und durch die M glichkeit diese wieder einzule sen wird der gew nschte Grad an Persistenz des Administrator Agenten erreicht 6 3 2 Der System Agent MSSystemAgent Jeder Benutzer des Mole Office Systems hat seinen eigenen immobilen System Agenten der f r ihn seinen Status und seine pers nlichen Informationen in Bezug auf ihn und auf andere Benutzer sowie im System vorhandene R ume in einer lokalen Datenbasis User und Room Vektor verwaltet ber den System Agenten wird dem Java Applet der Benutzeroberfl che die M glichkeit des Zugriffs auf die Systemumgebung des Benutzers gegeben Aus sicherheitstechni schen Gr nde
87. iorit t in den Kalender eingetragen und e keine Information aus dem Kalender da der Termin bzw die Aufgabe einer Vertrau lichkeitsstufe zugeordnet ist die h her als die eigene Stufe in Bezug auf den Benutzer ist Siehe Kapitel 5 3 Der Verwaltungsbereich 52 5 Entwurf des Softwaresystems Mole Office Der zweite objektive Einflu faktor auf die Kooperationsbereitschaft ist der Standar daufenthaltsort des Benutzers Der Benutzer kann seinen Aufenthaltsort entweder ber die Benutzeroberfl che oder ber einen zus tzlichen Eintrag in seinen Kalender ange ben Hierbei wird unterschieden in e der Standardaufenthaltsort und die entsprechende Kooperationsbereitschaft und e andere Aufenthaltsorte und die entsprechenden Kooperationsbereitschaft Die beiden objektiven Einflu faktoren werden in Kombination miteinander verwendet d h z B ein Benutzer hat keinen Eintrag in seinem Kalender und befindet sich in seinem B ro oder er hat einen Termin mit Priorit t und befindet sich im B ro seines Vorgesetzten Die subjektiven Einflu faktoren auf die Kooperationsbereitschaft eines Mitarbeiters sind e Die pers nliche Einsch tzung der jeweiligen Arbeitssituation die der Mitarbeiter ber die Benutzeroberfl che direkt angeben kann e Die in den Terminkalender eingetragenen Priorit ten und die Kooperationsbereitschaft des Mitarbeiters in Bezug auf die einzelnen Aufgaben und e die im Setup evtl ge nderte Kooperationsbere
88. it haben mittels Applets Informationen ber das umgebende System zu beziehen und Informationen an diese zu senden 3 2 1 Java To Go Java To Go ist ein Projekt an der Berkeley Universit t in Kalifornien USA das seit Juli 1996 ffentlich zug nglich ist Es handelt sich hierbei um eine experimentelle Arbeitsum gebung f r die Entwicklung und das Testen von mobilen Agenten und f r agentenbasier te verteilte Anwendungen Der Schwerpunkt wird hierbei auf eine leicht zu konfigurieren de Arbeitsumgebung die mobile Agenten verwendet gelegt 57 vgl LiMe96 38 vgl FTP96I FTPY6IT FTP96IIT 7 vgl Pei95 vgl Whi94T Whi94II und Li96 vgl Hoh95 Hoh96 32 3 Agententechnologie In einer verteilten Anwendung versuchen z B ein oder mehrere mobile Agenten parallel eine Reihe von verteilten Rechnern zu kontaktieren um somit eine gew nschte Informati on zu erhalten oder um gemeinsam eine Aufgabe zu l sen Das Ergebnis wird am Ende dem lokalen Agentensystem mitgeteilt Die Infrastruktur von Java To Go gliedert sich in zwei Teile mobile Agenten und Locatio nen die hier stationary Hall servers genannt werden Den Agenten wird die M glichkeit gegeben sich frei zu bewegen und eigene Berechnun gen bzw Absch tzungen ber den konomischen Sinn einer Migration zu einen oder mehreren Servern zu treffen Ein Agent hat in Java To Go die M glichkeit weitere Agenten zu erzeugen die die Aus f
89. itarbeiter und Angestellten sollen durch die zu erstellende Software in die Lage versetzt werden effektiver und effizienter unter Ber cksichtigung ihrer Privatsph re miteinander zu ko operieren vgl GrPa95 40 4 Produktspezifikation 4 2 Der Informationsstandpunkt Die Konzepte des Informationsstandpunktes bilden einen Rahmen f r die Spezifikation der zu verarbeitenden Information im zu erstellenden Softwaresystem Die Konzepte bestehen aus Informationsobjekten also Objekten die Informationen die das Softwaresystem betreffen beinhalten Beziehungen zwischen diesen Objekten und Verpflichtungen bzw Regeln die das Informationsverhalten der Objekte beschreiben oO 2 un 2 2 S lt S 3 Nn H D N gt E S O m Benutzer Mole Schedule Anwendungen Abb 6 Beziehungen zwischen Informationsobjekten Im wesentlichen existieren in dem hier zu erstellenden Softwaresystem vier Informati onsobjekte 1 Die Benutzerschnittstelle je Benutzer bzw je Anwender des Softwaresystems also f r jeden Mitarbeiter der Abteilung IPVR der Fakult t Informatik der Universit t Stutt gart f r die Ein und Ausgabe der benutzerspezifischen Daten wie zum Beispiel der momentane Aufenthaltsort 2 Das Kalendermanagementwerkzeug CM f r die Verwaltung und Koordination der eingetragenen Termine oder Aufgaben 3 Das Mailtool f r die Verwaltung der elektronischen Post 4 Die zu erstellende Software namens Mo
90. its eine graphische Oberfl che ben tigt mit der die Mitarbeiter ihre Aufenthaltsorte au erhalb des B ros oder besondere nicht zu unterbrechende T tigkei ten definieren und die Erreichbarkeit anderer abfragen k nnen Andererseits mu das Softwaresystem in ein Agentensystem integriert werden damit ein pers nlicher Softwa reagent realisiert werden kann Durch die Integration von Email soll Anrufbeantworter funktionalit t erm glicht werden Zus tzlich wird ein Kalendermanagementwerkzeug inte griert damit bei fest eingetragenen Terminen automatisch angegeben werden kann wo und wie lange sich der Mitarbeiter an einem bestimmten Aufenthaltsort befindet Au er dem sollen verschiedene Vertraulichkeitsstufen definiert und beachtet werden 1 2 Motivation Die Hauptbeweggr nde f r diese Diplomarbeit sind die Verbesserung der Teamarbeit durch Erh hung der Erreichbarkeit einzelner Mitarbeiter unter Ber cksichtigung ihrer Pri vatssph re Die Teamarbeit wird im weiteren verbessert durch Verst rkung des Teamge dankens zwischen den Mitarbeitern da das Team als Ganzes mit seinen Mitarbeitern und deren Aufenthaltsorten dargestellt werden kann und durch Zeitersparnis einzelner Mitarbeiter da alle Anfragen im Bezug auf andere Mitarbeiter direkt vom Arbeitsplatz rechner aus durchgef hrt werden k nnen Durch die Verwendung von mobilen Agenten soll eine effiziente Arbeitsumgebung geschaffen werden die im Bereich von verteiltem Arbeiten immer
91. itschaft der Standardaufenthaltsr ume Die aktuelle Kooperationsbereitschaft des Anwenders wird prinzipiell aus den objektiven und subjektiven Einflu faktoren berechnet wobei die subjektiven Faktoren gegen ber den objektiven Faktoren bevorzugt werden da der Anwender explizite Angaben ber sei ne Kooperationsbereitschaft gemacht hat Hat der Anwender z B einen Termin mit Priorit t in seinen CM eingetragen so ist seine Kooperationsbereitschaft laut Softwaresystem niedrig Will der Anwender aber eine hohe Kooperationsbereitschaft w hrend des Termin so kann er entweder den entsprechenden Knopf auf der Benutzeroberfl che dr cken oder zus tzliche Kooperationsinformationen in seinen Kalender eintragen Definiert er seine momentane Kooperationsbereitschaft mittels den Kn pfen auf der Benutzeroberfl che um so ist diese nderung nur f r die Dauer der augenblicklichen Aktivit t Ist diese beendet so berechnet das Softwaresystem die mo mentane Kooperationsbereitschaft wieder aus den objektiven Einflu faktoren 53 5 Entwurf des Softwaresystems Mole Office Die Berechnung der aktuellen Kooperationsbereitschaft vom Benutzer durch das Softwa resystem aufgrund der objektiven Einfl sse wird durch folgende Abbildung veranschau licht in der die Kooperationsbereitschaft in drei Stufen mit unterschiedlicher Unterbrech barkeit unterteilt wird Seen anwesend am nicht anwesend am j p nm o je Arbeitsplatz Arbeitsplatz i kein Termin T
92. ittels den farbigen Symbolen auf der graphischen Benutzeroberfl che zu er kennen Die Priorit t einer Aufgabe statische und dynamische Rauminformationen der physikalische Aufenthaltsort und der Start und Endpunkt einer Aktivit t sind nicht er kennbar Die Integration von weiteren Kommunikations bzw Koordinationswerkzeugen zus tzlich zu der bereits vorhanden Unterst tzung f r Video und Audiokonfernzing ist vorgesehen Dieses Werkzeug war zum Zeitpunkt der Diplomarbeit jedoch nicht in der Abteilung ver f gbar Aus der Analyse der Funktionalit t der bereits vorhandenen Systeme ist zu erkennen da die Grundz ge der gew nschten Funktionalit t des zu erstellenden Softwaresystems be reits in einigen Systemen in der Forschung oder sogar am Markt verf gbar sind Es exi stiert jedoch zum momentanen Zeitpunkt kein Werkzeug das die gesamte Funktionalit t beinhaltet Desweiteren ist keines der Werkzeuge das die Grundz ge der Funktionalit t bietet am Lehrstuhl vorhanden so da ein neues Softwaresystem entworfen werden mu 26 3 Agententechnologie 3 Agententechnologie Nachdem in Kapitel 2 vorhandene Werkzeuge aus dem Gebiet des computer gest tzten kooperativen Arbeitens daraufhin untersucht wurden ob bereits vergleichbare Ans tze oder Arbeiten im Bereich der Teamkoordination existieren wurde in dieser Diplomarbeit da kein Werkzeug die gew nschte Funktionalit t bietet ein eigenes Softwaresystem im plementiert
93. ktronischen Markt Innerhalb von Telescript werden Agenten Orte Engines Migration Treffen verschiede ner Agenten Kommunikationsverbindungen zwischen Rechnern Vollmachten und Ge nehmigungen eines Agenten unterst tzt Die Agenten von Telescript die als bewegliche Diensterbringer im Agentensystem gese hen werden k nnen innerhalb eines Ortes mit speziellen Vollmachten ausgestattet sein die es ihnen erlauben auf das umgebende Softwaresystem zuzugreifen oder sogar ande ren Agenten die Genehmigung f r einen Zugriff zu erteilen Ein Agent der einen Auftrag zu erf llen hat migriert selbst ndig zu einem oder mehreren Zielorten um dort mit den privilegierten Agenten ein Treffen abzuhalten bei dem Informationen ausgetauscht wer den k nnen Telescript unterst tzt die Programmiersprachen C und C wobei die Agenten und die Benutzeroberfl che in der Programmiersprache Telescript implementiert werden m ssen Bewertung anhand der aufgef hrten Kriterien Durch die Unterst tzung von C bzw C k nnen auch Anwendungen die au erhalb des Agentensystems liegen in das Agentensystem integriert werden Leider wird im Augen blick weder die Programmiersprache Java noch die Kommunikation mit Java Applets un terst tzt Au erdem ist Telescript ein kommerzielles Produkt das nicht frei am Markt ver f gbar ist so da Telescript in dieser Diplomarbeit keine Anwendung findet 36 3 Agententechnologie 3 2 5 Mole Das aktuelle Mole A
94. le Office die die benutzerspezifischen Informationen verwaltet 41 4 Produktspezifikation Beziehungen zwischen den Informationsobjekten Der Anwender hat zum einen wie bisher die M glichkeit das Kalendermanagementwerk zeug CM und das Mailtool direkt ber sein X Windowssystem zu aktivieren und dort ent sprechend Termine einzutragen und elektronische Post zu verschicken zu lesen oder zu l schen Da aber ein integrierender Ansatz in dieser Arbeit verfolgt wird d h am Ende der Ent wicklung des Softwaresystems eine Anwendung entstehen soll die alle verf gbaren Kommunikations bzw Kooperationswerkzeuge enth lt kann der Benutzer CM und das Mailtool auch indirekt ber die Benutzerschnittstelle in Mole Office aufrufen Hierbei kann der Benutzer dem Mailtool ber die Benutzerschnittstelle die verschiedenen Adressaten der elektronischen Post angeben Der Benutzer erh lt au erdem vom Mole Office System direkt ber die Benutzeroberfl che Informationen ber andere Benutzer inwieweit und wann sie sich an ihren Arbeitspl tzen oder in anderen R umen oder sonsti gen rtlichkeiten aufhalten Desweiteren wird angezeigt ob andere entfernte Benutzer eine Terminanfrage per elektronischer Post an den lokalen Benutzer gestellt haben Es k nnen au erdem diese von Mole Office automatisch erzeugten elektronischen Post nachrichten gel scht bzw gespeichert werden Mole Office speichert die benutzerspezifischen statischen und dynamis
95. lle Watchagenten senden nun ihrer seits entsprechende Nachrichten an ihre Systemagenten die dann diese Nachrichten verarbeiten den lokalen Status des Benutzers aktualisieren und an den jeweiligen Benut zer weiterreichen siehe Kapitel 5 1 Der substantielle Bereich 68 siehe Kapitel 5 3 Der Verwaltungsbereich 71 5 Entwurf des Softwaresystems Mole Office Durch eine detailliertere Untersuchung der Informationsobjekte in Mole Office k nnen die Ereignisse zu den grundlegenden Informationsquellen in Bezug gesetzt werden Man er h lt so den Informations bzw DatenfluB von Mole Office Mail Termine Benutzer A AN Kommunikationsbereitschaft 1 Interessenskontext Aufenthaltsorte baT Y v e A Systemagent Systemagent Benutzer B Benutzer C Legende W A Watch A gent Ask Agent L Abb 12 Informations bzw Datenflu von Mole Office Die grundlegenden Informationsquellen sind e Das Mailtool da Mole Office den Posteingang des jeweiligen Benutzers daraufhin berwacht ob von Mole Office erzeugte elektronische Post mit systemrelevanten In formationen von anderen Benutzern vorliegt e Das Kalendermanagementwerkzeug da es ebenfalls von Mole Office berwacht wird um die aktuellen Termin bzw Aufgabeninformationen zu erhalten 72 5 Entwurf des Softwaresystems Mole Office e Die Systemagenten der Benutzer von Mole Office indem sie Informationen ber die subjektive Kooperations
96. mine bei ihnen eintragen Dazu kann man f r jeden Benutzer Zugriffsbeschr nkungen wie darf nur lesen engl lt browse gt einf gen engl lt insert gt l schen engl lt delete gt oder hat keinen Zugriff definieren Mit CM ist es m glich sich verschiedene Ansichten z B die Wochenansicht auf die ein getragenen Verabredungen des aktuellen Kalender anzeigen zu lassen Desweiteren k nnen durch die Integration des MAILTOOLS der Firma SUN Einladungen an andere Benutzer versendet werden die die Termininformation per Drag and Drop in ihren Terminkalender eintragen k nnen Die Bewertung anhand der aufgef hrten Kriterien ergibt da die gew nschte Funktiona lit t durch CM teilweise zur Verf gung gestellt wird Die momentane Kooperationsbereitschaft eines Benutzers ist nur indirekt und nicht di rekt ber einen evtl vorhanden Eintrag im pers nlichen Kalender des Anwenders zu er kennen Es ist z B m glich den Start und Endpunkt aller Aktivit ten und Aufgaben oder den phy sikalischen Aufenthaltsort eines Benutzers falls er im CM eingetragen ist abzufragen Es fehlt die M glichkeit die Priorit t f r eine Aufgabe zu definieren bzw statische und dy namische Rauminformationen anzugeben Sind keine oder zu wenig Informationen im CM eingetragen ist der Termin als geheim eingestuft oder reichen die Privilegien des anfragenden Benutzers nicht aus so kann kei ne Aussage ber die momentane Kooperationsbereitschaft ge
97. n Personen der Abh ngigkeiten zwischen ihren T tigkeiten bewu t sein damit alle Teile des Dokumentes zusammenpassen Definition Teamkoordination Der Begriff der Teamkoordination wird in dieser Diplomarbeit wie folgt definiert Unter Teamkoordination versteht man da verschiedene Menschen einer oder unter schiedlicher Gruppen ihre Arbeitsabl ufe aufeinander abstimmen um ein entsprechendes Ziel effizient zu erreichen Als Beispiel f r Koordinationswerkzeuge k nnen elektronische Terminkalender oder CA SE Tools gesehen werden 2 1 3 Die Kooperation Unterschiedliche Gruppen k nnen untereinander konkurrieren oder miteinander kooperie ren Im Fall der Kooperation oder Kollaboration verfolgen die teilnehmenden Gruppen ein ge meinsames Ziel Anders gesagt kooperieren die Gruppen dann wenn sie harmonisch auf ein gemeinsames Ziel gerichtet zusammenarbeiten Als Beispiel hierf r ist die Kooperation innerhalb einer Arbeitsgruppe eines Unternehmens anzuf hren Die einzelnen Mitarbeiter der entsprechenden Arbeitsgruppe verfolgen f r sich ihre individuell unterschiedlichen Ziele wie z B die Befriedigung ihrer pers nlichen Sicherheitsbed rfnisse oder das Streben nach Selbstverwirklichung Im Idealfall kooperie ren sie jedoch zusammen um ein gemeinsames Projekt der Arbeitsgruppe erfolgreich zu beenden vgl BuSe94 MaCr90 gt vgl BuSe94 MaCr90 vgl Mas54 10 2 Computerunterst tztes Kooperatives
98. n ge ben oder sogar eigenst ndig kleinere Diagnosen erstellen die dann dem Experten ber mittelt werden k nnen Teleshopping Systeme Diese k nnen deshalb als Koordinationswerkzeuge verstanden werden weil sie die Ver handlungen zwischen dem Ein und dem Verk ufer koordinieren Ein Verk ufer gibt dem System sein Angebot mit seinen Preisspannen bekannt und ein Eink ufer der sich f r 3 siehe auch SOM92 14 siehe auch M Sc92 15 siehe auch FTP96I FTP96II FTP96III 16 siehe auch Vil96 17 2 Computerunterst tztes Kooperatives Arbeiten CSCW ein entsprechendes Produkt interessiert verhandelt mit dem Verkaufssystem im Rahmen seiner Preisvorstellungen ber die entsprechenden Angebote Elektronische Terminplanungssysteme Sie k nnen zur Verwaltung der Termine einzelner Personen und zur Abstimmung von gemeinsamen Terminen zwischen mehreren Personen dienen Ein Terminkalender hat meist die F higkeit die Koordination von Terminen dadurch zu unterst tzen da er die vorhandenen Termininformationen eines oder mehrerer Benutzer die ein Treffen abhal ten wollen analysiert und den f r alle Teilnehmer g nstigsten Terminvorschlag macht Wie aus der Klassifizierung zu erkennen ist bieten nur elektronische Terminplanungssy steme eine hnliche Funktionalit t wie sie in der Diplomarbeit gew nscht wird Aus die sem Grund werden im Kapitel 2 4 1 die Terminplanungssysteme Calendar Manager der Firma SUN M
99. n ist der Zugriff von Java Applets auf das umgebende Softwaresystem un tersagt Es ist einem Java Applet nicht m glich auf das Filesystem zuzugreifen um den momentanen Zustand des Benutzers abzuspeichern definitly NewUserState actualRoom newUserInfoFromA dministrator NewDefaultRoom newRoomInfoFromAdministrator NewUserInformation 4 Administrator NewRoomInformation sendUserToAdministration Agent sendRoomToAdministration GuiUpdate availableRooms ReplyFromWatchAgent allAvailableRooms actualSystemSetupFlag actualUserParameters create MS WatchAgent getUserSetupParameters SendNewlInfoToWatch checkUserInfo KillWatchAgent RequestFromWatchAgent ReplyFromSystemAgent System Agent create MSAskAgent getReadinessAndRoomOfUsers RequestFromAskAgent ReplyFromSystemAgent getUserInformationFromHome saveUserInformationToHome Vektor getRoomInformationFromHome R readParameters aum writeParameters Vektor saveRoomInformationToHome Abb19 Methoden Aufrufe und Kommunikation des System Agenten 88 6 Implementierung W hrend des Startens des System Agenten wird zuerst der aktuelle Status des im Sy stem Agenten integrierten endlichen Automaten der die Kooperationsbereitschaft des Benutzers berechnet falls er abgespeichert wurde wieder eingelesen readParameters Danach werden die aktuellen Informationen ber die im System vorhandenen Benutzer und Standardaufenthaltsorte eingelesen getRoominformationFromHome b
100. n und die in CORBA IDL beschrieben werden zur Verf gung interface CalenderManager Kalender zum Lesen ffnen void CALSELECT in string name Name des CM out integer result Ergebnis den Kalender wieder schlieBen vel Voi96 vel ICAP96 63 5 Entwurf des Softwaresystems Mole Office void CALCLOSE in string name Name des CM out integer result Ergebnis Zeitrahmen f r eine Abfrage festlegen void CALRANGE in string name Name des CM in string start_date_time Startzeit in string end_date_time Endzeit out integer result Ergebnis dem Zeitrahmen entsprechende Aktivit ten auslesen void CALEXISTS in string name Name des CM out string activity_description Terminbeschreibung out integer result Ergebnis Kalendermanager starten void CALSTART in string name Name des CM out integer result Ergebnis Wobei name der Name des Terminkalenders ist Die Zeitangaben werden im folgenden Format an Mole Office bergeben yyyymmddThhmmss mit yyyy gt Jahreszahl 1900 9999 mm gt Monat 01 12 dd gt Tag 01 31 T gt eindeutiges Trennzeichen hh gt Stunde 01 24 mm gt Minute 01 60 ss gt Sekunde 01 60 Die Ergebnisse die in der Variablen result zur ckgegeben werden sind Null bzw eins f r Operation erfolgreich bzw Operation nicht erfolgreich Die CALSTART Funktion is
101. n von HTML Seiten die ber das In ternet allgemein oder pa wortgesch tzt zug nglich w ren und die entsprechende Koope rationsinformationen ber die einzelnen Mitarbeiter enthalten w rden die Kooperati onsinformationen von Mole Office plattformunabh ngig zur Verf gung gestellt werden 8 Anhang 8 1 Installation und Start von Mole Office Um Mole Office lokal bei einem Benutzer zu installieren m ssen zur Zeit folgende Schritte durchgef hrt werden 1 Installation des Agentensystems Mole 1 1 Locationsname z B dresden mole informatik uni stuttgart de 1 2 Engineport z B 8005 2 Kopieren der aktuellen Daten aus home jgzimmer mole moleschedule in ein entspre chendes lokales Verzeichnis 3 Das MAKEFILE in diesem Verzeichnis aufrufen 4 Im Mole Verzeichnis die Datei MAKESFILES JAVA so erweitern da ein MSSystemA gent auf der eigenen Location gestartet wird Dies wird z B durch Einf gen folgender Zeilen erreicht e import mole moleschedule e String homeDir home jgzimmer e MSSystemAgent sy1 new MSSystemAgent MSSystemagent1 new AgentName 6 6 6 6 6 6 6 1 new LocationName dresden mole informatik uni stuttgart de 8005 homeDir e introduce agent sy1 into dresden dresden writeObject sy1 dresden flush 5 Im Verzeichnis Mole CONFIG die Datei Systemclasses dat um folgende Zeilen erwei tern Mole Moleschedule mole moleschedule MOAdministratorAgent mole moleschedule MSSystemAgent mole molesched
102. n zur Verwaltung von gemeinsamen Dokumenten Es k nnten Bewertungsmechanismen f r die Migration von Ask Agenten integriert wer den die feststellen ob im Augenblick eine Migration eines Agenten berhaupt sinnvoll ist oder ob nur eine Nachricht mit den entsprechenden Informationen ber das Netz gesen det werden sollte Weiterhin k nnten Accesslisten f r Termine deren Information nur f r spezielle Mitarbei ter bestimmt ist im Mole Office System verwendet werden Darauf aufbauend w rden nicht nur keine Informationen an die anderen Mitarbeiter weitergegeben sondern es w re auch die M glichkeit beinhaltet bestimmten Benutzern die gesamte Information ber alle Termine vorzuenthalten d h diese Agenten k nnten sich weder bei dem entsprechenden Systemagenten noch beim Kalendermanagementwerkzeug CM informieren Es w re m glich f r jeden Termin eine Ausf hrungswahrscheinlichkeit und eine Teilnah mewahrscheinlichkeit zu definieren und zu verwenden wobei die verschiedenen Benutzer ihre Minimalvoraussetzungen f r einen gemeinsamen Termin im System angeben k nn ten Durch die Integration von Aktive Mail und weiterer u U modernerer Kalendermanage mentwerkzeuge k nnte insgesamt auf eine breitere Basis von Daten ber entsprechende Mitarbeiter zur ckgeriffen werden was die Erreichbarkeit der einzelnen Anwender erh hen w rde 7 vgl Voi96 95 6 Implementierung Letztendlich k nnten durch automatisches Erzeuge
103. nfigu rierbaren Objekten f r jeden Benutzer und der Kommunikation zwischen diesen Objek ten Bei diesen Objekten bzw Komponenten handelt es sich um e Die Benutzerschnittstelle um f r den Anwender interessante Beziehungen darzustel len um dem Anwender die M glichkeit zu geben Informationen ber seinen aktuellen siehe Kapitel 4 2 Der Informationsstandpunkt 5 siehe Abb 7 60 5 Entwurf des Softwaresystems Mole Office Status in das System einzutragen und um die Werkzeuge CM und Mailtool integrieren zu k nnen e Eine Location innerhalb von Mole f r jeden Standardaufenthaltsort innerhalb der Ab teilung IPVR an der Fakult t Informatik der Universit t Stuttgart e Ein Systemagent pro Benutzer innerhalb einer Location von Mole der alle Informatio nen verwaltet e Mobile Watch Agenten die von den jeweiligen Anwendern ber die Systemagenten ausgeschickt werden um die Aktivit ten eines speziellen Benutzers im gleichen Team unter der Wahrung von Vertraulichkeitsstufen durchgehend zu beobachten und Ver n derungen an den eigenen Benutzer zur ck zu melden e Mobile Ask Agenten die von den jeweiligen Anwendern ber die Systemagenten an einen bestimmten Benutzer ausgeschickt werden um spezielle Informationen ber die sen Benutzer zu erfragen Die folgende Grafik verdeutlicht diesen Zusammenhang SEL Location 1 Location 2 JAN Mailtool Kalendermanager W Watch Agent
104. ng systemAgentInfo constructor public boolean action Event evt Object arg Eventhandler Checkbox3_ CLASS Checkbox fur Interessenskontext methods Checkbox3_CLASS String aMode CheckboxGroup alnformationContext boolean awert int xCoordinate int yCoordinate int xWidth int yHeight String systemAgentInfo constructor public boolean action Event evt Object arg Eventhandler ForewardButton nachsten Benutzer anzeigen Knopf methods ForewardButton Gui app UserSetup aParent int xCoordinate int yCoordinate int xWidth int yHeight String aSystemAgentinfo constructor public boolean action Event evt Object arg Eventhandler public void getUserParametersFromSystem String systemAgentinfo Benutzerparameter vom System Agenten senden lassen BackwardsButton vorherigen Benutzer anzeigen Knopf methods BackwardsButton Gui app UserSetup aParent int xCoordina int yCoordinate int xWidth int yHeight String aSystemAgentinfo constructor public boolean action Event evt Object arg Eventhandler 110 6 Implementierung public class methods Array class class class class public void getUserParametersFromSystem String systemAgentinfo Benutzerparameter vom System Agenten senden lassen RoomSetup RaumSetup Fenster RoomSetup Gui app Gui aParent String aSystemAgentInfo constructor public void paint Graphics g Trennlinien zeichnen
105. nhand der grundlegenden Informationsquellen in Ereignisse aufgeteilt werden die das Mailtool das Kalendermanagementwerkzeug und den Benutzer des Softwaresystem selbst betreffen Ereignisse in Bezug auf den Benutzer bzw Benutzerereignisse e Der Benutzer ndert seine subjektive Kooperationsbereitschaft f r die momentane Ak tivitat in hoch mittel niedrig Ereignis K3 K2 und K1 e Der Benutzer verl t seinen Standardaufenthaltsort und begibt sich an einen anderen Aufenthaltsort bzw kehrt von einem anderem Aufenthaltsort wieder an seinen Stan dardaufenthaltsort zur ck und ver ndert entsprechend der definierten Standardkoope rationsbereitschaft des jeweiligen Aufenthaltsortes seine Kooperationsbereitschaft Ereignis O1 und O2 siehe Kapitel 5 2 Der Gebrauchsbereich 7 siehe Kapitel 5 3 Der Verwaltungsbereich Zeitintervalle zur Aktualisierung der Daten 7 Anm Die Ereignisse die die Kooperationsbereitschaft direkt beeinflussen werden im folgenden mit dem Schrift schnitt fett dargestellt 73 5 Entwurf des Softwaresystems Mole Office Der Benutzer A will genauere Informationen ber den Benutzer B erhalten und startet deshalb einen Ask Agenten Ereignis S1 Ein Benutzer erweitert seinen Interessenskontext und sendet einen Watch Agenten zu den betreffenden Systemagenten Ereignis S2 Ein Benutzer definiert einen neuen Aufenthaltsort Ereignis S3 Die Ereignisse K1 bis K3 O1 und O2 werden ben tigt
106. nster Screen 2_2 der Benutzeroberflache setzt sich im wesentlichen immer noch aus einem Informations und einem Aktionsbereich zusammen Der Aktionsbereich wurde im Gegensatz zum Entwurf erheblich umstrukturiert In der obersten Zeile werden die mdglichen Aktionen des Benutzers dargestellt die inn direkt betreffen Dazu geh ren das Setup der CM Aufruf Knopf ein Auswahlmen mit in der Abteilung verf gbaren Aufenthaltsorten und die M glichkeit die momentane Kooperati onsbereitschaft tempor r zu ndern Das Auswahlmen f r die Aufenthaltsorte wurde an statt den fest codierten Raumkn pfen im Entwurf gew hlt weil dadurch erstens mehr R ume dargestellt werden und zweitens die Anzahl der R ume die zur Auswahl stehen flexibel ge ndert werden k nnen In der zweiten Zeile des Aktionsbereichs wurden die m glichen Aktionen der Anwender in Bezug auf andere Benutzer des Mole Office Systems angeordnet Dabei handelt es sich 80 6 Implementierung um den Mail Knopf einen Videokonferenz Knopf und einen Update Knopf mit dem man die Informationen aus dem Informationsbereich aktualisieren kann Mittels des Mail Knopfs ist es m glich wie im Entwurf beschrieben entsprechende Mails an andere Be nutzer zu senden Die L schen und Speicherkn pfe des Informationsbereichs wurden in das Mail Fenster integriert Der Update Knopf mu te in das Hauptfenster der Benutzeroberfl che eingef gt werden da das Agentensystem nicht von sich au
107. ntersucht und spezifiziert wurde folgt nun der Entwurf des Softwaresystems mit Hilfe des USCM Modells 48 5 Entwurf des Softwaresystems Mole Office 5 Entwurf des Softwaresystems Mole Office F r den Entwurf des Softwaresystems Mole Office wird das USCM Modell ChaMon95 verwendet Das USCM Modell Universal Service Component Model stellt ein Klassifika tionsschema f r den Entwurf eines Softwaresystems das auch als ein Modell f r die In teraktion der einzelnen Komponenten des Softwaresystems gesehen werden kann zur Verf gung Es kann auch als eine Art Checkliste begriffen werden die die Vollst ndigkeit des Ent wurfs f r das zu erstellende Softwaresystem garantiert Bei der Anwendung des USCM Modells wird das zu erstellende Softwaresystem in verschiedene voneinander getrennte wohlgeformte und definierte Komponenten bzw Funktionen zerlegt die die sp tere Wie derverwendung der Software erleichtern sollen Im wesentlichen werden alle Dienste des zu erstellenden Softwaresystems in eine Kernfunktion Systemkern und in eine die Kernfunktion umgebende Zugriffsschicht unterteilt Die Zugriffsschicht gliedert sich im weiteren in drei Bereiche den Gebrauchsbereich den Verwaltungsbereich und den sub stantiellen Bereich Gebrauchs Verwaltungs bereich bereich substantieller Bereich Abb 7 Die prim re Struktur des USCM Modells Die vier grundlegenden Bereiche werden wie folgt definiert Im substantiellen Bereich
108. ntsprechenden Er eignistypen die f r den jeweiligen Benutzer von Interesse sind Der Informationsbedarf in Bezug auf einen anderen Benutzer im Mole Office System l t sich in zwei unter schiedliche Stufen unterteilen 1 Stufe hoher Informationsbedarf Der Anwender will ber alle Ereignisse in Bezug auf einen Benutzer des Systems ber die Benutzeroberfl che oder per elektronischer Post informiert werden Das hei t im Interessenskontext des lokalen Anwenders sind alle diejenigen Benutzer eingetragen an deren Kooperationsbereitschaft der Anwender interessiert ist Befindet sich der lokale Anwender nicht an seinem Arbeitsplatz werden alle Ereignisse zwischengespeichert und beim Anmelden des Anwenders entsprechend der Spezifikation des Anwenders an ihm bermittelt Zus tzlich erh lt der Anwender die vom Mole Office System automatisch generierte elek tronische Post anderer Benutzer gt Der Anwender hat an alle anderen Kollegen von Interesse einen Agenten zur Beob achtung Watch Agent gesendet Diese bermitteln innerhalb der entsprechenden Ver traulichkeitsstufe alle Ereignisse an den Systemagenten 2 Stufe kein Informationsbedarf Der Anwender will nicht ber die Ereignisse eines anderen Benutzers im Mole Office System informiert werden d h die Kooperationsbereitschaft des entsprechenden Benut zers wird nicht an der Benutzeroberfl che dargestellt Alle Ereignisse von diesem Benutzers werden f r den
109. number the number of Seats 6 Room is has a board vYes No Overhead projector vYes No I Special Buttons Exit Save Ap plet started Abb 17 Das Room Setup Fenster 85 6 Implementierung Dieses gliedert sich wie auch die anderen Setup Fenster in drei Teile Im ersten Teil werden der Raumname und die Raumnummer die eindeutigen Bezeichner des momentanen Raumes angezeigt Im zweiten Teil kann man die Kooperationsbereitschaft pro Standardaufenthaltsraum mittels den farbigen Symbolen einstellen Man sollte nachdem man im Setup Fenster seinen Standardaufenthaltsraum angegeben hat in diesem Fenster die gew nschte Ko operationsbereitschaft im Standardaufenthaltsort angeben Desweiteren kann man hier Kommentare in Bezug auf den aktuellen Raum angeben und ausw hlen ob der Raum auf der Liste der m glichen R ume im Hauptfenster der Benutzeroberfl che erscheinen soll OnList oder nicht Weiterhin k nnen noch die Informationen ber evtl vorhandene Telefonnummern die Anzahl der Sitzpl tze das Vorhandensein einer Tafel oder eines Overheadprojektors an gegeben bzw ver ndert werden Im dritten Teil des Fensters in dem die blichen Spezialkn pfe dargestellt werden kann man sich auch wie beim User Setup Fenster mit den foreward bzw backwards Kn pfen zwischen den im System vorhandenen R umen vor und zur ck bewegen um seine privaten Einstellungen vorzunehmen Desweiteren existiert a
110. on Benutzereingaben ber die Benutzeroberfl che und von Eingaben im elektronischen Kalender vom zu programmierenden Softwaresystem verwaltet werden e Wenn ein Benutzer nicht erreichbar ist sollen andere Benutzer die M glichkeit haben ber das Mole Office automatisch eine Mail mit einem vordefiniertem Text generieren und an den entsprechenden Benutzer senden zu lassen damit dieser ber die Anfrage informiert wird Der Benutzer sollte hierbei die M glichkeit haben das Betreff Feld die ser automatisch erzeugten Mail seinen Vorstellungen entsprechend auszuf llen e Ein Benutzer soll beim Aufrufen des zu programmierenden Softwaresystems Mole Office automatisch ber evtl vorliegende elektronische Post bzw Anfragen von ande ren Benutzern und ihren Benutzeragenten informiert werden e Er soll au erdem die Wahl haben die Anfragen von anderen Benutzern seine Anwe senheit betreffend automatisch nach dem Durchlesen aus seinem Mailordner entfer nen bzw speichern zu lassen siehe Kapitel 5 3 Der Verwaltungsbereich 45 4 Produktspezifikation 4 4 Der Engineeringstandpunkt Im Folgenden wird versucht die Infrastuktur des zu erstellenden Softwaresystems d h die Mechanismen Askpekte und Funktionen die f r die Ausf hrung und Interaktion zwischen den verschiedenen Systemen ben tigt werden n her zu definieren e Eine mittlere Portabilit t der Softwarekomponenten wird verlangt d h die zu erstellen de Software mu
111. oolean isEgo sind es die eigenen Werte public String name Name public String prename Vorname public String mailAdress MailAdresse public String password Password fur Ask Agenten public String telefonNumber_p private Telefonnummer public String nameOfCm Name des CM public String intervallOfMail Zeitintervall um Mail zu checken public String intervallOfUpdate Zeitiuntervall fur Update 98 6 Implementierung public String timeOfWork Standard Arbeitszeit public String timeOfLunch Standard Mittagszeit public String homeRoom Default Raum public int readinessForTalk A augenblickliche Kooperationsbereitschaft public String telefonNumber_g A augenblickliche gesch ftliche Telefonnummer public String agentDescription System Agenten Beschreibung public String agentName System Agenten Name public String locationName Locationsname des System Agenten public int agentPort Engine Port des Location public String room momentaner Aufenthaltsort public int confidenceLevel Vertraunensstufe nur bei anderen sinnvoll public boolean informationContext im Interessenskontext aufgenommen public int numberOfWatchAgents Anzahl der Watch Agenten max 8 public class CmDate Termininformationen aus CM variables public String actionBegin Beginn eines Termins public String actionEnd Ende eines Termins public String actionDate Datum eines Termins public St
112. ories Architectures and Languages Amsterdam The Netherlands August 8 9 1994 Proceedings Berlin Heidelberg New York u a Springer 1995 Yan95 Yankee Group Communication Collaboration Coordination The Three Cs of Work group Computing In Yankee Watch March 1995 Vol 3 No 3 http www collabra com 118 6 Implementierung 8 4 Erkl rung ERKL RUNG Ich versichere da ich diese Arbeit selbst ndig verfa t und nur die angegebenen Hilfsmittel verwendet habe J rg Zimmer 119
113. ormation Software System Engineering Technologie Abb 5 verschiedene Untersuchungsstandpunkte Die f nf Standpunkte werden wie folgt unterschieden e Der Unternehmensstandpunkt beschreibt den Zweck den Einsatzbereich das zu modellierende Verhalten und die Strategien die hinter dem zu erstellenden Software system stehen e Im Informationsstandpunkt wird die Semantik der Information und die Informations verarbeitung des zu erstellenden Softwaresystems untersucht Hier wird versucht das zu erstellende Softwaresystem in eine Menge von interagierenden Objekten aufzuteilen und das Informationsverhalten dieser Objekte zu beschreiben e Im Berechnungsstandpunkt werden die Schnittstellen zwischen den Informationsob jekten n her untersucht und definiert e Beim Engineeringstandpunkt wird der Schwerpunkt auf die Infrastruktur des zu er stellenden Softwaresystems gelegt e Der Technologiestandpunkt gibt die verwendete Programmierumgebung in die das zu erstellende Softwaresystem integriert werden soll wieder 38 4 Produktspezifikation 4 1 Der Unternehmensstandpunkt Das Konzept des Unternehmensstandpunktes bildet einen m glichen Rahmen um eine Unternehmensspezifikation oder ein Unternehmensmodell hervorzubringen Ein Unter nehmensmodell beschreibt ein Softwaresystem aus der Sicht der Organisation und der Mitarbeiter die mit der Software arbeiten werden Das Konzept des Unternehmensstandpunktes beinhaltet bei dem zu
114. r kann aber trotzdem tempor r seine Kooperationsbereitschaft per Ask Agenten in hoch mittel oder niedrig ndern K3 K2 oder K1 Entsprechend ndert sich der Zustand des Benutzers in Zustand 14 8 oder 2 Wechselt w hrend des Termins der Benutzer seinen Aufenthaltsort 01 oder kommt er zur ck in sein B ro O2 so bleibt seine Kooperationsbereitschaft niedrig und sein Zu stand ndert sich in 20 bzw 23 Beginnt ein neuer Termin innerhalb des aktuellen Termins CM1 CM2 so bleibt der Be nutzer mit niedriger Kooperationsbereitschaft im Zustand 20 Endet ein Termin CM3 und bleibt der Benutzer au erhalb seines B ros so wechselt der Benutzer zum Zustand 21 und seine Kooperationsbereitschaft errechnet sich aus der be kannten Minimumfunktion des Ortes und eines evtl noch vorhandenen Termins 77 5 Entwurf des Softwaresystems Mole Office Hat der Benutzer einen Termin beendet und befindet sich aber noch au erhalb seines B ros befindet er sich im Zustand 21 Die Kooperationsbereitschaft berechnet sich aus der bekannten Minimumfunktion Der Benutzer kann auch hier seine subjektive Kooperationsbereitschaft in hoch mittel oder niedrig per Ask Agenten einstellen K3 K2 oder K1 entsprechend springt der Be nutzer in die Zust nde 15 9 oder 3 Vor hier aus kann er seinen Aufenthaltsort in einen anderen als sein B ro wechseln O1 oder in sein B ro zur ckkehren O2 Sein Zustand ndert sich in Zustand 21 bzw 24 und seine
115. rachtet die Agenten aus der Sicht der verteilten Systeme Hier wird der Schwerpunkt zur Zeit auf die Mobilit t der Agenten gelegt damit verteilte Anwendun gen wie z B Trading auf elektronischen M rkten besser unterst tzt werden Unter Mobi lit t wird die F higkeit der Migration verstanden Diese Diplomarbeit baut auf einem Agentensystem auf das mobile Agenten verwendet Da mobile Agenten eine Unterklasse der Gesamtklasse aller Agenten darstellen sind die obigen allgemeinen Definition auch f r mobile Agenten g ltig Mobile Agenten besitzen jedoch eine weitere Eigenschaft sie sind wie ihr Name schon sagt mobil d h sie k nnen von einem Ort zu einem anderen migrieren Im Grunde han delt es sich dabei um eine Proze migration wie man sie z B in verteilten Systemen zur Lastbalancierung verwendet Dar ber hinaus stellt die Migration von Agenten die Grund lage f r ein neues Programmierparadigma dar das f r den Einsatz im Bereich der ver teilten Systeme besonders geeignet zu sein scheint W hrend eine normale Proze migration auf einer mehr oder weniger eng gekoppelten Mehrprozessormaschine durchgef hrt wird k nnen sich mobile Agenten prinzipiell welt weit zwischen den verschiedenen heterogenen Rechnern bewegen Die Voraussetzung f r die Migration besteht darin da auf dem anderen Rechner ein kompatibles Agenten system vorhanden ist und die beiden Rechner eine M glichkeit zur Kommunikation unter vgl Bur96 33
116. rator Agenten Er meldet auch neue Informationen wie z B einen neuen Standardaufenthaltsort oder einen neuen Benutzer an den Administrator weiter damit dieser den neuen Raum oder Benutzer allen im System vorhanden Benutzern bekannt macht Desweiteren ist der System Agent f r die Berechnung der Kooperationsbereit schaft seines Benutzers f r das Versenden von Ask und Watch Agenten und f r die Kommunikation mit der Benutzeroberfl che Gui verantwortlich Damit der interne Status des System Agenten auch nach Beendigung stop erhalten bleibt kann der System Agent diesen abspeichern Nachdem der generelle Aufbau des Mole Office Systems erl utert wurde wird nun n her auf die Benutzeroberfl che von Mole Office eingegangen 6 2 Die Benutzeroberfl che von Mole Office Die als Java Applet GUI programmierte Benutzeroberfl che von Mole Office unterschei det sich in einigen Details von der in Kapitel 5 1 entworfenen Benutzeroberfl che Die Unterschiede sind auf verschiedene Implementierungsdetails zur ckzuf hren auf die im folgenden n her eingegangen wird Das Applet das die Benutzeroberfl che von Mole Office darstellt wurde mit dem Card Layout des Abstract Windows Toolkit AWT von Java versehen um die einzelnen Fen ster der Benutzeroberfl che Screen2_2 MaiLScreen VideoScreen SetupScreen User Setup RoomSetup schnell darstellen zu k nnen bzw um gr ere Nachladezeiten von Appletinformationen zu vermeiden Das Hauptfe
117. rden und das Werkzeug sollte auf einem Agentensystem mit mobilen Agenten au fbauen Daraufhin wurde das die Teamkoordination unterst tzende Werkzeug Mole Office aus der Sicht verschiedener Untersuchungsstandpunkte spezifiziert und mittels dem USCM Modell entwo rfen Anschlie end wurde eine prototypische Implementierung des Softwaresystems in der Program miersprache Java unter der Verwendung des Agentensystems Mole vol Izogen 1 Einleitung Inhaltsverzeichnis 1 EINLEITUNG ae ER a So ESCE ES Sokis eS EES HR 6 1 12 AUFGABENSTELEUNG a2 225820 a a a aa a eee ENE 6 Ke NR e EE 6 13 BERSICHT EE 1 2 COMPUTERUNTERST TZTES KOOPERATIVES ARBEITEN CSCW ccscsssssesesesees 8 2 1 ESEW GRUNDEAGEN EEN 8 2 1 1 Die Kommunikation en ann 8 Dh Die Koordination ne ee ee ee ee 9 244 3 Die nee a nee een nee 10 2 2 EIN GRUNDLEGENDES KOOPERATIONSMODELL cccccessscceecessseceecesssnceecessneeeseessaceeeessaaes 11 2 2 1 Aktivit ten Orte und Mitarbeilen susie nassen 11 2 2 2 Das KOOPeEran Ee dee 14 2 3 KLASSIFIZIERUNG VON KOORDINATIONS UND KOOPERATIONSWERKZEUOEN 16 2 3 1 Klassen von Kmec 16 2 3 2 Klassen von Kooperationswerkzeugen ueeessssssnnsssseneenssssennnnnnnnnnnnnsnsnnnnnnnnnnnnnnnssssnnnnnnnnn 19 2 4 ANALYSE BESTEHENDER KOORDINATIONS UND KOOPERATIONSWERKZEUOR 20 2 4 1 Die Funktionalit t vorhandener Koordinoattonewerkzeuge 20 24 1 1 Calendar M n gerCEM era RE iiaae iaeia 20 2 4 1 2 Microsoft Schedule Gii
118. ring actionDescription Beschreibung eines Termins public boolean actionPriority Priorit t eines Termins public String actionRoom Ort eines Termins public int actionReadinessForTalk subj Kooperationsbereitschaft public int actionConfidencelevel Vertraulichkeitsstufe 99 6 Implementierung public class methods public class methods tor public class method myRoomVector Vektor um Raumdaten zu verwalten public Room toRoom Object o Cast public void saveRoomInformationT oHome String aHomeDir myRoomVector allRoomVector Rauminformation auf Festplatte schreiben public void getRoominformationFromHome String aHomeDir myRoomVector allRoomVector Rauminformationen von Festplatte lesen public void updateDataOfAllRooms my RoomVector aRoomVector neuste Informationen vom Administrator senden lassen public void getAdditionalRooms myRoomVector v initial zus tzliche R ume von Administrator senden lassen public void roomsIPVR myRoomVector v Alle R ume des IPVR myUsersVector Vektor um Benutzerdaten zu verwalten public User toUser Object ol Cast public void saveUserlnformationToHome String aHomeDir myUsersVec allUsersVector Benutzerinformationen auf Festplatte schreiben public boolean getUserInformationFromHome String aHomeDir myUsersVector allUsersVector Benutzerinformationen von Festplatte lesen public void updateDataOfAllUsers myUsersVector aU
119. rrierende Benutzer ausgelegte Datenbankfunktionalit t um Kooperationsmechanismen so da z B die Anwender auf Zwischenergebnisse einer Abfrage ihrer Arbeitskollegen zugreifen k nnen Aus der Klassifizierung ist zu erkennen da die Klasse der Werkzeuge zur Nutzung von gemeinsamen Arbeitsbereichen eine Obermenge der zu erstellenden Funktionen bildet Im Kapitel 2 4 2 werden deshalb die Werkzeuge DIVA und GroupDesk aus dieser Klasse daraufhin untersucht ob sie die gew nschte Funktionalit t schon enthalten vgl BuSe94 siehe auch DeFr92 Tel95 Pro96 siehe auch SeRo93 ESM96 FPP95 PSF95 SaTo95 SoCh94 siehe auch NRZ92 und Chi92 19 2 Computerunterst tztes Kooperatives Arbeiten CSCW 2 4 Analyse bestehender Koordinations und Kooperationswerkzeuge In diesem Kapitel werden bestehende Koordinations und Kooperationswerkzeuge dar aufhin untersucht ob sie bereits die gew nschte Funktionalit t der Diplomarbeit enthal ten Dazu werden zun chst die grundlegenden Anforderungen an die Funktionalit t auf gestellt e Darstellung der Kooperationsbereitschaft eines Benutzers bzw seiner momentanen Unterbrechbarkeit Dazu m ssen die Informationen aus Kapitel 2 2 1 vorliegen bzw vom Softwaresystem verwaltet werden e Darstellung der Kooperationsbereitschaft der Arbeitskollegen eines Benutzers e M glichkeit zur Integration bereits bestehender Kommunikations bzw Kooperations werkzeug
120. rung der Systemdaten an das Java Applet weitergegeben GuiUpdate Der System Agent kann auch diverse Informationen ber den Benutzer ber andere Be nutzer und ber R ume an das Java Applet senden so da dieses aufbauend auf diesen Informationen die Benutzeroberfl che einrichten kann availableRooms allA vailableRooms actualSystemSetupFlag actualUserParameters getUserSetupPa rameters und checkUserInfo Desweiteren hat der System Agent die M glichkeit Ask bzw Watch Agenten zu er schaffen createMSAskAgent bzw createMSWatchAgent auf Anfragen der Agenten Informationen preiszugeben RequestFromAskAgent bzw RequestFromWatchAgent und ReplyFromSystemAgent und Informationen die von ihnen gesendet werden in sei ne Datenbasis zu Ubernehmen ReplyFromAskAgent bzw ReplyFromWatchAgent Bei der nachsten Anfrage auf Aktualisierung der Systemdaten werden diese veranderten Informationen an das Java Applet weitergegeben GuiUpdate 89 6 Implementierung Falls sich der Interessenskontext des Benutzers ndert kann ein Watch Agent auch wie der gel scht werden KillWatchAgent Ask Agenten werden automatisch nach Erledi gung ihrer Aufgabe aus dem Agentensystem entfernt Beim regul ren Beenden des System Agenten werden der aktuelle Status des Syste mautomaten und alle Informationen ber die Benutzer und R ume gesichert writeParameters saveUserInformationToHome und saveRoominformationToHome so da sie beim Starten w
121. rung des Softwaresystems in der Programmiersprache Java unter der Verwendung des Agentensystems Mole vollzogen Im Rahmen dieser Implementierung traten Schwierigkeiten auf die haupts chlich auf das Mole Agentensystem zur ckzuf hren waren Damit vorhandene Informationen eines Benutzers beim Beenden oder Absturz des Agentensystems dem Mole Office System erhalten bleiben mu te da die Agenten von Mole nicht persistent sind die Persistenz der Agenten selbst implementiert werden Desweiteren ist im Mole Agentensystem die Kommunikation zwischen Java Applets und Agenten momentan nur vom Applet aus m glich d h das Java Applet der Benutzerober fl che von Mole Office GUI mu in gewissen Zeitabst nden die Information vom Syste magenten erfragen damit es ber die Aktionen im Mole Office System informiert wird Es mu ten damit berhaupt eine Kommunikation in der Richtung vom Agenten zum Java Applet stattfinden konnte Programmteile von Vil96 in den Programmcode bernommen werden Da die Kommunikation im Mole Office System auf dem Versenden von Nachrichten be ruht die als Daten nur aus Zeichenketten und nicht aus Objekten bestehen k nnen mu te weiterhin eine aufwendige Kommunikation entwickelt werden Daf r wurde jedes zu bermittelnde Objekt zuerst auf entsprechende Zeichenketten abgebildet dann ver sendet und letztendlich beim Empf nger wieder in die urspr ngliche Datenstruktur zu r ckverwandelt 94 6 Implementierung
122. s in der Lage ist Informationen an die Benutzer oberfl che zu senden Die Informationen werden zwar innerhalb eines gewissen Zeit raums automatisch von der Benutzeroberfl che aktualisiert wenn der Benutzer sich aber augenblicklich die neuesten Informationen ber die anderen Benutzer anzeigen lassen will so kann er den Update Knopf dr cken und die neusten Informationen werden sofort angezeigt Der Videokonferenz Knopf wurde bereits eingef gt weil sp ter ber Mole Office auch Vi deokonferenzen abgehalten werden sollen Die M glichkeit den Interessenskontext eines Benutzers anzugeben wurde in das Setup des System verlagert da dort noch andere Einstellungen in Bezug auf andere Benutzer vorgenommen werden k nnen Applet Viewer mole moleschedule Gui class Applet Readiness for talk Im ss 4 Setup cM High Medium v Low am Arbeitsplatz B Update Mail Conference Person al Person B Person c Person D Office 2 17 Room 2 18 for lunch at home Person E Person F Person c Person H Room 2 18 Office 2 21 Office 2 22 nach dem Setup Fri Noy 22 13 43 15 MET 1996 vor dem Setup Fri Noy 22 13 43 15 MET 1996 Systemmeldungen R Applet started Abb 14 Das Hauptfenster der Benutzeroberfl che von Mole Office 81 6 Implementierung Im Informationsbereich wurden f r jeden Benutzer hier Person A H der sich im Interes senskontext des lokalen Anwenders befindet entsprechende Kn pfe
123. sersVector neuste Informationen vom Adminitrator holen void getUser InformationFromMOAdministrationAgent myUsersVector v initial alle Benutzerinformationen vom Adminitrator holen myCmDateVector Vektor um CM Daten zu verwalten public CmDate toDate Object o Cast 100 6 Implementierung public class methods aPreName String MOAdministratorAgent Administrator Agent public MOAdministratorAgent constructor publicMOAdministratorAgent String einString AgentName aName LocationName h int p String aHomeDir constructor public void start beim Starten des Agenten public void stop beim Stoppen des Agenten public void end beim Beenden des Agenten public void heartbeat long seconds periodische Wiederholungen public void receiveMessage Message m Nachrichten erhalten messages AskAgent Anfrage eines Ask Agenten beantworten sendAllAdditionalRoomsToMe alle zus tzlichen Orte an den entsprechenden Raum Vektor senden sendAllUsersToMe alle registrierten Benutzer an den entsprechenden Benutzer Vektor senden UserRegistration neuen BenutzerInformation vom System Agenten erhalten ReplyFromAskAgent Anwort eines Ask Agenten erhalten public void sendChangedUserInfoToOthers String aName String String aTelefonNumber_p String aNameOfCm String aHomeRoom aAgentDescription String aAgentName String aLocationName String aAgentPort geandert
124. smanager Solaris Open Windows 3 4 von der Firma SUN Microsystems e Die Programmiersprache der zu erstellenden Softwarekomponenten ist Java Version 1 0 2 eine von der Firma SUN Microsystems entwickelte objektorientierte Program miersprache die aufgrund ihrer Architektur eine plattformunabh ngige Programmie rung erlaubt e Bei dem zu verwendenden Agentensystem handelt es sich um Mole in der Version Al pha 1 0 Dies ist ein Agentensystem das an der Universit t Stuttgart entwickelt wurde und das mobile Agenten unterst tzt e Als kooperationsunterst tzende Softwarekomponenten sind Calendar Manager Version 3 3 ein von der Firma SUN Microsystems in das Betriebssystem Solaris Version 2 x Die Vorhersagegenauigkeit des Systems steigt proportional mit seiner Benutzung 47 4 Produktspezifikation integriertes Kalender und Terminabsprachewerkzeug und Mailtool Version 3 3 ein ebenfalls von der Firma SUN Microsystems entwickeltes und in das Betriebssystem integriertes Werkzeug um elektronische Post zu verarbeiten zu verwenden e Der Netscape Navigator Version 3 0b5a von der Firma Netscape Communications Cor poration stellt den graphischen Rahmen dar der fur das Frontend zum Benutzer ver wendet werden soll Nachdem die zu erstellende Software anhand der verschiedenen Untersuchungsstand punkte wie der Unternehmens der Informations der Berechnungs der Engineering und der Technologiestandpunkt von allen Seiten aus u
125. sse sein Pa wort f r das Mole Office System seinen Standardaufenthaltsort seine private Telefonnummer den Namen seines CM s das Intervall in dem auf neue Nachrichten gepr ft wird das Update Intervall seine Stan dardarbeitszeit und seine Standardmittagszeit angeben Das Pa wort das man im Setup Fenster angeben kann ist f r die Authentifikation der Ask Agenten gedacht damit diese den Status des Benutzers ndern k nnen Im dritten Teil des Setups sind einige Spezialkn pfe vorhanden Durch den Cancel Knopf werden alle bisher vorgenommenen nderungen wieder r ckg ngig gemacht und man kehrt zum Hauptfenster zur ck Dr ckt man den Save Knopf werden alle nderun gen abgespeichert und an den System Agenten gesendet Man kehrt ebenfalls zum Hauptfenster zur ck 83 6 Implementierung Dr ckt man den User Setup Knopf so gelangt man in das User Setup Fenster UserSetup in dem man die im System vorhandenen Benutzer in den eigenen Interes senskontext aufnehmen kann pplet Viewer mole moleschedule Gui class Abb 16 Das User Setup Fenster Dieses Fenster ist wiederum in drei Teile unterteilt Im ersten Teil werden allgemeine In formationen ber den momentanen Benutzer angezeigt Anhand dieser Informationen ist der Benutzer eindeutig im Mole Office System zu identifizieren Im zweiten Teil kann man seine pers nlichen Konfigurationseinstellungen in Bezug auf den aktuellen Benutzer angeben Es ist m gl
126. t Es wird eine sogenannte Teamsichtbarkeit engl lt Group Awareness gt unterst tzt Hierunter wird der Mechanismus verstanden da ein Mitglied eines Teams ber Aktionen anderer Teammitglieder ber spezielle Benachrichtigungsmechnismen informiert wird Ver ndert z B ein Benutzer ein Dokument das auf dem virtuellen Schreibtisch eines an deren Benutzer liegt so werden die nderungen f r den Eigent mer der Datei aufge zeichnet so da dieser mittels einer Wiederholungsfunktion sp ter alle nderungen nachvollziehen kann Betritt ein Benutzer ein anderes B ro so wird vom System sofort ein entsprechender Kommunikationskanal z B eine Video bertragung zum entsprechenden lokalen Benut zer eingerichtet so da ein quasi nat rlicher Start von Aktivit ten gegeben ist In einem B ro anwesende Personen haben sogar die M glichkeit eine gewisse Art von Privats ph re zu wahren sie k nnen untereinander fl stern d h ein m glicher Dritter wird aus der Kommunikation ausgeschlossen oder ein B ro f r andere Benutzer abschlie en d h ein Dritter kann das B ro nicht betreten Ist ein Benutzer momentan nicht erreichbar so kann man ihm eine kleine Notiz an entsprechenden R umen Tischen oder Dokumenten angebracht hinterlassen 7 vgl SoCh94 24 2 Computerunterst tztes Kooperatives Arbeiten CSCW In jedem virtuellen B ro existiert desweiteren noch ein privater Bereich f r die Dokumente des lokalen B
127. t true an Gui senden allAvailableRooms alle Orte mit Raumnummer an Gui senden definitlyNewUserState neuen Benutzerstatus setzen K1 K2 K3 checkUserlnfo aktueller Status und Ort des Benutzer an Gui senden actualRoom ist der aktuelle Raum der Default Ort 01 02 actualUserParameters aktuelle Benutzer Parameter an Setup Screen senden newUserlnfoFromAdministrator neue Benutzerinformationen vom Administrator erhalten NewDefaultRoom neuer Default Ort des Benutzers erhalten NewUserInformation neue Benutzerinformationen vom Setup 102 6 Implementierung public class public class methods me me ReplyFromAskAgent Anwort vom Ask Agenten erhalten RequestFromAskAgent Anfrage eines Ask Agenten erhalten void sendUserToAdministration die neuen Benutzerinformationen zum Administrator senden public void newDefaultRoom String newOffice den Default Ort des Benutzers ver ndern public void createMSAskAgent String einString AgentName aName LocationName home LocationName target AgentName SystemAgent int Port Ask Agenten erschaffen public int changeUserState String systemEvent den Benutzerstatus entsprechend den Ereignissen ndern void toState1 24 zum entsprechenden Zustand bergehen MSAskAgent Ask Agent public MSAskAgent constructor public MSAskAgent String einString AgentName aName LocationName LocationName t AgentName SystemAgent int Port
128. t Zu jedem Informationsobjekt existieren entsprechende Relationen z B eine Besitzer Relation oder eine Interessiert An Relation Wird ein Objekt ge ndert so wird ein Ereignis im System ausgel st und ent sprechend den vorhandenen Relationen im System propagiert Durch diesen Benachrich tigungsmechanismus wird verhindert da Benutzer unn tige oder ungewollte Informatio nen erhalten Jeder Arbeitsbereich innerhalb des GroupDesk Systems wird durch einen sog GroupDesk engl lt Schreibtisch gt repr sentiert Beim Anmelden an das System wird der Benutzer ber die Kooperationsbereitschaft aller Mitglieder dieses GroupDesks informiert Die Kooperationsbereitschaft der einzelnen wird hierbei von dem System anhand der momentanen Aktivit t eines Benutzers berechnet Bearbeitet ein Benutzer gerade ein Dokument so ist seine Kooperationsbereitschaft nied riger als die eines Benutzers der gerade kein Dokument bearbeitet Dies wird durch un terschiedliche Farben des Symbols eines Benutzers dargestellt Die Anwender k nnen mittels Videokonferenzing oder elektronischer Post untereinander kommunizieren 28 vgl PSF95 FPP95 25 2 Computerunterst tztes Kooperatives Arbeiten CSCW Die Bewertung anhand der aufgef hrten Kriterien ergibt da die gew nschte Funktiona lit t durch GroupDesk teilweise zur Verf gung gestellt wird Die momentane Kooperationsbereitschaft eines Benutzers innerhalb eines GroupDesks ist direkt m
129. t nicht innerhalb des ICAP Protokoll definiert sie wird aber hier f r die Integration des Kalendermanagementwerkzeugs CM ben tigt Durch diese 64 5 Entwurf des Softwaresystems Mole Office Funktion erhalten die Anwender die M glichkeit mit der gewohnten Benutzeroberfl che von CM zu arbeiten und dort ihre Termine und Aufgaben entsprechend ihren bisherigen Gewohnheiten einzutragen Schnittstelle zur Email Um die asynchrone Kommunikation zwischen den Benutzern zu erm glichen und um die Termine aus der elektronischen Post direkt in CM eintragen zu k nnen mu dem Sy stem Agent die M glichkeit gegeben werden auf ein Mailtool das die elektronische Post f r den Benutzer verwaltet in irgendeiner Form zuzugreifen Dazu werden folgende Funktionen die wiederum im CORBA IDL beschrieben werden zur Verf gung gestellt interface Mailtool Aufruf des Mailtools void MailStart out integer result Ergebnis Mailbox ausw hlen und Check auf neue Mails void SELECT in string Mailbox_name Name der Mailbox out string Flags Sind neue Nachrichten da out integer result Ergebnis Nachrichten auslesen void FETCH in string MailBox_name Name der Mailbox out string subject Subjektzeile einer Nachricht out string mail_header Kopfzeile einer Nachricht out integer mail_number Nummer einer Nachricht out integer result Ergebnis Erzeugen von Mails void NewMail in string to_
130. t und dem Benutzer nach jedem Besuch ein Zwischenergebnis liefert e Datentransport Die Agenten unterscheiden sich in der Art des Datentransportes Der Anwender kann spezifizieren ob der Agent die erhaltene Information bis zum Ende seines Auftrages bei sich tr gt oder ob er seine Information sofort mittels eines Nach richtenagenten zur ck zum Benutzer sendet Ein Agent hat sogar die M glichkeit eine Applikation als eine seiner Funktionen z B ein Antivirusprogramm mit zum Zielrech ner zu transportieren e Entscheidungsfindung Jeder Agent hat die M glichkeit eigene Entscheidungen Uber seinen weiteren Weg bei einer Migrationsfolge zu treffen wenn der Zielrechner zur Zeit nicht verf gbar ist Er kann z B versuchen den Zielrechner zu einem sp teren Zeit punkt zu kontaktieren oder er kann am Ende seines Auftrages dem Auftraggeber eine Liste mit den nicht erreichten Zielrechnern bermitteln e Netzwerkzustandsberichte Am Ende ihres Auftrags senden die Agenten je nach er teiltem Auftrag ihre Ergebnisse zur ck zum Anwender Hierbei unterscheiden sich die Agenten in der Form der Ergebnispr sentation Bewertung anhand der aufgef hrten Kriterien Die CyberAgents die seit Ende Juni 1996 verf gbar sind wurden in der Programmier sprache Java programmiert und bieten einerseits die M glichkeit Applikationen die au Berhalb des Agentensystems liegen direkt in das Agentensystem zu integrieren Ande rerseits wird die Programmierspra
131. ta R Neuwirth C Chapel Hill ACM 1994 pp 331 343 Som92 117 6 Implementierung Sommerville l Software Engineering 4 Auflage Wokingham Reading Menlo Park u a Addison Wesley 1992 TIR94 Tang J C Isaacs E A Rua M Supporting Distributed Groups with a Montage of Light weight Interactions In CSCW 94 Proceedings of the Conference on Computer Supported Cooperative Work Eds Furuta R Neuwirth C Chapel Hill ACM 1994 pp 23 34 Tel95 Teles GmbH Hrsg Teles Online J Version 3 09 Benutzerhandbuch Berlin 1995 UC1 Using Calendar CDE User s Guide Kap 11 aus Online helpfunction Solaris 2 4 Vil96 Villinger K Einkaufs und Verkaufsagenten f r den elektronischen Markt Universitat Stuttgart Fakultat Informatik Diplomarbeit Nr 1403 1996 Voi96 Voigt Th Entwicklung und Implementierung eines Modells zur quantitativen Beurteilung der Implementation und der Anwendung von Remote Execution Mechanismen Universit t Stuttgart Fakult t Informatik Diplomarbeit Abgabe 15 12 96 Whi941 White J E Telescript Technology The Foundation for the Electronic Marketplace Gene ral Magic White Paper 0 0 General Magic 1994 whi9all White J E Telescript Technology Scenes from the Electronic Marketplace General Ma gic White Paper o O General Magic 1994 WoJe95 Wooldridge M J Jennings N R Eds Intelligent Agents ECAI 94 Workshop on Agent The
132. ten dauerhaft innerhalb der spezifizierten Vertraulichkeitsstufen zu beobach ten und nderungen im Status des Benutzers bzw im Status des Systemagenten des Benutzers an den auftraggebenden Systemagenten zu melden Nachdem der Watch Agent vom lokalen Systemagenten erzeugt wurde migriert er zu den entsprechenden entfernten Systemagenten des zu beobachtenden Benutzers und ver sucht sich dort erstens zu authentifizieren damit nur berechtigte Agenten des Mole Office Systems Informationen erhalten und zweitens sich in eine Informationsliste beim entfernten Systemagenten eintragen zu lassen Der entfernte Systemagent entscheidet ber Erfolg oder Nichterfolg dieses Eintrages anhand des Vertrauens da der anfragen de Benutzer beim Benutzer des entfernten Systemagenten genie t Ist der anfragende Watch Agent vertrauensw rdig so wird er in die Informationsliste eingetragen ist er nicht vertrauensw rdig so wird er abgewiesen und mit einer entsprechenden Meldung zur ck gesendet Wird der anfragende Watch Agent in die Informationsliste aufgenommen wer den die auftretende Ereignisse an den anfragenden Systemagenten gesandt 62 5 Entwurf des Softwaresystems Mole Office Die m gliche Verschwendung von Ressourcen des Computersystems wenn man den schlechtesten Fall von nx n 1 Watch Agenten betrachtet der dann eintritt wenn in einem Team von n Mitarbeitern alle Mitarbeitern ihre n 1 m glichen Kollegen in ihren Interes senskontext aufg
133. tersucht ob bereits Systeme existieren die die ge w nschte Funktionalit t bieten Der Bereich der Kommunikationswerkzeuge wird nicht n her untersucht da diese als Grundlage der Koordination und der Kooperation dienen und daher nicht die gew nschte Funktionalit t erbringen k nnen Um nicht alle Bereiche der Koordinations und Kooperationswerkzeuge untersuchen zu m ssen werden anhand der Klassifikation dieser Werkzeuge zun chst geeignete Klas sen bestimmt aus denen dann bereits vorhandene Werkzeuge auf die gew nschte Funk tionalit t hin untersucht werden 2 3 1 Klassen von Koordinationswerkzeugen Folgende Klassen von Koordinationswerkzeugen innerhalb des CSCW sollen unterschie den werden Workflow Management Systeme Bei diesen Systemen wird die Bearbeitung von administrativen Vorgangen strukturiert in dem der Weg durch die verschiedenen Instanzen des Vorgangs koordiniert wird Der Ab lauf eines Vorgangs kann durch das System vorgegeben von den einzelnen Bearbei tungsschritten abhangig sein oder in einem gewissen Rahmen auf jeder Ablaufebene frei gew hlt werden Das System kann Vorschl ge zu den einzelnen Entscheidungen machen oder sogar manche Entscheidungen selbst ndig treffen II vel BuSe94 12 siehe auch KRW90 BUS93 und GKM93 16 2 Computerunterst tztes Kooperatives Arbeiten CSCW CASE Tools Computer Aided Software Engineering Tools unterst tzen wie der Name schon sagt
134. tion in den CM eingetragen Priorit t bzw hohe Priorit t einer Aktivit t Das Symbol f r eine Aktivit t mit hoher Priorit t sind zwei Ausrufezeichen Diese werden zus tzlich in die Terminbeschreibung im CM eingetragen Die Standardaufenthaltsorte in Mole Office sind stark abteilungsabh ngig Bei den Standardaufenthaltsorten der Mitarbeiter der Abteilung IPVR der Fakult t Informatik der Universit t Stuttgart handelt es sich um e das eigene B ro e die anderen B ros der Mitarbeiter der Abteilung e die Abteilungen von anderen Mitarbeitern der Fakult t Informatik e die Besprechungsr ume e die Diplomandenarbeitsr ume IPVR AS Pool e die H rs le und Seminarr ume e die Bibliothek e die verschiedenen Kopierger te e die Mensa bzw beim Essen e die Kommunikationsecke e zu Hause vgl T rschilder in der Abteilung IPVR der Fakult t Informatik an der Universit t Stuttgart 51 5 Entwurf des Softwaresystems Mole Office e im Urlaub e Jm Bett bzw krank e externes Treffen bzw Dienstreise e und benutzerdefinierte Aufenthaltsorte Zu jedem Ort werden die entsprechende Raumgr e die Telefonnummer und die vor handenen speziellen Ausr stungsgegenst nde wie z B ein Overheadprojektor eine Ta fel oder Sonstiges angeben Die Standardaufenthaltsorte der Abteilung sind fest in das Softwaresystem integriert Erweiterungen um benutzerdefinierte Aufenthaltsorte werden
135. trierten Watch Agenten die dann wiederum ihre Informationen an ihren Systema genten weiterleiten ndert sich der Zustand eines Benutzers so m ssen davon betroffene Benutzer benach richtigt werden Dazu wird ein Ereignis im System ausgel st das diese Zustands nde rung dem System bekannt macht Folgende Informationen sind in einem Ereignis enthal ten e der Name des erzeugenden Objektes e der Zeitpunkt an dem das Ereignis eintrat und 70 5 Entwurf des Softwaresystems Mole Office e der Typ des Ereignisses Die Interessenkontexte der Benutzer bieten die M glichkeit zu beschreiben an welchen Objekten bzw Ereignissen ein Mitarbeiter im Augenblick interessiert ist Wird ein Ereignis ausgel st sendet der Systemagent des entsprechenden Benutzers unter Wahrung der Vertraulichkeitsstufen die Informationen an alle Watch Agenten die sich beim ihm registriert haben Diese pr fen ihre Interessenskontexte Werden passende Interessenskontexte gefunden wird das Ereignis an die entsprechenden entfernten Sy stemagenten weitergeleitet ndert z B Benutzer A seine subjektive Kooperationsbereitschaft so wird eine Nachricht an den zugeh rigen Systemagenten gesendet da sich die Kommunikationsbreitschaft des Benutzers A um 14 00 Uhr in kontaktfreudig ge ndert hat Dieser Systemagent sen det entsprechende Nachrichten ber das Ereignis vom Typ Benutzerereignis an alle Watchagenten die sich bei ihm registriert haben A
136. troffen werden Die Integration weiterer Kommunikationswerkzeuge ist bis auf das bereits vorhandene MAILTOOL nicht geplant Daf r ist der CM abteilungsweit verf gbar und wird auch be reits sporadisch verwendet 2 4 1 2 Microsoft Schedule Der elektronische Kalender der Firma Microsoft l uft auf Personal Computern unter den Betriebssystemen Windows 3 11 Windows 95 und Windows NT Er bietet im Prinzip die gleiche Funktionalit t wie CM an Es ist ohne weiteres m glich Verabredungen mit ande ren Benutzern zu treffen bzw in Schedule eingetragene Ressourcen wie z B einen Raum zu verwalten Erinnerungsnachrichten werden automatisch per Microsoft Mailsy stem an die eingetragenen Benutzer versendet und zwar unabh ngig davon ob der spe vgl GrPa95 21 2 Computerunterst tztes Kooperatives Arbeiten CSCW zielle Benutzer gerade seinen Kalender aktiviert hat Ebenso wie im CM kann man zwi schen diversen Ansichten ausw hlen Selbstverst ndlich k nnen auch neu eingetragene Termine in beliebigen Abst nden automatisch wiederholt werden Es ist auch m glich Terminkalender anderer Benutzer je nach Zugriffsberechtigung auf freie Terminen zu durchsuchen bzw falls die entsprechenden Privilegien eingerichtet wurden wie den ei genen Kalender zu verwalten Termininformationen werden per elektronischer Post an die entsprechenden Adressaten gesendet Benutzen diese Microsoft Mail wird die Termininformation automatisch
137. ts In Communications of the ACM June 1993 Vol 36 No 4 pp 67 77 GrPa95 Grudin J Palen L Why Groupware Succeeds Discretion or Mandate In ECSCW ob Proceedings of the Fourth European Conference on Computer Supported Cooperative Work Eds Marmolin H Sundblad Y Schmidt K Dordrecht Boston London Kluwer Academic Publishers 1995 pp 263 278 114 6 Implementierung HCK95 Harrison C G Chess D M Kershenbaum A Research Report Mobile Agents Are they a good idea IBM Research Division T J Watson Research Center Almaden T J Watson Tokyo Zurich 1995 Hoh95 Hohl F Konzeption eines einfachen Agentensystems und Implementation eines Proto typs Universit t Stuttgart Fakult t Informatik Diplomarbeit Nr 1267 1995 Hoh96 Hohl F Mole Alpha 1 0 Documentation Universit t Stuttgart Abteilung Verteilte Systeme des IPVR 1996 ICAP96 Internet Calendar Access Protocol ICAP 1996 http www lotus com calendar 20fe htm ICM91 Mac Intosh D J Conry S E Meyer R A Distributed Automated Reasoning Issues in Coordination Cooperation and Performance In IEEE Transactions on Systems Man and Cybernetics November December 1991 Vol 21 No 6 pp 1307 1419 KRW90 Karbe B Ramsperger N Weiss P Support of cooperative work by electronic circula tion folders In Proceedings of the Conference on Office Information Systems 1990 pp 109 117
138. tspricht der Zustands bzw Statusverwal tung des jeweiligen Benutzers in seinem Systemagenten von Mole Office In welchen Zust nden sich ein Benutzer befinden kann bzw welche Kooperationsbereit schaft ein Benutzer nach welchen Ereignissen hat wird durch den folgenden Automaten bzw durch seine Zustandstabelle die den ereignisgesteuerten Kontrollflu von Mole Office darstellt n her erl utert 3 Tupel momentane Ereignisse subjektive BEE Kooperations und deren ons bereitschaft bereitschaft Folgezust nde Aufenthaltsort Termi des Benutzers ninformation EECHER Wl EEN E EE a Kt 02 Mt niedrig ea le Re ae EN a ee eS ee ee eee eae ee S OOM RE E EE o 20 2 eos cy rts Pa a sar fae afar ip SAO Re Oe Sammel 1 OM Bi Ba BE Bee et ne ME WE E RES E EE EN pee eee Ts em In mie ff 8 ar ee 20 26 2 noch 1 7 18 19 22 19 20 fer Gi SI CM3 K3 O1 CM1 YS KH Ker e K3 01 CM2 hoch K3 01 CM3 hoch K3 O2 CM1 hoch K3 O2 CM2 REE hoch hoch min date amp place a wa o niedrig min date amp place min date amp place niedrig min date amp place 7 siehe Kapitel 5 1 Der substantielle Bereich 73 Anm Das Zeichen das im folgenden verwendet wird steht daf r da die vom Softwaresystem berechnete Ko operationsbereitschaft siehe Kapitel 5 1 Der substantielle Bereich benutzt wird also der Benutzer keine s
139. tuelle Anwesenheit eines Mitarbeiters an anderen Orten z B ber seinen Arbeitsplatzrechner und eine Videokonferenzschaltung Auf die Ort zu Ort z B Nachbarschaftsbeziehungen wird hier nicht n her eingegangen da diese Abh ngig keiten in diesem Modell unbedeutend sind 7 siehe Kapitel 5 1 Der substantielle Bereich 12 2 Computerunterst tztes Kooperatives Arbeiten CSCW Die f r die Kooperation wichtigen Informationen sind hier Informationen ber den physi kalischen Aufenthaltsort eines Mitarbeiters zu einer bestimmten Zeit damit der Mitarbeiter von einem evtl Kooperationspartner gefunden werden kann Beziehungen zwischen Mitarbeitern Die Beziehungen zwischen den einzelnen Mitarbeitern ergeben sich aus den bereits oben beschriebenen Beziehungen zwischen Mitarbeitern Orten und Aktivit ten Zusammenfassend kann gesagt werden da die folgenden Informationen gebraucht wer den um Kooperation zu unterst tzen e F higkeiten und Fertigkeiten aller Mitarbeiter des Teams e Status und Priorit t der einzelnen Aufgaben der Mitarbeiter des Teams e Start und Endpunkt aller Aktivit ten und Aufgaben e der physikalische Aufenthaltsort jedes Mitarbeiters des Teams zu jedem beliebigen Zeitpunkt und e statische und dynamische Rauminformationen vgl FPP95 SoCh94 13 2 Computerunterst tztes Kooperatives Arbeiten CSCW 2 2 2 Das Kooperationsmodell Aufbauend auf den Informationen aus Kapitel 2 2
140. ubjektive Kooperationsbereitschaft angegeben hat 75 5 Entwurf des Softwaresystems Mole Office Die einzelnen Zust nde des Automaten werden durch 3 Tupel gekennzeichnet die sich aus den im Softwaresystem m glichen Ereignissen die die momentane Kooperationsbe reitschaft des Anwenders ver ndern zusammensetzen In diesen 3 Tupeln befinden sich an erster Stelle die Ereignisse die sich auf die subjekti ve Kooperationsbereitschaft des Anwenders beziehen d h der Anwender hat direkt ber die Benutzerschnittstelle die subjektive Kooperationsbereitschaft der aktuellen Aktivit t tempor r eingestellt Als Besonderheit wird hier das Zeichen verwendet Es kenn zeichnet da der Anwender die Kooperationsbereitschaft des Systems nicht ge ndert hat An zweiter Stellen des 3 Tupels stehen die Ereignisse die den Standardaufenthaltsort des Anwenders kennzeichnen Der Anwender kann sich hier in seinem B ro also seinem Standardaufenthaltsort O2 oder an einem anderen dem Softwaresystem bekannten Aufenthaltsort befinden O1 An der letzten Stelle des 3 Tupels stehen die Ereignisse die aus Eintr gen des Anwen ders in seinem Kalender abgeleitet werden Damit die Ereignisse in Bezug auf die Aktivi t ten die im Kalendermanagementwerkzeug angegeben sind automatisch erzeugt wer den ist es notwendig da CM eine Art von Erinnerungsnachricht an den Benutzer sen det Leider ist der Serverproze des CM nicht in der Lage diese Erinn
141. uch hier ein Exit und ein Save Knopf mit dem man die Informationen verwerfen bzw abspeichern und zum Systemagenten senden kann Uber den New Knopf lassen sich neue R ume in das Softwaresystem eintragen bzw vorhandene R ume modifizieren Dr ckt man den New Knopf so wird der Inhalt aller vorhandenen Textfelder im Room Setup Fenster gel scht und man kann einen v llig neuen Raum definieren Ist der Raum schon im System vorhanden so wird er entspre chend den aktuellen nderungen des Benutzers modifiziert 6 3 Modellierte Objekte im Mole Office System Im folgenden wird nun n her auf die Methoden Aufrufe und auf die Kommunikation der einzelnen Objekte in Mole Office eingegangen 6 3 1 Der Administrator Agent MOAdministratorA gent Der Administrator Agent ist ein immobiler Agent der nur einmal im gesamten Mole Office System vorhanden ist Die Parameter des Agenten wie der Agentenname 6 6 6 6 6 6 6 0 die Agentenlocation leipzig mole informatik uni stuttgart de und der Agentenport 8005 sind fest im Mole Office System integriert damit alle Benutzer bzw deren Agenten wenn sie ihr lokales Mole Office System starten Zugriff auf einen zen 86 6 Implementierung tralen Agenten haben der ihnen Informationen ber die anderen im System vorhandenen Benutzer und R ume gibt Der Administrator Agent stellt einen zentralen Namensdienst f r das Mole Office System zur Verf gung Dazu verwaltet er
142. ueller Benutzerstatus und Aufenthaltort von Systemagen holen cmButton_CLASS Knopf um CM zu starten method cmButton_CLASS Gui app Screen2_2 aParent Systemmeldungen_CLASS Systemmeldungen constructor raumButton_CLASS Choice f r alle Orte die in Screen2_2 angezeigt werden methods raumButton_CLASS Gui app Screen2_2 aParent Systemmeldungen_CLASS Systemmeldungen Check aReadiness Checkbox1_CLASS atalkHighBox Checkbox1_CLASS atalkMedBox Checkbox1_CLASS atalkLowBox String systemAgentinfo String anActualUserRoom constructor public boolean action Event evt Object arg Eventhandler int sendRoomToSystem String r ausgew hlten Ort an System Agenten senden und den neu Status des Benutzers erhalten void getAvailableRooms 104 6 Implementierung alle verf gbaren R ume vom System Agenten senden lassen public void updateCheckBox 1 int state den Status zur Checkbox senden class Checkbox1_CLASS Checkbox f r Readiness For Talk methods Checkbox1_CLASS String a Mode CheckboxGroup aReadiness boolean awert int xCoordinate int yCoordinate int xWidth int yHeight Systemmeldungen_CLASS Systemmeldungen String systemAgentinfo constructor public boolean action Event evt Object arg Eventhandler public void newUserState String event subj Kooperationsbereitschaft temor r ver ndern und an System Agenten melden class setupButton_CLASS Knopf f r das Setup methods
143. ule myUsersVector mole moleschedule myRoomVector mole moleschedule myCmDateVector mole moleschedule SenderAndReceiver mole moleschedule ReceiveAndSend 6 Die Datei MAKEFILES JAVA Ubersetzen 7 Die Datei Gui html entsprechend den Systemparametern von Mole einstellen 7 1 lt PARAM NAME Description Value MSSystemagent1 gt 7 2 lt PARAM NAME AgentName Value 6 6 6 6 6 6 6 1 gt 96 6 Implementierung 7 3 lt PARAM NAME LocationName stuttgart de gt 7 4 lt PARAM NAME AgentPort Value 8005 gt 8 Das Agentensystem starten 9 Gui html z B im Appletviewer aufrufen Value dresden mole informatik uni 97 6 Implementierung 8 2 Die momentane Bibliothek von Mole Office 8 2 1 Modellierte Objekte im Mole Office System public class Room Raum Objekt variables public String number Raumnummer public String name Raumname public String telefonNumberA erste Telefonnummer public String telefonNumberB zweite Telefonnummer public String numberOfSeats Anzahl der Sitzplatze public boolean board Ist eine Tafel vorhanden public boolean overhead Ist ein Overheadprojektor vorhanden public int readinessForTalk Kooperationsbereistschaft f r diesen Raum public boolean onList Soll der Raum auf der Liste der m glichen Standardaufenthaltr ume auftauchen public String comment Kommentare in Bezug auf diesen Raum public class User Benutzer Objekt variables public b
144. ung f r Mobilcomputer durch mobile Agenten Treffen der GI Fachgruppe Betriebssysteme 1995 Pei96 Peine H Das Ara Projekt 1996 http www uni kl de AG Nehmer Ara ara_D html Pos82 Postel J B Simple Mail Transfer Protocol University of Southern California 1982 http www support psi net mail smtp smtp html Pro96 Proshare Personal Videoconferencing System http www intelcom proshare PUB smlanwp htm http www bluefin net mms video01 html Rie94 Riecken D Eds Intelligent Agents Communications of the ACM July 1994 Vol 37 No 7 SaTo95 Sandor O Tollmar K The Collaborative Desktop An Environment for CSCW In ECSCW ob Proceedings of the Fourth European Conference on Computer Supported Cooperative Work Eds Marmolin H Sundblad Y Schmidt K Dordrecht Boston London Kluwer Academic Publishers 1995 pp 67 68 Sel94 Selker T Coach A Teaching Agent that Learns In Communications of the ACM July 1994 Vol 37 No 7 pp 92 99 SeRo93 Sembach F Rothermel K TEATIME Gemeinsamer Arbeitsbereich f r kooperativ be arbeitete multimediale Objekte In GI ITG Arbeitstreffen Verteilte Multimedia Systeme o O K G Saur 1993 S 174 188 SoCh94 Sohlenkamp M Chwelos G Integrating Communication Cooperation and Awareness The DIVA Virtual Office Environment In CSCW 94 Proceedings of the Conference on Computer Supported Cooperative Work Eds Furu
145. us den Orten an denen sich die verschiedensten Agenten aufhalten bzw an denen sie ausgef hrt wer den k nnen bestehen Die Orte bzw die sogenannten Locationen sind i a auf verschie denen heterogenen Rechnern lauff hig damit weitverteiltes Arbeiten unterst tzt bzw m glich wird Die verschiedensten Agenten haben einerseits die M glichkeit sich innerhalb eines Ortes zu treffen miteinander zu kommunizieren und allein oder gemeinsam Aufgaben zu l sen Um die Kommunikationskosten im Netzwerk zu minimieren k nnen sich die Agenten an anderen Orten treffen um dort lokal Nachrichten auszutauschen Damit unn tige Migra tionen vermieden werden sind die Agenten auch in der Lage ber die Locationsgrenzen hinweg miteinander zu kommunizieren Durch die Migration erhalten die mobilen Agenten au erdem die M glichkeit auf spezielle Systemdienste die nur an einem bestimmten Ort angeboten werden lokal zuzugreifen Die Agenten sollten aus sicherheitstechnischen Gr nden in zwei Klassen aufgeteilt wer den die besonders privilegierten Systemagenten die ohne die M glichkeit der Migration fest an einen Ort gebunden sind und die direkten Zugriff auf die Systemdienste und ressourcen haben und die mobilen Agenten die sich von Ort zu Ort bewegen k nnen und i a keinen direkten Zugriff auf die Systemressourcen besitzen Sie k nnen nur ber 31 3 Agententechnologie die Systemagenten auf das umgebende Softwaresystem bzw auf Anwendungen
146. users Liste der Empfanger in string subject Subjektzeile der Nachricht in string mail_header Kopfzeile der Nachricht in string message Inhalt der Nachricht Anmerkung Dieses Format entspricht dem ISO8601 Format vgl Cri94 65 5 Entwurf des Softwaresystems Mole Office out integer result Ergebnis L schen von Mails void DelMail in string MailBox_name Name der Mailbox in integer mail_number Nummer der Mail out integer result Ergebnis Wobei der Parameter result analog zum CalenderManager Interface verwendet wird Um eine Kompatibilit t zu bestehenden Mailsystemen herzustellen wird zum Versenden der einzelnen Mails das Simple Mail Transfer Protocol SMTP verwendet Der Anwender kann selbstverst ndlich auch andere Mailprogramme mit der entsprechen den Syntax der Befehle verwenden Das einzige Problem hierbei ist da die Drag and Drop Funktionalit t in Bezug auf die elektronische Post die vom Kalendermanagement werkzeug erzeugt wird verloren geht 5 3 Der Verwaltungsbereich Im Verwaltungsbereich wird auf die logischen Datenstrukturen f r die Initialisierung die Konfiguration und andere Verwaltungsfunktionen die gebraucht werden um das zu er stellende Softwaresystem zu konfigurieren n her eingegangen Der Verwaltungsbereich entspricht in weiten Teilen dem zu integrierendem Setup von Mole Office da im ihm alle Daten f r die Initialisierung des Softwar
147. utzer als vertraulich gekennzeichnete Informationen vom dem entsprechenden Anwen der erhalten Ein entsprechender Watch bzw Ask Agent wird alle insbesondere die als vertraulich gekennzeichneten Informationen im Rahmen des Sicherheitskonzepts von CM erhalten Diese Stufe wird durch ein Pluszeichen in den Termininformationen des CMS ge kennzeichnet 69 5 Entwurf des Softwaresystems Mole Office 5 4 Der Systemkern Die Funktionen im Systemkern bilden die Logik f r die Zusammenarbeit der anderen Be reiche die in der Zugriffsschicht des USCM Modells liegen Es wird unabh ngig von der externen Umgebung die Kernfunktionalit t des zu erstellenden Softwaresystems erl utert Um die im Softwaresystem zentralen Benachrichtigungsmechanismen realisieren zu k n nen mu das Modell der Kooperation siehe Kapitel 2 2 2 auf Objekte des Softwaresy stems abgebildet werden Besonders geeignet daf r ist ein Netzmodell in dem die Kno ten die Informationsobjekte des Systems darstellen und die Kanten die Beziehungen zwi schen den Informationsobjekten beschreiben Benutzer A Systemagent A o os W Systemagent B L Systemagent C Benutzer B Benutzer C Abb 11 Das Netzmodell in Mole Office Die Informationen vom Benutzer werden direkt an den jeweiligen Systemagenten weiter geleitet und von ihm verwaltet Der Systemagent sendet ggf Nachrichten an die bei ihm regis
148. vgl Mue93 MCF94 Mae94 Mae95I Mae95II PYF92 Rie94 ICM91 4 Anmerkung Die Orte in einem Agentensystem werden auch als Locationen bezeichnet 28 3 Agententechnologie einander haben Die Rechner k nnten z B ber TCP IP sprich ber das Internet ver bunden sein Anstatt wie bei den bisher in weit verteilten Systemen verwendeten Remote Procedure Calls RPC die Daten oder die einzelnen Anfragen direkt ber das Netz zu senden wird bei Agentensystemen mit mobilen Agenten der Programmcode zur Berechnung des Er gebnisses ber das Netz gesendet und lokal auf dem dortigen Diensterbringer ausge f hrt Mit diesem Ansatz l t sich zun chst keine vollkommen neue Funktionalit t modellieren Durch die lokale Ausf hrung des Programmcodes auf dem Server und der damit m gli cherweise verbundenen Einsparung von Datentransporten ber das Netzwerk vereinfacht sich allerdings die Programmierung vieler Aufgaben erheblich da z B auf viel weniger Fehlerbedingungen R cksicht genommen werden mu Im folgenden wurden die Vor und Nachteile eines Agentensystems mit mobilen Agenten n her untersucht Vorteile eines Agentensystems mit mobilen Agenten e Mobile Agenten unterst tzen mobile computing dadurch da sie schmale Bandbrei ten geringe Rechen und Speicherleistung der mobilen Endger te und eine geringe Netzpr senz der Endger te unterst tzen e Die Kommunikation zwischen den Partnern z
149. weil dadurch die Kooperationsbe reitschaft des Benutzers ge ndert wird Die Ereignisse S1 bis S3 dienen lediglich zur Steuerung des Verhaltens des Systemagenten Ereignisse in Bezug auf das Mailtool bzw Mail Ereignisse e Elektronische Post ber Mole Office versendet bzw erhalten Ereignis S4 Das Ereignis S4 ist f r die Steuerung der Benutzeroberfl che notwendig da das jeweilige Symbol des Anwenders bei Erhalt einer elektronischen Nachricht blinken soll Ereignisse in Bezug auf das Kalendermanagementwerkzeug bzw CM Ereignisse e Beginn eines Termins der im CM eingetragen wurde an den jeweiligen Benutzer f r den Benutzerstatus melden Ereignis CM1 e Beginn eines Termins mit Priorit t der im CM eingetragen wurde an den jeweiligen Be nutzer f r den Benutzerstatus melden Ereignis CM2 e Ende eines Termins der im CM eingetragen wurde an den jeweiligen Benutzer f r den Benutzerstatus melden Ereignis CM3 e Der Benutzer erh lt aufgrund einer fehlenden bzw zu niedrigen Vertraulichkeitsstufe keine Information von einem anderen Benutzer Ereignis CM4 Die Ereignisse CM1 bis CM3 sind notwendig da sich durch Termininformationen aus dem Kalender die Kooperationsbereitschaft des Benutzers ndert Das Ereignis CM4 ist ein Sonderfall denn es tritt nur ein wenn ein Benutzer Informationen von einem anderen Be nutzer abfragt 74 5 Entwurf des Softwaresystems Mole Office Die Kernfunktionalit t im Softwaresystem en
150. werden gew hnlich die Benutzerschnittstellen und die zu grundeliegenden Konzepte der Kommunikation mit dem Benutzer definiert Die Benutzer erhalten wie die Entit ten im Gebrauchsbereich eine Schnittstelle zum Systemkern Durch diese Schnittstelle wird das Verhalten der Benutzer aus der Sicht des Systemkerns eingegrenzt und normalisiert 48 Bem Der Terminus Dienst wird hier im Sinne der durch das zu erstellende Softwaresystem repr sentierten Funktion verwendet 49 5 Entwurf des Softwaresystems Mole Office Im Gebrauchsbereich werden die Schnittstellen f r die externen Komponenten oder Dienste die den Systemkern direkt beeinflussen angegeben Die Entit ten in der exter nen Umgebung des zu erstellenden Softwaresystems hier CM Mailtool und Mole erhal ten somit einerseits eine Server Schnittstelle zum Systemkern Andererseits erhalten die Komponenten des Systemkerns eine normalisierte und definierte Sicht auf die Kom ponenten der externen Umgebung Die Aspekte des Verwaltungsbereichs stellen die logischen Datenstrukturen f r die In itialisierung die Konfiguration und andere Verwaltungsfunktionen die gebraucht werden um das zu erstellende Softwaresystem einzurichten bzw zu konfigurieren dar Es wird eine Art von Verwaltungsschnittstelle definiert die sowohl die Sicht von au en auf den Systemkern als auch die Sicht vom Systemkern auf die externe Umgebung normalisiert Die Funktionen im Systemkern bilden die
151. wichtiger wird wobei hier die Idee eines pers nlichen Softwareagenten f r jeden Mitarbeiter im Hintergrund steht Der pers nliche Agent eines Mitarbeiters soll 6 1 Einleitung f r den ihn kleine Routinearbeiten bernehmen und somit die allt gliche Arbeit und Zu sammenarbeit erleichtern und beschleunigen Desweiteren sollen Email und SUNs Calendermanager CM also verschiedene Kommuni kations und Koordinationswerkzeuge die einzelne Funktionen in der Teamkoordination bernehmen k nnen in das Softwaresystem integriert werden Dadurch wird ein integrie render Ansatz realisiert so da am Ende der Entwicklung des Softwaresystems ein Werkzeug zur Unterst tzung der Teamkoordination vorhanden ist das alle verf gbaren Werkzeuge miteinander verbindet 1 3 bersicht Diese Diplomarbeit gliedert sich in sieben Teile Nach dem Einleitungsteil werden an schlie end im zweiten und dritten Abschnitt wichtige Teilgebiete der Diplomarbeit wie z B verschiedene Werkzeuge des Computer Supported Cooperative Work CSCW und die Agententechnologie daraufhin untersucht ob vergleichbare Ans tze bereits existieren und ob die verschiedenen Werkzeuge entsprechend geeignet sind Im vierten Teil dem Spezifikationsteil werden diverse Konzepte Ans tze und Entw rfe erl utert deren Entwurf und Implementierung im f nften und sechsten Teil beschrieben werden Im abschlie enden siebten Teil werden die Ergebnisse zusammengefa t und die M g l
152. zw ge tUserInformationFromHome und getReadinessAndRoomOfUsers Nachdem der System Agent alle Informationen eingelesen hat versendet er den mo mentanen Status an alle Watch Agenten innerhalb dieser Location SendNewinfoToWatch Nach diesen grundlegenden Aktionen ist der System Agent bereit Nachrichten anderer Agenten oder Nachrichten von der Benutzeroberfl che zu empfangen um den Status sei nes Benutzers oder den der anderen Benutzer anzupassen und um Anworten zu senden ndert ein Benutzer seinen Status definitlyNewUserState actualRoom werden ent sprechende Events erzeugt und an die registrierten Watch Agenten weitergegeben SendNewinfoToWatch ndert der Benutzer seine pers nlichen Einstellungen im Setup wie z B seine Telefon nummer seine Mailadresse oder seinen Standardaufenthaltsort so wird diese Information an den Administrator Agenten weitergeleitet NewDefaultRoom NewUserlinformation und sendUserToAdministration Der Benutzer kann aber auch einen neuen Standar daufenthaltsort im Setup angeben newRoominformation Dieser wird dann ebenfalls an den Administrator Agenten gesendet sendRoomToAdministration Es k nnen auch neue Informationen ber andere Benutzer und neue R ume vom Administrator Agent an den System Agenten gesendet werden newUserlInfoFromAdministrator bzw ne wRoominfoFromAdministrator Diese Informationen werden dann in die lokale Daten basis eingetragen und bei der n chsten Anfrage auf Aktualisie

Download Pdf Manuals

image

Related Search

Related Contents

COMMUNICATIONS 1 - Lakehead University  OR 52 5 OR 52 6  Craftsman C3 Owner's Manual  Sharp MX-M264N  951-130-452-EN  Hama 00004309 tripod  TRÊS LEGADOS - existe uma solução  GE Monogram PSB9240DF Oven User Manual  Prime-Line D 1844 Instructions / Assembly  EGHV-531 HVLP SPRAY GUN (SPRAY PISTOL)  

Copyright © All rights reserved.
Failed to retrieve file