TU Bergakademie Freiberg | Fakultät für Mathematik und Informatik


BPAFrame Phase2


Ein agentenbasiertes Framework zur Automatisierung von Geschäftsabläufen

BPAFrame Phase1:

Belegarbeit

Agentensystem zur Modellierung und Bearbeitung formalisierbarer Geschäftsabläufe
und dessen prototypische Implementierung
12/95 als Teamarbeit von Steffen Müller, Kai Sommerfeld und Torsten Lodderstedt
[sm6|ks1|tl7]@irz.inf.tu-dresden.de

Geschäftsabläufe stellen die Formalisierung von wiederholt durchgeführten Arbeitsgängen in einer Organisation dar. Sie resultieren aus der funktionalen Ausrichtung der Organisation oder aus Aufgaben der internen Verwaltung. Wir wollen ein allgemeines Modell zur Automatisierung solcher Abläufe in verteilten Umgebungen entwickeln. Die Realisierung soll in Form eines Framework unter Nutzung eines CORBA-kompatiblen Object-Request-Broker erfolgen.Das Framework soll sich durch verschiedene Attribute auszeichnen. Das sind Individualisierbarkeit, Modifizierbarkeit, potentiell hohe Verfügbarkeit und eine möglichst hohe Skalierbarkeit.

Unter Individualisierbarkeit verstehen wir die Möglichkeit, daß das System relativ einfach an die spezifischen Anforderungen am Einsatzort angepaßt werden kann. Dabei sind je nach Grad der gewünschten Veränderungen verschiedene Techniken, von der Konfiguration über die Definition von neuen Ablaufbeschreibungen bis zur Neuprogrammierung von Komponenten, denkbar. Besonders hervorheben möchten wir die Möglichkeit, daß der Anbieter eines mit dem BPAFrame realisierten Anwendungssystems generische spartenspezifische Basisabläufe mitliefern kann, welche durch Erweitern bzw. Abändern auf die Anforderungen der Organisation abgestimmt werden kännen.

Die Struktur einer Organisation und ihre Geschäftsabläufe können sich relativ häufig ändern. Das Framework soll es ermöglichen, daß die Organisation darauf schnell und selbständig durch eine Veränderung der Anwendungslogik reagieren kann. Diese Fähigkeit bezeichnen wir als Modifizierbarkeit.


Die zentralen Komponenten unseres Konzeptes sind Aufgabenbeschreibungen, Aufgabenobjekte und Agenten. Eine Aufgabenbeschreibung stellt die Definition eines Vorganges in der Organisation dar. Dazu gehört eine Schnittstellenbeschreibung, die Definition der notwendigen Rechte zur Ausführung der Aufgabe und eine Definition des Ablaufes in Form eines interpretierbaren Scriptes. Ein Aufgabenobjekt ist die konkrete Ausprägung einer Aufgabenbeschreibung, der eigentliche Vorgang. Es existiert über die eigentliche Bearbeitung hinaus weiter und kann archiviert werden. Das Objekt speichert die konkreten Eingabeparameter, einen Verweis auf seinen Eigentümer, Protokolldaten und Ergebnisse. Ein Agenten übernimmt ein Aufgabenobjekt, inklusive der dazugehörigen Parameter, und führt die Verarbeitung dieses Aufgabenobjektes anhand des Scriptes der dazugehörigen Aufgabenbeschreibung durch. Die Berechtigung eines Dienstnutzers zur Erteilung einer Aufgabe wird bei der Übergabe an den Agenten geprüft. Für die Dekomposition von Aufgaben findet das Mittel der Rekursion Anwendung. Das bedeutet, daß im Rahmen einer Aufgabenbearbeitung untergeordnete Aufgaben initiiert werden können. Im Kontext der Verarbeitung können, z.B. in Abhängigkeit von der Verfügbarkeit verschiedener Bearbeiter, alternative Pfade vorgegeben und ausgewählt werden. Wurde die Aufgabe bearbeitet, meldet das der Agent an seinen Auftraggeber und dieser kann die Ergebnisse übernehmen. Im BPAFrame existieren zwei Tripel aus konkreten Subklassen von Aufgabenbeschreibung, Aufgabe und Agent, welche bestimmte Arbeitsbereiche abdecken und aufeinander abgestimmt sind. Das sind Ablaufbeschreibung - Ablauf - Ablaufagent und Auftragsbeschreibung - Auftrag - Bearbeitungsagent.

