Prozessunterstützung durch Grid- Workflows Anwendungen in Medizin, Baubranche und Umweltsimulation Steffen Unger Andreas Hoheisel
Übersicht Fraunhofer FIRST Prozessunterstützung im Grid Definition Grid-Workflow Grid Workflow Execution Service Abstrakte Modellierung von Workflows mit High-Level-Petrinetzen Abbildung auf ausführbare Workflows Fehlertolerante Ausführung von Workflows Anwendungen Medizin Baubranche Umweltsimulation Seite 2
Fraunhofer FIRST Seite 3
Mission Komplexe Systeme natürliche wie künstliche bestimmen heute unser Leben, in Technik und Natur, in Beruf und Freizeit. Solche Systeme zu verstehen, zu kontrollieren und zu erhalten, ist eine große Herausforderung. Wir liefern die nötigen Werkzeuge zur Kontrolle und Analyse komplexer Systeme und unterstützen unsere Kunden aus Forschung und Industrie bei der Entwicklung effizienter Software. Seite 4
FIRST auf einem Blick Standort: Berlin-Adlershof Mitarbeiter 2006: 120 Gesamthaushalt 2006: 8,5 Mio. Euro (Personal, Sachmittel und Investitionen), davon 60% Drittmittel Gegründet: 1983, seit 2001 Teil der Fraunhofer- Gesellschaft Seite 5
Abteilungen Eingebettete Systeme: Die Entwicklung im Griff Interaktive Systeme: Schnittstellen zur digitalen Welt Intelligente Datenanalyse: Durchblick im Datendschungel Seite 6
Interaktive Systeme (ISY) Die Schnittstelle zur digitalen Welt Wir entwickeln Interaktions- und Visualisierungstechnologien, bei denen die effektive und natürliche Kommunikation zwischen Mensch und Maschine im Vordergrund steht. Wir bieten Simulationswerkzeuge und Grid-Technologien, um komplexe Prozesse detailgetreu abzubilden und Arbeitsabläufe optimal zu gestalten. Marktbereiche: Simulation Interaktion und Assistenz Seite 7
Prozessunterstützung Seite 8
Prozessunterstützung Die Ausführung komplexer Prozessabläufe in einer verteilten und heterogenen Rechner- und Softwareumgebung bildet eine der Kernaufgaben des IT-unterstützten Arbeitens in Industrie und Wissenschaft. Ziel: Unterstützung der Prozesse durch Modellieren der Prozesse: Intuitiv, formell, überprüfbar, unabhängig von der Infrastruktur Automatisierung der Prozessabläufe (Kontrollund Datenfluss) Automatisches Finden geeigneter Ressourcen Optimierte Zuordnung der Aktivitäten und Planung von Ressourcen Fehlertolerante, persistente und sichere Ausführung der Prozesse Unterstützung von Ad-hoc Änderungen Kontrolle und Protokollierung der Prozesse Seite 9
Grid-Workflows = Automatisierung von IT-Prozessabläufen in einer Grid-Umgebung State-of-the-Art Bislang keine einheitliche Grid-Middleware Kein einheitlicher und akzeptierter Standard für die formale Beschreibung von Workflows von Grid-Anwendungen Keine ausreichende Berücksichtigung der Besonderheiten im Grid Choreographie, Orchestrierung und Ausführung von Grid- Anwendungen meist sequentielle Prozessschritte ohne Interaktion Die meisten Ansätze sind nicht für den Endanwender mit geringen Informatikkenntnissen geeignet (nicht intuitiv, keine abstrakte Modellierung) Seite 10
Grid Workflow Execution Service (GWES) Automatisierung von IT-Prozessen Interaktion mit dem Nutzer Ressourcenabstrahierung mit automatischer und dynamischer Abbildung auf jeweils geeignete Hardund Softwareressourcen Workflow-Aktivitäten: GT4-Jobs + WebService-Methodenaufrufe + Transfer von Daten +... Fehlertoleranz, Persistenz Anwendungsbereiche: Medizinforschung, Verkehrsmanagement, Flutvorhersage, Risikoanalyse, Warenwirtschaft, Bauindustrie,... Seite 11
Geschichte des Grid Workflow Execution Service Fraunhofer Resource Grid Seit 2001: Erster Prototyp einer Petri-Netz-basierten Workflow-Engine auf Basis von Globus Toolkit 2.4 K-Wf Grid (EU) 2004 2007: Automatische Erstellung und Ausführung von Workflows, Redesign und Portierung des GWES auf Web-Services + Globus Toolkit 4 CoreGrid (EU) 2004 2008: Standardisierung der GWorkflowDL, Interoperabilität mit anderen Systemen (z.b. LCG, glite) Instant-Grid (BMBF) 2005 2007: Betriebssystem + Grid-Middleware + Workflow-Management + Anwendungen = Knoppix-CD Enterprise Grids (Fraunhofer) 2005 2008: Anpassung für industriellen Einsatz MediGrid (D-Grid) 2005 2008: Workflows für die medizinische Forschung, Anpassung an D-Grid, Meta-Scheduling BauVOGrid (D-Grid) 2007 2010: Workflows für die Bauindustrie (z.b. Mängelerfassung) Seite 12
Choreographie: Abstrakte Modellierung von lose gekoppelten Grid-Anwendungen mittels High-Level Petrinetzen Seite 13
Grid-Workflow-Beschreibungssprachen Inhärentes Modell Externes Modell Workflow wird verteilt innerhalb der Softwarekomponenten definiert (z.b. MPI, CORBA, Cactus) Workflow wird oberhalb der Softwarekomponenten definiert Globale Sicht des Workflows (z.b. skript- oder graphbasiert) Skriptsprachen Kombiniert Netze/Graphen GridAnt, JPython (XCAT) WSFL, XLANG, BPEL4WS, UNICORE, GSFL DAG-basiert: Condor DAGman, Symphony Petrinetzbasiert: GWorkflowDL Seite 14
Warum Petrinetze? BPEL DAG-basiert Petrinetzbasiert Sehr komplexe Semantik Keine geeigneten Abstraktionsmechanismen Für Validierung nicht formal genug Kein stabiler Standard Directed Acyclic Graph Zustand und Schleifen werden nicht explizit durch Graphen modelliert Zustand und Aktionen werden explizit modelliert Umfangreiche Theorie verfügbar Einfach Ausdrucksstark Intuitive Visualisierung möglich Konvertierung von anderen Workflow-Sprachen möglich (z.b. BPEL2PN, ARIS-EPKs,...) Seite 15
Seite 16
Konzept High-Level Petrinetze Stellen Repräsentieren Platzhalter für Daten oder Marken, Transitionen Repräsentieren (abstrakte) Operationen (z.b. Web-Service- Methodenaufruf oder Ausführung eines Programms) Kanten von Stellen nach Transitionen (Flussrelation) Kanten von Transitionen nach Stellen (Flussrelation) n Kapazität Maximale Anzahl von Marken auf einer Stelle Verknüpfung mit realen Daten x x < y Unterscheidbare Marken Beinhalten reale Daten (Parameter, Seiteneffekte) oder stellen einen Zustand dar (z.b. done, failed) Kantenanschrift Bedingung Repräsentiert Variablennamen der Operation (z.b. SOAP message parts) oder XPath-Ausdrücke Seite 17 Aktivierte Transitionen schalten nur, wenn alle Bedingungen wahr sind (XPath)
Terminologie High-Level Petrinetze aktiviert (enabled) schalten (occur, fire) Verfeinerung (refinement) Eine Transition heißt aktiviert (enabled) wenn: mindestens eine Marke auf allen Eingabestellen vorhanden ist und keine der Ausgabestellen ihre Kapazität erreicht hat Aktivierte Transitionen können schalten (fire) indem sie eine Marke von jeder Eingabestelle nehmen (z.b. Eingabedaten, Vorbedingungen) und eine neue Marke auf jede Ausgabestelle legen (z.b. Ausgabedaten, Seiteneffekte). Ein Teil eines Petrinetzes kann durch ein Sub- Petrinetz ersetzt werden Seite 18
Grid Workflow Description Language (GWorkflowDL) XML Basiert auf Petrinetzen Sprache unabhängig von der Grid-Infrastruktur Unterstützt verschiedene Abstraktionsstufen in einer Sprache Seite 19
Orchestrierung: Abbildung auf konkrete (ausführbare) Workflows Seite 20
Ressourcenabbildung und Scheduling Im Grid können Ressourcen (Software, Hardware, Dienste, Daten) jederzeit wegfallen bzw. fehlschlagen oder auch neu hinzukommen Daher sollten möglichst abstrakte Prozessabläufe definiert werden, die dann erst zur Laufzeit auf die aktuell verfügbaren Ressourcen abgebildet werden Seite 21
Workflow-Scheduler (bzw. Resource-Selector) Ziel: Einfache und robuste Optimierung der Ressourcenauswahl Maximierung der Auslastung verfügbarer Rechenknoten (unabhängig Ihrer Leistungsfähigkeit) Optimierung der Effizienz (= Durchsatz) für das gesamte Grid Time-Sharing erlaubt (bei Fork) In Arbeit: Optimierung der Ausführungsdauer von einzelnen Aktivitäten oder Workflows In Arbeit: Advanced Reservation Konzept: Alle passenden Ressourcen mit einer Qualität größer als ein Schwellwert werden zufallsverteilt den Workflow-Aktivitäten der Warteschlange zugeordnet, beginnend bei hoher Priorität Seite 22
Beispiel Workflows Aktivitäten Ressourcen 1 2 3 4 5 6 hohe Priorität Aktivität 5 Aktivität 6 Aktivität 1 Aktivität 2 Aktivität 3 Aktivität 4 R9 R1 R4 R5 Qualität > 0.8 R2 R6 Aktivität 7 R7 7 8 niedrige Priorität Aktivität 8 R8 R3 Seite 23
Fehlertolerante Workflows In Zusammenarbeit mit der Uni Potsdam Bettina Schnor, Matthias Schulz Seite 24
Beispiel für Interaktionsfehler im Grid (Quelle: Schulz, 2007) Seite 25
Ablaufdiagramm implizite Fehlertoleranz (Quelle: Schulz, 2007) Seite 26
Nutzeranfrage Nutzeranfrage Resource- Matcher Abstrakter Workflow Scheduler (Resource- Selector) Service-Kandidaten Service-Instanzen Seite 27 Ressourcen
Beispiel für explizit modellierte Fehlertoleranz Workflow ohne Fehlertoleranz Workflow mit Fehlertoleranz: Starten eines Lizenzservers falls Fehler 147 auftritt und Wiederholung der Aktivität (Quelle: Schulz, 2007) Seite 28
Statistik: Zustände von MediGRID-Workflows Verteilung der Zustände von MediGRID-Workflows für Oktober 2007: 20% der Workflows konnte wegen der Fehlertoleranz trotz Fehlschlagens einer Aktivität erfolgreich abgeschlossen werden (Quelle: Schulz, 2007) Seite 29
Sicherheit für Grid-Workflows Seite 30
19.05.2008 31 Sicherheitsinfrastruktur für Grid-Workflows: Yagsi Abgestufte Sicherheit für SOAs existierende Web-Service- Architekturen Grid-Services Unterstützung Virtueller Organisationen Feingranulare und rollenbasierte Autorisierung Eingeschränkte Delegation von Rechten unter Kontrolle des Nutzers In Zusammenarbeit mit der Uni-Potsdam (Bettina Schnor, Stephan Müller) Seite 31
Anwendungen Seite 32
MediGRID Anwendungscluster Bioinformatik x Genomsequenzanalyse x SNPSelection x RNAi x Sequorr Medizinische Bildverarbeitung 3D Ultraschall Prostatabiopsie x Virtuelle Gefäßchirurgie x Analyse funktioneller Hirnbilddaten Klinische Forschung x Analyse klinischer Studien in der Neurologie Seite 33
BauVOGrid Ein Grid für die Baubranche Verbesserung der Struktur, Funktionsweise und Operabilität virtueller Organisationen im Bauwesen Abbilden von Zuständigkeits- und Autorisierungsstrukturen Integration von Informationen aus unterschiedlichen Quellen Bereitstellen von Informationen im Büro als auch mobil Ermöglicht Ad-hoc Änderungen von Projektabläufen (z.b. ausgelöst durch Havarien) Mobile Erfassung von Prozessen und Prozess- sowie Produktionsständen auf der Baustelle Seite 34
Zurückweisung nicht akzeptiert mittels Individualschreib en informieren mittels Individualschreib en informiert Mangel zurückweisen Zurückweisung weitergeleitet Zurückweisung überprüfen Mangel ist schwerwiegend Genaue Mangelverfolgung und -prüfung anordnen Genaue Mangelverfolgung und -prüfung angeordnet Zurückweisung akzeptiert Status MMS anpassen NU Mangel wird nicht beseitigt mittels Individualschreib en informieren informiert kostenmäß ige Bewertung des Mangels Nachunternehmer Nachunternehmer Mangel als erledigt kennzeichnen Mangel beseitigt sofort zu behebender Mangel (z.b... BH lässt Mangel sofort beheben bzw. Folgeschäden verhindern Mangel behoben / Folgeschäden verhind ert Aktion intern protokollieren Aktion protokolliert Mangel bereits elektronisch erfasst Mangel kategorisieren Mangelweiterleitu ng an Mangel durch erfasst Mangeleingang registrieren Mangel in Bearbeitung Vertragsprüfung Nachunternehmer neuen Mangel vor Ort DVbasiert erfassen Mangel durch BH vor Ort erfas st Nac hunternehmer Nac hunternehmer Nachunternehmer Nachunternehmer IKT-Support verfügbar Mangel vor Ort prüfen nicht sofort zu behebender Mangel Prüfen, ob Mangel elektronisch erfasst Mangel ist nicht schwerwiegend Einfache Mangelprüfung anordnen Einfache Mangelprüfung angeordnet PDA ist Vertragsbestandteil Zuständigkeit prüfen NU ist für Mangel verantwortlich zuständigen NU informieren Eingang Mangelanzeige bei NU ist kein Vertragsbestandteil NU- Vertragsprüfung ist Vertragsbestandteil Mangelbeseitigung Mangel beseitigt Mangel freimelden Mangel durch NU abgemeldet Überprüfung Mangelbeseitigung durch Mangel abgestellt Mangel bei en abmelden Eingang Abmeldung beim en Überprüfung Mangelbeseitigung Mangelbeseitigung abgenommen Mangel als erledigt kennzeichnen Mangel bes eitigt Mangel elektronisch nicht erfasst Mangelinformatio nen mit PC aufnehmen Mangelinformati onen elektronisch... Mangeleingang registrieren Mangel in Bearbeitung Mangelbeseitigung prüfen Mangel wird beseitigt Rundgang mit envertret er gestartet NU NU NU NU Verfügbarkeit Mobil es MMS prüfen PDA PDA PDA Rundgang der Ausführenden IKT-Support nicht verfügbar NU PDA Mangel ist schwerwiegend Genaue Mangelverfolgung und -prüfung anordnen Genaue Mangelverfolgung und -prüfung angeordnet Nachunternehmer Nachunternehmer Rundgang mit Folgegewerk (NU) gestartet sofort zu behebender Mangel (z.b... Mangel sofort beheben bzw. Folgeschäden verhind ern Mangel behoben / Folgeschäden verhindert Aktion intern protokollieren Aktion protokolliert Mangel bereits elektronisch erfasst Mangel wird nicht beseitigt mittels Individualschreib en informieren informiert kostenmäßige Bewertung des Mangels Zurückweisung nicht akzeptiert NU mittels Individualschreib en informieren NU mittels Individualschreiben informiert ist nicht Vertragsbestandteil Mangel nicht abgestellt Mängelmanagement- system Mangel zurückweisen Zurückweisung weitergeleitet Zurückweisung überprüfen Freimeldung zurückweisen an NU zurückwiesene Freimeldung bei NU... Mangelstatus zurücksetzen Mangel in Bearbeitung Rundganz mit Mangelverursac her (NU) und... Verfügbarkeit Mobiles MMS prüfen IKT-Support verfügbar neuen Mangel vor Ort DV - basiert erfassen Mangel durch vor Ort erfasst Mangel vor Ort prüfen nicht sofort zu behebender Ma ngel Prüfen, ob Ma ngel elektronisch erfasst Ma ngel kategorisieren ist selbst für Mangel verant wortlic h Mangelbeseitigung prüfen Zurückweisung akzeptiert Status MMS anpassen NU NU Rundgang alleine gestartet PDA Mangel nicht abgestellt Freimeldung zurückweisen an zurückwiesene Freimeldung bei... Mangelstatus zurücksetzen Mangel in Bearbeitung PDA Mangel elektronisch nicht erfasst Mangelinformatio nen mit PC aufnehmen Mangelinformati onen elektronisch... Mangel ist nicht schwerwiegend Einfache Mangelprüfung anordnen Einfache Mangelprüfung angeordnet Rundgang Mangelverursac her (NU)... PDA Mangel wird beseitigt Selbstbeseitigun g des Mangels IKT-Support nicht verfügbar BauVOGrid Kopplung von ARIS und GWES ARIS: Methode und Werkzeug vom Marktführer IDS Scheer zur Modellierung und Simulation von Geschäftsprozessen Rundgang mit Folgegewerk (NU) gestartet Rundganz mit Mangelverursac her (NU) und... Rundgang alleine gestartet Rundgang Mangelverursac her (NU)... ARIS verwendet Ereignisprozessketten (EPK) ähnlich Petrinetzen Verfügbarkeit Mobiles MMS prüfen Ein Ziel in BauVOGrid: Abbildung von EPKs auf GWorkflowDL zur Ausführung von Workflows im Grid ARIS als Workflow-Editor, enge Integration mit EPKs IKT-Support verfügbar neuen Mangel vor Ort DVbasiert erfassen Mangel durch vor Ort erfasst IKT-Support nicht verfügbar PDA Seite 35
Umweltsimulation auf dem Grid Risikomanagementsystem ERAMAS Environmental Risk Analysis and Management System Szenario Nach einem Chemie- oder Transportunfall gelangen giftige Substanzen in die Atmosphäre, den Boden und das Grundwasser Einsatzkräfte benötigen innerhalb von 10 Minuten nach dem Unfall eine wissenschaftliche Prognose der Schadstoffausbreitung und der zu evakuierenden Gebiete Seite 36
ERAMAS Architektur Seite 37
ERAMAS Benutzerschnittstelle Web-basiert Mobile Endgeräte Formularbasierte Eingabe von Unfalldaten Starten und Kontrolle der Simulation Visualisierung der Ergebnisse Keine Installation von zusätzlicher Software oder Hardware beim Nutzer nötig Zugriff auf umfangreiche Rechenressourcen über einfachen Web- Browser Seite 38
Prozessunterstützung durch Grid Workflows Unterstützung der Prozesse durch Modellieren der Prozesse: Intuitiv, formell, überprüfbar, ggf. unabhängig von der Infrastruktur Automatisierung der Prozessabläufe (Kontroll- und Datenfluss) Automatisches Finden geeigneter Ressourcen Optimierte Zuordnung der Aktivitäten und Planung von Ressourcen Fehlertolerante, persistente und sichere Ausführung der Prozesse Unterstützung von Ad-hoc Änderungen Kontrolle und Protokollierung der Prozesse Seite 39
Vielen Dank für Ihre Aufmerksamkeit! Kontakt: steffen.unger@first.fraunhofer.de Download Grid Workflow Execution Service: http://www.gridworkflow.org/gwes/ Seite 40