8
Integration mobiler Kleinstcomputer in ein Multiagentensystem für die vernetzt-kooperative Tragwerksplanung Jochen Bilek Lehrstuhl für Ingenieurinformatik im Bauwesen, Ruhr-Universität Bochum 1 Problemstellung Bei der Planung von Tragwerken kommt es immer wieder zu hochgradig dynamischen, komplexen Planungsprozessen, die oftmals voneinander abhängig sind. Aufgrund des hohen Termin- und Kostendrucks werden die einzelnen Planungsprozesse vermehrt parallel ausgeführt. Die beteiligten Fachplaner gehören oft unterschiedlichen Planungs- büros an, die sich für einen befristeten Zeitraum zu einem gemeinsamen Planungsteam zusammenschließen [1]. In der Projektphase arbeiten die einzelnen Teammitglieder dann in der Regel örtlich zusammen. Typisch für die Tragwerksplanung ist, dass sich die Zusammensetzung der Planungsteams sowie die projektspezifische Aufgabenzu- weisung während der Planungsphase häufig ändern. Eine funktionierende Projektko- operation setzt zudem voraus, dass die einzelnen, nebenläufigen Arbeitsprozesse Kurzfassung: Planungsprozesse in der vernetzt-kooperativen Tragwerksplanung sind hochgradig komplex und dynamisch. Zur gezielten Prozessunterstützung der an der Tragwerksplanung beteiligten Fachplaner wurde das Multiagentensystem ACOS entwi- ckelt, das auf Basis ingenieurspezifischer Softwareagenten nicht nur die Prozessmodel- lierung, sondern auch die Integration von Produktmodellen und bewährter Ingenieur- software unterstützt und diese miteinander koppelt. In diesem Beitrag soll gezeigt wer- den, wie innerhalb des agentenbasierten Modells zur Prozessunterstützung neben Desktop-Rechnern auch mobile Kleinstcomputer wie z.B. Mobilfunkgeräte in ACOS in- tegriert und sinnvoll (z.B. auf der Baustelle) eingesetzt werden können. Der hohen Dy- namik im Planungsprozess kann so – ohne feste Ortsbindung der beteiligten Fachpla- ner – besonders gut Rechnung getragen werden.

Integration mobiler Kleinstcomputer in ein ... · Abb. 3: JADE-LEAP Multiagentensystem mit mobilen Kleinstgeräten 1 Foundation for Intelligent Physical Agents, Organisation zur Standardisierung

Embed Size (px)

Citation preview

Integration mobiler Kleinstcomputer in ein Multiagentensystem für die vernetzt-kooperative

Tragwerksplanung

Jochen Bilek Lehrstuhl für Ingenieurinformatik im Bauwesen,

Ruhr-Universität Bochum

1 Problemstellung Bei der Planung von Tragwerken kommt es immer wieder zu hochgradig dynamischen, komplexen Planungsprozessen, die oftmals voneinander abhängig sind. Aufgrund des hohen Termin- und Kostendrucks werden die einzelnen Planungsprozesse vermehrt parallel ausgeführt. Die beteiligten Fachplaner gehören oft unterschiedlichen Planungs-büros an, die sich für einen befristeten Zeitraum zu einem gemeinsamen Planungsteam zusammenschließen [1]. In der Projektphase arbeiten die einzelnen Teammitglieder dann in der Regel örtlich zusammen. Typisch für die Tragwerksplanung ist, dass sich die Zusammensetzung der Planungsteams sowie die projektspezifische Aufgabenzu-weisung während der Planungsphase häufig ändern. Eine funktionierende Projektko-operation setzt zudem voraus, dass die einzelnen, nebenläufigen Arbeitsprozesse

