Hybride Modellierung kooperativer Arbeitsprozesse Peter Thies: SPICE: Flexible Support of Cooperating Persons with Information and Communication Technology Hybride Modellierung kooperativer Arbeitsprozesse Dr.-Ing. Jürgen Ziegler, Dipl.-Inf. Peter Thies Fraunhofer-Institut für Arbeitswirtschaft und Organisation, Stuttgart Tel.: 0711 / 970 - 2334 Fax: 0711 / 970 - 2300 Email: Juergen.Ziegler@iao.fhg.de Peter.Thies@iao.fhg.de
Hybride Modellierung kooperativer Arbeitsprozesse Themenübersicht Warum Entwicklungsmethoden für kooperationsunterstützende Systeme? Beispiele für unterschiedliche Analyse- und Modellierungsperspektiven Bewertung des Ansatzes
Warum Methoden für die Entwicklung kooperationsunterstützender Systeme? großes Spektrum an unterschiedlichen Aufgabentypen und Kooperationssituationen unterschiedlichste technologische Unterstützungsansätze mit verschiedenartigen Schwerpunkten systematisches Ermitteln des Unterstützungsbedarfs nach Art und Umfang (viele fehlgeschlagene Groupware-Einführungen!) Risiken: Ineffizienz und Belastung der Mitarbeiter bei falscher Auswahl und Gestaltung komplexes, typischerweise anwendungsübergreifendes Gestaltungsfeld
Zunahme schwach strukturierter Aspekte rechnergestützer Arbeit und Kooperation strukturiert unstrukturiert strukturierte Daten Dokumente, Web-Inhalte logische Informationsaspekte multimedialer Content fest definierte Aufgaben variable, komplexe, problemlösende Aufgaben feste Zuständigkeiten ad-hoc Teambildung, virtuelle Teams vordefinierte Workflows Spontankommunikation, Dokument- austausch spezifische Fachanwendungen generische Tools „need-to-know“-Prinzip Wissensaustausch, lernende Organisation
Anforderungen an die Modellierung kooperationsunterstützender Systeme unterschiedliche, flexibel einsetzbare und miteinander konsistente Modellierungsperspektiven Integration strukturierter und unstrukturierter Aspekte geeignete Abstraktionsmechanismen zur kompakten Darstellung vager oder komplexer Strukturen inkrementelle Verfeinerbarkeit der Beschreibung keine Überspezifikation! (soviel wie für Auswahl/Gestaltung von Systemen nötig) wiederverwendbare Muster/Bausteine
Multiperspektivische Modellierung von kooperativer Arbeit im Cooperation Modeling Framework CMF Information Aufgabe Organisationeinheit Informationsmodell (Klassenmodell oder unstrukt. Info.) Prozessmodell (mit Infofluss) Kommunikations-modell (Inform. austausch) Information Informations-verwendung Aufgabentypen Aufgabenstruktur Rollenmodell Aufgabe Informationspflege Zugriffsrechte Aufgaben-zuständigkeiten Organisationstypen Organigramm Organisations- einheit
Informationsmodellierungskonstrukte in CMF Strukturierte Objekte (UML Klassendiagramm) Topic Map Diagram Marketing «related» Kunde 1 1..* «subtopic» Auftrag erteilt Markt- daten * Forschung enthält 1..* Wett- bewerber Produkt Strukturierte Dokumente Hypermedia Documente Intro Marktdaten Produktevaluation 1 Produktbeschreibung Marktberichte 1 Inhalt Market Research Review 0..* Anwendungsbericht Marktentwicklg.
Zwei-Ebenen-Informationsmodell (Bsp. MediaKomm Esslingen) Themenebene Bauwesen Bebauungsplanung Baurecht Pfeil= «subtopic» «related» Baugenehmigungs- verfahren Baugenehmigung Bauanträge Bekanntgabe- verfahren {Select ...} «occurs» Ebene der Informationsressourcen Bauantrag Bauinformation für Bürger 1 0..1 Antrags- daten Genehmigung Baurechts- fibel 1 Anleitung Genehmigungs- verfahren 1 Antragsunterlagen Richtig Bauen 1 Objektbeschreibung Anleitung Bekanntgabe- verfahren 1..* Bebauungs- plan Zeichnung CAD-Plan 1..* Ausführungsbeschreibg.
Multiperspektivische Modellierung von kooperativer Arbeit im Cooperation Modeling Framework CMF Information Aufgabe Organisationeinheit Informationsmodell (Klassenmodell oder unstrukt. Info.) Prozessmodell (mit Infofluss) Kommunikations-modell (Inform. austausch) Information Informations-verwendung Aufgabentypen Aufgabenstruktur Rollenmodell Aufgabe Informationspflege Zugriffsrechte Aufgaben-zuständigkeiten Organisationstypen Organigramm Organisations- einheit
Modellierung der Informationslogistik Infoobjekt Beispiel: Org. Einheit Marketing Beziehungen: Markt-Info liest (Pull-Prinzip) Konkurrenzprodukte {neues Produkt} liest (Push-Prinzip) Techn. Berichte Notifikation durch Verweis {Ereignis für Notifikation} schreibt -delete (Löschen nicht möglich) Vertrieb Entwicklung moderiert
Modellierung der Informationslogistik Infoobjekt Beispiel: Org. Einheit Marketing Beziehungsstereotypen: Markt-Info liest (Pull-Prinzip) Konkurrenzprodukte {neues Produkt} liest (Push-Prinzip) Techn. Berichte Notifikation durch Verweis {Auslöser für Push} «profile» Profil1 Vertrieb Entwicklung schreibt -delete (Löschen nicht möglich) moderiert
Multiperspektivische Modellierung von kooperativer Arbeit im Cooperation Modeling Framework CMF Information Aufgabe Organisationeinheit Informationsmodell (Klassenmodell oder unstrukt. Info.) Prozessmodell (mit Infofluss) Kommunikations-modell (Inform. austausch) Information Informations-verwendung Aufgabentypen Aufgabenstruktur Rollenmodell Aufgabe Informationspflege Zugriffsrechte Aufgaben-zuständigkeiten Organisationstypen Organigramm Organisations- einheit
CoCharts - eine Methode zur Modellierung kooperativer Prozesse Hierarchische Abstraktionsmöglichkeiten für Aufgaben entsprechend dem Higraph-Ansatz (Harel), sequentielle und nebenläufige Subaufgaben Gleichzeitige Darstellung von Aufgaben/Subaufgaben durch graphische Einbettung Angabe von Subaufgaben ohne Ablaufstruktur möglich (indeterminierte Aufgaben) Steuerung von Prozessen durch Zustände von Objekten sowie Ereignisse Darstellung verwendeter Informationsobjekte (Objektklassen oder Container) Definition von Koordinationsmustern für indeterminierte Aufgaben Angabe von Aufgabenbearbeitern (Rollen) und Koordinatoren durch Attribute
Konstrukte zur Aufgabenmodellierung in CoCharts Name der Aufgabe [Ausführende Stellen oder Rollen] Übergeordn. Aufgabe Subaufgabe A einzelne Aufgabe Subaufgabe B Name der Aufgabe [Ausführende Einheiten] unspezifizierte Zerlegung einer Aufgabe komplexe Aufgabe (separat verfeinert) Übergeordnete Aufgabe Übergeordnete Aufgabe Subaufgabe A Subaufgabe A Subaufgabe B Subaufgabe B ODER-Zerlegung (sequentiell) (zu einem Zeitpunkt ist jeweils eine Subaufgabe aktiv) UND-Zerlegung (parallel) (alle Subaufgaben gleichzeitig aktiv)
Koordinations-muster K Beispiel für unterschiedliche Detaillierungsgrade einer Aufgabenbeschreibung Aufgabe T [Org. X] Aufgabe T Aufgabe T Aufgabe T A A A A Obj:State1 B B B Obj: State2 B C C C Obj:State3 Koordinations-muster K C unspezifizierte Abarbeitung der Subaufgaben sequentielle Zerlegung (jeweils eine Aufgabe aktiv) detaillierte Ablauf- spezifikation Aufgabe mit Koordinationsmuster a) b) c) d)
Koordinationsmuster beschreiben Mechanismen zur Koordination von Tätigkeiten einer Personengruppe (oder einer Einzelperson) dienen als wiederverwendbare Bausteine zur Beschreibung von Kooperationen können als Attribut an Aufgabenmengen angehängt werden, deren Ablauf bislang nicht determiniert ist Eigenschaften von Koordinationsmustern Koordinationstyp (Basistypen: shared process - shared object) Koordinationszeit (vor der Ausführung (vordeterminiert) - während der Ausführung (emergent) Koordinationsträger (Einzelperson - Hierarchie - verteilte Gruppe)
Beispiel einer Anwendung von CoCharts mit Koordinationsmustern Entwicklungs- daten Produktentwicklung [Produktteam] Entwicklungs- anfrage Anfrage entscheiden [Entwickl. leiter] Entwickl. projekt:+ Produktdesign Entwickl.: fertig Marketing Fertigung planen Elektronik Mechanik Notifikation & Meeting gemeinsame Ablage & Direktkommunikation
Beispiel einer Anwendung von CoCharts mit Koordinationsmustern Design- regeln Entwicklungsdaten Qualitäts- sicherung Projekt Teilestamm Produktentwicklung [Produktteam] Entwicklungs- anfrage Anfrage entscheiden [Entwickl. leiter] Projekt:+ Produktdesign Projekt: entwickelt Marketing Fertigung planen Elektronik Mechanik Notifikation & Meeting gemeinsame Ablage & Direktkommunikation
Deklarative Modellierung durch Constraints Definition (Warmer, Kleppe, 1999): A constraint is a restriction on one or more values of ... an object-oriented model or system. C1 P ? O:S1 O:S2 A C C1 Wenn kein Kontrollfluß a priori modellierbar Transport von Eigenschaften und deren Beschränkungen Teil des Status eines Objekts Indirekte Führung der Ergebnisproduktion Warmer, J.; Kleppe, A.: The Object Constraint Language. Precise Modelling with UML. Addison Wesley. Reading, Massachusetts. 1999
Objektkonstriktion Dynamik Statik modal strukturell temporal kausal organisational Zielobjekt- spezifisch temporal: Zeitmarken wie in Netzplantechniken (Deadlines, etc.) kausal: Kontrollflußspezifika (Synchronisation, Zustandsübergang, Konsigantion, Distribution, etc.) organisational: Betrifft den Typ "Organisationseinheit" (Zuweisung, Zugriffskontrolle, etc.) Zielobjekt-spezifisch: Definition der Zielstruktur (vgl. UML-Klassendiagramme)
OCL – Object Constraint Language Das Kompositum muss bis 16.09.2000 fertiggestellt sein. context Kompositum inv: self.deadline="16.09.2000" self.element->deadline=self.deadline context Kompositum::getBuffer() : Date post: result=self.deadline-today() Die Deadline der Elemente muß der Deadline des Kompositums entsprechen. Die Methode getBuffer hinterlässt einen bestimmten Wert für buffer. Invarianten Pre- und Postconditions
Anwendungsbeispiel Konsignation ? B O:S1 O:S2 A C Mit P als Prozess, A die Beauftragung, C die Konsignation i.e.S. a) Zeitmarkenkonsistenz: b) Zugriffsbeschränkung:
Auswahl von Handlungsalternativen auf Basis von Constraints Jede Invariante partitioniert den Raum der Handlungsalternativen: Constraint1 bricht hält Constraint2 hält bricht Möglichkeiten Konsistenzbedingungen trotz eines a priori fehlenden Kontrollflusses Validierung der Handlung des Benutzers im Kontext der Prozesselaboration Aufzeigen der Handlungsalternativen (versch. Grade der Systemunterstützung denkbar) Konflikte können angezeigt werden (konfligierende oder gebrochene Constraints)