Ablaufbeschreibung - Ablauf - Ablaufagent.
Abläufe sind Aufgaben, die arbeitsteilig unter Einbeziehung verschiedener Teile der Organisation realisiert werden. Sie dienen damit auch der Koordinierung der Zusammenarbeit dieser Teile. Für Abläufe existieren spezielle Träger, die Ablaufagenten. Der Ablaufagent wird für einen Ablauf erzeugt und nach dessen Abarbeitung wieder vernichtet. Die Beziehung zwischen den beiden Objekten könnte man gewissermaßen so beschreiben, daß Ablauf und Ablaufagent als ein aktives Objekt erscheinen, welches alle notwendigen Aktionen im Verlauf seiner Bearbeitung selbst steuert. Die Koordination der Zusammenarbeit erfolgt unter anderem durch die Verteilung von Aufträgen an Bearbeitungsagenten.

Auftragsbeschreibung - Auftrag - Bearbeitungsagent
Bearbeitungsagenten repräsentierten Mitarbeiter, Geräte oder auch Anwendungsserver in einer Organisation. Sie können bestimmte Aufträge zur Bearbeitung übernehmen.
Diese resultieren aus ihrem Tätigkeitsbereiche oder ihren spezifischen Eigenschaften. Einen Mitarbeiter etwa kann man um die Autorisierung eines Dokumentes bitten. Die Auftragserteilung erfolgt durch die Übergabe eines Auftragsobjektes an den Agenten. Da einem Bearbeitungsagenten zu einem Zeitpunkt mehrere Aufträge zugewiesen sein können, verwaltet er diese in einer Schlange und entnimmt sie sukzessive zur Verarbeitung.

Voraussetzung für das vorgestellte Konzept ist eine Softwarearchitektur für verteilte objektorientierte Systeme auf Basis eines Object-Request-Broker, welche ebenfalls Gegenstand unseres Projektes ist. Zentraler Bestandteil ist ein Organisationsdatenmodell in Form von Unternehmensobjekten. Sie sind für die Einhaltung der Konsistenzregeln und die Synchronisierung des konkurrenten Zugriffs zuständig und bieten eine anwendungsbezogene Schnittstelle an, welche in den Scripten zur Definition von Abläufen genutzt wird. Für die Verwaltung der Persistenz (Laden und Abspeichern der Objekte) ist eine spezielle Schicht im Architekturmodell zuständig.


Begriffsbestimmung:

BPAFrame Die Abkürzung wird aus der englischen Bezeichnung des Framework gebildet. Diese lautet Agent Based Framework for Business Process Automation.

Ein Framework ist eine Sammlung von Klassen, welche "ein abstraktes Design für Lösungen zu einer Familie verwandter Probleme enthalten". Der Programmierer muß nur Codes schreiben, wenn er das Verhalten des Framework verändern oder erweitern will. "Die Rolle des Frameworks ist es, den Kontrollfluß beizusteuern, während der Code des Entwicklers vom Framework aufgerufen wird" ("Don't call us, we call you"). [OBJECTspectrum 5/1995 S.12]

Agenten sind aktive Objekte, welche bestimmte Aufgaben nach den Vorgaben eines interpretierbaren Scriptes selbständig lösen. Die Ablaufsteuerung erfolgt über Methodenaufrufe auf Objekten. Ein Agent bearbeitet immer nur eine Aufgabe zu einem Zeitpunkt. Agenten stellen ein allgemeines Konzept dar, daß bei der Lösung vielfältiger Aufgaben eingesetzt werden kann. Die Vorteile der Verwendung von Agenten resultieren aus der Kombination der Eigenschaften von aktiven Objekten, interpretierter Sprache und dynamischem Objektmodell. Abläufe können relativ schnell angepaßt werden, die Agenten können im Netz verteilt werden und sie sind potentiell in der Lage zu migrieren.

Aktive Objekte oder auch Actors sind ein Modell zur Entwicklung konkurrenter Systeme. Aktive Objekte stellen eine Weiterentwicklung des Objektbegriffes dar. Ein aktives Objekt besitzt neben seinen Daten auch ein eigenes Verhalten. Es verfügt über ein eigenes "Hauptprogramm" , welches einem bestimmten Bereich der Steuerungslogik des Anwendungssystems entspricht. Es ist nicht auf die Steuerung durch eine zentrale Komponente angewiesen. Aus diesem Blickwinkel betrachtet, stellen auch herkömmliche Programme aktive Objekt dar. Um die benötigten Ressourcen zu minimieren und aus Gründen der Performance ist es aber sicherlich von Vorteil, aktive Objekte mittels Multithreading innerhalb gemeinsamer Prozesse zu implementieren. Setzt man bei der Realisierung einen Object-Request-Broker ein, erhült man "nebenbei" die Möglichkeit, die Anwendungslogik samt der notwendigen Daten im Netz verteilen zu können.


Ch. Mittasch - Mai 1996



Inhalt:/ Content: Institut für Informatik
TU Bergakademie Freiberg
Gestaltung/ Layout:
Webmaster
12. Februar 1997