Kurzfassung: Planungsprozesse in der vernetzt-kooperativen Tragwerksplanung sind hochgradig komplex und dynamisch. Zur gezielten Prozessunterstützung der an der Tragwerksplanung beteiligten Fachplaner wurde das Multiagentensystem ACOS entwi-ckelt, das auf Basis ingenieurspezifischer Softwareagenten nicht nur die Prozessmodel-lierung, sondern auch die Integration von Produktmodellen und bewährter Ingenieur-software unterstützt und diese miteinander koppelt. In diesem Beitrag soll gezeigt wer-den, wie innerhalb des agentenbasierten Modells zur Prozessunterstützung neben Desktop-Rechnern auch mobile Kleinstcomputer wie z.B. Mobilfunkgeräte in ACOS in-tegriert und sinnvoll (z.B. auf der Baustelle) eingesetzt werden können. Der hohen Dy-namik im Planungsprozess kann so – ohne feste Ortsbindung der beteiligten Fachpla-ner – besonders gut Rechnung getragen werden.

geeignet koordiniert werden. Forschungsergebnisse zeigen, dass die notwendige Koor-dination mit Hilfe von geeigneten Prozessmodellen sichergestellt werden kann. Für die vernetzt-kooperative Bauplanung haben sich in den letzten Jahren besonders die höhe-ren Petrinetze als zweckmäßig, effizient und effektiv erwiesen [2].

Verteilte, rechnergestützte Softwaresysteme für die Tragwerksplanung müssen den zu-vor geschilderten, typischen Charakteristika Rechnung tragen. Einerseits müssen sie in der Lage sein, die Koordination des gesamten Planungsprozesses zu unterstützen, gleichzeitig aber auch Produktmodelle und heterogene Anwendungsprogramme ohne Schwierigkeiten integrieren können. Darüber hinaus müssen sie dynamische Organisa-tions- und Rollenstrukturen im Planungsteam Computer-geeignet abbilden können, leicht erweiterbar sein und an die in den Planungsbüros vorhandenen, heterogenen Hard- und Netzwerkstrukturen adaptiert werden können. In der Praxis sind verteilte Tragwerkplanungssysteme, die diese umfangreichen und komplexen Anforderungen erfüllen, bisher nicht vorhanden. Viele der existierenden Planungssysteme unterstützen lediglich eine Teilmenge der zuvor genannten Anforderungen [3].

Ferner werden planungsrelevante Entscheidungen, die den gesamten Planungsverlauf entscheidend beeinflussen können, häufig kurzfristig vor Ort auf der Baustelle getroffen, wo häufig keine fest installierten, netzwerkfähigen Rechner vorhanden sind. Wichtige, kurzfristige Planungsentscheidungen müssen aber trotzdem umgehend in den Pla-nungsprozess eingebracht werden. Die mittlerweile zur Verfügung stehenden, umfas-senden technischen Möglichkeiten zur drahtlose Kommunikation mit mobilen, netz-fähigen Kleinstcomputern wie Handys, Smartphones und Pocket PCs werden von den derzeit erhältlichen Planungssystemen kaum genutzt.

2 Lösungsansatz: Multiagentensystem für die Tragwerksplanung Ein neuartiges, flexibles und dynamisches Konzept, mit dem alle zuvor formulierten An-forderungen erfüllt werden können, sind die Multiagentensysteme (MAS) [4]. Ein Mul-tiagentensystem setzt sich aus mehreren, dem jeweiligen Anwendungskontext angepassten Software-Agenten zusammen, die mit anderen, im Rechnernetz befindli-chen Software-Agenten vorgegebene Problemstellungen kooperativ bearbeiten und die erarbeiteten Teilergebnisse synergetisch zu einer Gesamtlösung zusammenführen. Für die Domäne der Tragwerksplanung sei ein Softwareagent dabei als „eine gekapselte, in einer dynamischen Umgebung situierte Softwareeinheit, die im Auftrag personel-ler und nicht-personeller Auftraggeber wohldefinierte Aufgaben in Kooperation mit an-deren Softwareagenten autonom und proaktiv löst“ definiert [3].

Die softwaretechnische Realisierung von Softwareagenten erfolgt mit sog. Agenten-plattformen, die einerseits eine Agentenlaufzeitumgebung enthalten, auf der Agen-ten ausgeführt werden können, andererseits aber auch eine Programmierumgebung zur Implementierung von Agenten bereitstellen.

