Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 6. Vorlesung Abbildung von Weltprozessen durch Ereignisgesteuererter Prozessketten Prof. Dr.-Ing. R.J. Scherer TU Dresden - Institut für Bauinformatik Programm Architektur Produkt-Modell (Welt-Objekt-Modell) holt main aktualisiert Prozess-Modell (Welt-Objekt-Modell) beobachtet aktualisiert Darstellung Welt-Prozess ProzessSteuerung (Leitstand) D-Schnittstelle Nutzerschnittstelle (externer Beobachter) Interner Beobachter TU Dresden - Institut für Bauinformatik 16.05.2016 2 Weltprozess Prozesse der realen Welt können in einzelne Aufgaben untergliedert werden. Die einzelne Aufgabe benötigt zu ihrer Durchführung/Lösung: • Eine Methode, eine Strategie und Funktion • Ressourcen – – – – – Material Maschinen Menschen Organisationstrukturen Logistik • Informationen Das Zusammenfügen von mehreren Aufgaben zu einem Leistungspaket, führt zu einem komplexen System eines Prozesses in dem es: • Engpässe (Ressourceknappheit) • ungleichmäßige Auslastung • Stillstand durch Wartezeiten • Ineffizienz durch sequentielles Arbeiten • Zu späte oder zu frühe Entscheidungen geben kann, die zu Mehrkosten bzw. Ineffizienz führen. Eine nachvollziehbare, transparente Modellierung ist der erste Schritt für eine Lösung. TU Dresden - Institut für Bauinformatik 16.05.2016 3 Ereignisgesteuererte Prozessketten Die Ereignisgesteuerte Prozesskette (EPK) ist eine Methodik zur Modellierung und Visualisierung von Geschäftsprozessen einer Organisation oder eines Projektes in dem mehrere Organisationen zusammenarbeiten. Sie ist wesentliches Element des ARIS-Konzepts (Architektur integrierter Informationssysteme). Sie wurde 1992 von einer Arbeitsgruppe unter Leitung von Prof. August-Wilhelm Scheer an der Universität des Saarlandes in Saarbrücken im Rahmen eines Forschungsprojektes mit der SAP AG zur semiformalen Beschreibung von Geschäftsprozessen entwickelt. Sie ist heute die weit verbreitete Modellierungsmethode für Geschäftsprozesse und ihre Herunterbrechung in Arbeitsprozesse und Workflows (Aufgabenablauf) TU Dresden - Institut für Bauinformatik 16.05.2016 4 Ereignisgesteuererte Prozessketten • EPK stellen Arbeitsprozesse in einer semiformalen Modellierungssprache grafisch dar. • Dadurch sollen betriebliche Vorgänge systematisiert und parallelisiert werden, um Zeit und Geld einsparen zu können. • Minimierung der sequentiellen Arbeit, maximieren der parallelen Arbeit • Herausarbeiten von Alternativen • Herausarbeiten von Fallunterscheidungen TU Dresden - Institut für Bauinformatik 16.05.2016 5 Ereignisgesteuererte Prozessketten • Dazu werden Objekte in gerichteten Graphen mit Verknüpfungslinien und -pfeilen in einer 1:1Zuordnung verbunden (Ausnahme bei logischen Verknüpfungen). • In einer solchen Verknüpfungskette wechseln die Objekte sich in ihrer Bedeutung zwischen Ereignis und Funktion ab, d.h. sie bilden eine alternierende Folge, die zu einem bipartiten Graphen führt. • Jede Funktion kann zusätzlich mit einem Informationsobjekt verbunden werden, aus dem Informationen geladen oder in das Informationen gespeichert werden. Entsprechendes gilt für weitere Ressourcen wie Personal, Material, Maschinen, Organisationsstrukturen. Hierzu wurden die EPK zu eEPK erweitert. TU Dresden - Institut für Bauinformatik 16.05.2016 E F R E F 6 Einsatzgebiete EPK können für verschiedene Aufgaben eingesetzt werden: • Geschäftsprozessmodellierung • Prozesskostenrechnung • Analyse und Optimierung von Geschäftsprozessen im Rahmen des Process Performance Management • Prozessoptimierung beim Business Process Reengineering • Implementierungsstrategie und Evaluation von Standardsoftware • Darstellung von Abläufen bei Eigenentwicklungen und Aufstellen von Pflichtenheften TU Dresden - Institut für Bauinformatik 16.05.2016 7 Vor- und Nachteile Vorteile: • Ereignisgesteuerte Prozessketten bieten durch die freie Platzierung der Elemente auf der Zeichenfläche Vorteile bei der Darstellung von alternativen oder parallelen Abläufen und bei Rückschleifen sowie bei der Ausnutzung der vorhandenen Zeichenfläche. Nachteile: • Bei der Erkennung von Organisationsbrüchen (Wechsel der Organisationseinheit), Systembrüchen (Wechsel des Anwendungssystems) oder Datenbrüchen (Wechsel des Datenträgers oder Datenformats) sind Ereignisgesteuerte Prozessketten gegenüber Vorgangskettendiagrammen im Nachteil, weil Vorgangskettendiagramme eine spaltenweise Sortierung der Elemente nach Typen bieten. TU Dresden - Institut für Bauinformatik 16.05.2016 8 Elemente von EPKs Eine EPK besteht aus: • aktiven Komponenten (Funktionen), die etwas durchführen Funktion • Passiven Komponenten (Ereignissen), die Aktivitäten auslösen Ereignis TU Dresden - Institut für Bauinformatik 16.05.2016 9 Elemente von EPKs Ereignisse sind passive Objekttypen. Sie sind: • Auslöser von Funktionen • Ergebnisse von Funktionen Ereignisse repräsentieren einen eingetretenen (betriebswirtschaftlichen) Zustand . Sie sind zusätzlich die Vorund Nachbedingungen von Funktionen Syntaktische Regel für „Ereignis“: Substantiv (Objekt) + Verb im Partizip Perfekt Beispiele: • Material ist angeliefert • Decke ist betoniert TU Dresden - Institut für Bauinformatik 16.05.2016 10 Elemente von EPKs Funktionen sind aktive Objekttypen: • Funktionen transformieren Eingabe- in Ausgabedaten. Sie ändern den Zustand eines Objekts • Eine Funktion hat die Entscheidungskompetenz über den weiteren Ablauf (Ereignisse haben keine solche Entscheidungskompetenz) • Funktionen können soweit unterteilt werden, bis sie einen betriebswirtschaftlichen nicht weiter sinnvoll unterteilbaren Vorgang darstellen: – z.B. von einem Mitarbeiter an seinem Arbeitsplatz ausführbar Syntaktische Regel für „Funktionen“ Substantiv (Objekt) + Verb im Infinitiv – z.B.: Stahl anliefern – LKW Fahrer beauftragen| …… TU Dresden - Institut für Bauinformatik 16.05.2016 11 Elemente von EPKs Verknüpfungen (Konnektoren) • Die beiden Grundelemente Ereignis und Funktion werden direkt oder über Verknüpfungsoperatoren mit einander verbunden. • Durch die Zuordnung von Ereignissen zu Funktionen, die wiederum ein oder mehrere Ereignisse erzeugen können, erhält man einen zusammenhängenden Aufgaben- oder Funktionsablauf TU Dresden - Institut für Bauinformatik 16.05.2016 12 Elemente von EPKs Funktion Die Funktion ist ein aktiver Objekttyp, der eine Aufgabe beschreibt.(Bsp.: „Beton anliefern“) Ereignis Ereignisse sind passive Objekttypen, die Funktionen auslösen und wiederum Ergebnisse ausgeführter Funktionen sind. (Bsp.: „Beton angeliefert“) Direkte Verknüpfung UND - Verknüpfung – „Konjunktion“, „sowohl als auch“ (Bsp.: „Beton anliefern“ UND „Stahl anliefern“ ODER - Verknüpfung – „Adjunktion“, „inklusives oder“ , „mindestens eins“ (Bsp.: „Kies anliefern“ oder „Schotter anliefern“ XOR XOR - Verknüpfung – „Disjunktion“, „exklusives oder“ , „entweder oder“ (Bsp.: entweder „Material vorhanden“ oder „Material nicht vorhanden“ TU Dresden - Institut für Bauinformatik 16.05.2016 13 Ereignisverknüpfung Konnektor Art XOR entweder oder E E E E Direkt E E XOR V F F F F F F F F XOR V Erzeugte Ereignisse E OR und/oder V Auslösende Ereignisse E AND und E E V E E E E Mit den Konnektoren XOR, AND und OR können zwei oder mehr Ereignisse verknüpft werden. TU Dresden - Institut für Bauinformatik 16.05.2016 14 Funktionsverknüpfung Auslösende Ereignisse Erzeugte Ereignisse AND und OR und/oder E E E XOR V F F F F F F F F F Direkt E F F F XOR V Art XOR entweder oder V Konnektor V E E E F F E Ereignisse sind passive Objekttypen. Sie können keine Entscheidungen treffen. Daher sind XOR und OR Konnektoren nach Ereignissen nicht möglich. TU Dresden - Institut für Bauinformatik 16.05.2016 15 Modellierungsregeln • Jede EPK beginnt und endet mit einem Ereignis • Ereignisse und Funktionen wechseln immer ab, auch wenn Verknüpfungsoperationen dazwischen liegen • Nach einem Ereignis darf kein OR oder XOR Konnektor liegen • Durch Konnektoren verzweigte Pfade werden durch gleichwertige Konnektoren wieder zusammenführen. • Direktverbindungen von Konnektoren sind erlaubt • Aus und in Ereignisse und Funmktionen läuft nur ein Kontrollfluss (Verbindung) TU Dresden - Institut für Bauinformatik 16.05.2016 16 Beispiel Decke Betonieren Decke soll betoniert werden Prüfen Material vorhanden XOR Material ist nicht vorhanden Material ist vorhanden V Stahl anliefern Beton anliefern Stahl ist angeliefert Beton ist angeliefert V XOR Decke betonieren Decke ist betonieren TU Dresden - Institut für Bauinformatik 16.05.2016 17 Beispiel Decke Betonieren Alternative Decke soll betoniert werden Prüfen Material vorhanden XOR Material ist nicht vorhanden Material ist vorhanden V Stahl anliefern Beton anliefern V Material ist vorhanden XOR Decke betonieren Decke ist betonieren TU Dresden - Institut für Bauinformatik 16.05.2016 18 Aufbrechen der Funktion Stahl Anliefern Stahl nicht vorhanden Auftrag vergeben Auftrag an Lieferant ist vergeben Stahl mit LKW anliefern X Kran ist vorhanden Kran nicht vorhanden Stahl mit Kran abladen Stahl per Hand abladen X Stahl abgeladen (vorhanden) TU Dresden - Institut für Bauinformatik 16.05.2016 19 Datenstruktur Datenobjekte 1) Ereignis: Beschreiben den Zustand Besitzen Methoden die den Zustand feststellen 2) Funktionen: Besitzen Methoden die den Zustand eines Objektes verändern/transformieren 3) Relationen: Mit der Bedingung, dass Relationen nur zwischen verschieden Datenobjekttypen zulässig sind 3.1. Einfache Relation (Attributrelation) – direkte Verknüpfung 3.2. Komplexe Relation (Objektrelationen) Operationenverknüpfung 3.2.1. XOR 3.2.2. AND 3.2.3. OR Repäsentationssprache EXPRESS/-G TU Dresden - Institut für Bauinformatik 16.05.2016 20 Umsetzung in Java Benötigte Klassen: 1) Ereignis: Erfüllt Ja/nein Kann neue Funktionen anstoßen 2) Funktion: Aufgabe wird abgearbeitet Gibt Statusinformationen 3) Verknüpfungsoperatoren: XOR, AND, OR sind eigenständige Objekte Attributrelationen 1. 2. Direkte Verknüpfungen. Einfache Relationen der Verküpfungsoperatoren TU Dresden - Institut für Bauinformatik 16.05.2016 21 Klassenstruktur hat Nachfolger [0:1] EPKObjekt Funktion Ereignis Verknüpfung OR XOR And Da alle Objekte vom Typ EPK Objekt abgeleitet sind, ist es möglich bei entsprechender Definition, die Attributerelation z.B. „Funktion – hat Nachfolger – Ereignis“ durch „Funktion – hat Nachfolger – XOR“ zu ersetzen. TU Dresden - Institut für Bauinformatik 16.05.2016 22