Am Lehrstuhl für Ingenieurinformatik im Bauwesen der RU Bochum wurde ein speziell auf die Tragwerksplanung angepasstes Agentenmodell entwickelt, dass im Multiagen-tensystem für die Tragwerksplanung ACOS (Agent-based COllaborative Structural De-sign) [5] prototypisch realisiert wurde und mittlerweile die Integration mobiler Kleinst-computer zur Prozesskoordinierung unterstützt (vgl. Kap. 4). Die Implementierung von ACOS erfolgte mit der Agentenplattform JADE und ihrer Erweiterung für mobile Kleinst-geräte LEAP (vgl. Kap. 3). In [6] wurde bereits nachgewiesen, dass sich JADE-LEAP hervorragend in einer heterogene Hard- und Softwareumgebung einsetzen lässt.

2.1 Agentenmodell für die Tragwerksplanung

Die agentengerechte Abbildung wesentlicher Bereiche der Tragwerksplanung erfolgt über ein Agentenmodell für die Tragwerksplanung. Es umfasst vier agentenbasierte Teilmodelle, die aus der Dekomposition eines typischen Tragwerkplanungsprozesses abgeleitet wurden:

(1) Das heterogene, dynamische Beziehungsgeflecht der zeitlich befristeten Planungs-gemeinschaft wird durch das agentenbasierte Kooperationsmodell abgebildet.

(2) Die den einzelnen Planungsphasen zugehörigen (Teil-)Produktmodelle werden in ein agentenbasiertes Produktmodell überführt.

(3) Die in der Praxis auftretenden, tragwerkspezifischen Planungsprozesse werden im agentenbasierten Modell zur Prozessunterstützung dargestellt.

(4) Im agentenbasierten Modell zur Software-Integration wird die eingesetzte, hete-rogene (Ingenieur-) Software über sog. Wrapper-Agenten allen beteiligten Fachpla-nern verfügbar und somit voll nutzbar gemacht.

Abb. 1: Multiagentensystem für die Tragwerksplanung ACOS

2.2 Realisierung des Agentenmodells mit domänenspezifischen Agenten

Die prototypische Realisierung der aufgeführten vier Teilmodelle erfolgt in Form von modellspezifisch zugeschnittenen Software-Agenten sowie deren Zusammenführung im Multiagentensystem für die Tragwerksplanung ACOS (s. Abb. 1).

Agentenbasiertes Kooperationsmodell (Teilmodell 1): Persönliche Kooperations-Agen-ten unterstützen die Fachplaner in ihren Planungstätigkeiten und stellen eine Mensch-Agenten-Schnittstelle zu ACOS dar. Die Rollen-, Aufgaben- und Organisati-onsverwaltung der Agenten in einem Planungsprojekt übernimmt der Projekt-Agent.

Agentenbasiertes Produktmodell (Teilmodell 2): Der Produktmodell-Agent verwaltet ISO 10303 basierte Produktmodelle und stellt sie anderen Agenten zur Verfügung.

Agentenbasiertes Modell zur Softwareintegration (Teilmodell 4): Zur Einbindung ingenieurspezifischer Softwaresysteme in ACOS wurden mehrere Wrapper-Agenten entwickelt (Datenbank-, Finite-Element- und CAD-Wrapper-Agent).

Für die im Rahmen dieses Beitrags behandelte Prozesskoordinierung ist vor allem Teilmodell 3 (agentenbasiertes Modell zur Prozessunterstützung) relevant. Die Steuerung, Zuweisung und Kontrolle der in einem Planungsprozess durchzuführenden Tätigkeiten wird vom Workflow-Agenten übernommen. Grundlage des Workflow-Agenten ist eine Workflow-Engine, die auf höheren (farbigen, zeitbehafteten, hierarchi-schen) Petrinetzen beruht. Die im Rahmen der Projektsteuerung modellierten Petrinetze werden zur Laufzeit als sog. Workflows instantiiert und ausgeführt. Ein Workflow fasst dabei inhaltlich zusammengehörige, voneinander abhängige Arbeitsvorgänge zu aus-führbaren Prozessen zusammen. Ein einzelner Arbeitsschritt wird als Aktivität bezeich-net und zur Laufzeit einer Ressource zugewiesen, die ihn bearbeitet. Ressourcen sind i.d.R. Gruppen mit wechselnden Mitgliedern, können aber z.B. auch Softwareapplikatio-nen sein. Ein Fachplaner kann gleichzeitig mehreren Gruppen angehören und somit mehrere Rollen im Planungsprozess wahrnehmen.

Abb. 2: Verteilte Prozesssteuerung in ACOS

In Abhängigkeit des jeweiligen Zustands der Petrinetz-basierten Workflow-Engine wer-den den beteiligten Fachplanern dann zur Workflow-Laufzeit Aktivitäten zugeteilt, die sie bearbeiten sollen. Eine Aktivität kann dabei immer nur von genau einer Person be-arbeitet werden. Wird eine Aktivität von einem Fachplaner begonnen, erhält sie den Status opened und kann dann von keinem anderen Fachplaner mehr „geöffnet“ werden. Wird die Aktivität abgebrochen (canceled), ist sie erneut zur Bearbeitung freigegeben. Wird sie abgeschlossen (closed), kann die Workflow-Engine weiterschalten und evtl. weitere Aktivitäten freigeben.

3 Verwendete Agentenplattform JADE−LEAP JADE ist ein in Java geschriebenes Agentensystem, das seit 1998 gemeinsam von der Universität Parma und der italienischen Telekom (TILAB) als Open-Source Projekt ständig weiterentwickelt wird [7]. JADE ist streng nach den FIPA-Standards1 [8] konzi-piert, weltweit äußerst populär und wird in zahlreichen, agentenorientierten For-schungsprojekten erfolgreich eingesetzt. Mittlerweile ist eine Portierung von JADE auf mobile Kleinstcomputer (Mobiltelefone, Smartphones, Pocket PCs) im JADE-LEAP-Projekt2 erfolgreich realisiert worden. In JADE-LEAP wurden Teile des bewährten JA-DE-Kernels ausgetauscht und durch eine modifizierte, äußerst schlanke Laufzeitumge-bung ersetzt, die auf einer Vielzahl von Geräten vom Server bis zum Mobiltelefon ausgeführt werden kann [9]. Der LEAP-Kernel basiert dabei auf der von Sun entwickel-ten MIDP-Spezifikation (Mobile Information Device Profile) [10], eine „abgespeckte“ Ja-va-Version für mobile Kleinstgeräte.

Ein JADE-LEAP Multiagentensystem wird in sog. Container unterteilt, in denen die A-genten ausgeführt werden. Die einzelnen Container werden über einen sog. Main- Con-tainer miteinander verbunden. Container und Main-Container können auf jedem Be-

Abb. 3: JADE-LEAP Multiagentensystem mit mobilen Kleinstgeräten

1 Foundation for Intelligent Physical Agents, Organisation zur Standardisierung von Agentensystemen 2 Lightweight Extensible Agent Platform, Entwickler: TILAB, Siemens, Motorola, Universität Parma, u.a.

triebssystem, das volle Java-Unterstützung bietet (J2SE – Java 2 Standard Edition), gestartet werden. Agenten können dann z.B. auch von einem Container auf einen ande-ren migrieren.

Für mobile Kleinstgeräte gelten aufgrund der limitierten Hardware-Ressourcen Ein-schränkungen. Ein „normaler“ J2SE-Container kann auf einem mobilen, MIDP-fähigen Kleinstcomputer nicht gestartet werden, Mobilität wird ebenfalls nicht unterstützt. Um die Agentenumgebung auf den mobilen Geräten möglichst „klein“ zu halten, wird ein Container in ein Frontend und ein Backend aufgeteilt (Split Execution Mode). Das Fron-tend wird direkt auf dem mobilen Gerät gestartet, das Backend auf einem „normalen“, J2SE-Container. Frontend und Backend sind danach permanent miteinander verbunden und bilden eine Einheit (s. Abb. 3). Der Vorteil des Split Execution Mode ist, dass einer-seits die Agenten auf dem mobilen Gerät schneller starten (fast Bootstrap), das Fron-tend deutlich leichtgewichtiger ist als ein normaler J2SE-Container und zudem deutlich weniger Daten über die drahtlose Verbindung übertragen werden müssen als bei zwei J2SE-Containern.

4 Entwicklung des persönlichen Agenten für mobile Kleinstgeräte Auf der Basis von JADE-LEAP wurde ein persönlicher Agent für das LEAP-Frontend mobiler MIDP-fähiger Endgeräte (PAmobile) entwickelt. Der PAmobile kann mit dem in Kapi-tel 2.2 dargestellten Workflow-Agenten interagieren und so an instantiierten Workflows teilnehmen. Der PAmobile unterstützt alle wesentlichen Fähigkeiten, die der Workflow-Agent anbietet, über eine übersichtliche Menüführung (s. Abb. 4, links). Mit dem PAmobile

kann ein Fachplaner drahtlos mit bestimmten Rollen an einem Workflow teilnehmen, ihn verlassen, Aktivitäten öffnen, abbrechen oder abschließen. Ferner kann er sich über den aktuellen Zustand eines Workflows (Beendet/Gestartet, letztes Änderungsdatum), über die Teilnehmer (Anzahl, Namen), über ausführbare oder bereits begonnene Aktivi-täten informieren und empfangene und versendete Nachrichten kontrollieren.

Abb. 4: PAmobile: Oberfläche (Hauptmenü), Klassendiagramm und Workflow-Ontologie

Die Implementierung dieser Fähigkeiten erfolgte in mehreren Java-Klassen (s. Abb. 4, Mitte). Der PAmobile wird in der Klasse WFMidpClientAgent, die von der Klasse Agent aus dem JADE-LEAP-Paket erbt, implementiert. WFMidpClientAgent besitzt eine Refe-renz auf die Oberfläche des mobilen Gerätes und verfügt über ein lokales Modell des aktuellen Workflow-Zustands (Klasse WFMidpLocalModel), das nur die für den Fach-planer relevanten Workflow-Daten enthält. Zusätzlich wurden zwei spezifische Kompe-tenzmodule (Verhalten/Fähigkeiten) implementiert, die die Interaktionen des PAmobile mit dem Workflow-Agenten durchführen. Die hierzu notwendige Kommunikation zwischen PAmobile und Workflow-Agent basiert dabei auf einer eigens entwickelten Workflow-Ontologie, die alle wesentlichen Aspekte der Workflow-Teilnahme und Aktivitätszuwei-sung beinhaltet (s. Abb. 4, rechts). In der Klasse WFResponderBehaviour ist ein Inter-aktionsprotokoll umgesetzt, das Nachrichten/Aktionen des Workflow-Agenten verarbeitet, die für den PAmobile relevant sind und nicht vom Benutzer des mobilen End-gerätes ausgelöst wurden. In der Klasse WFInitiatorBehaviour dagegen werden Benut-zereingaben/Aktionen, die der Fachplaner selbst ausgelöst hat, verarbeitet. Die durchgeführten Benutzeraktionen werden mit Hilfe der Workflow-Ontologie in eine Nachricht verpackt und dann an den Workflow-Agenten versendet. Die anschließend empfangenen Antworten des Workflow-Agenten bewirken dann, dass die Oberfläche und das lokale Workflow-Modell angepasst werden.

5 Verteiltes Planungsszenario mit Mobilfunkgeräten Zur Veranschaulichung der kombinierten Prozesskoordinierung mit mobilen Endgeräten und leistungsfähigeren Desktop-Computern sei der in Abb. 5 dargestellte, einfache Workflow zur groben Planung einer Bogenbrücke gegeben (Planung starten T1 → ne-benläufiges Planen von Bogen T2, Fahrbahn T3 und Brückenhänger T4 → Iteration nach T1 oder Planung freigeben T5). Der Workflow-Agent wird auf einer normalen JA-DE-LEAP Plattform ausgeführt, in die ein Handy (Handy Planer X) eingeklinkt ist.

Projektmanager X ist gerade unterwegs und nutzt sein Handy, um Aktivität T1 auszu-führen (Schritt 1). Nach der Ausführung von T1 aktualisiert der Workflow-Agent den Workflow (Schritt 2). Drei parallel abzuarbeitende Aktivitäten können nun gestartet wer-

Abb. 5: Einsatz mobiler Endgeräte in einem einfachen Workflow-Szenario

den: T2, T3, T4. Alle im Workflow registrierten persönlichen Agenten einzelner Fach-planer erhalten dann vom Workflow-Agenten den neuen Workflow-Zustand und aktuali-sieren ihre interne Wissensbasis. Die drei frei gewordenen Aktivitäten können dann von Mitgliedern der Gruppe Statiker bearbeitet werden. Angenommen, Fachplaner X besitzt neben der Rolle Projektmanager auch die Rolle Statiker. In diesem Fall wird sein per-sönlicher (Handy-)Agent den erhaltenen, aktuellen Workflow-Zustand analysieren und feststellen, dass Fachplaner X nun die drei Tätigkeiten T2, T3, T4 ausführen darf. Er wird das Display des Handys entsprechend aktualisieren. Auf dem Handy-Display wer-den nun die drei möglichen, auszuführenden Aktivitäten Bogen entwerfen (T2), Fahr-bahn entwerfen (T3) und Hänger entwerfen (T4) aufgelistet (Abb. 5, rechts).

6 Zusammenfassung und Ausblick In diesem Beitrag wurde gezeigt, dass die Integration mobiler, drahtloser Kleinstcompu-ter wie Handys, Smartphones, Pocket PCs, etc. in das Multiagentensystem für die Tragwerksplanung ACOS zweckmäßig ist und relativ einfach gelingt. Die Koordination der hochgradig komplexen, verteilt ablaufenden Planungsprozesse in der Tragwerks-planung kann aus der kombinierten Anwendung mobiler Kleinstrechner und leistungsfä-higer, stationärer Desktop-PCs oder Server deutlich verbessert und an die Praxis z.B. auf der Baustelle angepasst werden. Die hier vorgestellten Lösungskonzepte zur agen-tenbasierten Prozesssteuerung und -koordination können zudem auf andere Fachdo-mänen übertragen werden.

Literatur [1] J. Bretschneider: Modellierung rechnergestützter, kooperativer Arbeit in der

Tragwerksplanung. Dissertation, Ruhr-Universität Bochum, 1998. [2] S. Greb, T. Klauer: Prozessmodellierung und Workflowmanagement im Bauwe-

sen. In: J. Zimmermann, S. Geller (Hrsg.) Forum Bauinformatik 2004 – Junge Wissenschaftler forschen, S. III. Shaker Verlag, Aachen, 2004.

[3] J. Bilek: Vernetzt-kooperative Tragwerksplanung mit ingenieurspezifischen Soft-wareagenten. Dissertation, unveröffentlichte Vorabversion. Ruhr-Universität Bochum, 2005.

[4] G. Weiss (Hrsg.): Multiagent Systems. MIT Press, Massachusetts, 2000. [5] J. Bilek, D. Hartmann. Development of an Agent-based Workbench Supporting

Collaborative Structural Design. In: The 20th CIB W78 Conference on Informa-tion Technology in Construction, Waiheke Island, Neuseeland, 2003.

[6] J. Bilek. Java im Bauwesen - Performance-Untersuchung einer agentenbasier-ten Tragwerksberechnung. In K.H. Lehner (Hrsg.), Computer im Bauwesen, VDI-Verlag, 2004.

[7] F. Bellifemine, G. Caire, T. Trucco, G. Rimassa : JADE Programmer’s Guide Version 3.3, Unversity of Parma/Telecom Italia Laboratories, 2005.

[8] FIPA 2002: The FIPA 2002 specifications. http://www.fipa.org, 2002. [9] G. Caire: LEAP User Guide. Telecom Italia Laboratories, 2005. [10] Sun Microsystems: JSR-000037 Mobile Information Device Profile (MIDP). Java

Community Process Specification, 2000.