Referenz-Metaschema für visuelle Modellierungssprachen - Se.uni ...
Referenz-Metaschema für visuelle Modellierungssprachen - Se.uni ...
Referenz-Metaschema für visuelle Modellierungssprachen - Se.uni ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Andreas Winter<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong><br />
<strong>visuelle</strong> <strong>Modellierungssprachen</strong><br />
Vom Promotionsausschuß des Fachbreichs 4: Informatik der Universität Koblenz-Landau zur<br />
Verleihung des akademischen Grades Doktor der Naturwissenschaften (Dr. rer. nat.)<br />
genehmigte Dissertation.<br />
Vorsitzender des Promotionsausschusses: Prof. Dr. Jürgen Ebert<br />
Promotionskommission<br />
Vorsitzender: Prof. Dr. Ulrich Frank<br />
Berichterstatter: Prof. Dr. Jürgen Ebert<br />
Prof. Dr. Franz Lehner<br />
Tag der wissenschaftlichen Aussprache: 14. Februar 2000
Geleitwort<br />
Sowohl bei der Beschreibung von Unternehmen, Verwaltungen und Organisationen als auch bei<br />
der Beschreibung von Softwaresystemen werden zahlreiche – häufig <strong>visuelle</strong> – Sprachen eingesetzt.<br />
Die Sprachenvielfalt ist dabei sowohl in der Organisationslehre als auch in der Softwaretechnik<br />
sehr hoch.<br />
Die vorliegende Dissertation bringt in die Menge der Sprachen zur Beschreibung von Organisationen<br />
und von Softwaresystemen ein umfassendes und leistungsfähiges konzeptuelles Ordnungssystem,<br />
das geeignet ist, diese Sprachen zusammen zu erfassen und miteinander (syntaktisch)<br />
in Beziehung zu setzen. Damit wird insbesondere die Grundlage <strong>für</strong> den Bau generischer<br />
sprachspezifischer und sprachübergreifender Werkzeuge weiter abgesichert.<br />
Herr Winter vereint die <strong>visuelle</strong>n Sprachen beider Bereiche in einer ganzheitlichen Sicht und<br />
zeigt, daß sie alle zusammen in systematischer Form beschrieben und erfaßt werden können:<br />
Aufbauend auf einer stark literatur-basierten Diskussion der Grundbegriffe „Organisation“ und<br />
„Softwaresystem“ und den jeweiligen methodischen Ansätzen <strong>für</strong> deren Analyse und Gestaltung<br />
zeigt er, daß Organisationstechnik und Softwaretechnik gegenseitig eng miteinander verflochten<br />
sind, so daß im Kontext der vorliegenden Arbeit nur eine gemeinsame, integrierte Betrachtung<br />
in Frage kommt.<br />
Um die Beschreibungsparadigmen umfassend und integriert darstellen zu können, wird dann im<br />
Verlauf der Arbeit ein gemeinsames <strong>Referenz</strong>-<strong>Metaschema</strong> erstellt, das alle behandelten Sprachen<br />
im wesentlichen als konkret-syntaktisch notierte Instanzen hierzu umfaßt.<br />
Der Autor validiert dieses <strong>Referenz</strong>-<strong>Metaschema</strong> dadurch, daß er existierende multiparadigmatische<br />
Beschreibungsansätze als Spezialfälle des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s beschreibt.<br />
Wie durch den Begriff „<strong>Referenz</strong>“ nahegelegt, sind hierzu nur kleinere Anpassungen erforderlich.<br />
Die vorliegende Dissertation ist ein wichtiger Beitrag zu einem wesentlichen Gebiet der Softwaretechnik,<br />
nämlich der Definition und Formalisierung von <strong>visuelle</strong>n Beschreibungssprachen. Mit<br />
dieser Arbeit sind diejenigen Sprachen, die sich im praktischen Einsatz befinden, inklusive der<br />
notwendigen Kontextbedingungen erfaßt.<br />
Durch die Arbeit wird der Stand der Technik in der Organisationstheorie und in der Softwaretechnik<br />
vollständig berücksichtigt. Dabei ist zu beachten, daß nicht die Konzepte in der wissenschaftlichen<br />
Behandlung von Organisationen und Softwaresystemen (also in der Anwendungsdomäne<br />
der Sprachen) erfaßt werden, sondern die Konzepte, die in den Sprachen zu deren Beschreibung<br />
verwendet werden. Da softwaretechnische Methoden stets um Beschreibungssprachen herum
entwickelt werden, ist somit <strong>für</strong> das Method Engineering eine Basis geschaffen, die auch den<br />
semantischen und den transformativen Teil von Methoden formalisieren läßt.<br />
Das eingeführte <strong>Referenz</strong>schema ist insgesamt als ein konsistenter und hinreichend vollständiger<br />
Vorschlag zu sehen, der sich in der Diskussion in der Wissenschaft, vor allem aber bei der Implementierung<br />
in CASE-Werkzeugen noch weiter bewähren muß. Die Definition von UML durch<br />
die OMG über ein schwach untermauertes Metamodell ist dagegen ein eher blasser Ansatz. Der<br />
Autor hat gezeigt, daß sich sein <strong>Referenz</strong>-<strong>Metaschema</strong> mit den eingeführten Mitteln vollständig<br />
beschreiben läßt und daß Variantenbildung – wie die zahllosen Beispiele zeigen – ausgesprochen<br />
einfach ist.<br />
Durch die Veröffentlichung dieser Dissertation durch den Deutschen Universitäts-Verlag kann<br />
die Arbeit die Verbreitung erlangen, die sie verdient und die sie benötigt, um die Diskussion über<br />
<strong>visuelle</strong> Sprachen in der Softwaretechnik und deren Präzisierung voranzubringen.<br />
Jürgen Ebert
Vorwort<br />
Diese Dissertation entstand während meiner Anstellung als wissenschaftlicher Mitarbeiter in der<br />
Forschungsgruppe Softwaretechnik der Universität Koblenz-Landau bei Herrn Prof. Dr. Jürgen<br />
Ebert. Die Arbeit wurde teilweise durch ein Graduiertenstipendium des Landes Rheinland-Pfalz<br />
unterstützt. Ich möchte mich an dieser Stelle bei allen bedanken, die zur Erstellung dieser Arbeit<br />
beigetragen haben.<br />
Meinem Mentor, Herrn Prof. Dr. Jürgen Ebert, danke ich <strong>für</strong> das mir entgegengebrachte Vertrauen,<br />
das diese Arbeit erst ermöglichte. Er hat mir das weite Feld der Softwaretechnik eröffnet und<br />
mich in die wissenschaftliche Beschäftigung mit der Softwaretechnik eingeführt. In seiner Arbeitsgruppe<br />
fand ich die Freiräume und die konstruktive und diskussionsfreudige Atmosphäre,<br />
ohne die praxisnahe, wissenschaftliche Arbeit nicht möglich ist.<br />
Herrn Prof. Dr. Franz Lehner danke ich <strong>für</strong> sein Interesse an dieser Arbeit und die Bereitschaft,<br />
die Berichterstattung zu übernehmen. Intensive Diskussionen mit ihm erlaubten es mir, die Softwaretechnik<br />
auch aus Sicht der Wirtschaftsinformatik zu sehen. Für seine Diskussionsbereitschaft<br />
und seine wertvollen Kommentare und Bemerkungen, die diese Arbeit deutlich beeinflußt<br />
haben, bedanke ich mich sehr herzlich.<br />
Herrn Prof. Dr. Heino Kaack, der die Fertigstellung dieser Dissertation leider nicht mehr erleben<br />
konnte, danke ich <strong>für</strong> seine Unterstützung bei den ersten Schritten zu dieser Arbeit. Er brachte<br />
mich den Fragestellungen der Verwaltungsinformatik und der Organisationsmodellierung näher.<br />
In seiner Forschungsstelle <strong>für</strong> Verwaltungsinformatik ermöglichte er mir meine ersten wissenschaftlichen<br />
Gehversuche. Gemeinsam mit Herrn Prof. Dr. Jürgen Ebert und Herrn Dr. Andreas<br />
Engel brachte er mich auf die Idee zu dieser Arbeit und ermutigte mich zur Realisierung dieser<br />
Dissertation.<br />
Meinen Kollegen Bernt Kullbach und Roger Süttenbach schulde ich Dank <strong>für</strong> das Lesen und<br />
Kommentieren früherer Versionen dieser Arbeit. Trotz ihrer eigenen zeitlichen Belastung, nahmen<br />
sie sich stets die Zeit <strong>für</strong> intensive und wertvolle Diskussionen zu meiner Arbeit. Diese<br />
Diskussionen mit ihnen möchte ich nicht missen. Bei Bernt Kullbach bedanke ich mich darüber<br />
hinaus auch sehr herzlich, daß er mich in den letzten Monaten in GUPRO deutlich entlastete.<br />
Der in dieser Arbeit verwendete EER/GRAL-Ansatz zur Konzeptmodellierung basiert auf gemeinsamen<br />
Arbeiten mit Martin Carstensen, Peter Dahm, Prof. Dr. Jürgen Ebert, Angelika Franzke<br />
und Manfred Kamp. Ihnen danke ich <strong>für</strong> viele Gespräche zur Metamodellierung und zur Formalisierung<br />
von EER/GRAL.<br />
Intensive Diskussionen zu Teilbereichen meiner Arbeit konnte ich mit Dr. Andreas Engel, Prof.<br />
Dr. Ulrich Frank, Christel Heil, Rudolf Kruse, Prof. Dr. Albrecht Meißner, Dr. Stephan Philip-
pi, Michael Prasse, Ulrich Remus, Martin Schulze, Thomas Schumm, Carlo Simon, Christopher<br />
Thomann, Ingar Uhe und Prof. Dr. Alfred Winter und der GI/GMDS Arbeitsgruppe „Methoden<br />
und Werkzeuge <strong>für</strong> das Management von Krankenhausinformationssystemen“ führen. Ihnen<br />
danke ich <strong>für</strong> viele hilfreiche Kommentare, die die vorliegende Dissertation deutlich geprägt<br />
haben.<br />
Für die Hilfe beim Umgang mit LATEX, Linux, Tgif und diversen Druckern danke ich Dr. Marcel<br />
Bresink, Detlev Droege, Rainer Krienke, Christoph Litauer und Friedbert Widmann.<br />
Schließlich danke ich meinen Eltern <strong>für</strong> ihre vielfältige Unterstützung und da<strong>für</strong>, daß sie bereits<br />
in frühen Jahren <strong>für</strong> meine Ausbildung gesorgt haben. Ohne sie wäre vieles nicht möglich<br />
gewesen.<br />
Andreas Winter
Kurzfassung<br />
Die Modellierung von Organisationen und Softwaresystemen erfolgt heute multiperspektivisch<br />
aus unterschiedlichen Darstellungssichten. Hierzu wird sowohl in der Organisationstechnik als<br />
auch in der Softwaretechnik eine große Vielfalt unterschiedlicher <strong>visuelle</strong>r Sprachen verwendet.<br />
Diese Arbeit integriert diese Beschreibungsmittel auf konzeptioneller Ebene und identifiziert die<br />
Querbezüge der Darstellungen unterschiedlicher Sichten.<br />
Zur Strukturierung des weiten Spektrums unterschiedlicher <strong>Modellierungssprachen</strong> wird ausgehend<br />
von den zentralen Modellierungssichten ein Klassifikationsschema entwickelt, durch das<br />
die verschiedenen Beschreibungsmittel auf zehn grundlegende Beschreibungsparadigmen zurückgeführt<br />
werden können.<br />
Die durch Sprachen dieser Paradigmen modellierten Konzepte und deren Beziehungen werden<br />
durch <strong>Referenz</strong>-<strong>Metaschema</strong>ta formalisiert. Diese <strong>Referenz</strong>-<strong>Metaschema</strong>ta sind einerseits so allgemein<br />
gehalten, daß die Ableitung spezialisierter <strong>Metaschema</strong>ta konkreter Modellierungsmittel<br />
leicht möglich ist. Andererseits sind sie auch so konkret, daß diese Spezialisierungen nur geringfügige<br />
Anpassungen der <strong>Referenz</strong>-<strong>Metaschema</strong>ta erfordern. Das <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong><br />
<strong>visuelle</strong> <strong>Modellierungssprachen</strong> faßt diese <strong>Referenz</strong>-<strong>Metaschema</strong>ta der Beschreibungsmittel <strong>für</strong><br />
Organisationen und Softwaresysteme in einem integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> zusammen.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> bietet einen umfassenden Überblick<br />
über die heute zur Modellierung von Organisationen und Softwaresystemen verwendeten<br />
Beschreibungsmittel. Unabhängig von konkreten Notationen werden diese Sprachen entlang<br />
ihrer Modellierungskonzepte dargestellt und Querbezüge zwischen den verschiedenen Darstellungsmitteln<br />
der unterschiedlichen Sichten und Paradigmen herausgestellt.<br />
Anwendung findet dieses <strong>Referenz</strong>-<strong>Metaschema</strong> neben der Festlegung der Modellierungskonzepte<br />
und deren Beziehungen u. a. auch als Modellierungsmittel zur Entwicklung spezialisierter<br />
<strong>Metaschema</strong>ta konkreter, multiperspektivischer <strong>Modellierungssprachen</strong>, und es kann als Vergleichsmaßstab<br />
zur Einordnung dieser Sprachen herangezogen werden. Für die Entwicklung von<br />
Modellierungswerkzeugen definiert das <strong>Referenz</strong>-<strong>Metaschema</strong> bzw. die hieraus abgeleiteten Spezialisierungen<br />
Repositorystrukturen zur internen Verwaltung von Modelldaten und spezifiziert<br />
die Konsistenz der Teilmodelle unterschiedlicher Beschreibungsmittel zueinander.
Inhaltsverzeichnis<br />
1 Einführung und Zielsetzung 1<br />
I Grundlagen und Einordnung 11<br />
2 Organisationen und Softwaresysteme 13<br />
2.1 ModellierungvonOrganisationen . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
2.1.1 Vorgehen zur Organisationsgestaltung . . . . . . . . . . . . . . . . . . . 16<br />
2.1.2 Methoden des Requirements-Engineering der Organisationstechnik . . . 18<br />
2.1.3 Visuelle <strong>Modellierungssprachen</strong> der Organisationstechnik . . . . . . . . 19<br />
2.2 Modellierung von Softwaresystemen . . . . . . . . . . . . . . . . . . . . . . . . 20<br />
2.2.1 Vorgehen zur Softwareerstellung . . . . . . . . . . . . . . . . . . . . . . 21<br />
2.2.2 Methoden des Requirements-Engineering der Softwaretechnik . . . . . . 22<br />
2.2.3 Visuelle <strong>Modellierungssprachen</strong> der Softwaretechnik . . . . . . . . . . . 24<br />
2.3 Modellierung von Organisationen und Softwaresystemen . . . . . . . . . . . . . 25<br />
2.4 Einordnung in die Zielsetzung dieser Arbeit . . . . . . . . . . . . . . . . . . . . 29<br />
3 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik 31<br />
3.1 Klassifikationsschema <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> . . . . . . . . . . . . 31<br />
3.1.1 Beschreibungssichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />
3.1.2 Beschreibungsparadigmen . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />
3.1.3 Beschreibungssichten und -paradigmen . . . . . . . . . . . . . . . . . . 35<br />
3.1.4 Visuelle <strong>Modellierungssprachen</strong> . . . . . . . . . . . . . . . . . . . . . . 38<br />
3.2 Visuelle Modellierungsprachen der Aufgabensicht . . . . . . . . . . . . . . . . . 40<br />
3.2.1 Visuelle Modellierungsprachen des Aufgabengliederungsparadigmas . . 40<br />
3.3 Visuelle <strong>Modellierungssprachen</strong> der Aufbausicht . . . . . . . . . . . . . . . . . 44<br />
3.3.1 Visuelle Modellierungsprachen des Stellengliederungsparadigmas . . . . 45
xii Inhaltsverzeichnis<br />
3.3.2 Visuelle <strong>Modellierungssprachen</strong> des Komm<strong>uni</strong>kationsparadigmas . . . . 52<br />
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht . . . . . . . . . . . . . . . . . . 55<br />
3.4.1 Visuelle <strong>Modellierungssprachen</strong> des Datenflußparadigmas . . . . . . . . 56<br />
3.4.2 Visuelle <strong>Modellierungssprachen</strong> des Zustandsübergangsparadigmas . . . 65<br />
3.4.3 Visuelle <strong>Modellierungssprachen</strong> des Netzparadigmas . . . . . . . . . . . 70<br />
3.4.4 Visuelle <strong>Modellierungssprachen</strong> des Kontrollflußparadigmas . . . . . . . 82<br />
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht . . . . . . . . . . . . . . . . . . 85<br />
3.5.1 Visuelle <strong>Modellierungssprachen</strong> des Objekt-Instanzparadigmas . . . . . 86<br />
3.5.2 Visuelle <strong>Modellierungssprachen</strong> des Objekt-Interaktionsparadigmas . . . 88<br />
3.5.3 Visuelle <strong>Modellierungssprachen</strong> des Objekt-Beziehungsparadigmas . . . 92<br />
3.6 Einordnung in die Zielsetzung dieser Arbeit . . . . . . . . . . . . . . . . . . . . 101<br />
4 Modelle, <strong>Referenz</strong>modelle und Metamodelle 103<br />
4.1 Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />
4.2 <strong>Referenz</strong>modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />
4.2.1 Anforderungen an <strong>Referenz</strong>modelle . . . . . . . . . . . . . . . . . . . . 107<br />
4.2.2 Beispiele <strong>für</strong> <strong>Referenz</strong>modelle . . . . . . . . . . . . . . . . . . . . . . . 110<br />
4.2.3 Zusammenfassung: Anwendungsbereiche von <strong>Referenz</strong>modellen . . . . . 115<br />
4.3 Metamodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116<br />
4.3.1 Beispiele<strong>für</strong>Metamodelle . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />
4.3.2 Zusammenfassung: Anwendungsbereiche von Metamodellen . . . . . . . 130<br />
4.3.3 Metamodelle und <strong>Referenz</strong>modelle . . . . . . . . . . . . . . . . . . . . 132<br />
4.4 Einordnung in die Zielsetzung dieser Arbeit . . . . . . . . . . . . . . . . . . . . 134<br />
II Modellbildung des <strong>Referenz</strong>-<strong>Metaschema</strong>s 137<br />
5 Graphbasierte Konzeptmodellierung 139<br />
5.1 Konzeptmodellierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139<br />
5.2 Konzeptmodellierung mit EER/GRAL . . . . . . . . . . . . . . . . . . . . . . . 144<br />
5.2.1 TGraphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />
5.2.2 Graphklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br />
5.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Inhaltsverzeichnis xiii<br />
6 <strong>Referenz</strong>-<strong>Metaschema</strong> 167<br />
6.1 Herleitung und Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s . . . . . . . . . . . . 167<br />
6.2 <strong>Metaschema</strong>taderAufgabensicht . . . . . . . . . . . . . . . . . . . . . . . . . . 168<br />
6.2.1 <strong>Metaschema</strong>ta des Aufgabengliederungsparadigmas . . . . . . . . . . . 168<br />
6.3 <strong>Metaschema</strong>taderAufbausicht . . . . . . . . . . . . . . . . . . . . . . . . . . . 172<br />
6.3.1 <strong>Metaschema</strong>ta des Stellengliederungsparadigmas . . . . . . . . . . . . . 172<br />
6.3.2 <strong>Metaschema</strong>ta des Komm<strong>uni</strong>kationsparadigmas . . . . . . . . . . . . . . 177<br />
6.4 <strong>Metaschema</strong>taderProzeßsicht . . . . . . . . . . . . . . . . . . . . . . . . . . . 179<br />
6.4.1 <strong>Metaschema</strong>ta des Datenflußparadigmas . . . . . . . . . . . . . . . . . . 179<br />
6.4.2 <strong>Metaschema</strong>ta des Zustandsübergangsparadigmas . . . . . . . . . . . . . 186<br />
6.4.3 <strong>Metaschema</strong>ta des Netzparadigmas . . . . . . . . . . . . . . . . . . . . 192<br />
6.4.4 <strong>Metaschema</strong>ta des Kontrollflußparadigmas . . . . . . . . . . . . . . . . 207<br />
6.5 <strong>Metaschema</strong>taderObjektsicht . . . . . . . . . . . . . . . . . . . . . . . . . . . 209<br />
6.5.1 <strong>Metaschema</strong>ta des Objekt-Instanzparadigmas . . . . . . . . . . . . . . . 209<br />
6.5.2 <strong>Metaschema</strong>ta des Objekt-Interaktionsparadigmas . . . . . . . . . . . . 212<br />
6.5.3 <strong>Metaschema</strong>ta des Objekt-Beziehungsparadigmas . . . . . . . . . . . . . 214<br />
6.6 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 225<br />
6.6.1 Integration der <strong>Referenz</strong>-<strong>Metaschema</strong>ta . . . . . . . . . . . . . . . . . . 225<br />
6.6.2 Paradigmenübergeifende GRAL-Zusicherungen . . . . . . . . . . . . . . 230<br />
6.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234<br />
III Anwendung des <strong>Referenz</strong>-<strong>Metaschema</strong>s 235<br />
7 Architektur integrierter Informationssysteme 237<br />
7.1 Integration der <strong>Metaschema</strong>ta der ARIS-Beschreibungsmittel . . . . . . . . . . . 238<br />
7.2 Paradigmenübergreifende GRAL-Zusicherungen . . . . . . . . . . . . . . . . . . 239<br />
7.2.1 Paradigmenübergreifende Zusicherungen der Prozeßsicht . . . . . . . . . 240<br />
7.2.2 Paradigmenübergreifende Zusicherungen der Aufgaben- und Prozeßsicht 240<br />
7.3 Anwendung des ARIS-<strong>Metaschema</strong>s . . . . . . . . . . . . . . . . . . . . . . . . 241<br />
8 Unified Modeling Language 243<br />
8.1 Integration der <strong>Metaschema</strong>ta der UML-Beschreibungsmittel . . . . . . . . . . . 244<br />
8.2 Paradigmenübergreifende GRAL-Zusicherungen . . . . . . . . . . . . . . . . . . 245<br />
8.2.1 Paradigmenübergreifende Zusicherungen der Objektsicht . . . . . . . . . 246
xiv Inhaltsverzeichnis<br />
8.2.2 Paradigmenübergreifende Zusicherungen der Prozeß- und Objektsicht . . 247<br />
8.3 Anwendung des UML-<strong>Metaschema</strong>s . . . . . . . . . . . . . . . . . . . . . . . . 248<br />
9 Software-Evaluation 249<br />
9.1 Integration der <strong>Metaschema</strong>ta zur Software-Evaluation . . . . . . . . . . . . . . 250<br />
9.2 Paradigmenübergreifende GRAL-Zusicherungen . . . . . . . . . . . . . . . . . . 252<br />
9.2.1 Paradigmenübergreifende Zusicherungen der Aufgaben- und Prozeßsicht 252<br />
9.3 Anwendung des <strong>Metaschema</strong>s zur Software-Evaluation . . . . . . . . . . . . . . 253<br />
10 Zusammenfassung und Ausblick 255<br />
A Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s 261<br />
A.1 EER-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262<br />
A.2 GRAL-Zusicherungen der Aufgabensicht . . . . . . . . . . . . . . . . . . . . . . 263<br />
A.2.1 GRAL-Zusicherungen des Aufgabengliederungsparadigmas . . . . . . . 263<br />
A.3 GRAL-Zusicherungen der Aufbausicht . . . . . . . . . . . . . . . . . . . . . . . 263<br />
A.3.1 GRAL-Zusicherungen des Stellengliederungsparadigmas . . . . . . . . . 263<br />
A.3.2 GRAL-Zusicherungen des Komm<strong>uni</strong>kationsparadigmas . . . . . . . . . . 264<br />
A.4 GRAL-Zusicherungen der Prozeßsicht . . . . . . . . . . . . . . . . . . . . . . . 264<br />
A.4.1 GRAL-Zusicherungen des Datenflußpardigmas . . . . . . . . . . . . . . 264<br />
A.4.2 GRAL-Zusicherungen des Zustandsübergangsparadigmas . . . . . . . . . 265<br />
A.4.3 GRAL-Zusicherungen des Netzparadigmas . . . . . . . . . . . . . . . . 266<br />
A.4.4 GRAL-Zusicherungen des Kontrollflußparadigmas . . . . . . . . . . . . 267<br />
A.5 GRAL-Zusicherungen der Objektsicht . . . . . . . . . . . . . . . . . . . . . . . 267<br />
A.5.1 GRAL-Zusicherungen des Objekt-Instanzpardigmas . . . . . . . . . . . . 267<br />
A.5.2 GRAL-Zusicherungen des Objekt-Interaktionsparadigmas . . . . . . . . 267<br />
A.5.3 GRAL-Zusicherungen des Objekt-Beziehungsparadigmas . . . . . . . . . 268<br />
A.6 Sichten- und Paradigmenübergreifende GRAL-Zusicherungen . . . . . . . . . . . 268<br />
B Glossar 271<br />
B.1 Grundlegende Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271<br />
B.2 Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s . . . . . . . . . . . . . . . . . . . . . . . 272<br />
Literaturverzeichnis 279
Abbildungsverzeichnis<br />
2.1 Ein Wasserfallmodell zur Organisationsgestaltung . . . . . . . . . . . . . . . . . 17<br />
2.2 Ein Wasserfallmodell des Software-Lebenszyklus . . . . . . . . . . . . . . . . . 22<br />
3.1 Beschreibung einer Krankenhaus-Organisation aus verschiedenen Sichten . . . . 33<br />
3.2 Beschreibungssichten und Paradigmen . . . . . . . . . . . . . . . . . . . . . . . 37<br />
3.3 Sichten, Paradigmen und Beschreibungsmittel . . . . . . . . . . . . . . . . . . . 39<br />
3.4 Aufgabengliederungsplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />
3.5 Aufgabengliederungspläne, notationelle Varianten . . . . . . . . . . . . . . . . . 43<br />
3.6 Organigramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />
3.7 Organigramme <strong>für</strong> Einliniensysteme, notationelle Varianten . . . . . . . . . . . . 47<br />
3.8 Organigramme<strong>für</strong>Mehrlinien-Systeme . . . . . . . . . . . . . . . . . . . . . . 49<br />
3.9 Funktionendiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />
3.10 Komm<strong>uni</strong>gramm (Komm<strong>uni</strong>kationshäufigkeit) . . . . . . . . . . . . . . . . . . . 53<br />
3.11 Komm<strong>uni</strong>kationsmatrix (Dreiecksform) . . . . . . . . . . . . . . . . . . . . . . 54<br />
3.12 Komm<strong>uni</strong>kationsgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />
3.13 Kooperationsbild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />
3.14 Kontextdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />
3.15 Datenflußdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />
3.16 Datenflußplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />
3.17 SADT-Aktivitätsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />
3.18 Anwendungsfalldiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />
3.19 Statechart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />
3.20 Statecharts, notationelleVarianten . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />
3.21 Grundbausteine zur Kontrollflußverknüpfung . . . . . . . . . . . . . . . . . . . 71<br />
3.22 Aktivitätsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />
3.23 EreignisgesteuerteProzeßkette . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
xvi Abbildungsverzeichnis<br />
3.24 Bedingungs/Ereignis-Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />
3.25 Vorgangsknotennetzplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />
3.26 Nassi-Shneiderman-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />
3.27 Jackson-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />
3.28 Warnier-Orr-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />
3.29 Pseudo-Code und Entscheidungstabelle . . . . . . . . . . . . . . . . . . . . . . 85<br />
3.30 Objektdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br />
3.31 <strong>Se</strong>quenzdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />
3.32 Kollaborationsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />
3.33 Notation <strong>für</strong> Kardinalitäten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />
3.34 Objekt-Beziehungsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />
3.35 Entity-Relationship-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />
3.36 NIAM-Informationsstruktur-Diagramm . . . . . . . . . . . . . . . . . . . . . . 97<br />
3.37 Generisches <strong>Se</strong>mantischesModell . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />
3.38 UML-Klassendiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />
4.1 Anwendungsbereiche von <strong>Referenz</strong>modellen . . . . . . . . . . . . . . . . . . . 115<br />
4.2 Anwendungsbereiche von Metamodellen . . . . . . . . . . . . . . . . . . . . . . 131<br />
4.3 Metamodell und <strong>Referenz</strong>modelle . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />
5.1 Zusammenhang zwischen den Begriffen „Gegenstand“, „Konzept“ und<br />
„Symbol“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139<br />
5.2 NotationvonKnoten-undKantentypen . . . . . . . . . . . . . . . . . . . . . . 157<br />
5.3 Notation von Generalisierungen . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />
5.4 Notation von Generalisierungen und Aggregationen . . . . . . . . . . . . . . . . 158<br />
5.5 Notation von Kardinalitäten und Injektivitäten . . . . . . . . . . . . . . . . . . . 159<br />
5.6 Prädikate der GRAL-Bibliothek(Auswahl) . . . . . . . . . . . . . . . . . . . . . 160<br />
5.7 Funktionen der GRAL-Bibliothek(Auswahl) . . . . . . . . . . . . . . . . . . . . 162<br />
6.1 <strong>Referenz</strong>-<strong>Metaschema</strong> des Aufgabengliederungsparadigmas<br />
(Task Decomposition Paradigm, TDP) . . . . . . . . . . . . . . . . . . . . . . . 169<br />
6.2 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Aufgabengliederungsparadigmas<br />
nach [Jordt / Gscheidle, (o.J.)] TDPJordtGscheidle . . . . . . . . . . . . . . 171<br />
6.3 <strong>Referenz</strong>-<strong>Metaschema</strong> des Stellengliederungsparadigmas<br />
(Position Decomposition Paradigm, PDP) . . . . . . . . . . . . . . . . . . . . . 173<br />
6.4 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas<br />
<strong>für</strong> Abteilungsorganigramme (PDPDepartment) . . . . . . . . . . . . . . . . . . 175
Abbildungsverzeichnis xvii<br />
6.5 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas<br />
<strong>für</strong> ARIS-Organigramme (PDPAris) . . . . . . . . . . . . . . . . . . . . . . . . 176<br />
6.6 <strong>Referenz</strong>-<strong>Metaschema</strong> des Komm<strong>uni</strong>kationsparadigmas<br />
(Comm<strong>uni</strong>cation Paradigm, CommP) . . . . . . . . . . . . . . . . . . . . . . . . 177<br />
6.7 <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas (Data Flow Paradigm, DFP) . . 180<br />
6.8 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong> Echtzeit-Datenflußdiagramme<br />
(DFPRTSA) . . . . . . . . . . . . . . . . . . . . . . . 184<br />
6.9 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong> Datenflußpläne<br />
(DFPFlowChart) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185<br />
6.10 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong> SADT-<br />
Aktivitätsdiagramme (DFPSADT) . . . . . . . . . . . . . . . . . . . . . . . . . 185<br />
6.11 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong> Anwendungsfalldiagramme<br />
(DFPUseCase) . . . . . . . . . . . . . . . . . . . . . . 186<br />
6.12 <strong>Referenz</strong>-<strong>Metaschema</strong> des Zustandsübergangsparadigmas,<br />
State Transition Paradigm, STP) . . . . . . . . . . . . . . . . . . . . . . . . . . 187<br />
6.13 KonfligierendeÜbergänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188<br />
6.14 <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas (Net Paradigm, NP) . . . . . . . . . 193<br />
6.15 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Aktivitätsdiagramme<br />
(NPActivity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195<br />
6.16 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Vorgangskettendiagramme<br />
(NPVKD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199<br />
6.17 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Petri-Netze<br />
(NPPetri) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201<br />
6.18 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Vorgangsknotennetzpläne<br />
(NPVKN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204<br />
6.19 <strong>Referenz</strong>-<strong>Metaschema</strong> des Kontrollflußparadigmas<br />
(Control Flow Paradigm,CP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207<br />
6.20 <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Instanzparadigmas<br />
(Object Instance Paradigm, OIP) . . . . . . . . . . . . . . . . . . . . . . . . . . 210<br />
6.21 <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Interaktionsparadigmas<br />
(Interaction Paradigm, IAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212<br />
6.22 <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas<br />
(Object-Relationship Paradigm, ORP) . . . . . . . . . . . . . . . . . . . . . . . 215<br />
6.23 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Datenlexika (ORPDD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217<br />
6.24 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Entity-Relationship-Diagramme (ORPER) . . . . . . . . . . . . . . . . . . . 219<br />
6.25 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Entity-Relationshipdiagramme nach [Chen, 1976] (ORPChen) . . . . . . . . 219
xviii Abbildungsverzeichnis<br />
6.26 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> NIAM-Informationsstruktur-Diagramme (ORPNiam) . . . . . . . . . . . . . 220<br />
6.27 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Generische <strong>Se</strong>mantische Modelle (ORPGSM) . . . . . . . . . . . . . . . . . 221<br />
6.28 Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> UML-Klassendiagramme (ORPUML) . . . . . . . . . . . . . . . . . . . . . 223<br />
6.29 Gemeinsame Konzepte der Paradigmen . . . . . . . . . . . . . . . . . . . . . . 226<br />
6.30 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen<br />
und Softwaresysteme (RMS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227<br />
7.1 Spezialisierung des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> die Beschreibungsmittel<br />
des ARIS-Ansatzes (ARIS) . . . . . . . . . . . . . . . . . . . . . . . . . . 239<br />
8.1 Spezialisierung des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> die Beschreibungsmittel<br />
der Unified Modeling Language (UML) . . . . . . . . . . . . . . . . . . . 245<br />
9.1 Spezialisierung des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> die Beschreibungsmittel<br />
zur Software-Evaluation (SET) . . . . . . . . . . . . . . . . . . . . . . . 251<br />
9.2 SET-KOGGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
1 Einführung und Zielsetzung<br />
Die Gestaltung von Organisationen und die Entwicklung von Softwaresystemen sind komplexe<br />
Aufgaben, die kaum ohne methodische Unterstützung durchgeführt werden können. Sowohl in<br />
der Organisationstechnik als auch in der Softwaretechnik existieren Verfahren und Hilfsmittel,<br />
die die Modellierung und Analyse von organisatorischen bzw. softwaretechnischen Zusammenhängen<br />
unterstützen. Diese Hilfsmittel weisen, sowohl in bezug auf die darzustellenden Beschreibungsinhalte<br />
als auch auf die zur Modellierung verwendeten Beschreibungsmittel, Techniken<br />
und Methoden, große Ähnlichkeiten auf.<br />
Die Organisationstechnik beschäftigt sich mit der Gestaltung und Realisierung von Organisationssystemen.<br />
Die Beschreibung von Organisationen bezieht sich sowohl auf die Einbindung der<br />
Organisation in das sie umgebende soziale System als auch auf die Modellierung der eigentlichen<br />
Organisationsstruktur, der Organisationsabläufe und der durch die Organisation bearbeiteten Daten<br />
und Objekte. Hierbei umfaßt die Strukturierung der Organisationen sowohl die Zerlegung der<br />
Organisationsaufgaben in Teilaufgaben als auch die Gliederung der Organisationseinheiten, die<br />
mit der Erledigung der Aufgaben betraut sind. Neben diesen statischen Organisationsaspekten<br />
sind auch die Organisationsprozesse, durch die die zeitlich/logische Reihenfolge der Aufgabenerledigung<br />
beschrieben wird, zu erfassen bzw. festzulegen. Diese Prozesse sind ebenfalls mit den<br />
von der Organisation benötigten bzw. erzeugten Objekten und Daten in Beziehung zu setzen.<br />
Beschreibungsinhalt der Softwaretechnik ist einerseits die Einbettung zu erstellender bzw. weiterzuentwickelnder<br />
Softwaresysteme in die sie umgebenden Systeme und andererseits die Modellierung<br />
des Softwaresystems selbst. Insbesondere bei der Entwicklung und Gestaltung von<br />
Informationssystemen ist hierbei auch die Einbindung des Softwaresystems in die umgebende<br />
Organisation zu beachten. Hierzu sind die durch das Softwaresystem zu unterstützenden Aufgaben<br />
und Prozesse sowie deren Zerlegung darzustellen und die Querbezüge zu den mit der<br />
Bearbeitung befaßten Organisationseinheiten zu beschreiben. Die Modellierung des eigentlichen<br />
Softwaresystems erfordert neben der Darstellung der Objekt- und Datenstrukturen auch die Beschreibung<br />
der Prozesse und des dynamischen Verhaltens der Software.<br />
Sowohl die Modellierung von Organisationen als auch von Softwaresystemen erfordert somit<br />
die Betrachtung von Aufgaben, Organisationseinheiten, Prozessen und Objektstrukturen sowie<br />
deren Querbezüge.<br />
Zur Erfassung und Darstellung dieser Aspekte von Organisationen und Softwaresystemen wurden<br />
in der Organisationstechnik und in der Softwaretechnik vielfältige Methoden und Techniken<br />
entwickelt. Unter Techniken werden Vorgehensweisen zur Erstellung solcher Modellierungen aus<br />
einzelnen Perspektiven verstanden. Die Techniken zur Organisations- und Softwaremodellierung<br />
betonen i. allg. Perspektiven, die sich auf die zuvor skizzierten Aspekte Aufgaben, Organisati-
2 Einführung und Zielsetzung<br />
onseinheiten, Organisations- bzw. Softwareprozesse und Objekt- und Datenstrukturen beziehen.<br />
Neben dem Vorgehen zur Modellierung werden in Techniken auch die zu verwendenden konkreten<br />
Beschreibungsmittel festgelegt, die durch graphische oder textuelle Symbole und Regeln<br />
zur korrekten Verwendung näher beschrieben sind. In Methoden, die grundsätzliche Denk- und<br />
Vorgehensweisen zur Modellierung widerspiegeln, werden diese Techniken geeignet zusammengefaßt.<br />
Durch Methoden wird festgelegt, in welcher Reihenfolge die Techniken zur Erreichung<br />
des Modellierungsziels angewandt werden und wie die Teilmodelle der einzelnen Techniken zueinander<br />
in Beziehung stehen. Die Anwendung von Beschreibungsmitteln, Techniken und Methoden<br />
zur Modellierung von Organisationen und Softwaresystemen wird durch softwarebasierte<br />
Werkzeuge unterstützt, die sowohl die Modellerstellung als auch die Dokumentation und Analyse<br />
der Modellierungsergebnisse ermöglichen.<br />
Methoden und Techniken<br />
Moderne Ansätze zur Organisations- und Softwaremodellierung betrachten Organisationen und<br />
Softwaresysteme aus unterschiedlichen Sichten. Solchemultiperspektivischen Betrachtungen<br />
heben jeweils einige Aspekte des zu modellierenden Systems hervor und blenden andere, aus der<br />
jeweiligen Sicht als weniger wichtig eingestufte Aspekte, aus. Die sichtenorientierte Modellierung<br />
ermöglicht die Strukturierung und Zerlegung komplexer Modelle in kleinere, überschaubarere<br />
Teilmodelle.<br />
Ausgehend von den Aspekten, die zur Modellierung von Organisationen und Softwaresystemen<br />
zu beschreiben sind, kann eine Aufteilung in Sichten auf Aufgaben (Aufgabensicht), auf Organisationseinheiten<br />
(Stellensicht), auf Prozesse (Prozeßsicht) und auf Objektstrukturen (Objektsicht)<br />
abgeleitet werden. Ähnliche Sichteneinteilungen (vgl. auch die Diskussion in Kapitel 3.1), bei<br />
denen in Abhängigkeit vom Modellierungsziel einzelne Sichten ausgeklammert werden oder andere<br />
Sichten durch weitere Aufgliederung stärker betont werden, finden sich z. B. auch in [Olle<br />
et al., 1991], [Gutzwiller, 1994], [Ebert / Engels, 1994], [Scheer, 1992], [Jablonski et al., 1997,<br />
S. 98ff] und [Partsch, 1998, S. 44]. Die Modellierung aus jeder dieser Sichten wird durch unterschiedliche<br />
Modellierungstechniken und Beschreibungsmittel unterstützt. Einen umfassenden<br />
Überblick über den zu modellierenden Sachverhalt bietet aber nur eine integrierte Beschreibung<br />
solcher sichtenspezifischer Teilmodelle.<br />
Durch die verschiedenen Methoden zur Modellierung von Organisationen und Softwaresystemen<br />
wird i. allg. eine dieser Sichten als zentraler Ausgangspunkt der Modellierung festgelegt. Die<br />
Teilmodelle der anderen Sichten ergänzen dieses zentrale Modell.<br />
Die Methoden der Organisationstechnik können grob in funktionsorientierte und prozeßorientierte<br />
Denkweisen zur Organisationsmodellierung unterschieden werden. Während in der (klassischen)<br />
funktionsorientierten Organisationsmodellierung, die den Prinzipien der Arbeitsteilung<br />
folgt (vgl. z. B. [Kosiol, 1976], [Nordsieck, 1972], [Smith, 1990]), die hierarchische Zerlegung<br />
der Aufgaben den Ausgangspunkt zur Festlegung der Organisationsstruktur und der Unternehmensprozesse<br />
bildet, geht die prozeßorientierte Organisationsmodellierung (vgl. z. B. [Gaitanides,<br />
1983], [Scheer, 1992], [Gaitanides et al., 1994a], [Eversheim, 1996], [Hammer / Champy,<br />
1996, 52ff], [Ferstl / Sinz, 1996]) von der Darstellung der Unternehmensprozesse aus, die die<br />
Grundlage zur Schaffung funktional zusammenhängender Organisationsstrukturen bildet.
Einführung und Zielsetzung 3<br />
Die grundlegenden Modellierungsmethoden der Softwaretechnik können in strukturierte und objektorientierte<br />
Denkweisen unterschieden werden. Bei der Modellierung nach der strukturierten<br />
Analyse (vgl. z. B. [DeMarco, 1978], [Gane / Sarson, 1979], [Ward / Mellor, 1985], [Yourdon,<br />
1989]) dominiert die prozeßorientierte Untersuchung des Softwaresystems durch die Modellierung<br />
der Aufgaben und Datenflußabhängigkeiten. Diese Modellierungen werden um Darstellungen<br />
der Informationsstrukturen und der Systemdynamik ergänzt. Objektorientierte Methoden<br />
(vgl. z. B. [Rumbaugh et al., 1991], [Jacobson et al., 1993], [Booch, 1994]) gehen von einer<br />
Systembetrachtung aus Sicht der Objekte aus, die sowohl durch ihre Datenstrukturen (Zustände)<br />
als auch durch ihr Verhalten (Dynamik) charakterisiert sind.<br />
Neuere Ansätze zur Organisationsmodellierung (vgl. z. B. [Jacobson et al., 1994], [Balzert,<br />
1998a, S. 721ff], [Rumbaugh et al., 1999]) kombinieren objektorientierte Methoden mit prozeßorientierten<br />
Methoden und führen Organisations- und Softwaremodellierung zusammen. Ausgehend<br />
von der Einbettung der Organisation in das sie umgebende Umfeld erfolgt eine anwendungsfallbezogene<br />
Beschreibung der Organisationsprozesse. Hier dominiert ebenfalls die Modellierung<br />
aus Prozeßsicht, die mit einem objektorientierten Fokus um die Darstellung der restlichen<br />
Sichten ergänzt wird.<br />
In diesen grundlegenden Modellierungsmethoden (vgl. hierzu auch Kapitel 2) werden Organisationen<br />
und Softwaresysteme i. allg. aus der Aufgabensicht, aus der Stellensicht, aus der Prozeßsicht<br />
und aus der Objektsicht betrachtet. Die Methoden unterscheiden sich in der Art und<br />
Weise, wie die Betrachtungen der einzelnen Sichten miteinander kombiniert werden. Bezogen<br />
auf die funktionsorientierten und prozeßorientierten Methoden zur Organisationsgestaltung bzw.<br />
auf die strukturierten oder objektorientierten Methoden zur Softwareentwicklung unterscheiden<br />
sich die Modellierungstechniken nur in der Bedeutung, die die einzelnen Sprachmittel innerhalb<br />
des Modellierungsprozesses einnehmen.<br />
Visuelle <strong>Modellierungssprachen</strong><br />
Die Methoden und Techniken der Organisations- und Softwaremodellierung bedienen sich zur<br />
Beschreibung der Modellierungsinhalte <strong>visuelle</strong>r <strong>Modellierungssprachen</strong>. Neben der Unterstützung<br />
bei der Erfassung und Dokumentation sind diese graphischen und textuellen Beschreibungsmittel<br />
auch wesentliche Hilfsmittel zur Komm<strong>uni</strong>kation bei der (Weiter-) Entwicklung von<br />
Organisationen und Softwaresystemen. Zentraler Betrachtungsgegenstand dieser Arbeit sind diese<br />
zur Organisations- und Softwaremodellierung verwendeten <strong>visuelle</strong>n Modellierungsprachen.<br />
Zur Darstellung von Organisationen und Softwaresystemen aus verschiedenen Sichten wurde<br />
sowohl in der Organisationstechnik als auch in der Softwaretechnik eine große Anzahl unterschiedlicher<br />
<strong>visuelle</strong>r Sprachen entwickelt. Zur Modellierung aus Aufgabensicht werden u. a.<br />
Funktionsbäume, Aufgabenstrukturbäume, Funktionsstrukturdiagramme und Aufgabengliederungspläne<br />
eingesetzt. Die Beschreibung von leitungs- und interaktionsbezogenen Zusammenhängen<br />
zwischen einzelnen Organisationseinheiten aus Stellensicht erfolgt z. B. durch Abteilungsgliederungspläne,<br />
Komm<strong>uni</strong>gramme, Kooperationsbilder, Organigramme, Organisationspläne<br />
oder Stellenpläne. Zur Beschreibung aus der Prozeßsicht werden neben vielen anderen<br />
Beschreibungsmittel auch Aktivitätsdiagramme, Datenflußdiagramme, Prozeßfolgen, Netzpläne,<br />
Petri-Netze oder Statecharts verwendet. Objektzusammenhänge werden aus Objektsicht z. B.
4 Einführung und Zielsetzung<br />
durch Objektdiagramme, Interaktionsdiagramme, Datenlexika, Entity-Relationshipdiagramme<br />
und Klassendiagramme beschrieben. Einen umfassenden Überblick der wichtigsten zur Modellierung<br />
eingesetzten Sprachen gibt auch Abbildung 3.3 auf <strong>Se</strong>ite 39.<br />
Diese Beschreibungsmittel teilen sich weiter in verschiedene Dialekte und Varianten auf. Zur<br />
Notation ähnlicher Sachverhalte werden unterschiedliche graphische oder textuelle Primitive<br />
verwendet. So werden beispielsweise Prozesse in Datenflußdiagrammen oder Aufgaben in Aufgabengliederungsplänen<br />
je nach Dialekt durch Ovale, Kreise, Rechtecke u. ä. beschrieben. Verschiedene<br />
Dialekte der Klassen- bzw. Entity-Relationshipdiagramme verwenden zur Darstellung<br />
der Objektklassen z. B. unterschiedlich untergliederte Rechtecke oder Wolkensymbole. Beziehungsklassen<br />
werden durch Linien oder Rautensymbole beschrieben. Einige <strong>Modellierungssprachen</strong><br />
schreiben auch die Anordnung der darzustellenden Konzepte vor. Organisationseinheiten<br />
werden z. B. in unterschiedlichen Organigrammdialekten in Blockdarstellung, in Kreisform, in<br />
Pyramidenform, in Satellitenform oder in Säulenform notiert. Varianten der Datenflußdiagramme<br />
wie z. B. SADT oder IDEF0 fordern eine stufenartig angeordnete Folge von Prozessen, während<br />
in klassischen Datenflußdiagrammen keine spezielle Anordnung gefordert wird. Zum Teil<br />
verfolgen ähnliche Beschreibungsmittel auch unterschiedliche Schwerpunktsetzungen in der Abbildung<br />
der dargestellten Konzepte. Prozeßfolgen werden beispielsweise in Ereignisgesteuerten<br />
Prozeßketten durch Prozesse und die durch sie bewirkten bzw. ihre Bearbeitung auslösenden Ereignisse<br />
beschrieben, während in der Darstellung durch Programmablaufpläne oder Aktivitätsdiagramme<br />
solche Ereignisse kaum beachtet werden. Konzeptionelle Unterschiede zwischen Varianten<br />
einzelner Beschreibungsmittel wirken sich auch auf die Ausdrucksfähigkeit der einzelnen<br />
Sprachen aus. So werden z. B. in Statecharts und erweiterten Entity-Relationshipdiagrammen<br />
Konzepte zur Strukturierung der Modelle angeboten, während diese in den ursprünglichen Formen<br />
der Automaten bzw. (klassischen) Entity-Relationshipdiagrammen fehlen.<br />
In den konkreten Methoden zur Organisations- und Softwaremodellierung werden zur Darstellung<br />
aus den verschiedenen Sichten einige Varianten der Beschreibungsmittel fest vereinbart. Als<br />
Vertreter der Methoden zur prozeßorientierten Organisationsmodellierung können beispielsweise<br />
die Methode der Architektur integrierter Informationssysteme (ARIS) [Scheer, 1992] und die<br />
Bonapart-Methode [Krallmann / Wood, 1998] genannt werden. Während ARIS die Prozeßdarstellung<br />
mittels Ereignisgesteuerter Prozeßketten in den Vordergrund stellt, basiert die Modellierung<br />
mit Bonapart eher auf einer datenflußorientierten Prozeßbeschreibung durch Bonapart-<br />
Prozeßmodelle. In beiden Methoden werden weiter Organigramme in unterschiedlichen Notationen<br />
zur Beschreibung der Organisationsstrukturen und Funktionsbäume bzw. Aufgabenstrukturbäume<br />
zur Darstellung von Aufgabenstrukturen verwendet. Die Objektmodellierung erfolgt<br />
in ARIS durch klassische Entity-Relationshipdiagramme und Attribut-Zuordnungsdiagramme.<br />
Bonapart verwendet eingeschränkte Formen der Klassendiagramme u. a. zur schematischen Beschreibung<br />
von Informations- und Organisationsstrukturen.<br />
In den Methoden der strukturierten Analyse sind ebenfalls datenflußorientierte Prozeßbeschreibungen<br />
zentral. In der ursprünglichen Form der strukturierten Analyse nach [DeMarco,<br />
1978] wurden einfache Datenflußdiagramme und Datenlexika verwendet. Spätere Erweiterungen<br />
[Ward / Mellor, 1985], [Yourdon, 1989] ergänzten die Datenflußdiagramme um Mittel zur Beschreibung<br />
von Kontrollstrukturen und fügen weitere Modellierungsprachen z. B. Nassi/Shneiderman-Diagramme,<br />
Programmablaufpläne und einfache Zustandsübergangsdiagramme zur Beschreibung<br />
der Systemdynamik hinzu. Die Mittel zur Datenmodellierung wurden um Entity-<br />
Relationshipdiagramme ergänzt.
Einführung und Zielsetzung 5<br />
Wesentliches Beschreibungsmittel der objektorientierten Methoden, wie z. B. der Object Modeling<br />
Technique (OMT) [Rumbaugh et al., 1991] oder der Booch-Methode [Booch, 1994]<br />
sind jeweils verschieden notierte Klassendiagramme. Zur Modellierung funktionaler Prozeßzusammenhänge<br />
verwendet OMT auch die aus der strukturierten Analyse entnommenen Datenflußdiagramme.<br />
Die Beschreibung der Systemdynamik erfolgt durch Ereignisflußdiagramme<br />
und Ereignispfaddiagramme bzw. Interaktions- und Kollaborationsdiagramme. Darüber hinaus<br />
werden zur Modellierung von Systemzuständen und deren Änderungen noch jeweils eigene<br />
Statechart-Varianten eingesetzt. Mit der Unified Modeling Language (UML) [Booch et al.,<br />
1999], [Rumbaugh et al., 1999] werden die verschiedenen Sprachmittel diverser objektorientierter<br />
Methoden zusammengeführt und quasi standardisiert. Diese Sammlung, der sowohl in Methoden<br />
zur Organisationsmodellierung als auch in Methoden zur Softwaremodellierung einsetzbaren<br />
<strong>visuelle</strong>n Sprachen, legt Notationen <strong>für</strong> Aktivitätsdiagramme, Anwendungsfalldiagramme,<br />
Kollaborationsdiagramme, Klassendiagramme, Objektdiagramme, <strong>Se</strong>quenzdiagramme und Zustandsübergangsdiagramme<br />
fest.<br />
Zusammenfassend kann festgestellt werden, daß zur Modellierung von Organisationen und Softwaresystemen<br />
sehr viele, unterschiedliche Beschreibungsmittel verwendet werden, die in den<br />
diversen Modellierungsmethoden häufig in eigenen Darstellungsdialekten und -varianten eingesetzt<br />
werden. Der Vergleich und die Einordnung der zur Modellierung verwendeten Beschreibungsmittel<br />
erfordert eine geeignete Strukturierung des Spektrums der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong>.<br />
Entlang einer Klassifikation der Beschreibungsmittel können die Gemeinsamkeiten<br />
und Unterschiede der einzelnen Sprachen, ihrer Dialekte und Varianten aufgezeigt und vor dem<br />
Hintergrund konkreter Modellierungsaufgaben bewertet werden. Ebenso wird hierdurch die Einschätzung<br />
der Modellierungsmächtigkeit der verschiedenen Modellierungsmethoden entlang der<br />
verwendeten Beschreibungsmittel ermöglicht.<br />
Ein Ziel dieser Arbeit ist es, eine Klassifikation der <strong>visuelle</strong>n Modellierungsprachen,<br />
die zur Darstellung organisatorischer und softwaretechnischer Zusammenhänge<br />
verwendet werden, zu schaffen.<br />
Betrachtet man hierzu die verschiedenen Beschreibungsmittel unabhängig von ihrer konkreten<br />
Notation entlang der jeweils dargestellten Modellierungskonzepte, läßt sich die Vielfalt der Beschreibungsmittel<br />
auf wenige Beschreibungsparadigmen 1 reduzieren. Den Ausgangspunkt zur<br />
Festlegung dieser Paradigmen bilden die Konzepte und die hierzwischen vorliegenden Beziehungen,<br />
die durch die einzelnen Beschreibungsmittel herausgestellt werden.<br />
1 Der Paradigmenbegriff wird in dieser Arbeit in seiner ursprünglichen Form (Paradigma, griech. παρ ´αδειγµα:<br />
Beispiel, Vorbild, Muster) und nicht in seiner durch die Wissenschaftstheorie oder durch die Linguistik geprägten<br />
Verwendung genutzt. In der Wissenschaftstheorie werden in Paradigmen allgemein anerkannte Methoden,<br />
Annahmen und Aussagen einer Wissenschaft [Lehner et al., 1995, S. 23] zusammengefaßt. Paradigmen dienen<br />
hier zur Unterscheidung und Abgrenzung wissenschaftlicher Gemeinschaften oder Schulen, denen grundlegende<br />
Annahmen, Vorstellungen und Weltbilder gemeinsam sind (vgl. u. a. [Stegmüller, 1973], [Kuhn, 1979]).<br />
Paradigmen der Linguistik unterscheiden Wortklassen, die gleichen Deklinations- oder Konjugationsformen<br />
folgen [Bußmann, 1990]. Der Paradigmenbegriff, der dieser Arbeit zugrunde liegt, dient zur Klassifikation textueller<br />
und graphischer Sprachen. Die hier verwendeten Beschreibungsparadigmen dienen zur Gruppierung<br />
solcher <strong>visuelle</strong>r Sprachen, die einem gemeinsamen Beschreibungsmuster folgen.
6 Einführung und Zielsetzung<br />
In Kapitel 3.1 wird ein solches Klassifikationsschema entwickelt, das eine sprachunabhängige<br />
Untersuchung und Einführung der Beschreibungsmittel entlang weniger Grundformen ermöglicht<br />
und als Rahmen <strong>für</strong> die weiteren Betrachtungen der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> in<br />
dieser Arbeit dient.<br />
Werkzeuge<br />
Zur Modellierung und Analyse von Organisationen und der Entwicklung von Softwaresystemen<br />
werden viele Softwarewerkzeuge angeboten2 . Je nach unterstützter Modellierungsmethode stellen<br />
diese Werkzeuge u. a. mehr oder weniger integrierte Editoren zur Erfassung und Analyse von<br />
Darstellungen gemäß der in der Methode verwendeten Beschreibungstechniken bereit.<br />
Zur Modellierung von Organisationen und Geschäftsprozessen werden z. B. das ARIS Toolset<br />
3.0, (IDS Scheer AG, Saarbrücken) [IDS, 1995], [IDS, 1998], [Scheer, 1998] zur Unterstützung<br />
der ARIS-Methode und Professional Bonapart 2.3 (PRO UBIS GmbH, Berlin) [Krallmann<br />
/ Wood, 1998], [Pro Ubis, 1999a], [Pro Ubis, 1999b] zur Unterstützung der Bonapart-Methode<br />
angeboten. Beide Werkzeuge erlauben neben der prozeßorientierten Organisationsmodellierung<br />
auch die funktionsorientierte Modellierung. Neben den wesentlichen Beschreibungsmitteln der<br />
ARIS- und Bonapart-Methoden unterstützen diese Werkzeuge auch weitere Notationsformen.<br />
Unter anderem unterstützt das ARIS-Toolset die Verwendung einiger Beschreibungsmittel der<br />
Unified Modeling Language [Booch et al., 1999]. Zur Prozeßmodellierung können bei der Modellierung<br />
mit Professional Bonapart neben den datenflußartigen Prozeßmodellen auch Ereignisgesteuerte<br />
Prozeßketten verwendet werden.<br />
Die Methoden der strukturierten Analyse werden z. B. durch die Werkzeuge CASE/4/0 (microTOOL<br />
GmbH, Berlin) [Micro Tool, 1997], [Micro Tool, 1998] und Easy CASE Professional<br />
4.22 (Visible Systems Corporation, Boston) unterstützt. Diese Werkzeuge unterstützen<br />
diverse Dialekte der Datenflußdiagramme (u. a. [DeMarco, 1978], [Gane / Sarson, 1979],<br />
[Ward / Mellor, 1985], [Longworth / Nicholls, 1986] und [Yourdon, 1989]) und der Entity-<br />
Relationshipdiagramme (z. B. nach [Chen, 1976], [Martin/McClure, 1985b] und IDEF-IX [Menzel<br />
/ Mayer, 1998]).<br />
Die Werkzeuge der objektorientierten Modellierung stellen heute in unterschiedlicher Vollständigkeit<br />
die Beschreibungsmittel der Unified Modeling Language (UML) [Booch et al., 1999] bereit.<br />
So unterstützt beispielsweise ObjectiF (microTOOL GmbH, Berlin) die Modellierung mit<br />
Anwendungsfalldiagrammen, Klassendiagrammen, <strong>Se</strong>quenzdiagrammen und Zustandsdiagram-<br />
2 Einen umfangreichen, aber leider nicht mehr aktuellen Überblick zu Modelliergungswerkzeugenbietet [Balzert,<br />
1993]. Aktuelle (J<strong>uni</strong> 1999) Überblickslisten zu Modellierungswerkzeugen finden sich z. B. auf http://www.<br />
vtt.fi/tte/staff/ojp/process.htm (Tools for Process Workflow Modeling and Simulation), auf http:<br />
//pwp.starnetinc.com/larryg/process.html (Process Modeling Tools), auf http://www.methodstools.com/tools/modeling.html<br />
(Graphical Modeling Tools), auf http://www.qucis.queensu.ca/<br />
Software-Engineering/case.html (CASE Tool Information) und auf http://www.rhein-neckar.de/<br />
cetus/oo ooa ood tools.html (Architecture and Design: Object-Oriented Analysis & Design Tools).<br />
Einen groben Überblick über objektorientierte Modellierungswerkzeuge bzw. UML-Werkzeuge bieten auch<br />
[Balzert / Balzert, 1994], [Versteegen / Versteegen, 1998], [Hunt, 1999] und http://www.jeckle.de/<br />
umltools.htm (3.1.2000). Weitere Werkzeuge zur Organisations- und Softwaremodellierung werden auch auf<br />
den CD-Roms [Balzert, 1996b] und [Balzert, 1998b] vorgestellt.
Einführung und Zielsetzung 7<br />
men. Die Object Engineering Workbench, OEW 3.0.3 (Innovative Software GmbH, Frankfurt)<br />
[ISG, 1999] und Rational Rose 98i (Rational Software Corporation, Santa Clara) bieten darüber<br />
hinaus auch die Modellierung durch Aktivitätsdiagramme und Kollaborationsdiagramme.<br />
Neben diesen Werkzeugen, die einzelne Modellierungsmethoden in evtl. unterschiedlichen Notationsformen<br />
unterstützen, erlaubt das Werkzeug System Architect 2001 (Popkin Software, New<br />
York) sowohl die Organisationsmodellierung mit funktions- und prozeßorientierten Methoden als<br />
auch die Softwaremodellierung mit strukturierten und objektorientierten Methoden. Aufgrund<br />
der Anlage als Multi-Methoden Werkzeug wird durch den System Architect 2001 ein Großteil<br />
der wesentlichen Beschreibungsmittel und -dialekte unterstützt.<br />
Generische Ansätze zur Erstellung von Modellierungwerkzeugen werden in den Meta-CASE-<br />
Werkzeugen KOGGE (Institut <strong>für</strong> Softwaretechnik, Koblenz) [Ebert et al., 1997b], [Kölzer / Uhe,<br />
1997], [Ebert et al., 1999b] und MetaEdit+ (MetaCase Consulting, Jyväskylä) [Kelly et al., 1996]<br />
verfolgt. Die Modellierung von Organisationen und Softwaresystemen wird z. B. durch KOGGE-<br />
Werkzeuge u. a. zur Erstellung von Aufgabengliederungsplänen, Organigrammen, Datenflußdiagrammen,<br />
Statecharts und Klassendiagrammen in verschiedenen Notationen unterstützt. Instanzen<br />
von MetaEdit+ liegen <strong>für</strong> die Modellierung sowohl entlang der wesentlichen Methoden der<br />
strukturierten und objektorientierten Softwareentwicklung (u. a. durch Datenflußdiagramme, Anwendungsfalldiagramme,<br />
Statecharts, Aktivitätsdiagramme und Klassendiagramme) als auch zur<br />
Geschäftsprozeßmodellierung (u. a. durch Prozeßmodelle und Prozeßmatrizen) vor.<br />
Weitere Werkzeuge wie beispielsweise Neptun/NetCase (Institut <strong>für</strong> Softwaretechnik, Koblenz)<br />
[Simon et al., 1997], [Marx, 1998] kombinieren Ansätze der objektorientierten Modellierung mit<br />
Petri-Netzen zur Modellierung von Workflows. Ebenfalls basieren Werkzeuge zur Projektplanung<br />
wie z. B. MS Project (Microsoft Corporation, Redmond) [Staff, 1996], [Microsoft, 1998]<br />
auf Beschreibungstechniken zur Prozeßmodellierung (Balkendiagramme und Vorgangsknotennetzpläne),<br />
die um geeignete Analysetechniken ergänzt wurden.<br />
Graphische Werkzeuge wie z. B. TGif (William Chia-Wei Cheng) oder Visio (Visio Corporation,<br />
<strong>Se</strong>attle) bieten in der Regel keine Methodenunterstützung. Hier werden lediglich graphische<br />
Primitive (Linien, Rechtecke, Kreise, Polygone etc.) oder Symbole aus (erweiterbaren) Symbolbibliotheken<br />
angeboten, die „geeignet“ durch den Benutzer methoden- und technikkonform zu<br />
kombinieren sind.<br />
Integrierte <strong>Referenz</strong>-<strong>Metaschema</strong>ta<br />
Die Methodenunterstützung der Modellierungswerkzeuge ermöglicht die Erstellung syntaktisch<br />
korrekter Modelle im Sinn der gewählten Methoden und Techniken. Die Erkennung syntaktisch<br />
korrekter bzw. fehlerhafter Modelle und die Unterstützung eines konkreten Modellierungsvorgehens<br />
setzt eine formale Beschreibung der Modellierungsmethode voraus. Hierzu werden Metamodelle<br />
verwendet, die die Eigenschaften der zur Modellierung verwendeten Modellierungskonzepte,<br />
deren Repräsentationsformen und deren Verwendung spezifizieren. Metamodelle umfassen<br />
Metaaktivtitätsmodelle zur Beschreibung des Modellierungvorgehens und <strong>Metaschema</strong>ta<br />
zur Beschreibung der abstrakten Syntax der hierzu verwendeten Beschreibungsmittel (vgl. auch<br />
die Diskussion des Metamodellbegriffs in Kapitel 4.3).
8 Einführung und Zielsetzung<br />
<strong>Metaschema</strong>ta zu Modellierungsmethoden und -techniken spezifizieren die syntaktische Korrektheit<br />
der Modelle und definieren die Repository-Strukturen der Modellierungswerkzeuge. Sie<br />
legen die Modellierungskonzepte der verwendeten <strong>visuelle</strong>n Sprachen und die hierzwischen erlaubten<br />
Beziehungen fest.<br />
Sowohl Modelle der Organisationstechnik als auch Modelle der Softwaretechnik bestehen aufgrund<br />
der multiperspektivischen Modellierungsansätze aus Teilmodellen mehrerer Sichten, die<br />
durch verschiedene Beschreibungsmittel notiert sind. Diese Teilmodelle müssen zueinander konsistent<br />
sein. So spiegeln beispielsweise Aufgabengliederungspläne die Verfeinerungsstruktur der<br />
Prozesse in Datenflußdiagrammen wider und Entity-Relationshipdiagramme oder Klassendiagramme<br />
müssen mit den Daten- und Objektbezügen in Prozeßdarstellung z. B. durch Ereignisgesteuerte<br />
Prozeßketten oder durch Datenflußdiagramme verträglich sein.<br />
Die <strong>Metaschema</strong>ta der Modellierungsmethoden beschreiben daher neben der abstrakten Syntax<br />
der jeweils verwendeten Beschreibungstechniken auch die Querbezüge zwischen den Konzepten<br />
der verschiedenen <strong>Modellierungssprachen</strong>. Sie definieren ein integrieres <strong>Metaschema</strong> der jeweils<br />
in der Methode zusammengefaßten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong>.<br />
Für die meisten Modellierungsmethoden wurden in den letzten Jahren <strong>Metaschema</strong>ta3 entwickelt.<br />
<strong>Metaschema</strong>ta der strukturierten Analyse wurden z. B. in [Verhoef et al., 1991], [Färberböck<br />
et al., 1991] und beschränkt auf Datenflußdiagramme in [Drüke, 1996] vorgestellt. [Süttenbach/Ebert,<br />
1997] beschreiben ein Metamodell der Booch-Methode [Booch, 1994] und [Ebert<br />
/ Süttenbach, 1997a] eines der OMT-Methode nach [Rumbaugh et al., 1991]. Weitere <strong>Metaschema</strong>ta<br />
objektorientierter Methoden wurden auch in [Goor et al., 1992] und [Strahringer, 1996]<br />
vorgestellt. Während diese <strong>Metaschema</strong>ta i. allg. nicht von den Autoren der Methoden, sondern<br />
deutlich später, nach Vorstellung der jeweiligen Methoden erstellt wurden, werden neuere <strong>Modellierungssprachen</strong><br />
wie z. B. die Unified Modeling Language (UML) [OMG, 1999] direkt entlang<br />
ihrer <strong>Metaschema</strong>ta eingeführt.<br />
Diese <strong>Metaschema</strong>ta beziehen sich jedoch nur auf die konkreten, in den einzelnen Modellierungsmethoden<br />
bzw. in konkreten Werkzeugen verwendeten Beschreibungsmittel. Ein weiter<br />
gefaßtes, möglichst viele <strong>visuelle</strong> <strong>Modellierungssprachen</strong> umfassendes, integriertes <strong>Metaschema</strong><br />
existiert nicht. Umfassende <strong>Metaschema</strong>ta wie beispielsweise das UML-<strong>Metaschema</strong> [OMG,<br />
1999] betrachteten ausschließlich die Beschreibungsmittel verschiedener Sichten auf Organisationen<br />
und Softwaresysteme, integrieren diese Teil-Metaschemta aber nicht. Im <strong>Metaschema</strong> des<br />
ARIS-Ansatzes [Scheer, 1992] findet eine leichte Integration der <strong>Metaschema</strong>ta einzelner Beschreibungsmittel<br />
auf rein syntaktischer Ebene statt. Konsistenzbedingungen, die Teilmodelle<br />
unterschiedlicher Beschreibungsmittel miteinander synchronisieren, werden jedoch nicht formalisiert.<br />
Ein weitgehend integriertes <strong>Metaschema</strong> der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> bildet eine unabhängige<br />
Basis <strong>für</strong> den Vergleich und die Einordnung unterschiedlicher Modellierungsmethoden<br />
und -werkzeuge. Da es von konkreten Modellierungsmethoden abstrahiert und diverse Beschreibungsmittel<br />
konzeptionell integriert, legt es eine methodenunabhängige Terminologie der Modellierungsmittel<br />
fest und eignet sich auch als methodenunabhängiges Schulungsmittel. Ebenfalls<br />
beschreibt es eine generelle Repository-Struktur <strong>für</strong> Modellierungswerkzeuge und könnte daher<br />
3 Einige Autoren verwenden hier<strong>für</strong> auch den allgemeineren Begriff Metamodell, betrachten jedoch auschließlich<br />
syntaktische Aspekte der Methoden ohne Berücksichtigung des Modellierungsvorgehens.
Einführung und Zielsetzung 9<br />
sowohl zur Entwicklung weiterer Modellierungswerkzeuge als auch zur Definition eines generellen<br />
Austauschformats zwischen verschiedenen Modellierungswerkzeugen genutzt werden.<br />
Arbeiten im Bereich der Metamodellierung <strong>für</strong> CASE- und Reengineering-Werkzeuge haben jedoch<br />
gezeigt (vgl. z. B. [Ernst, 1997], [Ebert et al., 1999a]), daß es aufgrund der Heterogenität<br />
der hier abzubildenden Domänen nicht möglich ist, ein solches, allgemeines <strong>Metaschema</strong>, das alle<br />
bekannten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> umfaßt, zu entwickeln. Das auf den ersten Blick<br />
recht umfangreiche <strong>Metaschema</strong> der Unified Modeling Language (UML) [OMG, 1999] bildet<br />
trotz Einschränkung auf wenige Beschreibungsmittel auch über die UML-Sprachen hinaus weitere<br />
Modellierungsmittel ab. So enthält der Teil des <strong>Metaschema</strong>s <strong>für</strong> Aktivitätsdiagramme auch<br />
Komponenten zur Abbildung von Datenflußdiagrammen und der Teil zur Darstellung von Klassendiagrammen<br />
ermöglicht auch die Repräsentation von Entity-Relationshipdiagrammen und<br />
Datenlexika. Die UML, die sowohl zur Modellierung von Organisationen als auch zur Modellierung<br />
von Softwaresystemen eingesetzt werden soll, umfaßt aber z. B. keine Notationen der<br />
Stellensicht. Mittel zur Beschreibung von Organigrammen oder Stellenplänen sind dementsprechend<br />
im UML-Metamodell nicht enthalten. Ebenso sieht die UML keine Beschreibungsmittel<br />
zur Darstellung harter Echtzeit-Anforderungen zur Modellierung von Echtzeit-Systemen bereit.<br />
Auch zu einem solchen, umfassenden <strong>Metaschema</strong> sind immer Beschreibungskonzepte denkbar,<br />
die nicht in ihm enthalten sind.<br />
Anstelle eines allumfassenden <strong>Metaschema</strong>s kann jedoch ein <strong>Referenz</strong>modell entwickelt werden.<br />
<strong>Referenz</strong>modelle (vgl. zur Diskussion des <strong>Referenz</strong>modellbegriffs auch Kapitel 4.2) sind ausgewiesene<br />
Modelle, die die charakteristischen Eigenschaften einer Modelldomäne allgemeingültig<br />
beschreiben. Spezielle Modelle <strong>für</strong> konkrete Modellierungsaufgaben erhält man durch Übernahme<br />
und ggfs. Anpassung des <strong>Referenz</strong>modells.<br />
Das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> umfaßt die wesentlichen<br />
Konzepte der zur Modellierung von Organisationen und Softwaresystemen verwendeten<br />
Beschreibungsmittel und deren Zusammenhänge. Dieses <strong>Referenz</strong>-<strong>Metaschema</strong> ist so anzulegen,<br />
daß es mit möglichst geringem Aufwand an die Anforderungen spezieller <strong>Metaschema</strong>ta angepaßt<br />
werden kann. Ein solches <strong>Referenz</strong>-<strong>Metaschema</strong> wird in Kapitel 6 definiert und in Teil III<br />
durch Anwendung zur Methodenbeschreibung und zum Werkzeugbau validiert.<br />
Ziel dieser Arbeit ist die Entwicklung<br />
¯ eines integrierten <strong>Metaschema</strong>s der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> <strong>für</strong><br />
Organisationen und Softwaresysteme, das die konzeptionellen Grundlagen<br />
und Zusammenhänge dieser Beschreibungsmittel formalisiert, und<br />
¯ als <strong>Referenz</strong> u. a. zur Auswahl und Einordnung von <strong>visuelle</strong>n Modellierungsprachen<br />
in Modellierungsmethoden und zur Entwicklung von Modellierungswerkzeugen<br />
dient.
10 Einführung und Zielsetzung<br />
Übersicht über die nachfolgenden Kapitel<br />
Die Entwicklung des <strong>Referenz</strong>metaschemas <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> ist in drei größere<br />
Teile gegliedert.<br />
Teil I schafft die Grundlagen zur Herleitung des <strong>Referenz</strong>-<strong>Metaschema</strong>s. In Kapitel 2 werden<br />
hierzu die Gemeinsamkeiten von Organisations- und Softwaremodellierungen in bezug auf Vorgehensweise<br />
und Beschreibungsmittel herausgestellt. Das Klassifikationsschema zur Einordnung<br />
der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> wird in Kapitel 3 hergeleitet. Hierzu werden grundlegende<br />
Beschreibungsparadigmen identifiziert. Entlang dieser Paradigmen werden die verschiedenen<br />
Beschreibungsmittel anhand ihrer konkreten Notation eingeführt und Anforderungen an das<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> formuliert. Als durchgängige Beispiele dienen hierzu Teilmodelle zur Beschreibung<br />
der Organisation Krankenhaus. In Kapitel 4 wird das in Teil II entwickelte <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> als Modell, als Metamodell und als <strong>Referenz</strong>modell eingeordnet. Dieses Kapitel<br />
enthält auch die Abgrenzung zu vergleichbaren Ansätzen.<br />
Die Herleitung des <strong>Referenz</strong>-<strong>Metaschema</strong>s erfolgt in Teil II. Kapitel 5 führt in die graphbasierte<br />
Konzeptmodellierung mit dem hierzu verwendeten EER/GRAL-Ansatz ein. Entlang des<br />
in Kapitel 3 entwickelten Klassifikationsschemas wird in Kapitel 6 das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
hergeleitet. Hierzu werden zunächst einzelne <strong>Referenz</strong>-<strong>Metaschema</strong>ta der grundlegenden <strong>visuelle</strong>n<br />
<strong>Modellierungssprachen</strong> erstellt und zur Metamodellierung verschiedener konkreter Beschreibungsformen<br />
dieser Paradigmen angewandt. Anschließend erfolgt die Zusammenfassung dieser<br />
Teilschemata zum integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> der<br />
Organisations- und Softwaretechnik.<br />
Teil III umfaßt die Validierung des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s. Hierzu wird exemplarisch<br />
aus dem integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> das <strong>Metaschema</strong> der Beschreibungsmittel des<br />
ARIS-Ansatzes (vgl. Kapitel 7) und das <strong>Metaschema</strong> der Beschreibungsmittel der Unified Modeling<br />
Language (vgl. Kapitel 8) abgeleitet. Die Anwendung des <strong>Referenz</strong>-<strong>Metaschema</strong>s zur<br />
Entwicklung von Modellierungswerkzeugen nach dem KOGGE-Ansatz wird in Kapitel 9 fallstudienartig<br />
<strong>für</strong> ein Werkzeug zur Unterstützung der Evaluation von Softwaresystemen nachgewiesen.<br />
Kapitel 10 umfaßt eine kurze Zusammenfassung der Arbeit und schließt mit einem Ausblick ab.<br />
Der Anhang enthält eine Zusammenfassung der Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s und<br />
einen graphisches Glossar der grundlegenden Begriffe des <strong>Referenz</strong>-<strong>Metaschema</strong>s.
Teil I<br />
Grundlagen und Einordnung<br />
Ein Ziel dieser Arbeit ist die Klassifikation und Metamodellierung der zur Beschreibung von<br />
Organisationen und Softwaresystemen eingesetzten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong>. Kapitel 2<br />
skizziert die Gemeinsamkeiten und Überschneidungen der zur Organisations- und zur Softwaremodellierung<br />
eingesetzten Beschreibungstechniken entlang der hierzu verwendeten Vorgehensmodelle<br />
und motiviert somit die integrierte Betrachtung der Beschreibungsmittel der<br />
Organisations- und Softwaretechnik.<br />
Ein Klassifikationsschema zur Einordnung der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> wird in Kapitel<br />
3 entwickelt. Die Beschreibungsmittel zur Modellierung von Organisationen und Softwaresystemen<br />
werden auf zehn Paradigmen zurückgeführt, entlang derer die diversen Sprachen in ihren<br />
konkreten Notationen eingeführt werden.<br />
Die Darstellung und Klassifikation der einzelen Beschreibungsmittel erfolgt in Teil II durch Modelle,<br />
die die wesentlichen Eigenschaften der <strong>visuelle</strong>n Sprachen der einzelnen Paradigmen herausstellen.<br />
Diesen Modellen wird einerseits <strong>Referenz</strong>charakter zugesprochen, da sie leicht zu<br />
speziellen Modellen konkreter Beschreibungsformen erweitert oder eingeschränkt werden können.<br />
Da diese Modelle andererseits auch Modelle von Modellierungsmitteln darstellen, sind sie<br />
auch als Metamodelle aufzufassen. In Kapitel 4 erfolgt daher die Einordung des im folgenden<br />
entwickelten <strong>Referenz</strong>-<strong>Metaschema</strong>s der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> der Organisationsund<br />
Softwaretechnik als Modell, als <strong>Referenz</strong>modell und als Metamodell.
2 Organisationen und Softwaresysteme<br />
Die Modellierung von Organisationen und von Softwaresystemen weist vielfältige Gemeinsamkeiten<br />
auf. In beiden Bereichen werden strukturelle und dynamische Zusammenhänge näher beschrieben.<br />
Hierbei werden ähnliche Vorgehensmodelle verfolgt und gleichartige graphische und<br />
textuelle Beschreibungsmittel eingesetzt.<br />
Im folgenden Kapitel werden diese Gemeinsamkeiten herausgestellt. Ausgehend von einer Eingrenzung<br />
der Begriffe „Organisationstechnik“ und „Softwaretechnik“ werden hierzu die in beiden<br />
Bereichen verwendeten Vorgehensmodelle, Methoden und Beschreibungsmittel isoliert skizziert.<br />
Anschließend werden die Gemeinsamkeiten und Querbezüge der Organisationsmodellierung<br />
und Softwaremodellierung herausgestellt.<br />
2.1 Modellierung von Organisationen<br />
Mit Organisation werden umgangssprachlich Institutionen wie z. B. Behörden, Industrie- und<br />
Handwerksbetriebe, Universitäten, Krankenhäuser und Vereine bezeichnet. In der Organisationslehre<br />
sind im wesentlichen zwei unterschiedliche Begriffsbildungen zu finden, die den Organisationsbegriff<br />
auf das organisierte System als Ganzes (institutionaler Organisationsbegriff)<br />
oder auf das Regelwerk zur Organisation des Systems (strukturaler oder instrumentaler Organisationsbegriff)<br />
beziehen.<br />
Institutionaler Organisationsbegriff<br />
Der umgangssprachlichen Verwendung folgt der institutionale Organisationsbegriff. DerBegriff<br />
Organisation wird hierbei als allgemeiner Oberbegriff <strong>für</strong> komplexe, soziale Systeme aufgefaßt,<br />
die durch die Interaktion mehrerer Menschen geprägt sind. Diese von der Soziologie<br />
geprägte Begriffsbildung ist vor allem in der angelsächsischen Organisationslehre verbreitet.<br />
[Leavitt, 1965] konkretisiert diesen Organisationsbegriff durch vier Systemvariablen. Organisationen<br />
werden von ihm als komplexe Systeme aufgefaßt, die mindestens durch die Variablen<br />
Aufgabe, Person/Akteur, Technik und Struktur charakterisiert sind. Die Systemvariable Aufgabe<br />
umfaßt hierbei alle Tätigkeiten der Organisation einschließlich deren Zerlegung in Teilaufgaben.<br />
Mitglieder der Organisation wie auch die von den Aktivitäten der Organisation betroffenen Kunden<br />
etc. werden durch die Systemvariable Person/Akteur beschrieben. Insbesondere umfaßt diese<br />
Variable auch die Qualifikation der Mitarbeiter. Die Systemvariable Technik faßt alle Hilfsmittel<br />
wie z. B. Maschinen und Computersysteme zusammen, die zur Aufgabenerledigung eingesetzt
14 Organisationen und Softwaresysteme<br />
werden. Durch die Systemvariable Struktur werden die Aktivitäten der Organisationsmitglieder<br />
gesteuert. Die Struktur einer Organisation kann als eine Sammlung von Regeln zur Koordination<br />
des Verhaltens der Organisationsmitglieder zur Aufgabenerfüllung aufgefaßt werden. Hierunter<br />
fallen z. B. Regeln zur Komm<strong>uni</strong>kation zwischen den Mitgliedern oder Festlegungen konkreter<br />
Arbeitsabläufe [Kieser / Kubicek, 1992, S. 16ff]. In [Leavitt / Bahrami, 1988, S. 246ff] wird<br />
als zusätzliche Systemvariable noch die Umwelt ergänzt, von der die betrachtete Organisation<br />
abzugrenzen ist.<br />
Aus soziologischer Sicht versteht [Mayntz, 1985] unter Organisation soziale Gebilde, die auf<br />
die zielgerichtete Erfüllung umrissener Aufgaben ausgerichtet sind. Nach dieser Begriffsbildung<br />
sind Organisationen durch Angabe bzw. Festlegung ihrer Mitglieder deutlich von ihrer Systemumgebung<br />
abgegrenzt. Merkmale dieser Begriffsbildungen werden von [Kieser / Kubicek, 1992,<br />
S. 4ff] zusammengefaßt: Unter Organisation werden solche „soziale[n] Gebilde“ verstanden,<br />
„die dauerhaft ein Ziel verfolgen und eine formale Struktur aufweisen, mit deren Hilfe Aktivitäten<br />
der Mitglieder auf das verfolgte Ziel ausgerichtet werden sollen“.<br />
Einen allgemeineren institutionalen Organisationsbegriff führen [Falkenberg et al., 1998, S. 84]<br />
ein. Beliebige Zusammenfassungen von (nicht notwendig menschlichen) Akteuren und Gegenständen<br />
werden hier als Organisationen aufgefaßt. Wesentlich <strong>für</strong> den Organisationsbegriff nach<br />
[Falkenberg et al., 1998] ist die Interaktion zwischen den Akteuren, die zum Funktionieren der<br />
Organisation allgemein akzeptierten Regeln genügt. Der Zusammenhang zwischen den Akteuren<br />
einer Organisation kann durch ein gemeinsames Ziel festgelegt sein. Im Gegensatz zu [Mayntz,<br />
1985] und [Kieser / Kubicek, 1992] kann aber dieser auch unabhängig von einem Organisationsziel,<br />
beliebig formuliert sein. Diese Begriffsbildung erscheint aber zu weit gefaßt, da die<br />
Aktivitäten der Organisationsmitglieder auf ein gemeinsam akzeptiertes Ziel (vgl. zu Organisationszielen<br />
auch [Kieser / Kubicek, 1992, S. 5ff]) ausgerichtet sind. Die Zielerreichung determiniert<br />
somit auch die Interaktion der Organisationsmitglieder, so daß die Zielorientierung auch als<br />
wesentliches Charakteristikum einer Organisation betrachtet werden muß.<br />
Strukturaler Organisationsbegriff<br />
Eine Begriffsauffassung, die die Strukturkomponente sozialer Systeme in den Mittelpunkt der<br />
Betrachtung rückt, wird durch den strukturalen oder instrumentalen Organisationsbegriff vertreten.<br />
Hiernach wird die Organisation als ein System formaler Regeln aufgefaßt, das als Instrument<br />
(griech.: organon) zur Steuerung des sozialen Systems dient (vgl. [Hoffmann, 1980]).<br />
Dieser Organisationsbegriff wird vorallem durch die deutschsprachige Organisationslehre vertreten.<br />
So versteht [Nordsieck, 1962] in Analogie zur Verfassung eines Staates die Organisation einer<br />
Unternehmung als ein auf Dauer angelegtes „Gefüge einer Vielzahl von Regelungen“. Diese Regeln<br />
stellen das Zusammenwirken des organisierten Systems sicher, das als eine „mit Hilfsmitteln<br />
ausgestattete Gemeinschaft aller Arbeitskräfte, die zur Erfüllung der Betriebsaufgabe zusammenwirken“<br />
[Nordsieck, 1972] charakterisiert ist. Die Notwendigkeit der Abgrenzung zwischen<br />
dem organisierten System (hier Betrieb) und seiner Organisation begründet [Nordsieck, 1972]<br />
dadurch, daß er den Betrieb als materiell, gegenständlich auffaßt, während das ihn steuernde Regelsystem<br />
abstrakt, nicht gegenständlich ist. Insbesondere gehören hiernach die im Unternehmen<br />
tätigen Personen nicht zur Organisation wohl aber zum organisierten System.
2.1 Modellierung von Organisationen 15<br />
Die Bestimmung des Organisationsbegriffs bei [Kosiol, 1976] folgt ebenfalls der instrumentalen<br />
Auffassung und stellt so die Struktur des sozialen Systems als wesentlich heraus. Kosiol<br />
vertritt darüber hinaus einen funktionalen Organisationsbegriff. Organisation wird hier als das<br />
(technische) Handeln der Menschen zur „dauerhafte[n], integrative[n] Strukturierung von Gefügesystemen“<br />
[Kosiol, 1976, S. 5] aufgefaßt. Dieser funktionalen Begriffsauffassung folgt auch<br />
die Gesellschaft <strong>für</strong> Organisation e. V., die Organisation als „ganzheitliches Gestalten der Beziehungen<br />
zwischen Aufgaben, Menschen, Sachmitteln und Informationen in sozialen Systemen“<br />
[Büchli / Chrobok, 1997, S. 103] auffaßt. Im Gegensatz zu Nordsiecks Begriffsbildung, die eher<br />
das in einem Regelsystem vorliegende Ergebnis eines Strukturierungsprozesses betont, stellen<br />
diese Begriffsbildungen auch die zielgerichtete Tätigkeit zur Bildung dieser Strukturen heraus.<br />
Wie [Nordsieck, 1962] und [Kosiol, 1976] bezieht auch [Grochla, 1982] den Organisationsbegriff<br />
auf Regelsysteme zur Steuerung und Ordnung von Institutionen. Ausgangspunkt seiner Überlegungen<br />
bilden sozio-technische Systeme [Grochla, 1978, S. 8ff]. Während bei der Betrachtung<br />
sozialer Systeme in erster Linie die Interaktion mehrerer Individuen betont wird, werden bei der<br />
Untersuchung sozio-technischer Systeme auch die (technischen) Hilfsmittel einbezogen, die zur<br />
Leistungserbringung genutzt werden. Werden zusätzlich die Hilfsmittel der Informationstechnik<br />
in den Vordergrund gestellt, spricht man auch von sozio-informationstechnischen Systemen [Euler,<br />
1989], [Ebert et al., 1992, S. 53]. Sozio- (informations-) technische Systeme sind definiert<br />
als „eine Menge von in Beziehung stehenden Menschen und Maschinen, die unter bestimmten<br />
Bedingungen nach festgelegten Regeln bestimmte Aufgaben erfüllen“ [Grochla, 1978, S. 9]. Aus<br />
systemtheoretischer Sicht stellt Grochla hier die Verhaltensweisen und Interaktionen der Elemente<br />
des Systems als das systembildende Kriterium heraus. Erst durch die systembezogene Rolle<br />
der Menschen wird das betrachtete System von seiner Systemumwelt abgegrenzt (vgl. hierzu<br />
auch [Willke, 1982, S. 36ff]). Das Zusammenwirken der Menschen und Maschinen zur Aufgabenerfüllung<br />
wird durch festgelegte Regeln gesteuert, die sich sowohl auf das Verhalten der<br />
Menschen als auch auf die Funktion der Maschinen beziehen. Die Gesamtheit dieser festgelegten<br />
(organisatorischen) Regeln bildet die Organisation des sozio-technische Systems [Grochla,<br />
1978, S. 12ff], [Grochla, 1982].<br />
Auch [Hill et al., 1994] vertreten den instrumentalen Organisationsbegriff. Sie fassen unter dem<br />
Begriff Organisation die Gesamtheit aller auf die Erfüllung eines Ziels gerichteten Maßnahmen<br />
auf, die ein soziales System strukturieren und die Aktivitäten der Menschen in diesem System,<br />
den Einsatz der hierzu benötigten Mittel und die Verarbeitung von Informationen ordnet.<br />
Objektbereich der Organisationslehre<br />
Der Objektbereich der Organisationslehre umfaßt alle durch formale Regeln gesteuerten sozio-<br />
(informations-) technischen Systeme. Solche formalen Regeln werden in einem bewußten Gestaltungsprozeß<br />
(funktionaler Organisationsbegriff) festgelegt und als gültig vereinbart. Der Gegenstandsbereich<br />
der Organisationslehre umfaßt somit einerseits sozio- (informations-) technische<br />
Systeme und andererseits auch die in Regeln festgelegte (instrumentale) Organisationen.<br />
Somit behandelt die Organisationslehre solche Systeme, die durch den institutionalen Organisationsbegriff<br />
zusammengefaßt sind.
16 Organisationen und Softwaresysteme<br />
Unter dem Begriff Organisation wird sowohl die organisatorische Struktur<br />
als auch die Einbettung der Organisationsstruktur in das umgebende soziotechnische<br />
System verstanden.<br />
Zusammenfassende Gegenüberstellungen unterschiedlicher Organisationsbegriffe finden sich<br />
z. B. auch in [Kosiol, 1976, S. 15ff], [Hoffmann, 1980], [Steinebach, 1983, S. 79ff], [Voßbein,<br />
1987, S. 8ff] und [Engel, 1993].<br />
Organisationstechnik<br />
Wesentlicher Inhalt der Organisationslehre ist die Gestaltung von Organisationen. In Anlehnung<br />
an den Begriff „software engineering“ führt [Kaucky, 1988] den Begriff Organisations-<br />
Engineering ein. Die Organisationstechnik1 bezeichnet nach [Kaucky, 1988, S. 100] die „Anwendung<br />
von Prinzipien, Methoden und Werkzeugen [...] zurDurchführung gezielter organisatorischer<br />
Änderungen unter Berücksichtigung der Informationstechnik“. Ähnlich definieren<br />
[Jacobson et al., 1994, S. 2] den Begriff „Business Engineering“ als die Menge der Techniken,<br />
die ein Unternehmen zur Entwicklung der Strukturen zur Erreichung des Unternehmensziels<br />
nutzt. Durch den Begriff „Engineering“, der i. allg. eher auf die Entwicklung technischer Systeme<br />
bezogen ist, soll hier insbesondere die methodische Strukturierung der Organisationsgestaltung<br />
hervorgehoben werden. Die ingenieursmäßige Gestaltung von Organisationen betont auch<br />
[Balzert, 1998a, S. 691], der jedoch anstelle des Begriffs „Organisationstechnik“ 2 bewußt den<br />
„weniger befremdlich klingenden“ Begriff “Organisationsmodellierung“ verwendet.<br />
Neben der strukturierten Durchführung von Organisationsgestaltungen ist auch die Entwicklung<br />
und Einordung der hierzu benötigten Prinzipien, Methoden und Werkzeuge als Teil der Organisationstechnik<br />
aufzufassen. Auf die in der Begriffsbildung von [Kaucky, 1988] besonders herausgestellte<br />
Berücksichtigung der Informationstechnik wird dagegen in den weiteren Betrachtungen<br />
verzichtet, da die Informationstechnik heute immanenter Teil der Organisationsgestaltung<br />
ist (vgl. auch Kapitel 2.3) und daher nicht mehr speziell erwähnt werden muß.<br />
Die Organisationstechnik beschäftigt sich sowohl mit der Entwicklung von Prinzipien,<br />
Methoden, Techniken und Werkzeugen zur Organisationsgestaltung als<br />
auch mit der Anwendung dieser Mittel zur Durchführung gezielter organisatorischer<br />
Änderungen.<br />
2.1.1 Vorgehen zur Organisationsgestaltung<br />
Ein allgemeines Vorgehensmodell zur Gestaltung von Organisationen wird Abbildung 2.1 vorgestellt<br />
(vgl. hierzu auch [Krüger, 1981, Bild 2], [Kaucky, 1988, S. 110ff], [Büchli / Chrobok,<br />
1 Analog zur „Softwaretechnik“ (vgl. Kapitel 2.2) wird im folgenden anstelle des Begriffs „Organisations-Engineering“<br />
der Begriff Organisationstechnik verwendet.<br />
2 Konkret beziehen [Jacobson et al., 1994], [Balzert, 1998a] ihre Betrachtungen auf Unternehmen.DaderUnternehmensbegriff<br />
jedoch <strong>für</strong> betriebliche Unternehmen und kaum <strong>für</strong> Behörden, Verwaltungen, Krankenhäuser<br />
etc. verwendet wird, wird in dieser Arbeit der allgemeinere Begriff „Organisation“ genutzt.
2.1 Modellierung von Organisationen 17<br />
1997, S. 75ff], [Frank, 1997a, Abb. 8]). Nach Erteilung eines Auftrags zur Organisationsgestaltung<br />
und einer Machbarkeitsüberprüfung ist zunächst in einer Analysephase (Organisation<br />
analysieren) das zu bearbeitende Organisationsproblem zu strukturieren sowie die Ziele der Organisationsgestaltung<br />
festzulegen. Die Entwurfsphase (Organisation entwerfen) hat die Planung,<br />
Entwicklung und Bewertung von Lösungsalternativen und die Konzeption der Problemlösung<br />
zum Ziel. Die Erarbeitung der Problemlösung setzt aus der Analysephase eine detailierte Ermittlung<br />
der Anforderungen an die zu entwickelnden Lösungen voraus. In der Realisierungsphase<br />
(Organisation realisieren) schließlich werden die zuvor entwickelten Konzepte umgesetzt. Es<br />
schließt sich eine kurze Einführungsphase (Organisation einführen) an, auf die die Wirkungsphase<br />
(Organisation verwenden und erhalten) folgt. Mit der Systemverwendung einher geht die<br />
Erhaltung des Systems durch Beseitigung von Störungen sowie kleinere Anpassungen an geänderte<br />
Bedingungen.<br />
Organisation<br />
analysieren<br />
Organisation<br />
entwerfen<br />
Requirements-<br />
Engineering<br />
Organisation<br />
realisieren<br />
Organisation<br />
einführen<br />
Abbildung 2.1: Ein Wasserfallmodell zur Organisationsgestaltung<br />
Organisation<br />
verwenden<br />
und erhalten<br />
Ein verallgemeinertes, zyklisches Vorgehensmodell zur Projektdurchführung wird in [Schmidt,<br />
1980], [Schmidt, 1989, S. 39ff] vor dem Hintergrund der Organisationsgestaltung diskutiert. Der<br />
Organisationsprozeß erfolgt in mehreren Stufen, wobei die der Analyse- und Entwurfsphase zuzurechnenden<br />
Stufen eine ähnliche Feinstruktur aufweisen. Nach dem Anstoß Organisationsgestaltung<br />
erfolgt die Erstellung diverser Studien (Vorstudie, Hauptstudie, Teilstudien) zur Konzeption<br />
der Problemlösung. In diesen Teilphasen werden zyklisch Schritte zur Festlegung des<br />
Vorgehensplanes, zur Erhebung und Analyse der relevanten Informationen des Ist-Zustandes,<br />
zur Bewertung des Ist-Zustandes, zur Gestaltung einer Solllösung und zur Bewertung der Auswahlentscheidung<br />
durchlaufen. Nach Fertigstellen der Hauptstudie erfolgt dann die Realisierung<br />
der erarbeiteten Problemlösung, deren Einführung und Verwendung.
18 Organisationen und Softwaresysteme<br />
2.1.2 Methoden des Requirements-Engineering der Organisationstechnik<br />
Die Analyse- und die Entwurfssphase der Organisationsgestaltung, in denen die konzeptionelle<br />
Entwicklung der zu gestaltenden Organisation erfolgt, werden im folgenden unter dem Begriff<br />
Requirements-Engineering3 zusammengefaßt.<br />
Das Requirements-Engineering der Organisationstechnik kann ausgehend von der Aufbauorganisation<br />
oder der Ablauforganisation durchgeführt werden (vgl. [Nordsieck, 1962, s. 9f],[Kosiol,<br />
1976, S. 32ff]). Die Aufbauorganisation behandelt die Untersuchung der statischen Organisationsaspekte.<br />
Hier stehen die Aufgaben der Organisation und die mit der Aufgabenbewältigung<br />
beauftragten Organisationseinheiten sowie die hierzwischen vorliegenden Querbezüge im Mittelpunkt<br />
der Betrachtung. Dynamische Organisationszusammenhänge werden in der Ablauforganisation<br />
untersucht. Beschreibungsschwerpunkt ist hier die räumliche und zeitliche Strukturierung<br />
der Aufgabenerledigung.<br />
Methoden des Requirements-Engineering der Organisationstechnik können in funktionsorientierte<br />
und prozeßorientierte Ansätze unterschieden werden. Während in der Organisationslehre<br />
Funktion Zusammenfassungen von Aufgaben entlang der Aufbauorganisation bezeichnen, versteht<br />
man unter Prozessen solche Aufgabenzusammenfassungen, die bezogen auf die Ablauforganisation<br />
erfolgen [Eversheim, 1996, S. 14f] [Rolf, 1998b, S. 69]. Funktions- bzw. prozeßorientierte<br />
Methoden der Organisationstechnik gehen jeweils von der Betrachtung der Aufbau- bzw.<br />
Ablauforganisation aus.<br />
Funktionsorientiertes Requirements-Engineering:<br />
Die klassische, funktionsorientierte Gestaltung von Organistationen wird von der Zerlegung<br />
der zu erledigenden Aufgaben in einfache Unteraufgaben geprägt (vgl. z. B. [Kosiol,<br />
1976], [Nordsieck, 1972], [Smith, 1990]). Der eigentlichen Organisationsmodellierung<br />
(in der Entwurfsphase) ist die Analyse der Organisationsaufgabe (Aufgabenanalyse) vorgeschaltet,<br />
bei der diese Aufgabengliederung, unabhängig von zukünftig beabsichtigten<br />
Aufgabengruppierungen, erfolgt. Die Aufgabenanalyse bildet die Grundlage der Aufgabensynthese,<br />
bei der im Rahmen der Stellenbildung zunächst die ermittelten Teilaufgaben<br />
im Hinblick auf die späteren Aufgabenträger zu Aufgabenkomplexen gruppiert werden.<br />
Diese Stellen werden anschließend in Organisationseinheiten zusammengefaßt. Neben diesen<br />
aufbauorganisatorischen Aspekten ist weiter der Arbeitsprozeß zur Erledigung der Organisationsaufgabe<br />
zu regeln. In der Arbeitsanalyse werden die in der Aufgabenanalyse<br />
ermittelten, nicht weiter zerlegten Teilaufgaben vor dem Hintergrund ihrer Ausführung<br />
näher untersucht. Diese tiefere Zerlegung der einzelnen Aufgaben bildet in der Arbeitssynthese<br />
die Grundlage zur Festlegung von Arbeitsgängen, in der u. a. die Ausführung durch<br />
die Aufgabenträger und die Abfolge zur Aufgabenerledigung bestimmt wird.<br />
Zentraler Schritt der funktionsorientierten Organisationsgestaltung ist die statische Zerlegung<br />
der Aufgaben in Teilaufgaben. Dieses Vorgehen führt i. allg. zu einer Betrachtung der<br />
Organisation aus Sicht der wesentlichen Unternehmensfunktionen (Beschaffung, Produktion,<br />
Absatz, Finanz-, Rechnungs- und Personalwesen). Funktionale Abhängigkeiten einzelner<br />
Arbeitsschritte fließen jedoch in die Organisationsgestaltung nicht ein. Die ablauf-<br />
3 Der Begriff Requirements-Engineering wird hier in Analogie zum Begriff Requirements-Engineering der Softwaretechnik<br />
(vgl. Kapitel 2.2) eingeführt.
2.1 Modellierung von Organisationen 19<br />
organisatiorische Gestaltung bezieht sich dann, bei gegebener Stellenbildung, nur noch auf<br />
die zeitliche Anordnung der Arbeitsschritte der beteiligten Stellen. Die Ablaufplanung des<br />
funktionsorientierten Requirements-Engineerings optimiert eher in bezug auf Verweilzeit<br />
pro Stelle und nicht in bezug auf die gesamte Bearbeitungsdauer pro Prozeß [Gaitanides,<br />
1983, 61ff]. In funktionsorientiert entwickelten Organisationen führen spezialisierte Stellen<br />
häufig wenige Funktionen an wenigen Objekten aus. Zur Weiterbearbeitung werden<br />
die Ergebnisse einzelner Arbeitsschritte an andere Organisationseinheiten weitergegeben.<br />
Hieraus resultierte ein häufiges Wechseln der Zuständigkeiten innerhalb der Bearbeitung<br />
eines Prozesses.<br />
Prozeßorientiertes Requirements-Engineering:<br />
Im prozeßorientierten Requirements-Engineering (vgl. z. B. [Gaitanides, 1983], [Scheer,<br />
1992], [Gaitanides et al., 1994a], [Eversheim, 1996], [Hammer / Champy, 1996, 52ff],<br />
[Ferstl / Sinz, 1996]) erfolgt die Organisationsgestaltung in Umkehrung des funktionsorientierten<br />
Requirements-Engineerings nicht entlang der hierarchisch orientierten Aufgabenteilung<br />
sondern ausgehend vom Ablauf der Unternehmensprozesse. Dem prozeßorientierten<br />
Entwurf einer Organisation geht hierbei eine ausführliche Prozeßanalyse voraus.<br />
Nach Festlegung und Eingrenzung der <strong>für</strong> die Organisation wesentlichen Prozeße (Geschäftsprozesse)<br />
durch Angabe des Prozeßbeginns, Prozeßendes und der Randbedingungen<br />
erfolgt zunächst eine hierarchische Zerlegung in Teilprozesse und (atomare) Prozeßelemente.<br />
Die hierbei ermittelten Prozeßelemente werden anschließend gemäß ihrer zeitlichen<br />
und logischen Bearbereitungsabhängigkeiten geordnet und um Bearbeitungszeiten<br />
ergänzt. Diese Prozeßbeschreibungen bilden dann (erst) die Grundlage zur Stellenbildung,<br />
indem funktional sinnvoll zusammengehörige Prozeßelemente zusammengefaßt werden.<br />
Im letzten Schritt der Organisationsgestaltung erfolgt dann die Koordination der Prozeßelemente<br />
innerhalb der Prozesse sowie die Abstimmung der einzelnen Prozesse untereinander.<br />
[Gaitanides, 1983, S. 64ff]<br />
Die funktionsorientierte Methode des Requirements-Engineering zielt auf eine zweckmäßige<br />
Zuordnung der einzelnen Aufgaben bzw. Aufgabenausführungen auf Stellen und Organisationseinheiten.<br />
Die Bildung der Aufbauorganisation dominiert dieses Vorgehen. Erst nach der<br />
Stellenbildung wird die Ablauforganisation betrachtet. Beim prozeßorientierten Requirements-<br />
Engineering bestimmen dagegen zentrale Prozesse (z. B. der Prozeß der Produktentwicklung<br />
oder der Auftragsabwicklung) die Gestaltung der Organisationsstruktur. Ziel ist es hierbei, die<br />
Prozesse optimal zu gestalten. Die Geschäftsprozeß-Modellierung determiniert die Aufbauorganisation<br />
(vgl. auch [Jablonski et al., 1997, S. 8] und [Rolf, 1998a, S. 68f]).<br />
2.1.3 Visuelle <strong>Modellierungssprachen</strong> der Organisationstechnik<br />
Für diese Methoden des Requirements-Enginnering der Organisationstechnik werden Darstellungsmittel<br />
benötigt, die sowohl aufbauorganisatorische als auch ablauforganisatorische bzw.<br />
prozeßbezogene Zusammenhänge herausstellen. Neben der Organisationsstruktur sollten diese<br />
<strong>Modellierungssprachen</strong> auch die Einbettung der Organisation in das sie umgebende System unterstützen.
20 Organisationen und Softwaresysteme<br />
Visuelle <strong>Modellierungssprachen</strong> des Requirements-Engineering der Organisationstechnik<br />
dienen als Hilfsmittel zur Erhebung und Beschreibung organisatorischer<br />
Zusammenhänge bezogen auf die statische und dynamische Organisationsstruktur<br />
und das umgebende sozio-technische System.<br />
Eingesetzt werden diese Sprachen sowohl zur Erhebung und Dokumentation dieser Zusammenhänge<br />
als auch zur Komm<strong>uni</strong>kation bei der Entwicklung, Weiterentwicklung und Vermittlung<br />
von Organisationen. Die in den folgenden Kapiteln betrachteten <strong>Modellierungssprachen</strong> dienen<br />
sowohl zur Beschreibung der Ausgangssituation in der Analysephase bzw. zu Beginn der Entwurfsphase<br />
als auch zur Entwicklung, Beschreibung und Umsetzung der Problemlösung in der<br />
Entwurfs- und Realisierungsphase.<br />
Die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Requirements-Engineering der Organisationstechnik<br />
werden in Kapitel 3 ausführlich dargestellt. Überblicksdarstellungen zu graphischen und textuellen<br />
Sprachen der Organisationstechnik finden sich z. B. in [Nordsieck, 1962], [Acker, 1973],<br />
[Joschke, 1980], [Schmidt, 1980], [Grochla, 1982, S. 295ff], [Blum, 1991] und [Lehner et al.,<br />
1991, S. 264ff].<br />
2.2 Modellierung von Softwaresystemen<br />
Die Softwaretechnik (engl. software engineering) befaßt sich mit dem Erstellen umfangreicher<br />
Softwaresysteme. Sie folgt ingenieurmäßigen Prinzipien, die nach [Balzert, 1996a, S. 36] einerseits<br />
„Künstlertum“ ausschließt und andererseits die ziel- und marktorientierte Entwicklung<br />
optimaler Problemlösungskompromisse unterstützt.<br />
Der Begriff “software engineering“ wurde zum Ende der 60er Jahre als Reaktion auf die allgemeine<br />
Unzufriedenheit mit produzierter Software (Software Krise) geprägt. Bauer faßte diese<br />
Problematik im Umfeld der ersten Konferenz mit dem Titel „software engineering“ (vgl. [Naur<br />
/ Randell, 1969]) passend zusammen: „The whole trouble comes from the fact that there is so<br />
much tinkering with software. It is not made in a clean fabrication process, which it should be.<br />
[...] Whatweneed, is softwareengineering.“ (nach [Bauer, 1993]). Folglich wurde auch <strong>für</strong><br />
die Entwicklung und Anwendung von Software nach (ingenieur-) wissenschaftlich fundierten<br />
Grundlagen gesucht.<br />
Die Verwendung dieser wissenschaftlichen und mathematischen Grundlagen zur Nutzbarmachung<br />
von Computersystemen <strong>für</strong> den Menschen durch Programme, Verfahren und Dokumente<br />
betrachten [Boehm, 1981] und [Denert, 1991] als wesentlichen Schwerpunkt der Softwaretechnik.<br />
Ähnlich beschreibt auch [ANSI/IEEE Std. 729, 1983] die Softwaretechnik als den systematischen<br />
Ansatz zur Entwicklung, zum Betrieb und zur Wartung von Software. Boehm stellt<br />
auch die Dokumentation, die zur Erstellung, zur Verwendung und zur Wartung der Software<br />
nötig ist, deutlich heraus. So definiert er in [Boehm, 1976] die Softwaretechnik als die praktische<br />
Anwendung wissenschaftlicher Kenntnisse zur Entwicklung und Realisierung von Computerprogrammen<br />
einschließlich der zur Entwicklung, zum Betrieb und zur Wartung benötigten<br />
Dokumentation.<br />
Auch die Entwicklung der bei der Softwareerstellung benötigten wissenschaftlichen Grundlagen<br />
ist als Aufgabe der Softwaretechnik zu sehen. Thema der Softwaretechnik ist nach [Hesse et
2.2 Modellierung von Softwaresystemen 21<br />
al., 1984] die Bereitstellung und systematische Verwendung von Methoden und Werkzeugen <strong>für</strong><br />
die Herstellung und Anwendung von Software. Ähnlich argumentiert auch [Sommerville, 1996,<br />
S. 4]. Softwaretechnik beschäftigt sich mit Theorien, Methoden und Werkzeugen, die zur Entwicklung<br />
von Computersoftware benötigt werden. Diese Begriffsbildungen zusammenfassend<br />
versteht [Balzert, 1996a, S. 36f] unter Softwaretechnik die „zielorientierte Bereitstellung und systematische<br />
Verwendung von Prinzipien, Methoden, Konzepten, Notationen und Werkzeugen <strong>für</strong><br />
die arbeitsteilige, ingenieurmäßige Entwicklung von umfangreichen Softwaresystemen.“<br />
Die Softwaretechnik befaßt sich sowohl mit der wissenschaftlichen Entwicklung<br />
von Prinzipien, Methoden, Techniken und Werkzeugen zur Softwareentwicklung<br />
als auch mit der Anwendung dieser Mittel zur Erstellung, zum Betrieb und zur<br />
Wartung von umfangreichen Softwareprodukten.<br />
Diskussionen verschiedener Softwaretechnik-Begriffe finden sich auch bei [Balzert, 1996a,<br />
S. 35] und [Pressman, 1997, S. 22].<br />
2.2.1 Vorgehen zur Softwareerstellung<br />
Wie auch in der Organisationstechnik wird der Softwareerstellungsprozeß durch Vorgehensmodelle<br />
strukturiert. Ein einfaches und nicht empfehlenwertes Modell aus den ersten Tagen der<br />
Programmierung ist im code-and-fix-Modell [Boehm, 1988] zu sehen. Programmcode wurde<br />
erstellt, anschließend wurden die Fehler beseitigt. Ein auf einer Analyse- und Synthesephase<br />
beruhendes Zwei-Phasenmodell wird als Ausgangspunkt zur Entwicklung des Phasenmodells<br />
in [Royce, 1970] vorgestellt. Bei diesem Vorgehensmodell folgen die grundlegenden Entwicklungsschritte<br />
der Softwareentwicklung nach Abnahme der Teilergebnisse aufeinander. Royce<br />
entwickelte dieses Modell anschließend zu dem von [Boehm, 1981, S. 35] als Wasserfallmodell<br />
bekannt gemachten Vorgangsmodell weiter. Die einzelnen Entwicklungsschritte können hier<br />
auch iterativ bearbeitet werden. Ebenso wurde das Wasserfallmodell um prototypische Studien<br />
ergänzt. Die in der Literatur beschriebenen Phasen der Wasserfallmodelle zur Softwareentwicklung<br />
variieren sowohl in den Bezeichnungen wie in den jeweils zugeordneten Teiltätigkeiten. Die<br />
Grundstruktur ist jedoch <strong>für</strong> alle Modelle ähnlich und bietet ein gutes Strukturierungsmittel der<br />
einzelnen Schritte zur Softwareentwicklung. Eine ausführliche Beschreibung des kanonischen<br />
Lebenszyklus-Modells, der in Abbildung 2.2, angelehnt an Abbildung 2.1, komprimiert dargestellt<br />
ist, findet sich z. B. in [Boehm, 1981, S. 37] oder [McDermid / Rook, 1991].<br />
Die Softwareentwicklung beginnt in der Analysephase oder Definitionsphase (Software analysieren)<br />
mit der Festlegung der qualitativen und quantitativen Anforderungen an das zu realisierende<br />
System. Hierbei sind insbesondere die funktionalen Eigenschaften des Softwaresystems aus Anwendersicht<br />
zu erheben sowie die Realisierungsmöglichkeiten des Vorhabens zu überprüfen. In<br />
der Entwurfsphase (Software entwerfen) erfolgt die Entwicklung eines Realisierungskonzepts,<br />
das die zuvor definierten Anforderungen erfüllt. Die Umsetzung dieser Entwürfe in ausführbare<br />
Programme erfolgt in der Implementierungsphase oder Realisierungsphase (Software implementieren).<br />
Neben der Programmierung der einzelnen Komponenten erfolgt hier auch die Integration<br />
dieser Module in das Gesamtsystem. Dieses System ist anschließend in der Einführungsphase<br />
(Software einführen) beim Anwender einzuführen. Es schließt sich die Wirkungsphase (Software
22 Organisationen und Softwaresysteme<br />
Software<br />
analysieren<br />
Software<br />
entwerfen<br />
Requirements-<br />
Engineering<br />
Software<br />
implementieren<br />
Software<br />
einführen<br />
Abbildung 2.2: Ein Wasserfallmodell des Software-Lebenszyklus<br />
Software<br />
betreiben<br />
und warten<br />
betreiben und warten) mit dem Betrieb und der Pflege und Wartung des Systems an. Die Softwareentwicklung<br />
nach dem Wasserfallmodell läuft jedoch nicht generell sequentiell ab. Rückgriffe<br />
auf vorhergehende Schritte sowie Teilentwicklungen in unterschiedlichen Phasen sind durchaus<br />
möglich.<br />
Das Wasserfallmodell bildet die Grundlage zur Entwicklung weiterer Vorgangsmodelle. Die bekannteste<br />
Erweiterung ist im Spiralmodell [Boehm, 1988] (vgl. auch das zyklische Vorgehensmodell<br />
zur Organisationsgestaltung nach [Schmidt, 1980] auf <strong>Se</strong>ite 17) zu sehen, in dem sowohl<br />
die schon bei [Royce, 1970] angesprochene Verwendung von Prototypen als auch die Risiko-<br />
Abschätzung der einzelnen Entwicklungsstufen weiter ausgeprägt wurde. Jede Phase der Softwareentwicklung<br />
(z. B. Erstellung der Machbarkeitsanalyse, Erheben der Anforderungen) wird<br />
in vier Teilschritten, der Festlegung des Phasenziels, der Risikoabschätzung, der Entwicklung<br />
und Validierung und der Planung der nächsten Phase bearbeitet.<br />
Das Spiralmodell kann als <strong>Referenz</strong>modell <strong>für</strong> Vorgehensmodelle zur Softwareentwicklung aufgefaßt<br />
werden, da aus ihm ein Großteil der anderen Vorgehensmodelle abgeleitet werden kann.<br />
[McDermid / Rook, 1991] gibt einen umfassenden Überblick zu diesen Vorgangsmodellen zur<br />
Softwareentwicklung. Weitere Diskussionen dieser Vorgehensmodelle zur Softwareerstellung<br />
findet sich z. B. auch in [Boehm, 1988] und [Lehner et al., 1995, S. 87ff].<br />
2.2.2 Methoden des Requirements-Engineering der Softwaretechnik<br />
Die frühen Phasen der Softwareentwicklung werden ebenfalls unter dem Begriff Requirements-<br />
Engineering zusammengefaßt. Ziel des Requirements-Engineering der Softwaretechnik ist es,<br />
eine vollständige, konsistente, realisierbare und eindeutige Spezifikation bereitzustellen, in der
2.2 Modellierung von Softwaresystemen 23<br />
beschrieben ist, was ein Softwaresystem tun soll [Boehm, 1979], [ANSI/IEEE Std. 729, 1983].<br />
Die Beschreibungsmittel des Requirements-Engineering beziehen sich nur bedingt auf die Darstellung<br />
der Funktionsweise eines Softwaresystems. Programmiersprachen werden daher auch in<br />
den folgenden Betrachtungen ausgeklammert.<br />
Bei den Methoden des Requirements-Engineering der Softwaretechnik werden die eher prozeßorientierten<br />
Ansätze der (modernen) strukturierten Analyse und die objektorientierten Ansätze<br />
unterschieden. In beiden Ansätzen sind Daten bzw. Datenstrukturen, Kontrollstrukturen und<br />
funktionale Zusammenhänge einzelner Softwarebausteine zu erheben und zu beschreiben.<br />
(Moderne) Strukturierte Analyse<br />
Die Methoden der strukturierten Analyse (z. B. [DeMarco, 1978], [Gane / Sarson, 1979])<br />
basieren auf der prozeßorientierten Beschreibung des Systems durch den Datenaustausch<br />
zwischen Systemprozessen. Die Modellierung nach der strukturierten Analyse beginnt mit<br />
der Abgrenzung des Softwaresystems von seiner Umwelt. Hierzu sind die Datenflußbeziehungen,<br />
über die das Softwaresystem mit seiner Umwelt komm<strong>uni</strong>ziert, zu erheben.<br />
Ausgehend von diesen Datenflüssen wird das Softwaresystem in Teilprozesse zerlegt, die<br />
ebenfalls durch ihren Datenaustausch charakterisiert sind. Nicht weiter zerlegte Prozesse<br />
werden durch Angabe ihrer Kontrollflüsse konkretisiert. Die moderne strukturiere Analyse<br />
[Yourdon, 1989] erweitert die strukturierte Analyse um die Beschreibung von der Systemdynamik<br />
und der Informationsstrukturen. Die Steuerung der Abarbeitung der einzelnen<br />
Prozesse wird durch zusätzliche Kontrollprozesse (vgl. auch die Echt-Zeit-Variante der<br />
strukturierten Analyse [Ward / Mellor, 1985]) modelliert. Parallel und (nahezu) unabhängig<br />
von der Prozeßmodellierung erfolgt die Erstellung des Informationsstrukturmodells,<br />
das anschließend mit dem Datenflußmodell abgeglichen wird. Die Modellierung nach der<br />
modernen stukturierten Analyse erfolgt aus unterschiedlichen Blickwinkeln, die zusammengefaßt<br />
das System vollständig abbilden. Die unabhängige Entwicklung der einzelnen<br />
Teilmodelle führt jedoch leicht zu Inkonsistenzen in der Modellierung.<br />
Objektorientierte Analyse<br />
Während bei der (modernen) strukturierten Analyse die prozeßorientierte Untersuchung<br />
deutlich dominiert, stellen die objektorientierten Methoden (z. B. [Rumbaugh et al., 1991],<br />
[Booch, 1994], [Booch et al., 1999]) die Untersuchung der Daten einschließlich der hierauf<br />
auszuführenden Operationen in den Vordergrund. Zentraler Betrachtungsgegenstand sind<br />
Objekte, die sowohl durch ihre Datenstrukturen als auch durch ihr Verhalten charakterisiert<br />
sind. In den objektorientierten Ansätzen werden statische und dynamische Strukturen<br />
des Systems als Sichten auf das gleiche System aufgefaßt. So besteht z. B. eine Modellierung<br />
nach der Object Modeling Technique (OMT) [Rumbaugh et al., 1991, S. 6ff] aus<br />
einem Objektmodell, zur Beschreibung der statischen Klassen-Struktur, einem dynamischen<br />
Modell, zur Beschreibung der Veränderungen der (internen) Systemzustände und<br />
einem funktionalen Modell zur datenflußorientierten Beschreibung des nach außen sichtbaren<br />
Verhaltens. [Booch, 1994] bzw. [Booch et al., 1999] unterscheiden analog die statische<br />
bzw. die strukturelle Sicht zur Darstellung der Systemstrukturen, und die dynamische<br />
bzw. die Verhaltenssicht zur Betrachtung der Veränderungen des Systemzustands. Idealtypische<br />
objektorientierte Modellierungen beginnen mit der Erstellung des Objektmodells.
24 Organisationen und Softwaresysteme<br />
Zunächst werden die relevanten Klassen, deren Attribute und Methoden sowie die Beziehungen<br />
der Klassen untereinander erhoben und beschrieben. Diese statische Modellierung<br />
bildet gemeinsam mit Szenarien, die typisches und untypisches Systemverhalten abbilden,<br />
den Ausgangspunkt zur Beschreibung des möglichen dynamischen Verhaltens der Objekte.<br />
Erst nach Erstellung des Objektmodells und des dynamischen Modells wird nach der<br />
OMT [Rumbaugh et al., 1991, S. 179] das funktionale Modell erstellt. Hierbei werden ausgehend<br />
von den im dynamischen Modell notierten Aktivitäten und den im Objektmodell<br />
modellierten Objekten und Attributen die Daten- und Kontrollflüsse beschrieben. Vgl. hierzu<br />
auch die Vorgehensmodelle zur objektorientierten Analyse in [Balzert, 1996a, S. 359]<br />
oder in [Rumbaugh et al., 1991, S. 148ff].<br />
Sowohl die strukturierte Analyse als auch die objektorientierten Methoden benötigen zum<br />
Requirements-Engineering Beschreibungsmittel, die statische und dynamische Systemaspekte<br />
hervorheben. Beide Ansätze verwenden letztendlich die gleichen oder ähnliche <strong>visuelle</strong> Sprachen<br />
(vgl. auch [Ebert / Engels, 1994]), die sich häufig nur in ihrer konkreten Notation unterscheiden<br />
und bei unterschiedlichen Methoden zu unterschiedlichen Zeitpunkten im Modellierungsprozeß<br />
eingesetzt werden. Eine gute Übersicht über die konkreten Beschreibungsmittel, die in den<br />
verschiedenen Methoden der strukturierten Analyse oder der objektorientierten Modellierung<br />
verwendet werden, bietet auch [Wieringa, 1998].<br />
2.2.3 Visuelle <strong>Modellierungssprachen</strong> der Softwaretechnik<br />
So wie sich die <strong>visuelle</strong>n Sprachen zur Organisationsbeschreibung sowohl auf organisatorische<br />
Regeln als auch auf die Einbettung in ihr organisatorisches Umfeld beziehen, unterstützen<br />
die Sprachen des Requirements-Engineering der Softwaretechnik sowohl die Beschreibung<br />
der Strukturen und Abläufe innerhalb eines Softwaresystems als auch die Einbettung des Softwaresystems<br />
in seinen Anwendungskontext. Insbesondere unterstützen die Sprachen, die in der<br />
Analysephase eingesetzt werden, die Abgrenzung des zu beschreibenden Softwaresystems von<br />
seiner Systemumwelt, während die Beschreibungsmittel der Entwurfsphase eher auf die internen<br />
Zusammenhänge ausgerichtet sind.<br />
Visuelle <strong>Modellierungssprachen</strong> des Requirements-Engineering der Softwaretechnik<br />
dienen als Hilfsmittel zur Erhebung und Beschreibung von Softwaresystemen<br />
bezogen auf ihre statische und dynamische Struktur sowie auf das sie<br />
umgebende Anwendungssystem.<br />
Diese Sprachen dienen zur Unterstützung der Erhebung und Dokumentation von Entwurfsentscheidungen<br />
während der Softwareerstellung. Sie unterstützen darüber hinaus auch die Komm<strong>uni</strong>kation<br />
zwischen den bei der Softwareentwicklung betroffenen Personen. Die Beschreibungsmittel,<br />
die in der Analysephase eingesetzt werden, dienen hier als Komm<strong>uni</strong>kationsmittel mit<br />
den Anwendern bzw. Auftraggebern. In der Entwurfs- und Implementierungsphase werden diese<br />
Sprachen eher als Komm<strong>uni</strong>kationsmittel zwischen Systementwicklern eingesetzt. Die Beschreibungsmittel,<br />
die insbesondere in der Entwurfsphase eingesetzt werden, unterstützen den<br />
Softwareentwickler bei der Umsetzung der eher informell beschriebenen Anforderungen aus der<br />
Analysephase in formale Beschreibungen und ausführbare Progamme.
2.3 Modellierung von Organisationen und Softwaresystemen 25<br />
In Kapitel 3 werden auch die <strong>visuelle</strong>n Modellierunssprachen des Requirements-Engineerings<br />
der Softwaretechnik ausführlicher dargestellt. Überblicksdarstellungen zu diesen graphischen<br />
und textuellen Beschreibungsmitteln bieten auch [Martin / McClure, 1985a], [Ebert / Engels,<br />
1994], [Wieringa, 1998] und [Partsch, 1998].<br />
2.3 Modellierung von Organisationen und Softwaresystemen<br />
Sowohl die Modellierung von Organisationen als auch die Modellierung von Softwaresystemen<br />
beschäftigt sich mit der Gestaltung komplexer Systeme. Wie auch die groben Phasenmodelle<br />
in Abbildung 2.1 und 2.2 zeigen, werden zur Organisationsgestaltung und zur Softwareentwicklung<br />
ähnlich strukturierte Vorgehensmodelle eingesetzt, die gemeinsame Beschreibungsmittel<br />
zur Darstellung statischer und dynamischer Systemzusammenhänge im Requirements-<br />
Engineering verwenden.<br />
Die Ursprünge der Techniken zur Beschreibung statischer Aspekte der Aufgabenanalyse und zur<br />
Aufbauorganisation können eher in der Organisationslehre (insbesondere bei [Nordsieck, 1962]<br />
und [Kosiol, 1976]) gefunden werden. Die Entwicklung der Beschreibungsmittel zur Darstellung<br />
ablauforganisatorischer Zusammenhänge ist aber auch eng mit der Entwicklung in der Informatik<br />
verbunden. Zur Beschreibung von Ablaufstrukturen in Software wurden hier z. B. Programmablaufpläne<br />
[DIN 66001, 1983], Struktogramme [Nassi/Shneiderman, 1973] oder Datenflußdiagramme<br />
[Ross, 1977], [DeMarco, 1978] entwickelt, die in gleicher Form auch zur Beschreibung<br />
organisatorischer Ablaufstrukturen eingesetzt werden. Eine Vorreiterfunktion der prozeßorientierten<br />
Organisationsgestaltung weisen [Gaitanides et al., 1994a] sowohl der Fertigungstechnik<br />
als auch der Informatik zu. Die Beschreibung von Daten- bzw. Objektstrukturen durch Objekt-<br />
Beziehungsdiagramme durch [Chen, 1976] oder Klassendiagramme z. B. durch [Rumbaugh et<br />
al., 1991], [Booch, 1994] und [Booch et al., 1999] wurde ebenfalls eher durch die Informatik geprägt.<br />
Zusammenfassend kann festgestellt werden, daß die heute im Requirements-Engineering<br />
verwendeten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> ihren Ursprung sowohl in der Organisationslehre<br />
als auch in der Informatik finden (vgl. auch [Keller et al., 1992]).<br />
Darüber hinaus bedingen sich Organisationsgestaltung und Softwareentwicklung gegenseitig in<br />
der Form, daß weder die Organisationsgestaltung ohne Bezug zur Softwareentwicklung noch die<br />
Softwareentwicklung ohne Bezug zur Organisationsgestaltung gesehen werden kann.<br />
¯ Aus Sicht der Organisationstechnik kommen Organisationen heute kaum noch ohne softwaretechnische<br />
Hilfsmittel aus. Die Umsetzung und Koordination von Geschäftsprozessen<br />
erfordert die Bereitstellung entsprechender softwaretechnischer Unterstützung, die wiederum<br />
ihre Anforderung an Organisationsstrukturen und -abläufe stellt. Diese Hilfsmittel<br />
unterstützen sowohl die Erhebung, Berechnung, Weitergabe und Bereitstellung von Daten<br />
als auch die Steuerung konkreter Abläufe. Um diese Aufgaben angemessen zu unterstützen,<br />
muß in dieser Software Wissen über die Organisationsstruktur, über die Abläufe zur<br />
Aufgabenerledigung und über die einzusetzenden Hilfsmittel abgebildet sein.<br />
¯ Aus Sicht der Softwaretechnik bezieht sich die Entwicklung von Problemlösungen nicht<br />
ausschließlich auf die Programmierung von performanten Softwaresystemen. Die Problemlösungen<br />
müssen auch die Einbettung der Softwaresysteme in die ihre Anwendungs-
26 Organisationen und Softwaresysteme<br />
umgebung berücksichtigen. Da Informationssysteme mit dem Ziel erstellt werden (sollten),<br />
Hilfsmittel zur Unterstützung und Vereinfachung von Arbeitsabläufen zu sein, ist<br />
auch eine umfangreiche Erhebung der Anforderungen der Anwendungsbereiche erforderlich.<br />
Hierbei sind ebenso strukturelle Organisationszusammenhänge wie z. B. Aufgabenzerlegungen<br />
und Aufgabenverteilungen als auch dynamische Organisationsaspekte wie<br />
z. B. die zu unterstützenden Geschäftsprozesse zu beachten.<br />
Stärkere Querbezüge zwischen Informatik und Organisationstechnik wurden bereits in den 70er<br />
Jahren gefordert. Ausgehend von der Feststellung, daß Informatiker bei der Lösung von Anwendungsproblemen<br />
auch <strong>für</strong> die Einbindung der Softwarelösung in die Betriebsorganisation<br />
zuständig sind, forderte [Zemanek, 1971] eine organisationstheoretische Fundierung der Informatik.<br />
Eine stärkere Berücksichtigung sozialer und organisatorischer Zusammenhänge in der Informatik<br />
fordert auch [Coy, 1989]. Die Analyse von Arbeitsprozessen und ihre maschinelle Unterstützung,<br />
bei der nicht die Maschine, sondern die Organisation und Gestaltung der Arbeitsplätze im<br />
Vordergrund steht, sieht er als wesentliche Aufgabe der Informatik. Aus der Auffassung der Informatik<br />
als Disziplin, die sich mit der Organisation und Steuerung formal beschreibbarer und<br />
durch Prozessoren ausführbarer Prozesse beschäftigt, leitet [Kornwachs, 1997] die „Theorie der<br />
Organisation als Mutterwissenschaft“ der Theorie der Informatik ab.<br />
Kling geht noch einen Schritt weiter und führt „Organizational Informatics“ als eigenständige<br />
Disziplin ein, die sich mit der Entwicklung und Verwendung von computerbasierten<br />
Informations- und Komm<strong>uni</strong>kationssystemen in Organisationen befaßt [Kling, 1993]. Gegenüber<br />
der technisch ausgerichteten „Computer Science“ soll die „Organizational Informatics“ vor<br />
allem die Bedingungen untersuchen, unter denen der Einsatz von Computersystemen die Aufgabenunterstützung<br />
der Organisationen verbessert.<br />
Die Verbindungen zwischen Softwaretechnik und Organisationstechnik stellt auch [Rolf, 1998a,<br />
7ff], [Rolf, 1998b] in seinen Betrachtungen zur „Organisations-Informatik“ heraus. Er leitet aus<br />
diesen Querbezügen die Entwicklung von Methoden, Modellen und Werkzeugen, die sowohl<br />
organisatorische als auch softwaretechnische Perspektiven berücksichtigen, als eine Herausforderung<br />
<strong>für</strong> die (Wirtschafts-) Informatik ab.<br />
Auch bewegen sich akutelle Ansätze zur Modellierung von Organisationen und Softwaresystemen<br />
deutlich aufeinander zu. [Flatscher, 1998, S. 13] faßt beispielsweise Softwarewerkzeuge<br />
zur Aufbau- und Ablaufmodellierung unter den Begriff der CASE-Werkzeuge. Auch durch die<br />
Standardisierung der <strong>Modellierungssprachen</strong> in der Unified Modeling Language [Booch et al.,<br />
1999] wird ein Satz an Bescheibungsmitteln vorgeschlagen, der sowohl zur Organisations- als<br />
auch zur Softwaremodellierung eingesetzt werden kann. Beispielsweise beschäftigen sich [Jacobson<br />
et al., 1994], [Balzert, 1998a, s. 721ff], [Oestereich, 1998], [Versteegen, 1998] und [Rumbaugh<br />
et al., 1999] mit der Anwendung objektorientierter Techniken zur Organisationsmodellierung.<br />
Organisationsmodelle werden durch ihre Einbettung in die sie umgebende Systemumwelt<br />
und durch Geschäftsprozesse aus externer und aus interner Sicht einschließlich der benötigten<br />
Objekte dargestellt [Balzert, 1998a, S. 722]. Diese in erster Linie prozeßorientierte Organisationsmodellierung<br />
erfolgt durch Beschreibungsmittel (u. a. Anwendungsfalldiagramme und Aktivitätendiagramme),<br />
die aus objektorientierten Methoden der Softwareentwicklung entnommen<br />
wurden. Daher wird hier<strong>für</strong> auch häufig der Begriff „objektorientierte Unternehmensmodellie-
2.3 Modellierung von Organisationen und Softwaresystemen 27<br />
rung“ verwendet. Auf rein notationeller Ebene ermöglichen diese Ansätze die Integration von<br />
Organisations- und Softwaremodellierungen.<br />
Eine gemeinsame Betrachtung organisatorischer und softwaretechnischer Zusammenhänge ist<br />
heute in nahezu allen Gestaltungsbereichen der Organisations- und Softwaretechnik anzutreffen.<br />
Beispiele <strong>für</strong> die gemeinsame Betrachtung organisatorischer und softwaretechnischer Aspekte<br />
finden sich u. a. bei der Gestaltung von Informationssystemen, der Auswahl und Einführung von<br />
Standardsoftware, dem Business Reengineering und der Modellierung von Workflows.<br />
Informationssysteme<br />
Informationssysteme werden als sozio-(informations)-technische Teilsysteme von Unternehmen<br />
aufgefaßt. Diese Teilsysteme umfassen die informationsverarbeitenden Aktivitäten,<br />
die hieran beteiligten Mitarbeiter in ihrer informationsverarbeitenden Rolle und die<br />
hierzu eingesetzten Hilfsmittel [Haux et al., 1998]. Informationssysteme dienen der Beschaffung,<br />
Herstellung, Bevorratung und Verwendung von Informationen [Heinrich, 1997]<br />
und beschreiben somit einen Ausschnitt der Unternehmensmodellierung [Hoppen, 1992,<br />
S. 61], [Lehner et al., 1995, S. 104]. Neben der Betrachtung des Informationssystems,<br />
sind zur Unternehmensmodellierung auch die Unternehmensstrategie und die Organisationsstrukturen,<br />
die sowohl die Aufbau- wie die Ablauforganisation umfassen, zu beachten<br />
[Frank, 1994] [Frank, 1997a].<br />
Die Modellierung von Informationssystemen erfordert sowohl die Beschreibung der informationsverarbeitenden<br />
Aktivitäten als auch die organisatorische Einbettung dieser Systeme.<br />
Ansätze zur Modellierung von Informationssystemen (vgl. z. B. [Olle et al., 1991],<br />
[Scheer, 1992], [Frank, 1994]) fordern daher auch die Modellierung von Aufgaben und<br />
Prozessen, die durch das Informationssystem ausgeführt werden, von Objektstrukturen<br />
bzw. Daten, die durch das Informationssystem bearbeitet werden und von Organisationsstrukturen,<br />
die die Aufgabenerledigung des Informationssystems steuern.<br />
Auswahl und Einführung von Standardsoftware<br />
Das Angebot von Standardsoftware geht von der Annahme aus, daß die verschiedenen<br />
Anforderungen unterschiedlicher Organisationen noch so viele Gemeinsamkeiten aufweisen,<br />
daß es möglich ist, ein standardisiertes Softwaresystem zu erstellen, daß in vielen<br />
Organisationen eingesetzt werden kann. Im Gegensatz zu allgemeiner Standardsoftware,<br />
wie beispielsweise (weit verbreitete) Textverabeitungen, Tabellenkalkulationen, Datenbankmanagementsysteme<br />
oder Modellierungswerkzeuge, durch die in der Regel einzelne<br />
Funktion unterstützt werden, ist betriebswirtschaftliche Standardsoftware dadurch charakterisiert,<br />
daß sie die wesentlichen Geschäftsprozesse vieler Organisationen unterstützt. Die<br />
Anpassbarkeit an die individuellen Anforderung konkreter Organisationen wird dadurch<br />
erreicht, daß diese Produkte auf einem spezialisierbaren Geschäftsprozeßmodell aufsetzen<br />
(vgl. auch [Staud, 1999, S. 21ff]).<br />
Die Auswahl und Einführung von (betriebswirtschaftlicher) Standardsoftware erfordert<br />
den Vergleich der durch die Organisation geforderte und der durch die Standardsoftware<br />
angebotene Unterstützung der Geschäftsprozesse. Standardsoftware wird hierzu häufig<br />
durch Software-<strong>Referenz</strong>modelle beschrieben, die funktionale Eigenschaften, die verwendeten<br />
Objekt- und Datenstrukturen sowie die organisatorischen Voraussetzungen zur Ver-
28 Organisationen und Softwaresysteme<br />
wendung dieser Software abbilden. Wie auch <strong>für</strong> die Entwicklung von Informationssystemen<br />
sind bei der Auswahl und Einführung von Standardsoftware unterstützte Aufgaben,<br />
Geschäftsprozesse, benötigte Daten und Organisationsstrukturen zu modellieren und mit<br />
den Software-<strong>Referenz</strong>modellen abzugleichen [Dumslaff et al., 1994], [Franzke / Winter,<br />
1996].<br />
Business Reengineering<br />
Im Gegensatz zum Business Improvement, durch das die Pflege und Weiterentwicklung<br />
bestehender Unternehmen beschrieben wird, wird das Business Reengineering (alias Business<br />
Process Reengineering [Johansson et al., 1993], Process Innovation [Davenport,<br />
1993]) als „fundamentales Überdenken und radikales Redesign von Unternehmen oder<br />
wesentlichen Unternehmensprozessen“ [Hammer / Champy, 1996, S. 48] eingeführt. Ziel<br />
des Business Reengineerings 4 sind deutliche und meßbare Verbesserungen der Unternehmensparameter<br />
Kosten, Qualität, <strong>Se</strong>rvice und Aufwand.<br />
Ergebnisse solcher Business-Reengineering-Vorhaben sind zu realisierende Organisationsmodelle<br />
sowie hiermit verträgliche Informationssysteme zur informationstechnischen Unterstützung<br />
der Unternehmensprozesse [Jacobson et al., 1993, S. 21]. Wie auch zur Modellierung<br />
von Informationssystemen (s.o.) werden im Business Reengineering Organisationen<br />
durch Aufgaben (Funktionen), durch Organisationsstrukturen, durch Daten- bzw.<br />
Objektstrukturen und im besonderen durch Unternehmensprozesse beschrieben.<br />
Workflows<br />
Workflow-Management-Systeme zielen auf eine möglichst vollständige computerbasierte<br />
Koordination der Vorgangsbearbeitung innerhalb einer Organisation. Ausgangspunkt der<br />
Betrachtungen sind hierbei die Vorgänge, die das Geschehen innerhalb der Organisation<br />
abbilden. Vorgänge, deren Ablauf beschrieben ist und dessen Bearbeitung durch ein<br />
Workflow-Management-System koordiniert wird, werden Workflow genannt [Jablonski /<br />
Bussler, 1996], [Jablonski et al., 1997, S. 23ff].<br />
Die Vorgangsunterstützung durch Workflow-Management-Systeme setzt eine schematische<br />
Beschreibung der Vorgänge (Workflow-Schema) voraus, die geeignet ist, die Bearbeitung<br />
konkreter Vorgänge zu steuern. Zentraler Beschreibungsgegenstand ist hierbei die<br />
Abarbeitung dieser Workflows. Neben diesen Ablaufaspekten sind ferner auch die zur Abarbeitung<br />
benötigten bzw. erzeugten Daten sowie die Akteure, durch die Vorgänge umgesetzt<br />
werden, zu berücksichtigen [Jablonski et al., 1997, S. 98ff].<br />
Zusammenfassend kann festgestellt werden, daß in der Organisations- und der Softwaregestaltung<br />
in vielen Anwendungbereichen organisatorische und softwaretechnische Zusammenhänge<br />
gemeinsam zu modellieren sind. Die Darstellungen aus eher organisatorischer und eher softwaretechnischer<br />
Sicht bedingen sich hierbei gegenseitig.<br />
4 Der Reengineering-Begriff des Business Reengineering wird deutlich radikaler aufgefaßt als der Reengineering-<br />
Begriff der Softwaretechnik. Während Software Reengineering sowohl das Verstehen (understanding) als auch<br />
das Verändern und das eher evolutionäre Weiterenwickeln (renovation) bestehender Softwaresysteme umfaßt<br />
(vgl. z. B. [Arnold, 1993a], [Kullbach / Winter, 1999]) bezieht sich das Business Reengineering eher auf die<br />
grundlegende, revolutionäre Überarbeitung und Änderung von Organisationen.
2.4 Einordnung in die Zielsetzung dieser Arbeit 29<br />
Die Beschreibung von Organisationen und Softwaresystemen umfaßt Aufgabenstrukturen, Aufbaustrukturen,<br />
Daten- bzw. Objektstrukturen und Ablaufstrukturen. Dieses ist auch von der jeweils<br />
gewählten Modellierungsmethode unabhängig. Die Methoden der funktionsorientierten<br />
oder prozeßorientierten Organisationsgestaltung bzw. der strukturierten oder der objektorientierten<br />
Softwareentwicklung unterscheiden sich nur in der unterschiedlichen Betonung der einzelnen<br />
Strukturen. Es ist daher notwendig und sinnvoll, diese Beschreibungsmittel auch zueinander in<br />
Beziehung zu setzen, um eine durchgängige Verwendung der Ergebnisse einzelner Modellierungssichten<br />
zu gewährleisten.<br />
2.4 Einordnung in die Zielsetzung dieser Arbeit<br />
Organisationstechnik und Softwaretechnik weisen eine Reihe von Gemeinsamkeiten in bezug<br />
auf Vorgehensweisen und Beschreibungsmittel auf. Auch bedingen sich Organisationstechnik<br />
und Softwaretechnik gegenseitig, so daß heute weder die Organisationsgestaltung ohne Berücksichtigung<br />
der Softwaretechnik noch die Softwareentwicklung ohne Berücksichtigung der Organsiationsgestaltung<br />
erfolgen kann. Eine integrierte Betrachtung von Organisationstechnik und<br />
Softwaretechnik ist folglich sinnvoll.<br />
Ziel dieser Arbeit ist die Integration der in beiden Bereichen verwendeten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong>,<br />
um so auf notationeller Ebene Beschreibungstechniken der Organisations- und<br />
Softwaretechnik kombinieren zu können. Das in Kapitel 6 entwickelte <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong><br />
<strong>visuelle</strong> <strong>Modellierungssprachen</strong> stellt eine integrierte Darstellung der fundamentalen Konzepte<br />
der Beschreibungsmittel aus Organisationstechnik und Softwaretechnik bereit.
3 Visuelle <strong>Modellierungssprachen</strong> der<br />
Organisations- und Softwaretechnik<br />
Visuelle <strong>Modellierungssprachen</strong> <strong>für</strong> organisatorische und softwaretechnische Zusammenhänge<br />
legen unterschiedliche Schwerpunkte bei der Betrachtung von Organisationen und Softwaresystemen.<br />
Die Beschreibungsmittel der einzelnen Betrachtungssichten oder -perspektiven verfolgen<br />
verschiedene Paradigmen zur Systembeschreibung. Diese Sichten und Paradigmen bilden die<br />
Grundlage eines Klassifikationsschemas, anhand dessen die Beschreibungsmittel steckbriefartig<br />
eingeführt werden.<br />
Hierzu werden die einzelnen Sprachen entlang der Paradigmen in ihrer konkreten Syntax dargestellt.<br />
Die durch die Beschreibungsmittel der einzelnen Paradigmen abgebildeten Konzepte<br />
legen die Anforderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> der<br />
Organisations und Softwaretechnik in Kapitel 6 fest.<br />
3.1 Klassifikationsschema <strong>für</strong> <strong>visuelle</strong><br />
<strong>Modellierungssprachen</strong><br />
Zur Darstellung der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Requirements-Engineering der Organisationstechnik<br />
und der Softwaretechnik wird im folgenden ein Klassifikationsschema eingeführt,<br />
daß eine möglichst umfassende Überblicksdarstellung dieser Beschreibungsmittel erlaubt, aber<br />
auch die Entwicklung eines <strong>Referenz</strong>-<strong>Metaschema</strong>s dieser Sprachen ermöglicht. [Partsch, 1998,<br />
S. 53ff] schlägt als mögliche Ordnungskriterien die Darstellungsform, den Grad der Präzision<br />
und die jeweils betrachtete Sicht (Systemaspekt) auf das zu beschreibende System vor.<br />
Nach der Darstellungform unterscheidet man textuelle und graphische Beschreibungen. Textuelle<br />
Beschreibungen werden in freie Texte und in durch Hervorhebungen, Einrückungen oder ähnliche<br />
Strukturierungsmittel systematisierte Texte unterschieden. Zu den systematisierten Texten<br />
gehören u. a. Pseudo-Code, Listen und Tabellen. Graphische Darstellungen verwenden einfache<br />
geometrische Objekte wie z. B. Punkte, Linien, Kreise und Rechtecke, die in ihrem Zusammenhang<br />
dargestellt werden. Einige Werkzeuge (z. B. das ARIS Toolset [IDS, 1998], Bonapart Professional<br />
[Pro Ubis, 1999b], System Architect 2001 [Popkin, 1999] oder Neptun/NetCase [Marx,<br />
1998]) unterstützen verschiedene Darstellungsformen, die neben diesen abstrakten Formen auch<br />
Piktogramme zur Beschreibung verwenden. Textuelle und graphische Mittel zur Darstellung organisatorischer<br />
und softwaretechnischer Zusammenhänge beschreiben häufig gleiche Inhalte und<br />
sind ineinander überführbar. So werden Aufgabengliederungen z. B. textuell durch Aufgabenli-
32 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
sten und graphisch durch Funktionsbäume äquivalent dargestellt. Textuelle und graphische Darstellungen<br />
unterscheiden sich lediglich in ihrer konkreten Notation. Das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
zielt jedoch auf eine Darstellung der konzeptionellen Zusammenhänge dieser Sprachen, so daß<br />
eine Klassifikation nach Darstellungsform in diesem Kontext nicht sinnvoll erscheint.<br />
Nach dem Grad der Präzision unterscheidet man formale, semiformale und informale Beschreibungsmittel.<br />
Unter formale Sprachen werden z. B. algebraische Spezifikationen [Ehrig / Mahr,<br />
1985], VDM [Jones, 1990] oder Z [Spivey, 1992] gefaßt, die vollständig auf algebraischen,<br />
mengentheoretischen und logischen Fundamenten aufbauen. In semi-formalen und informalen<br />
Beschreibungsmitteln tritt die mathematische Fundierung in den Hintergrund. Diese Sprachen<br />
sind eher auf Komm<strong>uni</strong>kation und weniger auf exakte, mathematische Formalisierungen ausgerichtet.<br />
Die weiteren Betrachtungen beziehen sich auf diese semi-formalen und informalen Sprachen.<br />
Diese Sprachen enthalten aber auch Bezüge zu formalen Beschreibungsformen wie z. B.<br />
prädikatenlogische Annotation an Objekt-Beziehungsdiagrammen oder durch Prädikate notierte<br />
Vor-/Nachbedingungen zur Methodenbeschreibung. Die Unterscheidung nach Grad der Präzision<br />
wird aufgrund des Betrachtungsschwerpunkts auf semiformalen und informalen Beschreibungsmitteln<br />
im weiteren nicht zur Klassifikation der Sprachen verwendet.<br />
Bei der Klassifikation nach der Sicht auf das betrachtete System stehen die von einzelnen <strong>Modellierungssprachen</strong><br />
besonders betonten Systemaspekte im Vordergrund. Ausgehend von verschiedenen<br />
Ansätzen zur Beschreibung von Soft- und Hardwareystem in EPOS stellt [Göhner,<br />
1984] hier die Aspekte Funktion, Ablauf, Ereignis, Datenfluß, Datenstruktur und Gerät heraus. In<br />
[Partsch, 1998, S. 44] werden dieses Aspekte weiter abstrahiert. Er gliedert die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong><br />
des Requirements-Engineering nach System und Komponentenstrukturen, nach<br />
Kontrollaspekten und Steuerung und nach Abläufen und funktionalem Verhalten. Im Klassifikationssystem<br />
von [Scheer, 1994] zur Strukturierung der Sprachen zur Modellierung von Informationssystemen<br />
wird neben der Datensicht und der Funktionssicht noch die Organisationssicht<br />
ergänzt, in der strukturelle Aspekte der Organisationsmodellierung betrachtet werden. Datenund<br />
Funktionssicht entsprechen in etwa den Sichten aus [Partsch, 1998], wobei hier die Kontrollaspekte<br />
mit dem funktionalen Verhalten zusammengefaßt wurden. Eine ähnliche Sichteneinteilung<br />
verfolgen auch [Jablonski et al., 1997, S. 98ff]. Neben der Organisationssicht und der<br />
Informationssicht (Datensicht) analog zu Scheer werden hier die eher ablauforientierten Aspekte<br />
auf eine Funktionssicht, eineVerhaltenssicht und eine gegenüber Partsch zusätzliche Operationssicht<br />
aufgeteilt.<br />
3.1.1 Beschreibungssichten<br />
Auch wenn sich diese Sichteneinteilungen in ihren Bezeichnungen und den genauen Einteilungen<br />
der Sprachen unterscheiden, bieten sie ein gutes Strukturierungsmittel <strong>für</strong> die verschiedenen<br />
Beschreibungsmittel, so daß auch im folgenden eine Klassifikation der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong><br />
nach Sichten verwendet wird. Unterschiedliche Darstellungsmittel heben jeweils einige<br />
Aspekte des zu modellierenden Systems hervor und blenden andere aus. Eine vollständige<br />
Darstellung aller zu untersuchenden Zusammenhänge erlaubt nur die gemeinsame Beschreibung<br />
aller Sichten.
3.1 Klassifikationsschema <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> 33<br />
Beispiel 3.1 (Beschreibung einer Krankenhaus-Organisation aus verschiedenen Sichten)<br />
Abbildung 3.1 zeigt einen Ausschnitt einer Krankenhausinformationssystem-Modellierung<br />
aus vier verschiedenen Beschreibungssichten (vgl. [Winter / Ebert, 1997]).<br />
Der Ausriß des Aufgabengliederungsplans beschreibt die Aufgaben der Pflegedienstleitung<br />
(PDL) und deren Untergliederung. Das Organigramm skizziert die Abteilungsstruktur<br />
der Aufbauorganisation des Krankenhauses. Im Objekt-Beziehungsdiagramm ist ein<br />
Teil der Datenstrukturen <strong>für</strong> Patientendaten dargestellt. Einen Einblick in die Prozesse des<br />
Labors erlaubt das Datenflußdiagramm. Es beschreibt die Teilprozesse, die zur Befunderstellung<br />
nötig sind, einschließlich deren Datenaustauschbeziehungen und Einbettung in<br />
das Gesamtsystem Krankenhaus. £<br />
Organigramm<br />
PDL<br />
Innere Chirurgie Intensiv<br />
Station<br />
Station<br />
2 2<br />
Gruppe Gruppe<br />
Verwaltungsrat<br />
Datenflußdiagramm<br />
SO2<br />
ist<br />
Patient<br />
Aufnahme<br />
Von<br />
Name<br />
Adresse<br />
Krankenkasse<br />
basiert Auf<br />
Hausarzt<br />
Befund<br />
Laborbefund<br />
Therapieeinrichtung<br />
Anforderungsbeleg<br />
med.<br />
Daten<br />
Objekt-Beziehungsdiagramm<br />
*<br />
Anforderungsbeleg<br />
lesen<br />
Anforderungs-<br />
Intensiv Röntgenbelegaufnahme Befund<br />
Pflegeanamnese<br />
Patient<br />
Anforderung<br />
Pflege-<br />
Daten<br />
Pflegebericht<br />
Befund<br />
erstellen<br />
Untersuchungsergebnis<br />
Untersuchungdurchführen<br />
Personalbedarf<br />
erheben<br />
Personaleinsatz<br />
planen<br />
Arbeitszeiten<br />
überwachen<br />
Aufgabengliederungsplan<br />
Pflegekräfte<br />
auswahlen<br />
Pflegekräfte<br />
einsetzen<br />
Aushilfen<br />
einsetzen<br />
Nachtwache<br />
einsetzen<br />
Urlaubsanträge<br />
prüfen<br />
Abbildung 3.1: Beschreibung einer Krankenhaus-Organisation aus verschiedenen Sichten<br />
Mit Hilfe der vier Diagramme in Abbildung 3.1 wird das Krankenhaus aus Blickwinkeln zur<br />
Darstellung der Aufgabenstruktur, der Aufbaustruktur, der Prozeßstrukturen und der Objektstrukturen<br />
beschrieben. Diese vier Blickwinkel liefern auch die Strukturierung zur Betrachtung<br />
der verschiedenen Beschreibungsmittel in dieser Arbeit.
34 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Zur Klassifikation der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> <strong>für</strong> Organisationen und Softwaresysteme<br />
werden<br />
¯ die Aufgabensicht,<br />
¯ die Aufbausicht,<br />
¯ die Prozeßsicht und<br />
¯ die Objektsicht<br />
verwendet. In jeder dieser Sichten wird ein Aspekt der Organisation bzw. des Softwaresystems<br />
besonders hervorgehoben. In der Aufgabensicht sind dieses die Aufgaben, die durch die Organisation<br />
bzw. das Softwaresystem zu bearbeiten bzw. zu unterstützen sind. In den zuvor skizzierten<br />
Sichtenkonzepten wird diese Sicht als Teil der Funktionssicht zur Beschreibung des funktionalen<br />
Verhaltens oder als Teil statischer Organisations- oder Struktursichten betrachtet. Die Organisationseinheiten,<br />
die diese Aufgaben erledigen bzw. deren Arbeit durch Softwaresysteme unterstützt<br />
wird, werden in der Aufbaussicht 1 untersucht. Die Aufbausicht entspricht den Organisationssichten<br />
<strong>für</strong> den Entwurf von Informationssystemen nach [Scheer, 1994] oder von Workflowsystemen<br />
nach [Jablonski et al., 1997]. Die Prozeßsicht faßt die Funktionssicht, die Verhaltenssicht, die<br />
Operationssicht nach [Scheer, 1994] und [Jablonski et al., 1997] sowie die Kontroll- und Ablaufaspekte<br />
aus [Partsch, 1998] zusammen. Diese Sicht betont zeitliche und logische Prozeßabläufe<br />
in Organisationen und Softwaresystemen. Die Objektsicht hebt die Objekte der Organisation und<br />
der Softwaresysteme hervor. Diese Sicht umfaßt die Daten- oder Informationssicht aus [Scheer,<br />
1994] oder [Jablonski et al., 1997].<br />
3.1.2 Beschreibungsparadigmen<br />
Zur Einordnung der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> reicht die Sichteneinteilung noch nicht<br />
aus, da zur Darstellung aus einer Sicht auch konzeptionell verschiedene Beschreibungsmuster<br />
verwendet werden. Zur Modellierung der Organisationseinheiten aus Aufbausicht werden<br />
z. B. Organigramme verwendet, die hierarchische Strukturbeziehungen darstellen. Ebenso finden<br />
hier auch Komm<strong>uni</strong>kationsdiagramme zur Modellierung von Komm<strong>uni</strong>kationsbeziehungen Verwendung.<br />
Modellierungen aus Prozeßsicht verwenden datenflußorientierte Beschreibungsmittel<br />
(z. B. SADT-Diagramme), zustandsübergangsorientierte Beschreibungsmittel (z. B. Statecharts)<br />
netzartige Beschreibungsmittel (z. B. Netzpläne) oder kontrollflußorientierte Beschreibungsmittel<br />
(z. B. Nassi-Shneiderman-Diagramme). Aus Objektsicht werden sowohl schematische Beschreibungen<br />
(z. B. Klassendiagramme) als auch Instanzbeschreibungen (z. B. Objektdiagramme<br />
oder Interaktionsdiagramme) zur Darstellung von Objektzusammenhängen eingesetzt.<br />
Die Beschreibungsmittel einer Sicht folgen unterschiedlichen Paradigmen. Ähnlich wie Programmiersprachen<br />
nach dem imperativen, dem funktionalen oder dem logischen Sprachparadgima<br />
klassifiziert werden können, kann dieses auch <strong>für</strong> die hier betrachteten <strong>Modellierungssprachen</strong><br />
erfolgen. Während durch die Sichten festgelegt wird, welche Konzepte hervorgehoben<br />
werden, wird durch die Paradigmen die Art der Beziehungen zwischen diesen Konzepten unterschieden.<br />
1 Der Begriff Organisationssicht, der i. allg. auf aufbauorganisatorische Zusammenhänge eingeschränkt verwendet<br />
wird, wird hier nicht genutzt, da der Organisationsbegriff dieser Arbeit weiter gefaßt ist.
3.1 Klassifikationsschema <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> 35<br />
Sprachen des Softwareentwurfs werden in [Ebert / Engels, 1994] entlang des Datenflußparadigmas,desZustandsübergangsparadigmas,desKontrollflußparadigmas,desModulparadigmas<br />
und des Objekt-Beziehungsparadigmas eingeordnet. Hierbei beziehen sich die ersten drei Paradigmen<br />
auf die Beschreibungsmittel der Prozeßsicht. Beziehungen zwischen einzelnen Aktivitäten<br />
oder Prozessen 2 werden hierbei entweder durch Datenflüsse, durch Zustandsübergänge oder<br />
durch Kontrollflüsse dargestellt. Das Modulparadigma und das Objekt-Beziehungsparadigma<br />
stellen grundlegende Beschreibungsparadigmen der Objektsicht dar. Objekte werden hier einschließlich<br />
ihrer Beziehungen schematisch beschrieben. Gegenüber dem Objekt-Beziehungsparadigma<br />
kann das Modulparadigma als Spezialfall aufgefaßt werden, in dem spezielle Objektund<br />
Beziehungsklassen zur Darstellung von Modulen und hierzwischen vorliegende Benutzungsbeziehungen<br />
betrachtet werden.<br />
3.1.3 Beschreibungssichten und -paradigmen<br />
Diese Paradigmen werden auch <strong>für</strong> die feinere Einordnung der hier behandelten Sprachen innerhalb<br />
der vier Sichten übernommen. Für die Betrachtung der Sprachen zur Organisationsmodellierung<br />
und Softwareentwicklung werden Paradigmen <strong>für</strong> die Prozeß- und Objektsicht ergänzt.<br />
Ebenso werden <strong>für</strong> die in [Ebert / Engels, 1994] nicht betrachtete Aufgaben- und Aufbausicht<br />
jeweils eigene Paradigmen eingeführt:<br />
¯ Aus Aufgabensicht werden die Aufgaben einer Organisation oder eines Softwaresystems<br />
betont. Die Darstellung hierarchischer Gliederungen von Aufgaben in Teilaufgaben erfolgt<br />
entlang des Aufgabengliederungsparadigmas.<br />
¯ Bei der Beschreibung aus Aufbausicht werden Organisationseinheiten, d. h. Stellen und<br />
Abteilungen, betrachtet. Nach der Art der Beziehungen zwischen den organisatorischen<br />
Einheiten werden das Stellengliederungsparadigma und das Komm<strong>uni</strong>kationsparadigma<br />
unterschieden. Untergliederungen organisatorischer Einheiten sowie Leitungs- und Weisungsbeziehungen<br />
werden mit den Beschreibungsmitteln des Stellengliederungsparadigmas<br />
beschrieben. Komm<strong>uni</strong>kations- und Interaktionsbeziehungen zwischen Stellen oder<br />
Abteilungen werden durch die Sprachen des Komm<strong>uni</strong>kationsparadigmas notiert.<br />
¯ Neben dem Datenfluß-,demZustandsübergangs- und dem Kontrollflußparadigma ergänzt<br />
das Netzparadigma die Paradigmen der Prozeßsicht zur Beschreibung zeitlicher oder logischer<br />
Abläufe. Die Sprachen des Netzparadigmas beschreiben Prozeßzusammenhänge<br />
durch ein Netz von durch Flußbeziehungen verbundenen aktiven und/oder passiven Komponenten<br />
(Prozesse und Ereignisse).<br />
2 Im Sprachgebrauch der Softwaretechnik werden diese Aktivitäten auch als Prozesse bezeichnet. Dieser Prozeßbegriff<br />
unterscheidet sich aber deutlich vom Prozeß- oder Geschäftsprozeß-Begriff der Organisationstechnik,<br />
der ablauforientierte Zusammenfassungen von Aufgaben bezeichnet (vgl. <strong>Se</strong>ite 18). Ähnliches gilt <strong>für</strong> den Begriff<br />
Funktion. Während dieser in der Informatik als mathematische Funktion verstanden wird, durch die Werte<br />
eines Eingabewertebereichs in Werte eines Ausgabewertebereichs transformiert werden, faßt die Organisationstechnik<br />
Funktionen eher als aufbauorientierte Zusammenfassungen von Aufgaben auf. Soweit die Verwendung<br />
dieser Begriff aus dem Kontext erschließbar ist, werden sie sowohl <strong>für</strong> softwaretechnische als auch <strong>für</strong> organisationstechnische<br />
Zusammenhänge verwendet.
36 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
¯ Die Objekte, die eine Organisation oder ein Softwaresystem bilden, und deren Zusammenhänge<br />
werden aus der Objektsicht beschrieben. Zur Modellierung von Objekten<br />
gibt es Darstellungsmittel sowohl auf Schema- als auch auf Instanzebene. Das<br />
Objekt-Beziehungsparadigma 3 zur Beschreibung schematischer Objektzusammenhänge<br />
wird noch um das Objekt-Instanzparadigma und das Objekt-Interaktionsparadigma ergänzt.<br />
Die Sprachen des Objekt-Instanzparadigmas werden zur exemplarischen Darstellung<br />
von konkreten Objekten und deren statischen Beziehungen verwendet. Mit den Beschreibungsmittel<br />
des Objekt-Interaktionsparadigmas wird der Nachrichtenaustausch zwischen<br />
Objekten dargestellt.<br />
Abbildung 3.2 faßt das im folgenden verwendete Schema zur Klassifikation der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong><br />
<strong>für</strong> Organisationen und Softwaresysteme zusammen. Zu den vier Beschreibungssichten<br />
werden jeweils die zentralen Komponenten und ihre Beschreibungsparadigmen angegeben.<br />
Überblicksdarstellungen zu Beschreibungssichten und -paradigmen bieten auch [Ebert<br />
/ Engels, 1994], [Winter / Ebert, 1996] und [Winter, 1996].<br />
Dieses Klassifikationsschema ist nicht als starres, <strong>uni</strong>versell gültiges Raster zur Einordnung von<br />
Beschreibungsmitteln zu betrachten. Auch andere Schemata sind begründbar. So wird in [Ebert<br />
/ Engels, 1994] <strong>für</strong> netzartige Beschreibungsmittel der Prozeßsicht kein eigenes Paradigma eingeführt.<br />
Notationen wie z. B. Netzgraphen der Petri-Netze werden hier unter das Datenflußparadigma<br />
gefaßt. Diese Einordnung erfolgte aus der Anschauung heraus, daß in Netzgraphen der<br />
Stellen-Transitions-Netze eine datenflußartige Komm<strong>uni</strong>kation zwischen Petri-Netz-Stellen vorliegt.<br />
Petri-Netz-Stellen können aber auch als Zustände aufgefaßt werden, wonach eine Einordnung<br />
unter das Zustandsübergangsparadigma begründet werden kann. Ähnlich könnte auch aus<br />
den in Netzgraphen modellierten Abfolgen von Schaltvorgängen eine Zuordnung in das Kontrollflußparadigma<br />
abgeleitet werden. Da auf Prozeßbeschreibungen durch bipartite Graphen, in<br />
denen Abläufe durch die Interaktion passiver Komponenten (Zustände, Stellen etc.) und aktiver<br />
Komponenten (Prozesse, Transitionen etc.) modelliert werden, auch andere Beschreibungsmittel<br />
basieren, kann ebenfalls — wie in der hier verwendeten Klassifikation — eine eigene Sicht<br />
gerechtfertigt werden.<br />
Das Kontrollflußparadigma nach [Ebert/Engels, 1994] umfaßt auch Ablaufdarstellungen, die nahezu<br />
beliebige Prozeßfolgen erlauben. Das im folgenden verwendete Kontrollflußparadigma ist<br />
dagegen ausschließlich auf regulär strukturierte Folgedarstellungen durch <strong>Se</strong>quenzen, Verzweigungen<br />
und Iterationen beschränkt. Darstellungen beliebiger Prozeßfolgen wie beispielsweise<br />
durch Aufgabenfolgepläne oder (generelle) Programmablaufpläne werden hier unter das Netzparadigma<br />
gefaßt. Diese Beschreibungsmittel verwenden ähnliche Mittel zur Beschreibung der<br />
Folgestrukturen wie auch die Notationsformen, die aktive und passive Komponenten deutlich<br />
unterscheiden, reduzieren die Darstellung jedoch auf die aktiven Komponenten (vgl. z. B. die<br />
Grundmuster zur Darstellung von Folgestrukturen in [Schmidt, 1989, S. 301ff] und [Keller et al.,<br />
1992, Abb. 4]).<br />
Diese Entscheidungsspielräume sind nicht auf die Paradigmen einer Sicht begrenzt. Die <strong>visuelle</strong>n<br />
Sprachen beispielsweise des Objekt-Interaktionsparadigmas wurden hier der Objektsicht zugeordnet.<br />
Diese Einteilung stellt die Objekte, zwischen denen Nachrichten ausgetauscht werden, in<br />
3 Ein korrekterer Name <strong>für</strong> dieses Paradigma wäre sicherlich Objektklassen-Beziehungsklassenparadigma. Im<br />
allgemeinen Sprachgebrauch bezogen auf die Beschreibungsmittel hat sich der Hinweis auf den schematischen<br />
Beschreibungsinhalt außer bei NIAM-Informationsstruktur-Diagrammen nicht durchgesetzt.
3.1 Klassifikationsschema <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> 37<br />
Aufgabensicht: (Aufgaben)<br />
¯ Aufgabengliederungsparadigma:<br />
Untergliederung von Aufgaben in Teilaufgaben<br />
Aufbausicht: (Organisationseinheiten)<br />
¯ Stellengliederungsparadigma:<br />
Untergliederung von Organisationseinheiten<br />
¯ Komm<strong>uni</strong>kationsparadigma:<br />
Interaktionsstrukturen zwischen Organisationseinheiten<br />
Prozeßsicht: (Prozesse)<br />
¯ Datenflußparadigma<br />
Prozeßdarstellungen durch Datenflüsse<br />
¯ Zustandsübergangspardigma<br />
Prozeßdarstellungen durch Zustandsveränderungen<br />
¯ Netzparadigma:<br />
Prozeßdarstellungen durch netzartige Folgestrukturen<br />
¯ Kontrollflußparadigma<br />
Prozeßdarstellungen durch reguläre Folgestrukturen<br />
Objektsicht: (Objekte)<br />
¯ Objekt-Instanzparadigma<br />
Zusammenhänge zwischen Objektinstanzen<br />
¯ Objekt-Interaktionsparadigma<br />
Interaktionsbeziehungen zwischen Objektinstanzen<br />
¯ Objekt-Beziehungsparadigma<br />
Zusammenhänge zwischen Objekt- und Beziehungsstrukturen<br />
Abbildung 3.2: Beschreibungssichten und Paradigmen<br />
den Vordergrund. In der Unified Modeling Language [Booch et al., 1999] werden die Sprachen<br />
des Objekt-Interaktionsparadigmas als Mittel zur Beschreibung der Systemdynamik eingeführt.<br />
Dieser Einordung liegt die Anschauung zugrunde, daß durch diese Beschreibungsmittel in erster<br />
Linie der Kontrollfluß des Nachrichtenaustauschs zwischen Objekten beschrieben wird.
38 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Die Festlegung der Paradigmen ist, wie auch die Definition der verwendeten Sichten, einer gewissen<br />
„Willkür“ unterworfen, die jedoch aus dem individuellen Standpunkt des Modellierers<br />
heraus begründbar ist.<br />
3.1.4 Visuelle <strong>Modellierungssprachen</strong><br />
Anstatt alle unterschiedlichen <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> der Organisationsbeschreibung<br />
und des Softwareentwurfs einzeln zu beschreiben (vgl. z. B. [Grupp, 1990]) erlaubt das Klassifikationsschema<br />
aus Abbildung 3.2 eine kompaktere Betrachtung entlang der jeweils abgebildeten<br />
Konzepte. Abbildung 3.3 ordnet diese Beschreibungsmittel den einzelnen Darstellungsparadigmen<br />
zu.<br />
Gleiche Beschreibungsmittel werden häufig unterschiedlich bezeichnet. Aufgabengliederungspläne<br />
werden auch als Funktionsbäume bezeichnet, und Struktogramme sind auch als Nassi-<br />
Shneiderman-Diagramme bekannt. Manche Beschreibungsmittel können (notationell) als Erweiterungen<br />
anderer Sprachen aufgefaßt werden. So sind Statecharts allgemeinere Zustandsübergangsdiagramme,<br />
die lediglich kompakter notiert werden. Ähnlich verhält es sich mit Objekt-<br />
Beziehungsdiagrammen, die zu erweiterten Objekt-Beziehungsdiagrammen und Klassendiagrammen<br />
weiter entwickelt wurden. Andere Sprachen können als (notationelle) Einschränkungen<br />
einer Grundform betrachtet werden. Datenlexika entsprechen konzeptionell den Beschreibungen<br />
durch erweiterte Objekt-Beziehungsdiagramme, die auf die Beschreibung durch Attributierungen,<br />
Generalisierungen und Aggregationen eingeschränkt sind. Darstellungen durch<br />
Ablaufkarten oder Programmablaufpläne entsprechen in ähnlicher Weise Stimulus-Response-<br />
Darstellungen verkürzt um die Stimuli. Auch haben unterschiedliche <strong>Modellierungssprachen</strong> gelegentlich<br />
denselben Namen. Unter den Begriff „Objektdiagramm“ werden bei [Rumbaugh et<br />
al., 1991, S. 23] sowohl Darstellungen auf der Instanzebene (Instanzdiagramme) als auch auf<br />
Schemaebene (Klassendiagramme) gefaßt. [Booch, 1994, S. 208ff] verwendet „Objektdiagramme“<br />
zur Beschreibung der Interaktion zwischen Objekten. In [Booch et al., 1999] beziehen sich<br />
Objektdiagramme, wie auch in dieser Arbeit, ausschließlich auf die Darstellung des statischen<br />
Zusammenhangs von Instanzen.<br />
Nicht alle <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> lassen sich eindeutig direkt einer Beschreibungssicht<br />
oder einem Paradigma zuordnen. So gibt es auch multiparadigmatische Sprachen. Vorgangskettendiagramme<br />
und erweiterte Ereignisgesteuerte Prozeßketten beschreiben Vorgangsfolgen sowohl<br />
aus Prozeßsicht, aus Objektsicht und aus Aufbausicht. Mit diesen Diagrammen werden<br />
Organisationen aus diesen Sichten in „zusammenhängender Form“ [Scheer, 1992, S. 57] abgebildet.<br />
Zentrales Element sind jedoch alternierende Folgen von Ereignissen und Vorgängen, die<br />
jeweils um Elemente aus der Objekt- und der Aufbausicht ergänzt werden. Vorgangskettendiagramme<br />
werden daher als Beschreibungsmittel des Netzparadigmas der Prozeßsicht eingestuft.<br />
Ähnlich verhält es sich mit Funktionendiagrammen. Diese stellen die Querbezüge zwischen Aufgaben<br />
und Organisationseinheiten einschließlich der jeweiligen Gliederungen dar. Funktionendiagramme<br />
erlauben somit eine übergreifende Darstellung aus Aufgaben- und Aufbausicht. Für<br />
die weiteren Betrachtungen wird diese Notationsform dem Stellengliederungsparadigma zugeordnet.
3.1 Klassifikationsschema <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> 39<br />
Aufgabensicht<br />
Paradigma Beschreibungsmittel<br />
Aufgabengliederungsparadigma Aufgabengliederungspläne, Aufgabengliederungsschaubilder,<br />
Aufgabenlisten, Aufgabenstrukturbilder, Aufgabenstrukturbäume,<br />
Funktionsbäume, Funktionshierarchiediagramme,<br />
Funktionsstrukturdiagramme<br />
Aufbausicht<br />
Paradigma Beschreibungsmittel<br />
Stellengliederungsparadigma Abteilungsgliederungspläne, Funktionendiagramme, Organigramme,<br />
Organisationspläne, Organisationsschaubilder,<br />
Stellenbeschreibungen, Stellengliederungspläne, Stellenpläne,<br />
Strukturpläne<br />
Komm<strong>uni</strong>kationsparadigma Komm<strong>uni</strong>gramme, Komm<strong>uni</strong>kationsdiagramme, Komm<strong>uni</strong>kationsgraphen,<br />
Komm<strong>uni</strong>kationstabellen, Kooperationsbilder<br />
Prozeßsicht<br />
Paradigma Beschreibungsmittel<br />
Datenflußparadigma Anwendungsfalldiagramme, Bonapart Prozeßmodelle, Bubble-Charts,<br />
Datenflußdiagramme, Datenflußpläne, Funktionszuordnungsdiagramme,<br />
IDEF0-Diagramme, Kontextdiagramme,<br />
SADT-Aktivitätsdiagramme, SADT-Datendiagramme,<br />
Verkehrsschaubilder<br />
Zustandsübergangsparadigma (hierarchische) Automaten, IDEF3-Zustandsübergangsdiagramme,<br />
Statecharts, Zustandsautomaten, Zustands-(übergangs)-<br />
Diagramme, Zustands-(übergangs)-Matrizen, Zustandsübergangstabellen<br />
Netzparadigma Ablaufkarten, Aktivitätsdiagramme, Aufgabenfolgepläne, Balkendiagramme,<br />
(erweiterte) Ereignisgesteuerte Prozeßketten,<br />
Folgestrukturen, Folgepläne, IDEF3-Prozeßflußdiagramme,<br />
Netzgraphen, Netzpläne, Petri-Netze, Programmablaufpläne,<br />
Stimulus-Response-Folgen, Vorgangskettendiagramme<br />
Kontrollflußparadigma Entscheidungstabellen, Jackson-Diagramme, Nassi-Shneiderman-Diagramme,<br />
Pseudo-Code, Struktogramme, Warnier-Orr-<br />
Diagramme<br />
Objektsicht<br />
Paradigma Beschreibungsmittel<br />
Objekt-Instanzparadigma Instanzdiagramme, Objektdiagramme<br />
Objekt-Interaktionsparadigma Ereignisflußdiagramme, Ereignispfaddiagramme, Interaktionsdiagramme,<br />
Kollaborationsdiagramme, Message-<strong>Se</strong>quence-<br />
Charts, Objektdiagramme, <strong>Se</strong>quenzdiagramme<br />
Objekt-Beziehungsparadigma Datenlexika, (erweiterte) Entity-Relationship-Diagramme,<br />
(erweiterte) Objekt-Beziehungs-Diagramme, IDEF1X-<br />
Datenmodelle, Jackson-Diagramme, Klassendiagramme,<br />
NIAM-Informationsstruktur-Diagramme<br />
Abbildung 3.3: Sichten, Paradigmen und Beschreibungsmittel
40 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
In den Kapiteln 3.2 bis 3.5 werden die wesentlichen <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> der Aufgabensicht,<br />
der Aufbausicht, der Prozeßsicht und der Objektsicht entlang der Paradigmen vorgestellt.<br />
Ausgehend von einer heute üblichen Notation werden verschiedene notationelle Varianten<br />
der einzelnen Darstellungsparadigmen diskutiert und hieraus Forderungen an das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> abgeleitet.<br />
3.2 Visuelle Modellierungsprachen der Aufgabensicht<br />
Untersuchungsgegenstand der Aufgabensicht sind die Aufgaben (oder Funktionen), die durch<br />
Organisationen zu bearbeiten bzw. durch Softwaresysteme zu unterstützen sind. Aufgaben bezeichnen<br />
klar umrissene, zielorientierte Handlungsweisen innerhalb eines größeren Zusammenhangs<br />
[Balzert, 1996a, S. 116], die durch eine Verrichtung an einem Objekt charakterisiert sind<br />
[Nordsieck, 1962, S. 13], [Kosiol, 1976, S. 43]. Hierbei beschreibt die Verrichtung den Vorgang<br />
oder Prozeß, der zur Aufgabenerledigung durchzuführen ist. Das Objekt bezeichnet die Klasse<br />
der Gegenstände, an denen die Verrichtung durchgeführt wird.<br />
Zur Beschreibung von Aufgaben sind folglich deren Verrichtungs- und Objektkomponenten darzustellen.<br />
Eine Aufgabenbeschreibung kann optional um weitere Aufgabenaspekte ergänzt werden<br />
(vgl. [Kosiol, 1976, S. 43] und [Hub / Fischer, 1977, S. 15]). Der Aspekt Raum gibt an, wo<br />
die Aufgabenerledigung stattfindt. Zeitliche Aspekte werden unterschieden in den Zeitpunkt, zu<br />
dem die Aufgabenerfüllung stattfindet, und die Dauer, die zur Umsetzung benötigt wird. Der<br />
Umfang einer Aufgabe wird durch die Anzahl der zu bearbeitenden Objekte bestimmt. Sachund<br />
Arbeitsmittel, die zur Aufgabenerledigung benötigt oder eingesetzt werden, werden unter<br />
dem Aspekt Hilfsmittel zusammengefaßt.<br />
Zu beschreibende Aufgaben können beliebig komplex werden. Zur Bewältigung dieser Komplexität<br />
ist es üblich, diese Aufgaben in Teilaufgaben mit geringerer Komplexität zu zerlegen.<br />
Die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Aufgabengliederungsparadigmas dokumentieren diese<br />
Zerlegungen in Teilaufgaben.<br />
3.2.1 Visuelle Modellierungsprachen des<br />
Aufgabengliederungsparadigmas<br />
Eine Aufgabengliederung beschreibt die Zerlegung einer Aufgabe in Teilaufgaben. Diese Zerlegungen<br />
werden so lange wiederholt, bis Elementaraufgaben ermittelt sind, die nicht weiter untergliedert<br />
sind. Wird die Aufgabengliederung im Rahmen einer Aufgabenanalyse zur Vorbereitung<br />
der Stellenbildung bzw. der Prozeßgestaltung durchgeführt, sind diese Elementaraufgaben dann<br />
erreicht, wenn sie einem einzigen Aufgabenträger zugeordnet werden können [Hub / Fischer,<br />
1977, S. 18] bzw. elementare Handlungen beschreiben. Dient die Aufgabengliederung zur Zerlegung<br />
eines softwaretechnischen Problems in unabhängige Module, bricht die Gliederung bei<br />
solchen Teilaufgaben ab, die durch einzelne Methoden oder Funktionen implementiert werden<br />
können.<br />
Notiert werden diese Aufgabenzerlegungen durch Aufgabengliederungspläne, Aufgabengliederungsschaubilder,<br />
Aufgabenlisten, Aufgabenstrukturbilder und durch Funktionsbäume.
3.2 Visuelle Modellierungsprachen der Aufgabensicht 41<br />
Notationelle Grundform: Aufgabengliederungsplan<br />
Zur Darstellung von Aufgabengliederungen werden baumartige Diagrammformen verwendet,<br />
in denen die einzelnen Aufgaben als Knoten dargestellt sind. Die Verbindungen zwischen diesen<br />
Knoten beschreiben die Zerlegungsbeziehungen, die i. allg. von oben nach unten oder von<br />
links nach rechts gelesen werden. Um die Objekt- und Verrichtungskomponenten einer Aufgabe<br />
zu verdeutlichen, sollten die Aufgaben durch Verbalphrasen bezeichnet werden. Beispiel 3.4<br />
skizziert eine solche Zerlegung der Aufgaben der Radiologie eines Krankenhauses in einem Aufgabengliederungsplan<br />
(vgl. [Schumm et al., 1995]).<br />
Standards<br />
erstellen<br />
Aufnahmen<br />
ausleihen<br />
Archivanforderung<br />
bearbeiten<br />
Aufnahmen<br />
kopieren<br />
Anforderung<br />
bearbeiten<br />
Röntgenuntersuchung<br />
durchführen<br />
Untersuchung<br />
abrechnen<br />
Leistungen<br />
der Radiologie<br />
durchführen<br />
CTuntersuchung<br />
durchführen<br />
Patient<br />
anmelden<br />
Qualität und<br />
Leistung<br />
kontrollieren<br />
Untersuchungsanforderung<br />
bearbeiten<br />
MRuntersuchung<br />
durchführen<br />
Patient<br />
vorbereiten<br />
Abbildung 3.4: Aufgabengliederungsplan<br />
Angiographieuntersuchung<br />
durchführen<br />
Patient<br />
untersuchen<br />
Material<br />
beschaffen<br />
Szintigraphieuntersuchung<br />
durchführen<br />
Die Gliederung von Aufgaben in Teilaufgaben kann entlang mehrerer Grundmuster (vgl. [Nordsieck,<br />
1962, S. 14], [Kosiol, 1976, S. 49ff], [Hub / Fischer, 1977, S. 19ff]) erfolgen. Ein wesentliches<br />
Gliederungskriterium bieten die Aufgabenkomponenten Verrichtung und Objekt. Bei der<br />
Gliederung nach Verrichtungen werden einzelne Tätigkeiten unterschieden, die zur Erledigung<br />
der Gesamtaufgabe nötig sind. Analog erfolgt die Gliederung nach Objekten durch Konkretisieren<br />
der (Teil-) Objekte, die zur Aufgabenerfüllung bearbeitet werden müssen. Unabhängig<br />
von der betrachteten Komponente kann eine Aufgabe in solche Teilaufgaben zerlegt werden,<br />
die alle zur Aufgabenerledigung zu erfüllen sind (Und-Gliederung) oder die Alternativen in der<br />
Aufgabenerledigung darstellen (Oder-Gliederungen).<br />
[Kosiol, 1976, S. 52ff] schlägt als weitere Gliederungsmerkmale noch den Rang, die Phase und<br />
den Zweck vor. Hieraus resultierende Aufgabengliederungen können als Spezialfälle der Und-<br />
Verrichtungsgliederung aufgefaßt werden, bei denen die Verrichtungen Leiten, Planen, Kontrollieren,<br />
Verwalten und Ausführen unterschieden werden. Gliederungen nach Rang zerlegen Aufgaben<br />
in Teilaufgaben, die die Koordination der Gesamtaufgabe (Leitungsaufgabe) von der eigentlichen<br />
Ausführung (Ausführungsaufgabe) unterscheiden. Das Kriterium Phase gliedert Auf-
42 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
gaben in Planungs-, Ausführungs- und Kontrollaufgaben. Planungsaufgaben umfassen hierbei<br />
die Aufgabenerfüllung vorbereitende und Kontrollaufgaben nachbereitende Tätigkeiten. Nach<br />
dem Kriterium des Zwecks werden Aufgaben in primäre Aufgaben (Ausführungsaufgaben) und<br />
in sekundäre Aufgaben (Verwaltungsaufgaben) zur Unterstützung der Ausführungsaufgaben unterschieden<br />
(vgl. auch [Nordsieck, 1962, S. 14f], Ausgliederung der Verwaltungsaufgaben).<br />
In der Praxis treten Aufgabengliederungen auch in Mischformen auf. Die zuvor skizzierten Gliederungskriterien<br />
liefern aber ein geeignetes Raster zur Durchführung von Aufgabengliederungen.<br />
Zur Erstellung einer Aufgabengliederung ist <strong>für</strong> jede Aufgabe zu entscheiden, nach welchem<br />
Kriterium sie geeignet zerlegt wird. Sind die zur Erfüllung einer Aufgabe nötigen Verrichtungen<br />
stärker voneinander abhängig als die zu bearbeitenden Objekte, sollte die Gliederung entlang der<br />
Verrichtung erfolgen, andernfalls entlang des Objekts [Nordsieck, 1962, S. 14]. Als grundsätzliches<br />
Vorgehen zur Aufgabengliederung schlägt [Krüger, 1981] vor, zunächst zu überprüfen,<br />
ob durch die Aufgabe unterschiedliche, selbständige Objekte alternativ zueinander bearbeitet<br />
werden. In diesem Fall bietet sich eine Oder-Objekt-Gliederung an. Besteht das Objekt aus mehreren<br />
unterschiedlichen Teilobjekten, die getrennt bearbeitet werden können, sollte die Aufgabe<br />
durch eine Und-Objekt-Gliederung strukturiert werden. Gibt es verschiedene Verfahren zur Bearbeitung<br />
des Objekts, bietet sich die Oder-Verrichtungs-Gliederung an. Andernfalls sollte eine<br />
Und-Verrichtungsgliederung vorgenommen werden.<br />
Beispiel 3.2 (Gliederung der Aufgaben der Radiologie)<br />
Die Gliederung der Aufgaben der Radiologie aus Abbildung 3.4 erfolgte entlang der zuvor<br />
skizzierten Kriterien. Die Aufgabe der Radiologie (Leistungen der Radiologie durchführen)<br />
wird zunächst entlang der Phase in die Planungsaufgabe Standards erstellen, die<br />
Ausführungsaufgabe Anforderung bearbeiten und die Kontrollaufgabe Qualität und Leistung<br />
kontrollieren unterteilt. Ergänzt wird diese Gliederung um die Verwaltungsaufgabe<br />
Material beschaffen. Diese Teilaufgaben stellen eine Und-Verrichtungs-Gliederung der<br />
Hauptaufgabe dar.<br />
Anforderungen an die Radiologie können sich sowohl auf die Aufnahmen aus dem Archiv<br />
als auch auf die durchzuführende Untersuchungen beziehen. Die Bearbeitung der<br />
Anforderungen wird daher entlang der Objekte Archivanforderung und Untersuchungsanforderung<br />
in die Teilaufgaben Archivanforderung bearbeiten und Untersuchungsanforderung<br />
bearbeiten oder-gegliedert. Archivanforderungen können unterschieden werden in<br />
die Verrichtungen Ausleihen oder Kopieren. Hiernach ergeben sich die oder-gegliederten<br />
Teilaufgaben Aufnahmen ausleihen und Aufnahmen kopieren.<br />
Nach dem Zweck wird die Bearbeitung einer Untersuchungsanforderung zunächst in die<br />
Verwaltungsaufgabe Untersuchung abrechnen und die Ausführungsaufgaben Patient anmelden,<br />
Patient vorbereiten und Patient untersuchen zerlegt. Die Gliederung der Ausführungsaufgaben<br />
erfolgt hierbei nach den Verrichtungen Anmelden, Vorbereiten und<br />
Untersuchen. Die weitere Verfeinerung der Untersuchung erfolgt entlang der benötigten<br />
Hilfsmittel. In Radiologischen Abteilungen werden hierzu u. a. Röntgenaufnahmen,<br />
Computer-Tomographen-Bilder, Magnet-Resonanz-Bilder, Angiografie-Bilder oder Szintigramme<br />
verwendet. Eine Oder-Verrichtungs-Gliederung nach diesen Hilfsmitteln ergibt<br />
die Teilaufgaben Röntgenuntersuchung durchführen, CT-Untersuchung durchführen, MR-<br />
Untersuchung durchführen, Angiographieuntersuchung durchführen und Szintigraphieuntersuchung<br />
durchführen. £
3.2 Visuelle Modellierungsprachen der Aufgabensicht 43<br />
Notationelle Varianten<br />
Zur Darstellung solcher Aufgabenzerlegungen gibt es weitere Notationsformen, die in ihrer<br />
Grundform jedoch alle der baumartigen Darstellung aus Abbildung 3.4 entsprechen. Abbildung<br />
3.5 skizzierte einige dieser notationellen Varianten anhand der Aufgabe Untersuchungsanforderung<br />
bearbeiten.<br />
Gliederung nach<br />
Verrichtung<br />
Gliederung nach<br />
Verrichtung<br />
Untersuchungs<br />
forderung<br />
bearbeiten<br />
Gliederung nach<br />
Verrichtung<br />
Ausgliederung der<br />
Verwaltungsaufgaben<br />
Patient<br />
anmelden<br />
Patient<br />
vorbereiten<br />
Patient<br />
untersuchen<br />
Untersuchung<br />
abrechnen<br />
a) Aufgabengliederungsplan<br />
in Pyramidenform<br />
Untersuchungsanforderung bearbeiten<br />
Patient anmelden<br />
Patient vorbereiten<br />
Patient untersuchen<br />
Untersuchung abrechnen<br />
c) Aufgabenliste<br />
1.3.2 / 8<br />
Untersuchungsanforderung<br />
bearbeiten<br />
1.3.2.1 - 11 1.3.2.2 - 12 1.3.2.3 - 13 1.3.2.4 - 14<br />
Patient<br />
anmelden<br />
Untersuchungsanforderung<br />
bearbeiten<br />
Patient<br />
vorbereiten<br />
Patient<br />
untersuchen<br />
Untersuchung<br />
abrechnen<br />
b) Aufgabengliederungsplan durch Rasterblatt<br />
d) Strukturbild in<br />
Terrassenform<br />
Patient<br />
anmelden<br />
Patient<br />
vorbereiten<br />
Patient<br />
untersuchen<br />
Untersuchung<br />
abrechnen<br />
Untersuchungsanforderung<br />
bearbeiten<br />
Abbildung 3.5: Aufgabengliederungspläne, notationelle Varianten<br />
Patient<br />
anmelden<br />
Patient<br />
vorbereiten<br />
Patient<br />
untersuchen<br />
Untersuchung<br />
abrechnen<br />
e) Aufgabengliederungsplan<br />
in Blockdarstellung<br />
Die baumartige Gliederung der Aufgaben erfolgt häufig auch horizontal von links nach rechts.<br />
Hierbei werden Pyramidenformen, bei der die gegliederte Aufgabe zentriert zu den Teilaufgaben<br />
dargestellt wird (vgl. Abbildung 3.5a) und Terrassenformen, bei denen die Teilaufgaben<br />
unterhalb der Aufgabe notiert sind (vgl. Abbildung 3.5d), unterschieden. Eine Aufgabengliederung<br />
mit Hilfe eines Rasterblatts zeigt Abbildung 3.5b. Die Teilaufgaben zu einer Aufgabe, die<br />
sowohl durch die Gliederung widerspiegelnde Nummer (links) als auch durch eine laufende Aufgabennummer<br />
(rechts) nummeriert sind, werden hierbei in einer Zeile des Formulars aufgeführt.<br />
Rasterblätter werden in erster Linie als Hilfsmittel bei der Erhebung von Aufgabengliederungen<br />
eingesetzt [REFA, 1992, S. 88f]. Aufgaben, die während der Erstellung bereits untergliedert<br />
wurden, werden durch „/“ und nicht weiter zerlegte Aufgaben durch „-“ markiert. Nach der Erhebung<br />
werden die Rasterblätter in Strukturbilder (Abbildung 3.5d) übertragen. Eher listenartige<br />
Darstellungen bieten Aufgabenlisten (Abbildung 3.5c) und Blockdarstellungen (Abbildung 3.5e).<br />
In einigen Notationen wird bei der Bezeichnung der Aufgaben auf die Angabe der Verrichtungsoder<br />
Objektkomponente verzichtet. Bei Verrichtungsgliederungen werden häufig nur die Verrichtungen<br />
und bei Objektgliederungen nur die Objekte genannt (vgl. z. B. [Kosiol, 1976, S. 50ff],
44 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
[Schmidt, 1989, S.168ff]). Das jeweils verwendete Gliederungskriterium wird in einigen Dialekten<br />
der Aufgabengliederungsplänen (z. B. [Nordsieck, 1962, S. 16], [Kosiol, 1976, S. 50ff])<br />
ebenfalls dargestellt (vgl. auch Abbildung 3.5a).<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Bei Beschreibungen nach dem Aufgabengliederungsparadigma steht also die Darstellung der<br />
Aufgaben und ihrer Untergliederung, evtl. nach unterschiedlichen Aufgabentypen, im Mittelpunkt.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong> die Sprachen des Aufgabengliederungsparadigmas sollte<br />
somit Konzepte zur Modellierung von Aufgaben mit ihren Verrichtungs- und Objektkomponenten,<br />
von Aufgabengliederungen und von Gliederungskriterien bereitstellen.<br />
3.3 Visuelle <strong>Modellierungssprachen</strong> der Aufbausicht<br />
Aus der Aufbausicht werden die Organisationseinheiten beschrieben, die mit der Umsetzung der<br />
Aufgaben betraut sind. Organisationseinheiten fassen einen oder mehrere Aufgabenträger zusammen,<br />
die bestimmte Aufgaben zu erfüllen haben und hierzu mit den nötigen Kompetenzen<br />
ausgestattet sind. Organisationseinheiten werden in Stellen, Abteilungen und Stellenmehrheiten<br />
unterschieden. Stellen bezeichnen hierbei von konkreten Personen unabhängige Zusammenfassungen<br />
von Aufgaben, die von einer Person bewältigt werden können. Abteilungen sind Zusammenfassungen<br />
von Stellen, in denen einer Stelle besondere Leitungs- und Koordinationsaufgaben<br />
bezogen auf die restlichen Stellen übertragen werden. Zusammenfassungen gleichrangiger Stellen<br />
ohne Leitungsstelle werden als Stellenmehrheit bezeichnet. (zur Diskussion und Einordnung<br />
des Stellenbegriffs vergleiche auch [Kosiol, 1976, S.89], [Schwarz, 1980])<br />
Zur Konkretisierung von Stellen (vgl. auch [Grochla, 1982, S. 329], [Schmidt, 1989, S. 268ff],<br />
[Lehner et al., 1991, S. 264f]) sind die Stellenaufgaben und die hierzu gewährten Kompetenzen<br />
und Befugnisse festzulegen. Hinzu kommt die Einbettung der Stelle in die Aufbauorganisation<br />
durch Angabe des Stellenrangs (z. B. Gruppenleiter oder Abteilungsleiter) und der Festlegung<br />
der fachlichen und disziplinarischen Über- und Unterstellungsverhältnisse sowie der aktiven und<br />
passiven Vertretungsverhältnisse. Die Zusammenarbeit mit anderen Organisationseinheiten ist<br />
ebenfalls festzulegen. Dieses umfaßt u. a. auch die Komm<strong>uni</strong>kations- und Informationsbeziehungen<br />
zu anderen Stellen und die Mitwirkung in Ausschüssen oder Arbeitskreisen. Darüber<br />
hinaus sind auch die Anforderungen an den Stelleninhaber festzulegen.<br />
Je nach Leitungsbefugnissen werden Stellen in Ausführungsstellen, Leitungsstellen und in Stabsstellen<br />
unterschieden. Ausführungsstellen haben keine Leitungsbefugnisse, Leitungsstellen oder<br />
Instanzen sind mit Leitungs- und Weisungsbefugnissen ausgestattet. Stellen, die Leitungsstellen<br />
beraten und unterstützen, aber keine direkten Weisungsbefugnisse gegenüber den Ausführungsstellen<br />
besitzen, werden als Stabstellen bezeichnet.<br />
Die <strong>visuelle</strong>n Modellierungsprachen des Stellengliederungsparadigmas heben hierbei die Einbettung<br />
der Stellen in die Aufbauorganisation hervor. Diese bezieht sich insbesondere auf die<br />
Über- und Unterstellungsverhältnisse und die Bildung von Abteilungen. Komm<strong>uni</strong>kations- und<br />
Informationsbeziehungen zwischen Stellen und Abteilungen werden mit den Darstellungsmitteln<br />
des Komm<strong>uni</strong>kationsparadigmas beschrieben.
3.3 Visuelle <strong>Modellierungssprachen</strong> der Aufbausicht 45<br />
3.3.1 Visuelle Modellierungsprachen des Stellengliederungsparadigmas<br />
Die Einbettung der Stellen in die Aufbauorganisation erfolgt durch Festlegung der Leitungsbeziehungen<br />
zwischen den Stellen. Unterschieden werden hierbei Einlinien-Systeme, bei denen<br />
jeder Stelle höchstens eine Instanz vorgesetzt ist, und Mehrlinien-Systeme, in denen einer Stelle<br />
auch mehrere Leitungsstellen übergeordnet sein können. Das Einlinien-System beruht auf dem<br />
von [Fayol, 1919, S. 21] postulierten Prinzip der „Einheit der Auftragserteilung“, durch das<br />
Leitungs- und Weisungsbefugnisse eindeutig festgelegt werden. Das Mehrlinien-System geht<br />
auf das Funktionsmeistersystem von [Taylor, 1919, S. 132f] zurück, in dem <strong>für</strong> spezielle Teilbereiche<br />
der Aufgabenerledigung unterschiedliche Leitungsinstanzen (Spezial- oder Funktionsmeister)<br />
vorgesehen sind.<br />
Zur Beschreibung der Weisungs- und Leitungsbeziehungen zwischen Stellen werden Organigramme,<br />
Abteilungsgliederungspläne, Organisationspläne, Organisationsschaubilder, Stellenbeschreibungen,<br />
Stellengliederungspläne, Stellenpläne und Strukturpläne verwendet.<br />
Notationelle Grundform: Organigramm<br />
Zur Darstellung von Einlinien-Systemen werden ähnlich wie <strong>für</strong> Aufgabengliederungspläne<br />
baumartige Diagrammformen verwendet. Die Knoten symbolisieren hierbei die Stellen und die<br />
Kanten die Leitungsbeziehungen, die ebenfalls von oben nach unten bzw. von links nach rechts<br />
gelesen werden.<br />
Die Darstellung der Stellen erfolgt durch unterschiedliche graphische Formen <strong>für</strong> Instanzen,<br />
Stabsstellen und Ausführungsstellen. [Kosiol, 1976, S. 173ff] notiert Leitungsstellen durch<br />
Rechtecke, Ausführungsstellen durch Dreiecke und Stabsstellen durch Ovale. Stellenmehrheiten<br />
werden <strong>für</strong> alle drei Stellentypen durch Doppellinien (und optionaler Angabe der Stellenanzahl)<br />
ausgezeichnet. In der Praxis hat sich das Dreieck zur Darstellung der Ausführungsaufgaben<br />
aufgrund der begrenzten Annotationsfähigkeit nicht durchgesetzt [Blum, 1980a]. Ausführungsstellen<br />
werden daher ebenfalls durch Rechtecke notiert.<br />
Beispiel 3.3 (Organigramm eines Krankenhauses)<br />
Abbildung 3.6 stellt einen Ausschnitt eines Organigramms zur Beschreibung der Aufbauorganisation<br />
eines Krankenhauses [Schumm et al., 1995] dar. Die Gesamtleitung des Krankenhauses<br />
erfolgt durch den Verwaltungsrat, der hier als Stellenmehrheit aus fünf Stellen<br />
besteht. Diesem sind der ärztliche Direktor, derPflegedienstleiter und der Verwaltungsdirektor<br />
unterstellt.<br />
Der ärztliche Direktor koordiniert, unterstützt durch eine mehrfach besetzte Stabsstelle <strong>Se</strong>kretärin,<br />
die medizinischen Bereiche, denen jeweils Chefärzte vorstehen. Diese Bereiche<br />
bestehen aus mehreren Ärzten, wobei die Oberärzte gegenüber den Ärzten Leitungsfunktionen<br />
übernehmen. Den Chefärzten sind weiter Abteilungsleiter diverser Funktionen mit<br />
ihren Mitarbeitern unterstellt. Der Pflegedienstleiter leitet den pflegerischen Betrieb. Er<br />
wird ebenfalls durch eine mehrfach besetzte Stabsstelle <strong>Se</strong>kretärin unterstützt. Dem Pflegedienstleiter<br />
unterstehen mehrere Abteilungen, die durch Abteilungsleiter geleitet werden.<br />
Den Abteilungsleitern sind jeweils Stationsleitungen und diesen wiederum Pflegekräfte<br />
in einer Stellenmehrheit unterstellt. In ähnlicher Form ist auch der Verwaltungsbereich
46 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Ärztlicher<br />
Direktor<br />
Chefarzt<br />
Chirugie<br />
Chefarzt<br />
Radiologie<br />
Oberarzt<br />
Chirugie<br />
<strong>Se</strong>kretärin<br />
AbteilungsleiterPhysikalischeTherapie<br />
AbteilungsleiterKrankengymnastik<br />
Oberarzt<br />
Radiologie<br />
Abteilungsleiter<br />
Radiologie<br />
<strong>Se</strong>kretärin<br />
<strong>Se</strong>kretärin<br />
Arzt<br />
Chirurgie<br />
Mitarbeiter<br />
Physikalische<br />
Therapie<br />
Mitarbeiter<br />
Krankengymnastik<br />
Arzt<br />
Radiologie<br />
MTA<br />
Radiologie<br />
5<br />
Verwaltungsrat<br />
Pflegedienst<br />
Leiter<br />
Abteilungsleiter<br />
Chirurgie<br />
Abteilungsleiter<br />
Intensiv<br />
Abteilungsleiter<br />
Innere<br />
<strong>Se</strong>kretärin<br />
Stationsleiter<br />
Chirurgie 1<br />
Stationsleiter<br />
Chirurgie 2<br />
Stationsleiter<br />
Intensiv<br />
Stationsleiter<br />
Innere<br />
Pflegekraft<br />
Pflegekraft<br />
Pflegekraft<br />
Pflegekraft<br />
Abbildung 3.6: Organigramm<br />
Verwaltungsdirektor<br />
AbteilungsleiterMaterialwirtschaft<br />
AbteilungsleiterRechnungswesen<br />
<strong>Se</strong>kretärin<br />
Leiter<br />
Zentrallager<br />
Leiter<br />
Küche<br />
Leiter<br />
stationäre<br />
Abrechnung<br />
Mitarbeiter<br />
Finanzbuchhaltung<br />
Mitarbeiter<br />
Zentrallager<br />
Mitarbeiter<br />
Küche<br />
Mitarbeiter<br />
stationäre<br />
Abrechnung<br />
Mitarbeiter<br />
Aufnahme<br />
strukturiert. Dem Verwaltungsdirektor unterstehen die durch Abteilungsleiter koordinierten<br />
Verwaltungseinheiten. Auch der Verwaltungsdirektor wird durch <strong>Se</strong>kretärinnen unterstützt.<br />
Den Abteilungsleitern sind weitere Leiter und Mitarbeiter unterstellt. £<br />
Notationelle Varianten<br />
Da die Darstellung von Einlinien-Systemen durch jede baumartige Notationsform erfolgen kann,<br />
finden auch hier die schon <strong>für</strong> Aufgabengliederungspläne eingeführten Darstellungsvarianten<br />
Verwendung (vgl. Abbildung 3.5). Organigramme werden häufig in Pyramiden- oder Terrassendarstellungen<br />
notiert. Diese werden sowohl horizontal als auch vertikal ausgerichtet. Daneben<br />
werden auch Blockdarstellungen evtl. unter Verwendung von Rasterblättern oder listenartige<br />
Darstellungen verwendet.<br />
Weitere Darstellungsvarianten <strong>für</strong> Einlinien-Systeme sind in Abbildung 3.7 am Beispiel des Teilorganigramms<br />
der Chirurgie aus Abbildung 3.6 skizziert. Organigramme in Säulenformen entsprechen<br />
<strong>für</strong> die ersten Gliederungsebenen den Organigrammen in Pyramidenform. Meist ab der<br />
zweiten oder dritten Stufe werden die Stellen unterhalb ihrer überstellten Instanz angeordnet. Es<br />
entstehen dann nebeneinander liegende Spalten oder Säulen <strong>für</strong> klar identifizierbare Teilbereiche<br />
der Aufbauorganisation. Abbildung 3.7a beschreibt die Chirurgie durch eine solche Säule.
3.3 Visuelle <strong>Modellierungssprachen</strong> der Aufbausicht 47<br />
Chefarzt<br />
Chirurgie<br />
a) Organigramm in<br />
Säulenform<br />
Arzt<br />
Chirurgie<br />
Oberarzt<br />
Chirurgie<br />
Abteilungsleiter<br />
Physikalische<br />
Therapie<br />
AbteilungsleiterKrankengymnastik<br />
Oberarzt<br />
Chirurgie<br />
<strong>Se</strong>kretärin<br />
Arzt<br />
Chirurgie<br />
Mitarbeiter<br />
Physikalische<br />
Therapie<br />
Mitarbeiter<br />
Krankengymnastik<br />
<strong>Se</strong>kretärin<br />
Chefarzt<br />
Chirurgie<br />
Abteilungsleiter<br />
Physikalische<br />
Therapie<br />
Mitarbeiter<br />
Physikalische<br />
Therapie<br />
AbteilungsleiterKrankengymnastik<br />
d) Organigramm in Kreisform<br />
Mitarbeiter<br />
Krankengymnastik<br />
Arzt<br />
Chirurgie<br />
Chefarzt Chirurgie<br />
<strong>Se</strong>kretärin<br />
Oberarzt Chirurgie<br />
Arzt Chirurgie<br />
Abteilungsleiter Physikalische Therapie<br />
Mitarbeiter Physikalische Therapie<br />
Abteilungsleiter Krankengymnastik<br />
Mitarbeiter Krankengymnastik<br />
<strong>Se</strong>kretärin<br />
Oberarzt<br />
Chirurgie<br />
b) Organigramm in<br />
Blockdarstellung<br />
Chefarzt<br />
Chirurgie<br />
c) Organigramm in<br />
Satellitenform<br />
Physikalische<br />
Therapie<br />
Abteilungsleiter<br />
Mitarbeiter<br />
Abteilungsleiter<br />
Physikalische<br />
Therapie<br />
AbteilungsleiterKrankengymnastik<br />
Chirurgie<br />
Chefarzt<br />
Oberärzte<br />
Ärzte<br />
<strong>Se</strong>kretärinnen<br />
Mitarbeiter<br />
Physikalische<br />
Therapie<br />
Mitarbeiter<br />
Krankengymnastik<br />
Krankengymnastik<br />
Abteilungsleiter<br />
Mitarbeiter<br />
e) Abteilungsorganigramm<br />
Abbildung 3.7: Organigramme <strong>für</strong> Einliniensysteme, notationelle Varianten
48 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Eine listenartige Form der Blockdarstellung wird in Abbildung 3.7b verwendet. Jede Stelle wird<br />
hierbei linksbündig in einer eigenen Zeile vermerkt, wobei die Zeilen <strong>für</strong> untergeordnete Stellen<br />
immer kürzer werden. Gegenüber der reinen Blockform (vgl. Abbildung 3.5e) erlaubt diese<br />
Notationsform anhand der sich rechts ergebenden leeren Spalten einen guten Überblick über<br />
alle, einer Instanz auch indirekt unterstellten Stellen. Diese Darstellungsform tritt auch in Spaltenformen<br />
auf. Jede Stelle wird hierbei in einer Spalte dargestellt. Werden die nachgeordneten<br />
Stellen kreisförmig um die Leitungsstelle angeordnet, erhält man ein Satelliten- oder Sonnenorganigramm<br />
(vgl. Abbildung 3.7c). Anstelle rechteckiger Blöcke verwenden Organigramme in<br />
Kreisform Kreissegmente (vgl. Abbildung 3.7d).<br />
Aus Platzgründen bietet es sich bei Organigrammen an, Mischformen zu verwenden. So wird<br />
auch in Abbildung 3.6 zunächst eine vertikale Pyramidenform verwendet, die in eine säulenartige<br />
Darstellung mit „Säulen“ <strong>für</strong> die Medizin, die Pflege und die Verwaltung übergeht. Innerhalb<br />
der Säulen erfolgt die Darstellung durch horizontale Terrassendarstellungen. Überblicksdarstellungen<br />
und Bewertungen der einzelnen Organigrammformen bezüglich ihrer Ausdrucksmächtigkeit<br />
und Übersichtlichkeit finden sich z. B. in [Hub / Fischer, 1977] und in [Blum, 1980a, Blum,<br />
1980b].<br />
Abteilungsorganigramme. In den bisher beschriebenen Notationsformen von Organigrammen<br />
in Abbildung 3.6 und 3.7a-d werden Leitungsbeziehungen zwischen Stellen beschrieben.<br />
Häufig wird durch Organigramme aber auch die Gliederung von Abteilungen in Unterabteilungen<br />
herausgestellt (vgl. z. B. [Nordsieck, 1962, Abb. 81], [Kosiol, 1976, S. 175], [Jordt/Gscheidle,<br />
(o.J.), Lehrbrief 3]). Abbildung 3.7e stellt ein solches Abteilungsorganigramm <strong>für</strong> die Chirurgie<br />
dar, die sich in die Unterabteilungen physikalische Therapie und Krankengymnastik gliedert.<br />
Hier sind neben den Abteilungsnamen auch noch die in der Abteilung zusammengefaßten Stellen<br />
einschließlich der Instanz (in Fettdruck) aufgeführt. Beziehungen zwischen den Stellen werden<br />
in diesem Beispiel nicht abgebildet. Varianten der Abteilungsorganigramme notieren auch Leitungsbeziehungen<br />
zwischen den Stellen innerhalb einer Abteilung oder verzichten vollständig<br />
auf eine Darstellung der Stellen.<br />
Organigramme <strong>für</strong> Mehrliniensysteme. In Mehrliniensystemen ist die Leitung einer Stelle<br />
nicht eindeutig geregelt. Einer Stelle sind evtl. mehrere verschiedene Instanzen bezogen auf<br />
unterschiedliche Zusammenhänge [Taylor, 1919, S. 132] weisungsbefugt. Zur Beschreibung von<br />
Mehrlinien-Systemen wird auch auf die Organigrammformen <strong>für</strong> Einliniensysteme zurückgegriffen.<br />
Durch diese Einlinien-Organigramme werden häufig disziplinarische Unter- bzw. Überstellungen<br />
dargestellt. Weitere, dann eher funktionsbezogene Weisungsbeziehungen werden durch<br />
zusätzliche Beziehungsgeflechte zwischen den jeweiligen Stellen angedeutet.<br />
Beispiel 3.4 (Mehrlinien-Organigramme)<br />
Abbildung 3.8 skizziert sowohl die disziplinarischen als auch die funktionsbezogenen<br />
Weisungsbeziehungen <strong>für</strong> die Chirurgie einschließlich der Stationen. Der Abteilungsleiter<br />
Chirurgie, derStationsleiter und die Pflegekräfte sind der Pflegedienstleitung disziplinarisch<br />
unterstellt. Sie erhalten aber auch Anweisungen durch das medizinische Personal,<br />
das direkt oder indirekt dem Ärztlichen Direktor unterstellt ist. £
3.3 Visuelle <strong>Modellierungssprachen</strong> der Aufbausicht 49<br />
5<br />
Verwaltungsrat<br />
Ärztlicher<br />
Direktor<br />
5<br />
Verwaltungsrat<br />
Ärztlicher<br />
Direktor<br />
Chefarzt<br />
Chirurgie<br />
Chefarzt<br />
Chirurgie<br />
Verwaltungsrat<br />
Oberarzt<br />
Chirurgie<br />
Oberarzt<br />
Chirurgie<br />
Arzt<br />
Chirurgie<br />
Arzt<br />
Chirurgie<br />
Pflegedienst<br />
Leiter<br />
b) Säulenmatrix<br />
Ärztlicher Direktor<br />
Chefarzt Chirurgie<br />
Oberarzt Chirurgie<br />
Arzt Chirurgie<br />
Pflegedienst Leiter<br />
A<br />
d) Tabellenmatrix<br />
a) Gittermatrix<br />
Pflegedienst<br />
Leiter<br />
Abteilungsleiter Chirurgie<br />
F<br />
Abteilungsleiter<br />
Chirurgie<br />
Stationsleiter<br />
Chirurgie 1<br />
Abteilungsleiter<br />
Chirurgie<br />
Stationsleiter<br />
Chirurgie 1<br />
Pflegekraft<br />
F F<br />
F F F<br />
F F F<br />
Pflegekraft<br />
Stationsleiter<br />
Chirurgie 1<br />
von<br />
Pflegekraft<br />
nach<br />
Verwaltungsrat<br />
Ärztlicher Direktor<br />
Chefarzt Chirurgie<br />
Oberarzt Chirurgie<br />
Arzt Chirurgie<br />
Pflegedienstleiter<br />
Abteilungsleiter Chirurgie<br />
Stationsleiter<br />
Chirurgie 1<br />
Pflegekraft<br />
Verwaltungsrat<br />
Ärztlicher Direktor<br />
Chefarzt Chirurgie<br />
Oberarzt Chirurgie<br />
Arzt Chirurgie<br />
Pflegedienstleiter<br />
Abteilungsleiter Chirurgie<br />
Stationsleiter Chirurgie 1<br />
Verwaltungsrat<br />
Pflegekraft<br />
c) Dreiecksmatrix<br />
Ärztlicher Direktor<br />
Chefarzt Chirurgie<br />
Oberarzt Chirurgie<br />
Arzt Chirurgie<br />
e) symmetrische Stellentabelle<br />
Abbildung 3.8: Organigramme <strong>für</strong> Mehrlinien-Systeme<br />
A<br />
A<br />
F<br />
F F<br />
F F F<br />
F F<br />
F<br />
Pflegedienstleiter<br />
A<br />
Abteilungsleiter Chirurgie<br />
Stationsleiter<br />
Chirurgie 1<br />
Pflegekraft<br />
F F F<br />
F F F<br />
F F F
50 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Zur Darstellung von Systemen mit zwei Leitungsdimensionen werden Teilorganigramme so<br />
zueinander ausgerichtet, daß die zweite Leitungsdimension übersichtlich notiert werden kann.<br />
Durch ein horizontal ausgerichtetes Teilorganigramm des pflegerischen Bereichs und ein vertikal<br />
ausgerichtetes Teilorganigramm des medizinischen Bereichs wird in Abbildung 3.8a eine<br />
Gittermatrix aufgespannt, an deren Schnittpunkten die zusätzlichen Weisungsbeziehungen zwischen<br />
den jeweiligen Stellen notiert werden. In der Säulenmatrix in Abbildung 3.8b werden die<br />
Teilorganigramme des medizinischen und pflegerischen Bereichs parallel zueinander dargestellt.<br />
Die zweite Leitungsdimension wird hier durch zusätzliche Linien direkt eingezeichnet. Matrizenartige<br />
Darstellungen dieser beiden Leitungsdimensionen werden in Abbildung 3.8c und d<br />
dargestellt. Die jeweiligen Teilorganigramme sind hier in Blockdarstellung notiert, so daß in den<br />
Schnittpunkten der Zeilen und Spalten zu den einzelnen Stellen die Art der Weisungsbeziehung<br />
notiert werden kann. Hier können u. a. fachliche Weisungsbeziehungen (F) z. B. zwischen medizinischem<br />
und pflegerischem Personal und Abstimmungsbeziehungen (A) z. B. zwischen dem<br />
ärztlichen Direktor und dem Pflegedienstleiter unterschieden werden. Die Richtung der Weisungsbeziehungen<br />
ist in diesen Darstellungen, bezogen auf die erste Leitungsdimension, den<br />
Darstellungen der Einliniensysteme zu entnehmen. Die Richtung der zweiten Leitungsdimension<br />
ist dagegen häufig nicht eindeutig erkennbar. Eine eindeutige Ausrichtung der zweiten Leitungsdimension<br />
wird in Abbildung 3.8e sichtbar, in der zwei identische vertikal bzw. horizontal<br />
ausgerichtete Organigramme in Blockdarstellung so zu einer symmetrischen Stellentabelle überlagert<br />
sind, daß die Beziehungen zwischen den Stellen in beiden Richtungen notiert werden<br />
können.<br />
Zur Darstellung von mehr als zwei Leitungsdimensionen können insbesondere die Darstellungen<br />
als Gitter- oder Säulenmatrix um weitere Dimensionen ergänzt werden. Graphische Darstellungen<br />
<strong>für</strong> Organigramme mit mehr als zwei Dimensionen werden jedoch schnell sehr unübersichtlich<br />
(vgl. [Blum, 1980b, Bild 12ff]), so daß diese Zusammenhänge kaum graphisch dargestellt<br />
werden.<br />
Funktionendiagramme. Während in Organigrammen Leitungs- und Weisungsbeziehungen<br />
zwischen Stellen sowie hierarchische Abteilungsgliederungen dargestellt werden, beschreiben<br />
Funktionendiagramme [Menzl / Nauer, 1974], [Hub / Fischer, 1977, S. 53] die Zuordnung von<br />
Aufgaben zu diesen Stellen. Hierzu werden Organigramme und Aufgabengliederungspläne (vgl.<br />
Kapitel 3.2.1) einander gegenübergestellt. Funktionendiagramme bilden daher die jeweiligen<br />
Stellen- und Aufgabengliederungen gemeinsam ab und stellen somit ein integriertes Beschreibungsmittel<br />
der Aufgaben- und der Aufbausicht dar. Wesentlicher Beschreibungsaspekt ist jedoch<br />
die Festlegung der Zuständigkeiten zur Erledigung einzelner Aufgaben durch hierarchisch<br />
gegliederte Stellen, so daß Funktionendiagramme hier als Beschreibungsmittel der Aufbausicht<br />
und des Stellengliederungsparadigmas zugeordnet werden.<br />
Zur Darstellung von Funktionendiagrammen bieten sich jeweils orthogonal zueinander gestellte,<br />
blockartige Notationsformen der Organigramme und der Aufgabengliederungspläne an. Diese<br />
spannen dann eine Tabelle auf, in der <strong>für</strong> jede Stelle und <strong>für</strong> jede Aufgabe die Art der Aufgabenerledigung<br />
notiert werden kann (vgl. Abbildung 3.9). Die Art der Aufgabenerledigung, die in<br />
diesem Zusammenhang auch als Funktion (vgl. z. B. [Hub / Fischer, 1977, S. 58f]) bezeichnet<br />
wird, beschreibt den Anteil der Aufgabenträger an der Aufgabenerfüllung. Diese Klassifizierung<br />
erfolgt entlang der Rang- und Phasengliederungen der Aufgaben. Unterschieden werden Zustän-
3.3 Visuelle <strong>Modellierungssprachen</strong> der Aufbausicht 51<br />
digkeiten bezogen auf die Entscheidung, die Planung, die Anordnung, die Ausführung und die<br />
Kontrolle der Aufgabenausführung (vgl. z. B. [Menzl / Nauer, 1974], [Schmidt, 1989, S. 283ff],<br />
[Lehner et al., 1991, S. 269], [Jordt / Gscheidle, (o.J.), Lehrbrief 4, S. 19]. Eine übliche Klassifikation<br />
der Funktionen ist in der Legende zu Abbildung 3.9 dargestellt. In den Zeilen eines<br />
Funktionendiagramms kann dann die Zerlegung der Aufgaben in Funktionen und deren Aufteilung<br />
auf Aufgabenträger abgelesen werden. Die Spalten geben die Aufgaben und Funktionen der<br />
einzelnen Stellen an.<br />
G = Gesamtzuständigkeit<br />
EV = Entscheidungsvorbereitung<br />
E = Entscheidung<br />
EM = Mitentscheidung<br />
EK = Kollektiventscheidung<br />
EN = Entscheidung im Normalfall<br />
EG = Entscheidung in Grundsatzfragen<br />
EW = Entscheidung in wichtigen Fällen<br />
EA = Entscheidung in Ausnahmefällen<br />
P = Planung<br />
A = Ausführung<br />
AM = Mitwirkung bei der Ausführung<br />
K = Kontrolle<br />
KE = Ergebniskontrolle<br />
KV = Verfahrenskontrolle<br />
Therapie durchführen<br />
therapeutische<br />
Maßnahmen planen<br />
pflegerische Maßnahmen<br />
anordnen<br />
Medikamente anordnen<br />
OP anordnen<br />
therapeutische<br />
Maßnahmen durchführen<br />
Patient medizinisch<br />
versorgen<br />
Patient pflegen<br />
Patient <strong>für</strong> OP vorbereiten<br />
Verwaltungsrat<br />
Ärztlicher Direktor<br />
G<br />
Chefarzt Chirurgie<br />
EG<br />
EG<br />
EG<br />
Oberarzt Chriurgie<br />
EW<br />
EW<br />
EW<br />
Arzt Chriugie<br />
EN<br />
EN<br />
EN<br />
Pflegedienstleiter<br />
G G<br />
Abbildung 3.9: Funktionendiagramm<br />
Abteilungsleiter Chirurgie<br />
Stationsleiter<br />
Chriurgie 1<br />
EG EW<br />
Pflegekraft<br />
A A AM<br />
Beispiel 3.5 (Funktionendiagramm der Stationen (Ausschnitt))<br />
Die Verteilung der Aufgaben einer Station im Krankenhaus [Schumm et al., 1995] auf<br />
unterschiedliche Aufgabenträger wird im Funktionendiagramm aus Abbildung 3.9 skizziert.<br />
Entscheidungen über die Anordnung pflegerischer Maßnahmen treffen in graduellen<br />
Abstufungen Mediziner und Pflegepersonal. DieAnordnung von Medikamenten und<br />
A<br />
A<br />
P<br />
P<br />
A<br />
A
52 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Operationen ist ausschließlich dem medizinischen Personal vorbehalten. Das medizinische<br />
Personal ist ebenfalls <strong>für</strong> die medizinische Versorgung der Patienten verantwortlich, wird<br />
aber hierbei durch die Pflegekräfte unterstützt. Die Pflege der Patienten wird durch den<br />
Abteilungsleiter und den Stationsleiter geplant und durch die Pflegekräfte ausgeführt. Die<br />
Vorbereitung der Patienten <strong>für</strong> Operationen wird sowohl von Ärzten und Pflegekräften ausgeführt.<br />
Die Gesamtverantwortung <strong>für</strong> die Planung und Durchführung der Behandlungen<br />
liegt beim Ärztlichen Direktor und dem Pflegedienstleiter. £<br />
Die Darstellung der unterschiedlichen Funktionen erfolgt wie in Abbildung 3.9 zumeist durch<br />
Buchstabenkürzel. Es ist aber auch üblich, geometrische Muster zur Unterscheidung der Funktionen<br />
zu verwenden (z. B. [Nordsieck, 1962, S. 25], [Grochla, 1982, S. 310], [Jordt / Gscheidle,<br />
(o.J.), Lehrbrief 4, S. 19]), die überlagert auch Funktionskombinationen ausdrücken können.<br />
Stellenbeschreibungen. Organigramme und Funktionendiagramme stellen mit der Stellenhierarchie<br />
und der Verteilung der Aufgaben auf die Stellen jeweils nur besondere Aspekte<br />
der Aufbauorganisation dar. Eine umfassendere Beschreibung aller Aspekte erlauben Stellenbeschreibungen<br />
[Grochla, 1982, S. 328], [Schmidt, 1989, S. 267ff], [Lehner et al., 1991, S. 264].<br />
In Stellenbeschreibungen werden textuell alle wesentlichen Eigenschaften der Stellen aufgeführt.<br />
Neben den durch Stellen auszuführenden Aufgaben und der Unter- und Überstellungsbeziehungen,<br />
können in Stellenbeschreibungen u. a. auch die Kompetenzen, Befugnisse, Stellvertretungsregelungen,<br />
Komm<strong>uni</strong>kationsbeziehungen und die Anforderungen an Stelleninhaber zusammenfassend<br />
dargestellt werden. Organigramme und Funktionendiagramme ergänzen häufig diese textuellen<br />
Beschreibungen.<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Wesentliche Konzepte des Stellengliederungsparadigmas sind die Leitungs-, Stabs- und Ausführungsstellen,<br />
die zwischen diesen vorliegenden Weisungs- und Leitungsbeziehungen sowie<br />
die den einzelnen Stellen zugeordneten Aufgaben. Das <strong>Referenz</strong>-<strong>Metaschema</strong> <strong>für</strong> die <strong>visuelle</strong>n<br />
<strong>Modellierungssprachen</strong> des Stellengliederungsparadigmas muß somit Konzepte zur Beschreibung<br />
der verschiedenen Stellenformen, der Leitungs- und Weisungsbeziehungen und der Aufgabenzuordnungen<br />
<strong>für</strong> unterschiedliche Funktionen bereitstellen. Darüber hinaus sind auch Zusammenfassungen<br />
der Stellen zu Stellenkomplexen (Abteilungen, Ausschüssen etc.) und weitere<br />
Eigenschaften der Stellen wie z. B. Kompetenzen, Befugnisse, Vertretungsregelungen und Anforderungen<br />
zu berücksichtigen.<br />
3.3.2 Visuelle <strong>Modellierungssprachen</strong> des Komm<strong>uni</strong>kationsparadigmas<br />
Die Komm<strong>uni</strong>kation zwischen Organisationseinheiten wird mit den Beschreibungsmitteln des<br />
Komm<strong>uni</strong>kationsparadigmas modelliert. Beschreibungsgegenstand sind neben den an der Komm<strong>uni</strong>kation<br />
beteiligten Stellen und Abteilungen auch die Komm<strong>uni</strong>kationshäufigkeiten, die<br />
Komm<strong>uni</strong>kationsdauer und die verwendeten Komm<strong>uni</strong>kationsmedien (vgl. [Grochla, 1982,<br />
S. 313], [Schmidt, 1989, S. 286])
3.3 Visuelle <strong>Modellierungssprachen</strong> der Aufbausicht 53<br />
Die Beschreibung der Komm<strong>uni</strong>kationsbeziehungen zwischen Stellen und Abteilungen erfolgt<br />
durch Komm<strong>uni</strong>gramme, durch Komm<strong>uni</strong>kationsdiagramme, durch Kommunkationsgraphen,<br />
durch Komm<strong>uni</strong>kationstabellen und durch Kooperationsbilder.<br />
Notationelle Grundform: Komm<strong>uni</strong>gramm<br />
Zur Darstellung von Komm<strong>uni</strong>kationsbeziehungen werden graphbasierte Darstellungsmittel verwendet,<br />
bei denen die Knoten jeweils die Komm<strong>uni</strong>kationspartner und die Kanten die Komm<strong>uni</strong>kationsbeziehungen<br />
darstellen. Graduelle Unterschiede in der Komm<strong>uni</strong>kation, wie z. B. unterschiedliche<br />
Komm<strong>uni</strong>kationshäufigkeiten oder -dauern, werden durch Kantenattributierungen<br />
oder durch <strong>visuelle</strong> Unterscheidung der Kantendarstellung hervorgehoben.<br />
Beispiel 3.6 (Komm<strong>uni</strong>gramm)<br />
Das Komm<strong>uni</strong>gramm aus Abbildung 3.10 beschreibt die Komm<strong>uni</strong>kationsbeziehungen<br />
zwischen der Chirurgischen Station, den medizinischen Funktionen Physikalische Therapie<br />
und Krankengymnastik,denÄrzten und den Verwaltungsabteilungen Aufnahme und<br />
stationäre Abrechnung.<br />
Arzt<br />
Krankengymnastik<br />
Aufnahme<br />
Physikalische<br />
Therapie<br />
Stationäre<br />
Abrechnung<br />
Chirurgische<br />
Station<br />
Abbildung 3.10: Komm<strong>uni</strong>gramm (Komm<strong>uni</strong>kationshäufigkeit)<br />
Die unterschiedlichen Strichstärken der Kanten zwischen den einzelnen Abteilungen symbolisieren<br />
hierbei unterschiedliche Komm<strong>uni</strong>kationshäufigkeiten. Dickere Strichstärken<br />
stellen hierbei häufigere Interaktionen dar. Aus dem Komm<strong>uni</strong>gramm in Abbildung 3.10<br />
wird ersichtlich, daß z. B. mehr Interaktionen zwischen der Chirurgischen Station und den<br />
Ärzten stattfinden als zwischen der Chirurgischen Station und der Aufnahme. DieRichtung<br />
einer Informationsübermittlung wird durch diese Notation nicht abgebildet. £
54 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Notationelle Varianten<br />
Auch zur Darstellung von Komm<strong>uni</strong>kationsbeziehungen werden alternative Darstellungsformen<br />
verwendet. Aufbauend auf Organigrammen in Blockdarstellung können Komm<strong>uni</strong>gramme als<br />
Adjazenzmatrizen dargestellt werden. Abbildung 3.11 spannt eine solche Adjazenzmatrix in<br />
Dreiecksform auf. Das links dargestellte Organigramm ist hierbei auf die relevanten Abteilungen<br />
(einschließlich einer „Abteilung“ <strong>für</strong> die Ärzte) beschränkt. Ebenso werden auch symmetrische<br />
Komm<strong>uni</strong>kationsmatrizen ähnlich Abbildung 3.8e verwendet. In den Feldern solcher Matrizen<br />
oder Tabellen können dann die Komm<strong>uni</strong>kationseigenschaften notiert werden. In Abbildung<br />
3.11a wird z. B. durch Pfeilsymbole die Komm<strong>uni</strong>kationsrichtung ( Æ À : bidirektional; Æ ,<br />
À : <strong>uni</strong>direktional) dargestellt.<br />
Verwaltungsrat<br />
Ärztlicher Direktor<br />
Arzt<br />
Physikalische Therapie<br />
Krankengymnastik<br />
Pflegedienstleiter<br />
Chirurgische Station<br />
Verwaltungsdirektor<br />
Rechnungswesen<br />
Stationäre<br />
Abrechnung<br />
Aufnahme<br />
Abbildung 3.11: Komm<strong>uni</strong>kationsmatrix (Dreiecksform)<br />
Der Komm<strong>uni</strong>kationsgraph in Abbildung 3.12 beschreibt durch die gerichteten Kanten ebenfalls<br />
die Komm<strong>uni</strong>kationsrichtung. Durch die Strichstärken der Kanten werden analog zu Abbildung<br />
3.10 verschiedene Komm<strong>uni</strong>kationshäufigkeiten unterschieden. In ähnlicher Form kann<br />
auch die Komm<strong>uni</strong>kationsdauer dargestellt werden.<br />
Kooperationsbilder. Während durch die bisher skizzierten Notationsformen <strong>für</strong> Komm<strong>uni</strong>gramme<br />
die Komm<strong>uni</strong>kationhäufigkeit oder -dauer beschrieben wurde, wird durch Kooperationsbilder<br />
[Krabbel et al., 1996], [Floyd et al., 1997] das zur Komm<strong>uni</strong>kation verwendete Medium<br />
herausgestellt.<br />
Das Kooperationsbild in Abbildung 3.13 unterscheidet durch Piktogramme die Komm<strong>uni</strong>kation<br />
durch Telefon, durch übermittelte Dokumente und durch persönlich übermittelte Dokumen-
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 55<br />
Arzt<br />
Krankengymnastik<br />
Physikalische<br />
Therapie<br />
Chirurgische<br />
Station<br />
Abbildung 3.12: Komm<strong>uni</strong>kationsgraph<br />
Aufnahme<br />
Stationäre<br />
Abrechnung<br />
te. Gerichtete Interakionen können in Kooperationsbildern zwischen Abteilungen (Rechtecke),<br />
zwischen Stellen (Ovale) und zwischen Bereichen außerhalb des modellierten Systems (Wolken)<br />
dargestellt werden. Eingesetzt werden Kooperationsbilder sowohl zur Erarbeitung der Komm<strong>uni</strong>kationszusammenhänge<br />
als auch zur Dokumentation in der Anforderungsermittlung [Krabbel<br />
et al., 1997].<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Durch die <strong>visuelle</strong>n Modellierungsprachen des Komm<strong>uni</strong>kationsparadigmas wird die Interaktion<br />
zwischen verschiedenen Komm<strong>uni</strong>kationspartnern in bezug auf die Komm<strong>uni</strong>kationshäufigkeit,<br />
die Komm<strong>uni</strong>kationsdauer und die hierzu verwendeten Komm<strong>uni</strong>kationsmedien beschrieben.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> dieser Sprachen muß somit Konzepte zur Beschreibung der miteinander<br />
interagierenden Stellen, Abteilungen und externen Partnern, der quantitativen Komm<strong>uni</strong>kationseigenschaften<br />
und der Komm<strong>uni</strong>kationsmedien bereitstellen.<br />
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht<br />
Beschreibungsschwerpunkt der Prozeßsicht ist die Darstellung sowohl logischer als auch zeitlicher<br />
Aspekte der Aufgabenbearbeitung.<br />
Logische Zusammenhänge in der Aufgabenbearbeitung beziehen sich auf die funktionalen Eigenschaften<br />
eines Systems. Beschrieben wird hierbei nicht, wann oder wie eine Berechnung erfolgt<br />
oder ein Prozeß ausgeführt wird, sondern was berechnet bzw. was getan wird. Funktionale<br />
Beschreibungen stellen das nach außen sichtbare Verhalten eines Systems dar. Hierzu werden die<br />
einzelnen Prozesse als Funktionen aufgefaßt, deren Eingaben in Ausgaben transformiert werden.
56 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Krankengymnastik<br />
Aufnahme<br />
Arzt<br />
Chirurgische<br />
Station<br />
stationäre<br />
Abrechnung<br />
Abbildung 3.13: Kooperationsbild<br />
Physikalische<br />
Therapie<br />
Krankenkasse<br />
Die logischen Zusammenhänge zwischen den einzelnen Prozessen werden durch die hierzwischen<br />
ausgetauschten Daten und Gegenstände beschrieben. Zur Darstellung dieser funktionalen<br />
oder logischen Systemeigenschaften werden die Beschreibungsmittel des Datenflußparadigmas<br />
verwendet.<br />
Die zeitliche Betrachtung der Aufgabenbearbeitung umfaßt die Untersuchung der Dynamik des<br />
zu beschreibenden Systems. Betrachtet wird hier das innere Verhalten eines System, d. h. wann,<br />
in welcher zeitlichen oder logischen Reihenfolge die Prozesse des Systems bearbeitet werden.<br />
Hierbei interessiert insbesondere der Kontrollfluß, d. h. die Reihenfolge in der die einzelnen Teilprozesse<br />
oder Operationen ausgeführt werden. Zur Beschreibung dieser Kontrollflußaspekte gibt<br />
es mehrere Paradigmen. Durch die <strong>visuelle</strong>n Sprachen des Zustandsübergangsparadigmas wird<br />
der Zustandswechsel eines einzelnen Objekts oder eines ganzen Systems über seine Lebenszeit<br />
beschrieben. Das dynamische Verhalten eines Systems kann auch durch Abfolgen von Prozessen<br />
und/oder Ereignissen beschrieben werden. Diese Beschreibungsmittel folgen dem Netzparadigma,<br />
das nahezu beliebige Kontrollflüsse zwischen Prozessen und Ereignissen abbildet. Die<br />
<strong>Modellierungssprachen</strong> des Kontrollflußparadigmas erlauben dagegen ausschließlich reguläre<br />
Strukturierungen der Kontrollflüsse durch <strong>Se</strong>quenzen, Iterationen und Verzweigungen.<br />
3.4.1 Visuelle <strong>Modellierungssprachen</strong> des Datenflußparadigmas<br />
Durch die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Datenflußparadigmas werden die funktionalen<br />
Beziehungen zwischen Daten oder Gegenständen, die von einem System benötigt und erzeugt<br />
werden, beschrieben. Das Gesamtsystem wird hierbei als eine funktionale Komponente (Akti-
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 57<br />
vität, Prozeß) aufgefaßt, die in weitere funktionale Komponenten zerlegt werden kann. Das von<br />
außen sichtbare Verhalten dieser funktionalen Komponenten wird durch die Angabe der Beziehungen<br />
zur Umwelt beschrieben. Mit den Beschreibungsmitteln des Datenflußparadigmas wird<br />
das zu modellierende System als ein Netz funktionaler Komponenten dargestellt, die über den<br />
Austausch von Daten oder Gegenständen miteinander interagieren. Diese Darstellungsmittel beschreiben<br />
den potentiell möglichen Daten- oder Materialfluß durch das System. Hierbei wird der<br />
Kontrollfluß in der Regel nicht modelliert.<br />
Zur Beschreibung dieser funktionalen Eigenschaften einer Organisation oder eines Softwaresystems<br />
werden Datenflußdiagramme, Bonapart Prozeßmodelle, Bubble-Charts, Datenflußpläne,<br />
Funktionszuordnungsdiagramme, SADT-Aktivitätsdiagramme, SADT-Datendiagramme und<br />
Verkehrsschaubilder verwendet. Datenflußdiagramme, die einen ersten Blick auf das zu modellierende<br />
System erlauben, werden auch als Kontextdiagramme oder Anwendungsfalldiagramme<br />
(Use-Case-Diagramme) bezeichnet.<br />
Notationelle Grundform: Datenflußdiagramm<br />
Die Darstellung von Datenflußdiagrammen erfolgt durch Graphen, bei denen die funktionalen<br />
Systemelemente durch Knoten und die Datenflüsse durch Kanten dargestellt werden. In den heute<br />
gebräuchlichen Datenflußdiagrammen der (modernen) strukturierten Analyse [DeMarco, 1978],<br />
[Yourdon, 1989] werden neben den Prozessen und Datenflüssen auch Datenspeicher aufgeführt.<br />
Diese Speicher dienen zur Modellierung von persistenten Daten oder zwischengelagerten Gegenständen.<br />
Der Einstieg in eine Datenflußmodellierung erfolgt häufig über ein spezielles Datenflußdiagramm,<br />
das als Kontextdiagramm bezeichnet wird. Kontextdiagramme beschreiben die Einbettung<br />
des zu modellierenden Systems in die Systemumgebung. Hierzu wird das gesamte System<br />
als ein Prozeß aufgefaßt, der mit externen Prozessen über Datenflüsse interagiert. Diese externen<br />
Prozesse, die wieder eigene, hier nicht weiter betrachtete, Systeme sind, stellen die Schnittstelle<br />
des zu modellierenden Systems zu einer Umwelt dar.<br />
Für die weitere Modellierung werden Prozesse verfeinert. Sie werden hierzu z. B. analog zur<br />
Aufgabengliederung (vgl. Kapitel 3.2.1) oder entlang der inzidenten Datenflüsse (vgl. [Yourdon,<br />
1989, S. 375]) wiederholt in Teilprozesse zerlegt. Das Zusammenspiel dieser Prozesse wird dann<br />
in einem neuen Datenflußdiagramm beschrieben. In Anlehnung an [Miller, 1956] fordern [Ross,<br />
1977] und [Yourdon, 1989, S. 160], daß ein Prozeß in drei bis sechs Unterprozesse zerlegt werden<br />
soll. Diese Zerlegungen werden solange durchgeführt, bis Elementarprozesse erreicht sind,<br />
die durch wenige Zeilen Text ausreichend beschrieben werden können [Yourdon, 1989, S. 168].<br />
Weitere Konkretisierungen der Prozesse, die dann konkretes Vorgehen und nicht das nach außen<br />
sichtbare Verhalten der Elementarprozesse beschreiben, erfolgen in der (modernen) strukturierten<br />
Analyse z. B. durch Entscheidungstabellen, Nassi-Shneiderman-Diagramme oder Pseudocode<br />
entlang des Kontrollflußparadigmas (vgl. Kapitel 3.4.4). In der Unified Modeling Language<br />
(UML) [Rumbaugh et al., 1999, S. 64] erfolgt die Konkretisierung von Anwendungsfällen, die<br />
als Prozesse aufgefaßt werden können, z. B. durch Statecharts des Zustandsübergangsparadigmas<br />
(vgl. Kapitel 3.4.2), durch Aktivitätsdiagramme des Netzparadigmas (vgl. Kapitel 3.4.3), durch<br />
<strong>Se</strong>quenzdiagramme und Kollaborationsdiagramme des Objekt-Interaktionsparadigmas (vgl. Kapitel<br />
3.5.2) oder durch informale, textuelle Beschreibungen.
58 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Bei der Verfeinerung eines Prozesses durch weitere Datenflußdiagramme ist sicherzustellen, daß<br />
alle in den verfeinerten Prozeß eingehenden bzw. alle aus ihm ausgehenden Datenflüsse mit den<br />
in die Verfeinerung eingehenden bzw. mit den aus ihr ausgehenden korrespondieren. Ebenso darf<br />
die Verfeinerung keine weiteren ein- bzw. ausgehenden Datenflüsse besitzen. Zur Verfeinerung<br />
der Datenflüsse können diese in weitere Teildatenflüsse verzweigt werden. Die weitere Konkretisierung<br />
der Datenflüsse erfolgt durch die Beschreibungsmittel des Objekt-Beziehungsparadigma<br />
(vgl. Kapitel 3.5.3).<br />
externe<br />
Anforderer<br />
Station/<br />
Ambulanz<br />
Radiologietermin,<br />
Radiologiebefund,<br />
Vorbereitungsstandard<br />
Radiologieanforderung<br />
Aufnahme<br />
Radiologietermin,<br />
Radiologiebefund,<br />
Vorbereitungsstandard<br />
Aufnahme,<br />
Krankenakte<br />
Radiologieanforderung<br />
Ärztliche<br />
Stelle<br />
Kontrolldaten<br />
Laborbefund<br />
radiologische<br />
Leistung<br />
erbringen<br />
Laboranforderung<br />
Labor<br />
Kontrolldatenanforderung<br />
Statistik<br />
Narkoseanforderung<br />
Abbildung 3.14: Kontextdiagramm<br />
Rechnungswesen<br />
Leistungsbeleg<br />
Materialanforderung<br />
Materialliste,<br />
Materiallieferung,<br />
Verbrauchsanalyse<br />
Anästhesietermin<br />
Anästhesie<br />
Materialwirtschaft<br />
Zur Unterscheidung von Prozessen, Speichern, Schnittstellen und Datenflüssen werden in konkreten<br />
Notationen unterschiedliche graphische Formen verwendet. Prozesse werden in Anlehnung<br />
an [DeMarco, 1978] meist durch Ellipsen, Speicher durch zwei parallele Linien, Schnittstellen<br />
durch Rechtecke und Datenflüsse durch Pfeile dargestellt, die jeweils durch einen Bezeichner<br />
annotiert sind. Zur Bezeichnung der Datenflüsse, Speicher und Schnittstellen werden<br />
hierzu meist Substantive im Singular und <strong>für</strong> Prozesse Verbalphrasen verwendet. In Beispiel 3.7<br />
ist die Radiologie eines Krankenhauses (in Ausschnitten) als Datenflußdiagramm [Schumm et<br />
al., 1995], [Winter / Ebert, 1997] modelliert.<br />
Beispiel 3.7 (Datenflußmodellierung der Radiologie)<br />
Abbildung 3.14 beschreibt das Kontextdiagramm der radiologischen Abteilung eines<br />
Krankenhauses. Die Radiologie wird hierbei als Prozeß radiologische Leistung erbrin-
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 59<br />
gen aufgefaßt, der von unterschiedlichen Schnittstellen (Abteilungen, externe Partner<br />
etc.) Daten und Gegenstände erhält bzw. an diese gibt. Datenflußbeziehungen bestehen<br />
zu den Verwaltungsabteilungen (Rechnungswesen und Materialwirtschaft) und zu medizinisch/pflegerischen<br />
Abteilungen (Anästhesie, Labor, Station/Ambulanz) innerhalb des<br />
Krankenhauses sowie zu Partnern außerhalb des Krankenhauses (externe Anforderer und<br />
Ärztliche Stelle).<br />
Radiologieanforderung<br />
Anästhesietermin<br />
Laborbefund<br />
Krankenakte<br />
Aufnahme<br />
Kontrolldatenanforderung<br />
Statistik<br />
Materialliste<br />
Materiallieferung<br />
Verbrauchsanalyse<br />
Anforderung<br />
bearbeiten<br />
Verbrauch<br />
Untersuchungsstandard<br />
Untersuchungsdokumentation<br />
Hauptbuch<br />
Abbildung 3.15: Datenflußdiagramm<br />
Standards<br />
erstellen<br />
Qualität und<br />
Leistung<br />
kontrollieren<br />
Material<br />
beschaffen<br />
Radiologiebefund<br />
Narkoseanforderung<br />
Laboranforderung<br />
Krankenakte<br />
Aufnahme<br />
Radiologietermin<br />
Vorbereitungsstandard<br />
Kontrolldaten<br />
Leistungsbeleg<br />
Materialanforderung<br />
Der Prozeß radiologische Leistung erbringen wird in Abbildung 3.15 durch die Prozesse<br />
Standards erstellen, Anforderung bearbeiten, Qualität und Leistung kontrollieren und<br />
Material beschaffen konkretisiert (vgl. auch die Aufgabengliederung in Beispiel 3.2). Die<br />
in den Prozeß radiologische Leistung erbringen eingehenden bzw. die aus ihm ausgehenden<br />
Datenflüsse finden sich auch in der Verfeinerung als ein- und ausgehende Datenflüsse<br />
wieder, so daß dieser Prozeß und die Zusammenfassung seiner Teilprozesse nach außen<br />
dasselbe Verhalten aufweisen.<br />
Im Prozeß radiologische Leistung erbringen werden im Speicher Hauptbuch die diversen<br />
radiologischen Untersuchungen protokolliert. Diese Aufzeichnungen bilden die Grundlage<br />
zur Festlegung von Standards im Prozeß Standards erstellen und zur Qualitätskontrolle<br />
im Prozeß Qualität und Leistung kontrollieren. Ein Beispiel <strong>für</strong> eine Datenflußbeziehung<br />
ist der Datenfluß Verbrauch zwischen den Prozessen Anforderung bearbeiten und Material<br />
beschaffen. Hierdurch wird der Materialverbrauch der einzelnen Untersuchungen an<br />
die interne Beschaffung übermittelt, die z. B. neue Materialanforderungen an die Materialwirtschaft<br />
stellen kann. £
60 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Notationelle Varianten<br />
Datenflußorientierte Beschreibungsmittel sind schon sehr lange zur Modellierung von funktionalem<br />
Systemverhalten im Einsatz, so daß sich über die Zeit auch hier mehrere Darstellungsformen<br />
herausgebildet haben. Einige auf den ersten Blick verschiedene Beschreibungsmittel aus unterschiedlichen<br />
Modellierungsepochen sind in den Abbildungen 3.16 bis 3.18 skizziert.<br />
Die verschiedenen Beschreibungsmittel des Datenflußparadigmas unterscheiden sich lediglich<br />
durch ihre konkrete Notation. So werden in der Datenflußmodellierung nach [Gane / Sarson,<br />
1979], [Gane, 1990] Prozesse durch Rechtecke mit abgerundeten Ecken und Speicher durch<br />
rechts offene Rechtecke dargestellt. In SADT-Aktivitätsdiagrammen [Ross, 1977] oder in Datenflußplänen<br />
[Chapin, 1970], [DIN 66001, 1983] werden Prozesse durch Rechtecke beschrieben.<br />
Datenflüsse werden sowohl durch Kurven als auch durch rechtwinklige (evtl. abgerundete)<br />
Linienzüge notiert.<br />
Die Darstellungsvarianten nach [Ross, 1977] und [Gane / Sarson, 1979] erlauben gegenüber der<br />
notationellen Grundform nach [DeMarco, 1978] auch die Beschreibung der menschlichen oder<br />
technischen Handlungsträger eines Prozesses. In der Notation nach [Gane / Sarson, 1979] werden<br />
diese direkt in den Prozeßdarstellungen notiert. SADT beschreibt die Handlungsträger (Mechanismen)<br />
durch Substantive, die mit der Prozeßdarstellung durch einen Pfeil verbunden sind.<br />
In Bonapart Prozeßmodellen [Pro Ubis, 1999b, S. 37ff] können Prozesse ebenfalls um Handlungsträger<br />
ergänzt werden. Werden die Handlungsträger auf Stellen innerhalb der Organisation<br />
bezogen, lassen sich hierdurch Querbezüge zur Aufbausicht (vgl. Kapitel 3.3) herstellen.<br />
Echtzeit-Datenflußdiagramme. Eine Erweiterung der Grundform der Datenflußdiagramme<br />
um Mittel zur Beschreibung von Echtzeitsystemen nehmen [Ward / Mellor, 1985, S. 47ff] vor.<br />
Hierbei werden zusätzlich zu den Datenflüssen, Prozessen und Speichern noch Ereignisflüsse,<br />
Kontrollprozesse und Ereignisspeicher eingeführt. Ereignisflüsse zwischen Prozessen steuern<br />
deren Ausführung. Kontrollprozesse sind ausschließlich zu Kontrolldatenflüssen inzident und<br />
dienen zur Modellierung von Steuerungskomponenten. Diese Kontrollprozesse werden durch<br />
die Mittel des Zustandsübergangsparadigmas (vgl. Kapitel 3.4.2) weiter konkretisiert. Ereignisspeicher<br />
dienen ausschließlich zur Zwischenspeicherung von Ereignissen. Die Darstellung dieser<br />
Kontrollelemente erfolgt durch unterbrochene Linien.<br />
Datenflußpläne. Datenflußpläne nach DIN 66001 [DIN 66001, 1983], die auch als Verkehrsschaubilder<br />
(vgl. z. B. [Grochla, 1982, S. 315]) bezeichnet werden, können als eine frühe Form<br />
der Beschreibungsmittel des Datenflußparadigmas aufgefaßt werden. In diesen Diagrammen<br />
werden die Daten neben Prozessen und Speichern als eigenständige Dinge dargestellt. Datenflußkanten<br />
verbinden dann Prozeßdarstellungen mit Datendarstellungen in der jeweiligen Datenflußrichtung.<br />
Gegenüber den heute gebräuchlichen Datenflußdiagrammen werden in Datenflußplänen verschiedene<br />
Arten der Trägermedien <strong>für</strong> Daten (z. B. Dokumente, allgemeine Datenträger), verschiedene<br />
Arten der Speicherung (Lochkarte, Lochstreifen, Magnetband, Trommelspeicher,<br />
Hauptspeicher) und verschiedene Arten der Verarbeitung (allgemeine Verarbeitung, manuelle<br />
Verarbeitung) unterschieden. Für diese Konzepte werden jeweils unterschiedliche Piktogramme<br />
(vgl. [DIN 66001, 1983], [Schmidt, 1989, S. 323]) verwendet.
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 61<br />
Labor<br />
Anästhesie<br />
Rechnungswesen<br />
Laboranforderung<br />
Anästhesieanforderung<br />
Ärztliche<br />
Stelle<br />
Krankenakte<br />
Statistik KontrolldatenanforderungH<br />
Kontrolldaten<br />
Ärztliche<br />
Stelle<br />
Qualität und<br />
Leistung<br />
kontrollieren<br />
Station/<br />
Ambulanz<br />
Leistungsbeleg<br />
Rechnungswesen<br />
Radiologieanforderung<br />
Hauptbuch<br />
externe<br />
Anforderer<br />
Station/<br />
Ambulanz<br />
Aufnahme<br />
Anforderung<br />
bearbeiten<br />
Untersuchungsstandard<br />
Standards<br />
erstellen<br />
Vorbereitungsstandard<br />
externe<br />
Anforderer<br />
Anästhesie Labor<br />
Anästhesietermin<br />
Verbrauch<br />
Abbildung 3.16: Datenflußplan<br />
Laborbefund<br />
Krankenakte<br />
Aufnahme<br />
Radiologietermin<br />
Radiologiebefund<br />
Materialliste<br />
Material<br />
beschaffen<br />
Materialanforderung<br />
Materialwirtschaft<br />
Materialwirtschaft<br />
Verbrauchsanalyse<br />
allgemeine<br />
Verarbeitung<br />
Beleggebundene<br />
Daten<br />
allgemeine<br />
Daten<br />
Speicher mit<br />
direktem<br />
Zugriff<br />
Schnittstelle<br />
zur Umwelt<br />
Station/<br />
Ambulanz<br />
externe<br />
Anforderer<br />
Materiallieferung<br />
Abbildung 3.16 beschreibt den Prozeß radiologische Leistung erbringen als Datenflußplan. Hierbei<br />
werden die Teilaktivitäten als allgemeine Verarbeitungsschritte aufgefaßt, die durch Rechtecke<br />
notiert werden. Daten, die zwischen diesen ausgetauscht werden, sind i. allg. Dokumente<br />
(z. B. Krankenakte oder Radiologieanforderung). Diese werden durch Piktogramme, die einen<br />
Ausriß aus einem Papierdokument symbolisieren, beschrieben. Allgemeine bzw. nicht weiter<br />
konkretisierte Datenträger werden durch Rauten (z. B. Aufnahme) notiert. In Datenflußplänen<br />
wird der Fluß dieser Datenträger durch das System modelliert. Gerichtete Kanten symbolisieren<br />
die Erzeugung bzw. Verwendung der Daten. Schnittstellen zur Systemumwelt werden in Datenflußplänen<br />
durch Ovale notiert. Da Datenflußpläne i. allg. von oben nach unten oder von links<br />
nach rechts gelesen werden, sind z. B. die Schnittstellen Station/Ambulanz oder Materialwirtschaft<br />
jeweils getrennt als Daten liefernde und Daten erhaltene Interaktionspartner modelliert.
62 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
SADT-Diagramme. Eine Variante der Datenflußdiagramme der (modernen) strukturierten<br />
Analyse stellen SADT-Aktivitätsdiagramme dar. Gegenüber den Notationen von [DeMarco,<br />
1978], [Gane / Sarson, 1979] und [Yourdon, 1989] werden in SADT umfangreiche Vorgaben<br />
zur übersichtlichen Darstellung der Datenflußdiagramme gemacht (vgl. [Ross, 1977], [Marca /<br />
McGowan, 1988]). Die Prozesse eines Datenflußdiagramms sind hierbei z. B. treppenartig von<br />
links oben nach rechts unten anzuordnen und Datenflußbeziehungen sind durch rechtwinklige<br />
Linienzüge zu beschreiben. Für die Modellierung von SADT-Diagrammen ist es wesentlich,<br />
an welcher Stelle der Prozeßdarstellung Kanten inzident sind. Eingehende Datenflüsse werden<br />
grundsätzlich an der linken <strong>Se</strong>ite und ausgehende Datenflüsse an der rechten <strong>Se</strong>ite einer Prozeßdarstellung<br />
notiert. Kontrolldaten, die in der Prozeßbearbeitung nicht verändert werden und nur<br />
steuernden Charakter haben, gehen von oben und Verbindungen zu Handlungsträgern von unten<br />
in die Prozeßdarstellung ein. Speicher werden in SADT nicht verwendet. Wie auch die Datenflußdiagramme<br />
der (modernen) strukturierten Analyse erlaubt auch SADT die Verfeinerung der<br />
Datenflußdiagramme.<br />
1<br />
2<br />
Radiologieanforderung,<br />
Krankenakte,<br />
Aufnahme<br />
Kontrolldatenanforderung,<br />
Statistik<br />
Materialliste,<br />
Verbrauchsanalyse<br />
Materiallieferung<br />
Arzt<br />
Radiologie<br />
Laborbefund,<br />
Anästhesietermin<br />
4<br />
Anforderung<br />
bearbeiten<br />
MTA<br />
Radiologie<br />
3<br />
Untersuchungsstandard<br />
Untersuchungsdokumentation<br />
Verbrauch<br />
Oberarzt<br />
Radiologie<br />
Standards<br />
erstellen<br />
Qualität und<br />
Leistung<br />
kontrollieren<br />
Abteilungsleiter Radiologie<br />
Abbildung 3.17: SADT-Aktivitätsdiagramm<br />
Material<br />
beschaffen<br />
5 Radiologiebefund,<br />
Narkoseanforderung,<br />
Laboranforderung,<br />
6 Krankenakte,<br />
7 Aufnahme,<br />
Radiologietermin<br />
Vorbereitungsstandard<br />
Kontrolldaten,<br />
Leistungsbeleg<br />
Materialanforderung<br />
In Abbildung 3.17 ist der Prozeß radiologische Leistung erbringen als SADT-Aktivitätsdiagramm<br />
beschrieben. Für die eingehenden Datenflüsse ist hierbei erkennbar, ob sie durch den<br />
Prozeß umgewandelt werden oder ob sie lediglich steuernden Charakter haben. So kontrollieren<br />
beispielsweise Laborbefund, Anästhesietermin und Untersuchungsstandard den Prozeß Anforderung<br />
bearbeiten, während Radiologieanforderung, Krankenakte und Aufnahme weiter bearbeitet
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 63<br />
werden. In diesem Diagramm ist auch erkennbar, durch welche Mitarbeiter die einzelnen Aktivitäten<br />
ausgeführt werden.<br />
Beschreibungsmittel des Datenflußparadigmas modellieren üblicherweise keine Kontrollflußstrukturen.<br />
SADT erlaubt aber durch <strong>Se</strong>quentialisierungen [Balzert, 1988, S. 120] Ablauffolgen<br />
herauszustellen. Diese <strong>Se</strong>quenzen, die durch Markieren von Datenflüssen und Prozessen mit<br />
Zahlen notiert werden, beschreiben Szenarien von Aktivierungen einzelner Aktivitäten in Abhängigkeit<br />
der ein- und ausgehenden Datenflüsse. Die in Abbildung 3.17 herausgestellte <strong>Se</strong>quenz<br />
1. Radiologieanforderung,<br />
2. Krankenakte,<br />
3. Untersuchungsstandard,<br />
4. Anforderung bearbeiten,<br />
5. Radiologiebefund,<br />
6. Krankenakte,<br />
7. Aufnahme<br />
beschreibt ein Standardszenario zur Durchführung einer radiologischen Untersuchung.<br />
Neben den Aktivitätsdiagrammen, die die Prozesse in den Vordergrund stellen, werden in SADT<br />
auch Datendiagramme eingeführt, in denen funktional zusammenhängende Daten durch Knoten<br />
notiert werden. Die Prozesse, die diese Daten verändern oder erzeugen, werden als von links<br />
in den Datenknoten eingehende Kanten gezeichnet. Steuernde Aktivtäten (z. B. Änderungsdienste)<br />
werden analog zu den Aktivtätendiagrammen als von oben eingehende Kanten dargestellt.<br />
Aus den Datenknoten ausgehende Kanten beschreiben die lesenden Aktivitäten. Der von unten<br />
eingehende Mechanismuspfeil wird zur Darstellung des Speichermediums verwendet. SADT-<br />
Datendiagramme stellen eine zu den SADT-Aktivitätsdiagrammen komplementäre Notation bereit.<br />
Anwendungsfalldiagramme. Auch in den objektorientierten Methoden zur Systemanalyse<br />
werden Beschreibungsmittel des Datenflußparadigmas verwendet. So setzt die Object Modeling<br />
Technique (OMT) [Rumbaugh et al., 1991] Datenflußdiagramme der strukturierten Analyse zur<br />
Beschreibung der Systemdynamik ein. In der Unified Modeling Language (UML) [Booch et al.,<br />
1999, S. 266] können Aktivitätsdiagramme (vgl. die Beschreibungsmittel des Netzparadigmas<br />
in Kapitel 3.4.3) um datenflußähnliche Objektflüsse ergänzt werden. Anwendungsfalldiagramme<br />
der UML, die aus Object-Oriented Software Engineering (OOSE) [Jacobson et al., 1993, S. 126]<br />
übernommen wurden, betrachten ebenfalls das zu modellierende System in seinem Systemkontext.<br />
In Anwendungsfällen ist die nach außen sichtbare Funktionalität des Systems zusammengefaßt<br />
[Rumbaugh et al., 1999, S. 488], so daß Anwendungsfälle als Systemprozesse betrachtet<br />
werden können. Im Mittelpunkt der Beschreibung durch Anwendungsfalldiagramme stehen die<br />
wesentlichen Prozesse und deren Interaktionsbeziehungen zur Systemumwelt, die durch Akteure<br />
repräsentiert werden. Die Anwendungfälle bzw. die hiermit assozierten Prozesse werden in<br />
Aktivtätsdiagrammen des Netzparadigmas (vgl. Kapitel 3.4.3) näher beschrieben.<br />
Im Gegensatz zu den Kontext- und Datenflußdiagrammen der (modernen) strukturierten Analyse<br />
werden in Anwendungsfalldiagrammen die zwischen der Systemumwelt und den Anwendungsfällen<br />
ausgetauschten Daten nicht beschrieben. Anwendungsfalldiagramme stellen nur das Vorhandensein<br />
einer (Interaktions-) Beziehungen zwischen Akteuren und Anwendungsfällen heraus.
64 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
externe<br />
Anforderer<br />
Station/<br />
Ambulanz<br />
MTA-R<br />
Arzt<br />
Anforderer<br />
Mitarbeiter<br />
Radiologie<br />
Anforderung<br />
bearbeiten<br />
Standards<br />
erstellen<br />
Qualität und<br />
Leistung<br />
kontrollieren<br />
Material<br />
beschaffen<br />
Abbildung 3.18: Anwendungsfalldiagramm<br />
Labor<br />
Anästhesie<br />
Rechnungswesen<br />
Ärztliche<br />
Stelle<br />
Material-<br />
Wirtschaft<br />
In Anwendungsfalldiagrammen werden vier Beziehungsarten unterschieden [Rumbaugh et al.,<br />
1999, S. 65]. Das Vorliegen einer Interaktionsbeziehung zwischen einem Akteur und einem Prozeß<br />
wird durch Assoziationen beschrieben. Assoziationen können auch durch Kardinalitäten<br />
annotiert sein [OMG, 1999, S. 3-88]. Sowohl zwischen Akteuren als auch zwischen Anwendungsfällen<br />
erlaubt die UML Generalisierungsbeziehungen. Extend-Beziehungen zwischen Anwendungsfällen<br />
stellen eine implementationsnähere Variante der Generalisierung auf Basis der<br />
Delegation dar. Include-Beziehungen sind ebenfalls nur zwischen Anwendungsfällen zugelassen.<br />
Sie werden verwendet, um Teilfunktionalität mehreren Anwendungsfällen bereitzustellen.<br />
Extend- und Include-Beziehungen werden durch gestrichelte Pfeile dargestellt, die jeweils durch<br />
„extend“ oder „include“ markiert sind. Anwendungsfalldiagramme beschreiben voneinander<br />
unabhängige, zentrale Prozesse eines Systems, so daß zwischen diesen keine Assoziationen erlaubt<br />
sind [Rumbaugh et al., 1999, S. 489].<br />
Ein Anwendungsfalldiagramm <strong>für</strong> die Radiologie ist in Abbildung 3.18 skizziert. Die Akteure<br />
zur Darstellung der Schnittstellen zur Systemumwelt werden durch Strichmännchen notiert.<br />
Hierbei wurden externe Anforderer und Station/Ambulanz zu Anforderer generalisiert. Die Mitarbeiter<br />
(MTA-R und Ärzte)), durch die Anwendungsfälle bearbeitet werden, sind hier ebenfalls
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 65<br />
als Akteure modelliert. Mögliche Interaktionsbeziehungen zwischen den Akteuren und den durch<br />
Ellipsen dargestellten Anwendungsfällen werden durch Linien notiert.<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Datenflußparadigmas beschreiben das von außen sichtbare<br />
Verhalten eines Systems. Hierzu wird das System durch Prozesse modelliert, die mit<br />
der Systemumwelt interagieren. Querbezüge zwischen Prozessen und Schnittstellen werden<br />
sowohl durch Datenflüsse als auch durch Interaktionsbeziehungen hergestellt. Das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> muß daher Konzepte zur Darstellung der funktionalen Systembestandteile, zur Darstellung<br />
der Daten- und Interaktionsbeziehungen und zur Darstellung der Schnittstellen zur Systemumwelt<br />
abbilden.<br />
Neben der Einbettung eines Systems in seine Umwelt erlauben die Beschreibungsmittel des Datenflußparadigmas<br />
auch die Konkretisierung des funktionalen Verhaltens durch Verfeinerungen.<br />
Hierzu muß das <strong>Referenz</strong>-<strong>Metaschema</strong> auch Konzepte zur Verfeinerung von Prozessen durch<br />
weitere Datenflußbeschreibungen bereitstellen. Diese Verfeinerungskonzepte erfordern auch eine<br />
Berücksichtigung der Strukturierung der durch die Datenflüsse ausgetauschten Daten. Daneben<br />
sollten auch Konzepte aus Ergänzungen und Erweiterungen der Datenflußbeschreibungen<br />
wie z. B. Speicher, Mechanismen oder Szenarien abgebildet werden.<br />
3.4.2 Visuelle <strong>Modellierungssprachen</strong> des Zustandsübergangsparadigmas<br />
Zur Beschreibung reaktiver Systeme werden die <strong>Modellierungssprachen</strong> des Zustandsübergangsparadigmas<br />
verwendet. Die Darstellung des Systemverhaltens erfolgt hierbei entlang der<br />
Zustände, die Objekte oder Systeme einnehmen können. Übergänge zwischen diesen Zuständen<br />
werden durch Ereignisse ausgelöst, die entweder außerhalb des Systems oder im modellierten<br />
System selbst eintreten können. Sowohl Zuständen als auch Zustandsübergängen können Aktionen<br />
zugeordnet werden, die vom System in den entsprechenden Situationen ausgeführt werden.<br />
Darstellungen des Zustandsübergangsparadigmas dienen somit zur zustandsübergangsorientierten<br />
Kontrollflußmodellierung.<br />
Der Modellierung entlang des Zustandsübergangsparadigmas liegt die Betrachtung des Systems<br />
durch endliche, deterministische Automaten mit Ausgabe [Hopcroft / Ullmann, 1979, S. 42]<br />
zugrunde. Notiert werden diese Automaten durch Statecharts, durch (hierarchische) Automaten,<br />
durch Zustandsautomaten, durch Zustands-(übergangs)-Diagramme, durch Zustands-(übergangs)-Matrizen<br />
und durch Zustandsübergangstabellen.<br />
Notationelle Grundform: Statecharts<br />
Modellierungen reaktiver Systeme durch Automaten werden durch Graphen dargestellt. Die<br />
Knoten beschreiben die Systemzustände und die Kanten die Zustandsübergänge. Hierbei sind<br />
die Knoten durch einen Zustandsbezeichner und die Kanten durch das den Übergang auslösende<br />
Ereignis markiert. Beschreibungen durch solche Zustandsübergangsgraphen werden aufgrund<br />
der modellierten Komplexität jedoch schnell sehr unübersichtlich, so daß Zustandsübergangsgraphen<br />
um zusätzliche Strukturierungsmittel zu Statecharts ergänzt wurden [Harel, 1987], [Harel,
66 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
1988]. Diese Strukturierungsmittel erlauben die Zusammenfassung und Verfeinerung von Zuständen<br />
(Depth), die Beschreibung von Parallelabläufen (Orthogonality) und die Synchronisation<br />
von Teilsystemen durch Nachrichtenaustausch (Broadcast). Zur Darstellung der Statecharts<br />
werden Hypergraphen verwendet, die Venn-Diagramm-ähnlich notiert werden. Abbildung 3.19<br />
skizziert exemplarisch ein Statechart zur Modellierung eines Dialysesystems.<br />
Durch die Verwendung der zusätzlichen Strukturierungsmittel erfolgt die Modellierung eines reaktiven<br />
Systems durch mehrere Teilautomaten. Der Zustand des Gesamtsystems ergibt sich hierbei<br />
aus der Summe der Zustände der jeweiligen Teilautomaten. Um die strukturierten Zustände<br />
der einzelnen Teilautomaten begrifflich vom Zustand des Gesamtsystems zu trennen, werden die<br />
strukturierten Zustände im folgenden als Blob bezeichnet. Zustandsübergänge beschreiben daher<br />
auch den Übergang zwischen Blobs. Diese Übergänge werden durch Pfeile notiert, die mit den<br />
die Übergänge auslösenden Ereignissen annotiert sind. Übergänge können zusätzlich zum Eintreffen<br />
des Ereignisses noch von Prädikaten abhängig gemacht werden. Diese „Guards“ werden<br />
in eckigen Klammern den Ereignissen vorangestellt.<br />
Statecharts verwenden atomare und zusammengesetzte Blobs, die durch Ovale dargestellt werden<br />
und mit einem Bezeichner markiert sind. Bei den zusammengesetzten Blobs werden Xor-<br />
Blobs (sequential substates), die, zu einem Teilautomaten zusammengefaßte Blobs enthalten,<br />
und And-Blobs (concurrent substates) unterschieden, die sich aus mindestens zwei zueinander<br />
orthogonal stehenden Teilautomaten zusammensetzen. Die Teilautomaten der And-Blobs werden<br />
durch unterbrochene Linien voneinander getrennt.<br />
Xor-Blobs ermöglichen die Zusammenfassung mehrerer Blobs zu einem Teilautomaten. Wie<br />
auch Automaten können Xor-Blobs einen Start-Blob besitzen, der durch einen unmarkierten<br />
Pfeil dargestellt wird, der von einem schwarzen Punkt ausgeht. Die Unified Modeling Language<br />
[Booch et al., 1999, S. 331] verwendet daneben noch optionale End-Blobs, die durch einen von<br />
einem Kreis umgebenen schwarzen Punkt notiert werden. Der Zustand des Gesamtsystems wird<br />
jeweils durch genau einen dieser Blobs beeinflußt. Zustandsübergänge in einen Xor-Blob können<br />
sich sowohl auf den Gesamtblob als auch auf die in ihm enthaltenen Komponenten beziehen.<br />
Nach einem Übergang in einen Xor-Blob befindet sich der Teilautomat entweder im Start-Blob<br />
des Xor-Blobs oder bei Verwendung eines „History“-Mechanismus (durch ein „H“ markiert) im<br />
zuletzt besuchten Blob. Bei Zustandsübergängen in eine Komponente des Xor-Blobs befindet<br />
sich der Teilautomat in dieser Komponente. Zustandsübergänge aus einem Xor-Blob können<br />
ebenfalls sowohl von dem Xor-Blob selbst als auch von den Komponenten-Blobs ausgehen. In<br />
beiden Fällen trägt der Xor-Blob nicht mehr zum Gesamtzustand des Systems bei.<br />
And-Blobs dienen zur Modellierung von parallelem Systemverhalten. Zustandsübergänge sind<br />
hier grundsätzlich ebenfalls zu und aus dem And-Blob sowie zu und aus seinen Komponenten-<br />
Blobs erlaubt. Hierbei ist aber sicherzustellen, daß keine Konflikte auftreten und der Automat<br />
deterministisch bleibt. Ausführliche Diskussionen und Lösungstrategien <strong>für</strong> diese Konflikte finden<br />
sich in [Harel, 1987] und [Ebert, 1993]. Zustandsübergänge zwischen zueinander parallel<br />
liegenden Teilautomaten sind generell nicht erlaubt. Der Systemzustand eines And-Blobs bestimmt<br />
sich aus der Kombination der jeweiligen Zustände der Teilautomaten.<br />
Wird das Statechart als Moore-Automat aufgefaßt, können den Blobs auch Aktionen zugeordnet<br />
werden. [Booch et al., 1999, S. 295ff] erlaubt hierbei Aktionen, die bei Eintritt in den Blob, während<br />
des Aufenthalts im Blob und bei Verlassen des Blobs ausgeführt werden. Diese Aktionen<br />
werden durch die Schlüsselworte „entry“, „do“ und „exit“ unterschieden. Die Betrachtung des
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 67<br />
Dialysesystem<br />
Dialyse<br />
Entwässern<br />
Ultrafiltration<br />
Programmwahl Blutseite Wasserseite<br />
UF1<br />
entry /<br />
d=setDur()<br />
UF4<br />
entry /<br />
d1=setDur()<br />
d2=setDur()<br />
after(d) Fehler<br />
Bypass<br />
[ in Bypass]<br />
Programmwechsel<br />
[ in Bypass]<br />
Programmwechsel<br />
[ in UF1 or UF4<br />
and BlutflußOK<br />
and TemperaturOK]<br />
Start<br />
[ in UF4] after(d1) /<br />
d=d2<br />
[ in Bypass]<br />
Programmwechsel<br />
[ in Bypass]<br />
Programmwechsel<br />
Entwässern<br />
und<br />
Entgiften<br />
UF2<br />
entry /<br />
d=setDur()<br />
UF3<br />
entry /<br />
d=setDur()<br />
[ in UF3<br />
[ in UF2<br />
and BlutflußOK<br />
and BlutflußOK and TemperaturOK]<br />
and TemperaturOK] Start<br />
Start<br />
Störung<br />
behoben<br />
Abbildung 3.19: Statechart<br />
Blutfluß<br />
gestört<br />
Blutfluß<br />
OK<br />
Störung/<br />
Fehler<br />
Entgiften<br />
Temperaturproblem<br />
Temperaturfehler<br />
behoben<br />
Temperaturfehler/Fehler<br />
Temperatur<br />
OK<br />
Statecharts als Mealy-Automat ermöglicht Aktionen an den Zustandsübergängen. Diese werden<br />
durch einen „/“ von der Ereignisdarstellung getrennt. Zur Synchronisation von parallelen Automaten<br />
können diese Ereignisse auch weitere Ereignisse auslösen (Broadcast), auf die das System<br />
zeitgleich reagiert. Die Unified Modeling Language [Booch et al., 1999, S. 287ff] verwendet<br />
sowohl Moore- und Mealy-Automaten als auch Kombinationen aus beiden.<br />
Beispiel 3.8 (Statechart eines Dialysesystems)<br />
Abbildung 3.19 enthält ein Statechart zur Modellierung eines Dialysesystems. Dieses (extrem<br />
vereinfachte) Dialysesystem basiert auf vier Xor-Blobs, die in dem And-Blob Dialysesystem<br />
zusammengefaßt sind. Der Blob Dialyse stellt die Grundfunktionalität des Systems<br />
mit Ultrafiltrationsmodi zum Entwässern, zumEntwässern und Entgiften und zum<br />
Entgiften sowie einem Bypass-Modus bereit. Im Blob Programmauswahl erfolgt die Vorwahl<br />
von vier Dialyseprogrammen (je eines <strong>für</strong> die drei Ultrafiltrationsverfahren und eines
68 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
<strong>für</strong> eine Kombinationsbehandlung mit den Teilphasen Entwässern und Entwässern und<br />
Entgiften). Die beiden restlichen Automaten skizzieren am Blutfluß und an der Temperatursteuerung<br />
exemplarisch Überwachungseinrichtungen auf der Blutseite und der Wasserseite.<br />
Der Zustand des Systems bestimmt sich aus den jeweiligen Zuständen dieser Teilsysteme.<br />
Bei Aktivierung des Dialysesystems befinden sich diese in ihren Startblobs. Durch das<br />
Ereignis Programmwechsel können verschiedene Dialyseprogramme ausgewählt werden.<br />
Diese Auswahl ist jedoch nur möglich, falls sich der Dialyse-Automat im Bypass-Blob<br />
befindet. Dieses wird durch das Prädikat [in Bypass] modelliert. Mit Eintreten in einen<br />
der vier Programmblobs (UF1-4) wird auch die Dauer <strong>für</strong> die jeweilige Behandlung durch<br />
die „entry“-Aktion d=setDur() gesetzt.<br />
Ausgehend von dem Bypass-Blob wechselt der Dialyse-Blob, nach dem Ereignis Start in<br />
das durch den Zustand des Programmauswahl-Systems angegebene Ultrafiltrationsverfahren.<br />
Diese Übergänge sind nur zugelassen, falls auch die Überwachungsautomaten keine<br />
Probleme signalisieren. Ist das Programm UF4 vorgewählt, wird nach der Beendigung<br />
der Entwässerung (after(d1))indenBlobEntwässern und Entgiften gewechselt. Dieser<br />
Übergang löst gleichzeitig auch eine Aktion d=d2 zum <strong>Se</strong>tzen der Behandlungsdauer<br />
<strong>für</strong> die zweite Phase der Behandlung aus. Aus dem Xor-Blob Ultrafiltration erfolgt<br />
der Rücksprung zum Bypass-Blob, falls die voreingestellte Behandlungsdauer abgelaufen<br />
(after(d)) oder das Fehler-Ereignis eingetreten ist.<br />
Die beiden Blobs Blutseite und Wasserseite befinden sich während der Durchführung einer<br />
Dialyse in den Blobs BlutflußOK bzw. TemperaturOK. Im Fehlerfall wird hier jeweils<br />
in einen Fehler-Blob gewechselt. Dieses Fehler-Ereignis wird durch den Broadcast-<br />
Mechanismus an den hierzu parallelen Dialyse-Xor-Blob gemeldet, wodurch eine Behandungsunterbrechung<br />
ausgelöst wird. £<br />
Notationelle Varianten<br />
Konkrete Notationen zur Visualisierung von Statecharts oder hierarchischen Automaten unterscheiden<br />
sich nur geringfügig. Mit Ausnahme weniger Erweiterungen wie z. B. die Ergänzung<br />
um Endzustände und die Zuordnung verschiedener Aktionen an Blobs, verwendet die Unified<br />
Modeling Language [Booch et al., 1999, S. 287] die gleiche Notation wie sie auch bereits in<br />
[Rumbaugh et al., 1991, S. 87ff] genutzt wurde. Kleinere semantische Unterschiede zwischen<br />
den Dialekten von [Harel, 1987] und der UML werden in [OMG, 1999, S. 2-150] herausgestellt.<br />
Eingeschränkt werden Statecharts im Dialekt nach Booch verwendet. Hier werden nur<br />
And-Blobs, aber keine Xor-Blobs unterstützt [Booch, 1994, S. 208]. Alternative Notationen unterscheiden<br />
sich hiervon i. allg. nur in ihrer Ausdrucksmächtigkeit. In Abbildung 3.20 sind einige<br />
dieser Varianten aufgeführt.<br />
Zustandsautomaten. Im Gegensatz zu Statecharts werden unter Zustandsautomaten oder Zustandsübergangsdiagrammen<br />
flache Automaten, ohne Verwendung zusammengesetzter Blobs<br />
verstanden. Abbildung 3.20a skizziert das Zustandsübergangsdiagramm, das den Blobs Dialyse<br />
und Programmauswahl aus Abbildung 3.19 entspricht. Statecharts können generell in „flache“
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 69<br />
Bypass<br />
UF1<br />
Entwässern<br />
UF1<br />
Programmwechsel<br />
Bypass<br />
UF2<br />
Entwässern<br />
und Entgiften<br />
UF2<br />
b) Zustandsübergangsmatrix<br />
Programmwechsel<br />
Programmwechsel<br />
after(d)<br />
Fehler Fehler Fehler<br />
Start<br />
Programmwahl<br />
Ereignis<br />
Programm-<br />
Zustand<br />
wechsel<br />
UF1 UF2<br />
UF2 UF3<br />
UF3 UF4<br />
UF4 UF1<br />
Blutseite<br />
Ereignis<br />
Störung Störung<br />
Zustand<br />
behoben<br />
Blutfluß gestört BlutflußOK<br />
BlutflußOK Blutfluß<br />
gestört<br />
after(d)<br />
Start<br />
Wasserseite<br />
Ereignis<br />
TemperaturTemperatur- Zustand<br />
fehlerfehler behoben<br />
Temperaturproblem TemperaturOK<br />
TemperaturOK Temperaturproblem<br />
Bypass<br />
UF3<br />
after(d)<br />
Start<br />
Entgiften<br />
UF4<br />
Programmwechsel<br />
a) Zustandsübergangsdiagramm<br />
Dialyse<br />
Zustand Ereigniss Aktion Folgezustand<br />
Bypass [(in UF1 or UF4)<br />
and BlutdruckOK and<br />
TemperaturOK] Start<br />
Entwässern<br />
Bypass [in UF2 and BlutdruckOK<br />
and TemperaturOK]<br />
Start<br />
Bypass [in UF3 and BlutdruckOK<br />
and TemperaturOK]<br />
Start<br />
Fehler<br />
Fehler<br />
Bypass<br />
UF4<br />
Start<br />
Entwässern<br />
UF4<br />
Entwässern<br />
und Entgiften<br />
UF4<br />
Entwässern<br />
und Entgiften<br />
Entgiften<br />
Entwässern [in UF4] after(d) d = d2 Entwässern<br />
und Entgiften<br />
Ultrafiltration Fehler Bypass<br />
c) Zustandsübergangstabelle<br />
Abbildung 3.20: Statecharts, notationelle Varianten<br />
after(d1)<br />
after(d)<br />
Zustandsübergangsdiagramme übertragen werden. Die (maximale) Anzahl der Zustände eines<br />
Zustandsübergangsdiagramms ergibt sich hierbei aus dem Produkt der Anzahl der Zustände der<br />
parallel auszuführenden Teilautomaten. Inzidente Übergänge an einem And-Blob sind auf alle<br />
in diesem enthaltenen Zustände zu übertragen. Wie in Abbildung 3.20a können aber bei Berück-
70 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
sichtung der die Übergänge überwachenden Prädikate nicht mögliche Zustandsübergänge und<br />
Zustände eingespart werden.<br />
Zustandsübergangsmatrizen und -tabellen. Neben den graphischen Graph- oder Hypergraph<br />
basierten Darstellungsformen werden auch tabellarische Notationen (z. B. [Partsch, 1998,<br />
S. 103ff]) verwendet. Zustandsübergangsmatrizen spannen eine Matrix aus Zuständen und Ereignissen<br />
auf und notieren in den Matrixfeldern die Folgezustände des Systems. Diese Form der<br />
Darstellung beschreibt lediglich die Beziehungen zwischen Zuständen und Ereignissen. Prädikate<br />
und Aktionen werden in dieser Notationform nicht berücksichtigt. Erweiterungen durch zusätzliche<br />
bzw. umfangreichere Matrizen sind denkbar, werden aber ebenfalls sehr schnell unübersichtlich.<br />
Abbildung 3.20b faßt die Zustandsübergangsmatrizen der Teilautomaten Programmauswahl,<br />
Blutseite und Wasserseite zusammen. In Zustandsübergangstabellen kann das Zusammenspiel<br />
von Zuständen, Ereignissen, Aktionen und Folgezuständen tabellarisch beschrieben<br />
werden. In Abbildung 3.20c ist eine solche Zustandsübergangstabelle <strong>für</strong> den Automaten des<br />
Dialyse-Blobs aus Abbildung 3.19 dargestellt, in dem auch die Prädikate berücksichtigt sind.<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die Beschreibung reaktiver Systeme durch die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Zustandsübergangsparadigmas<br />
basiert auf der Darstellung der System- bzw. Teilsystemzustände und den<br />
hierzwischen möglichen Zustandsübergängen. Übergänge werden durch Ereignisse ausgelöst,<br />
die evtl. durch Prädikate überwacht werden. Sowohl Zuständen als auch Übergängen können<br />
Aktionen zugeordnet sein. Das <strong>Referenz</strong>-<strong>Metaschema</strong> muß daher Konzepte zur Abbildung von<br />
Zuständen, Zustandsübergängen, Ereignissen, Prädikaten, Aktionen und deren Querbezüge bereitstellen.<br />
Daneben muß es Hilfsmittel zur Strukturierung von Zustandsautomaten durch Kompositionen<br />
und Parallelbearbeitung enthalten.<br />
3.4.3 Visuelle <strong>Modellierungssprachen</strong> des Netzparadigmas<br />
Zur Modellierung dynamischer Organisations- und Softwareaspekte stellen die Sprachen des<br />
Netzparadigmas das Aufeinanderfolgen von Prozessen und/oder Ereignissen heraus. Zu bearbeitende<br />
Prozesse 4 werden hierbei durch ein Netz von Teilprozessen und Ereignissen und den hierzwischen<br />
vorliegenden Folgebeziehungen beschrieben. Prozesse werden hierbei als zeitverbrauchende<br />
Geschehnisse verstanden, während Ereignisse zeitpunktbezogene Zustände beschreiben<br />
(vgl. auch [DIN 69900, 1987]).<br />
4 Insbesondere in der Terminologie der Geschäftsprozeßmodellierung wird der Begriff „Prozeß“ oder „Prozeßkette“<br />
(vgl. z. B. [Scheer, 1992], [Langer et al., 1997]) <strong>für</strong> eine in sich geschlossene Abfolge mehrerer Teilaktivitäten<br />
verwendet. Diese Teilaktivitäten werden auch als „Funktion“ bezeichnet (vgl. z. B. [Scheer, 1994, S. 19]).<br />
Funktionen können weiterverfeinert werden und nehmen dann die Rolle der Prozesse auf einer tieferen Modellierungsstufe<br />
ein. In den folgenden Betrachtungen wird diese (künstliche) Unterscheidung nicht gemacht.<br />
Prozesse, Funktionen, Vorgänge, Aktivitäten, Transitionen etc. werden unter den Begriff „Prozeß“ zusammengefaßt.
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 71<br />
Die graphische Darstellung der Sprachen des Netzparadigmas basiert auf Graphen, in denen die<br />
Knoten Ereignisse oder Prozesse beschreiben, die durch Kontrollflußkanten miteinander verbunden<br />
sind. Ergänzt werden diese in einigen Dialekten um zusätzliche Knoten, die Operatoren über<br />
den Kontrollflüssen abbilden.<br />
Wesentliches Modellierungselement ist die direkte Aufeinanderfolge von Prozessen und/oder Ereignissen.<br />
Daneben können mittels Operatoren Kontrollflüsse verzweigt bzw. parallelisiert und<br />
wieder vereinigt werden. Die Grundbausteine zur Kontrollflußverzweigung und -vereinigung<br />
sind in Abbildung 3.21 zusammengefaßt (vgl. auch [Schmidt, 1989, S. 301ff], [Keller et al.,<br />
1992, S. 14], [Scheer, 1994, S. 50f]).<br />
a<br />
and<br />
x<br />
and<br />
y<br />
x y<br />
b c z<br />
b c z<br />
Ereignis<br />
Fork Join<br />
Branch Merge<br />
Ereignisverküpfung<br />
a<br />
xor<br />
xor<br />
Abbildung 3.21: Grundbausteine zur Kontrollflußverknüpfung<br />
Die Modellierung von Parallelabläufen wird durch and-Verzweigungen (ÓÖ) eingeleitet.<br />
Auf die Verzweigung folgen dann voneinander unabhängige Prozeßfolgen, die durch Ò-<br />
Vereinigungen (ÂÓÒ) wieder zusammengeführt werden. Analog werden durch ÜÓÖ-Verzweigungen<br />
(ÖÒ ) exklusive, alternative Prozeßfolgen eingeleitet, die durch ÜÓÖ-Vereinigungen<br />
(ÅÖ) wieder zusammengeführt werden können. Iterationen von Prozeßfolgen werden in den<br />
Sprachen des Netzparadigmas ebenfalls auf die Grundformen der ÜÓÖ-Verzweigungen und -Vereinigung<br />
zurückgeführt.<br />
Vielfach wird in den <strong>Modellierungssprachen</strong> des Netzparadigmas, die diese Ereignis-Verknüpfungen<br />
verwenden, nicht explizit gefordert, daß Verzweigungen und Vereinigungen zueinander<br />
balanciert sein müssen (z. B. [DIN 66001, 1983], [Scheer, 1994]). Solche Modellierungen führen<br />
unweigerlich zu „Spaghetti“-Modellierungen, deren <strong>Se</strong>mantik kaum noch faßbar ist. Aus diesem<br />
Grund wird in moderneren Modellierungsansätzen die Balancierung als besserer Modellierungstil<br />
empfohlen (z. B. [Booch et al., 1999, S. 264]), oder es werden balancierte Verzweigungs-<br />
Vereinigungs-Paare als eigenständige Modellierungskonstrukte (z. B. [Schmidt, 1989, S. 305])<br />
eingeführt.<br />
Die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong>, die dem Netzparadigma folgen, können in vier Gruppen<br />
eingeteilt werden. Aktivitätsdiagramme, Aufgabenfolgepläne, Ablaufkarten, Folgestrukturen,<br />
Folgepläne und Programmablaufpläne dienen in erster Linie zur Darstellung von Prozeßfolgen<br />
ohne (<strong>visuelle</strong>) Berücksichtigung der Ereignisse. Ereignisgesteuerte Prozeßketten, Stimulus-<br />
Response-Folgen und Vorgangskettendiagramme ergänzen diese Notationsformen u. a. um die<br />
obligatorische Darstellung der die Prozesse auslösenden bzw. der durch die Prozesse verursachten<br />
Ereignisse. Aufgrund ihrer formalen Basis ermöglichen Petri-Netze (S/T-Netze, B/E-<br />
Netze, Pr/T-Netze, gefärbte Netze etc.) umfangreiche Analysen der auf aktiven und passiven Ele-
72 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
menten basierenden Modelle. Unterstützung bei der zeitlichen Einplanung von Prozeßabläufen<br />
bieten Netzpläne (Vorgangsknotennetzpläne, Vorgangspfeilnetzpläne, Ereignisknotennetzpläne,<br />
Balkendiagramme).<br />
Notationelle Grundform: Aktivitätsdiagramm 5<br />
Zur Beschreibung des Kontrollflusses zwischen Prozessen (hier Aktivitäten) verwendet die Unified<br />
Modeling Language (UML) [Booch et al., 1999] Aktivitätsdiagramme.<br />
Die betrachteten Prozesse werden in Ovalen notiert, die durch Pfeile zur Beschreibung des Kontrollflusses<br />
miteinander verbunden sind. Der Startpunkt einer solchen Prozeßfolge wird durch<br />
ein Startereignis und das Ende durch ein oder mehrere Endereignisse angezeigt. Diese Ereignisse<br />
werden analog zu den Start- und Endzuständen der Statecharts durch einen schwarzen Punkt<br />
bzw. einen schwarzen Punkt mit Kreis (vgl. Kapitel 3.4.2) notiert. Zur Strukturierung von Prozeßmodellierungen<br />
können Prozesse in Aktivitätsdiagrammen auch verfeinert werden [Booch et<br />
al., 1999, S. 261].<br />
Zur Interaktion mit Objekten außerhalb des betrachteten Prozesses werden in Aktivitätsdiagrammen<br />
spezielle Prozesse zum Auslösen und zum Empfangen von externen Ereignissen (Nachrichten)<br />
verwendet. Prozesse zum <strong>Se</strong>nden von Ereignissen werden durch Rechtecke mit einer aus<br />
dem Rechteck zeigenden Spitze und Prozesse zum Empfangen von Ereignissen werden durch<br />
Rechtecke mit einer in das Rechteck zeigenden Spitze notiert. In diesen Symbolen sind die jeweiligen<br />
Ereignisse vermerkt [Rumbaugh et al., 1999, S. 240], [OMG, 1999, S. 3-147].<br />
Aktivitätsdiagramme unterstützen die Modellierung von Parallelabläufen und von Verzweigungen.<br />
Parallele Prozeßabläufe werden durch dicke, horizontale Linien (Synchronisationsbalken)<br />
voneinander getrennt (ÓÖ) und wieder zusammengeführt (ÂÓÒ). Die Verzweigung des Kontrollflusses<br />
in exklusive Alternativen (ÖÒ ) und deren Zusammenführung (ÅÖ) wird durch<br />
Rauten beschrieben. In die Symbole <strong>für</strong> ÓÖ und ÖÒ geht jeweils ein Kontrollflußpfeil ein<br />
und mindestens zwei Kontrollflußpfeile aus. ÂÓÒ- und ÅÖ-Symbole verhalten sich entsprechend<br />
umgekehrt. An die Raute zur Beschreibung der Verzweigung kann das Entscheidungskriterium<br />
angetragen werden; die ausgehenden Kontrollflußkanten werden mit den jeweiligen<br />
Alternativen annotiert. Nach [Rumbaugh et al., 1999, S. 240] kann auch auf die Darstellung<br />
durch Rauten verzichtet werden. Die Kontrollfluß-Pfeile verbinden dann direkt die Prozeßdarstellungen.<br />
Die Zuordnung von Prozessen zu Organisationseinheiten oder zu prototypischen Objekten wird<br />
durch Aktivitätsdiagramme ebenfalls unterstützt. Hierdurch ermöglichen Aktivitätsdiagramme<br />
auch die Darstellung von Querbezügen zu den Beschreibungsmitteln des Stellengliederungsparadigmas<br />
(vgl. Kapitel 3.3.1) und des Objekt-Instanzparadigmas (vgl. Kapitel 3.5.1). Das Aktivitätsdiagramm<br />
wird hierzu in Spalten (engl. swimlanes) untergliedert, die jeweils die Prozesse<br />
der einzelnen Leistungserbringer (Organisationseinheiten oder Objekte) enthalten.<br />
5 Als notationelle Grundform des Netzparadigmas sind auch die Ereignisgesteuerten Prozeßketten, die in der<br />
Geschäftsprozeßmodellierung weit verbreitet sind, oder auch Petri-Netz-Varianten, z. B. Prädikat/Transitions-<br />
Netze denkbar. Die Entscheidung wurde zugunsten der Aktivitätsdiagramme getroffen, weil sie das entsprechende<br />
Beschreibungsmittel des kommenden Quasi-Modellierungsstandards UML sind.
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 73<br />
Neben der Darstellung des Kontrollflusses bieten die Aktivitätsdiagramme der UML auch die<br />
Möglichkeit Objektflußbeziehungen zu beschreiben. Objekte werden auch hier durch Rechtecke<br />
dargestellt, die den unterstrichenen Objektbezeichner enthalten. Diese sind durch unterbrochen<br />
gezeichnete Pfeile, die in Objektflußrichtung gerichtet sind, mit den erzeugenden und verbrauchenden<br />
Prozessen verbunden.<br />
Rechnungswesen MTA-R<br />
Arzt<br />
: Leistungsbeleg<br />
Untersuchung<br />
abrechnen<br />
Termin vereinbaren<br />
Anforderung<br />
entgegennehmen<br />
Krankenakte<br />
beschaffen<br />
Untersuchung ?<br />
Röntgen Angio CT Szinti MR<br />
Röntgenuntersuchung<br />
durchführen<br />
Angio-Untersuchung<br />
durchführen<br />
CT-Untersuchung<br />
durchführen<br />
Szinti-Untersuchung<br />
durchführen<br />
MR-Untersuchung<br />
durchführen<br />
Abbildung 3.22: Aktivitätsdiagramm<br />
Patient<br />
eingetroffen<br />
Patient aufklären<br />
Untersuchung<br />
befunden<br />
weitere<br />
Untersuchung<br />
notwendig?<br />
ja<br />
nein
74 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Beispiel 3.9 (Aktivitätsdiagramm einer radiologischen Untersuchung)<br />
An der Durchführung radiologischer Untersuchungen sind Medizinisch-Technische Assistenten<br />
der Radiologie (MTA-R), Ärzte und zur Abrechnung das Rechnungswesen beteiligt.<br />
Im Aktivitätsdiagramm in Abbildung 3.22 sind die Teilprozesse der radiologischen<br />
Untersuchung auf die entsprechenden Aufgabenträger aufgeteilt.<br />
Nachdem die Untersuchungsanforderung vorliegt (Anforderung entgegennehmen), ist ein<br />
Untersuchungstermin zu vereinbaren und die Krankenakte des Patienten anzufordern. Die<br />
Prozesse Termin vereinbaren und Krankenakte beschaffen können nebenläufig bearbeitet<br />
werden. Trifft der Patient zur Untersuchung ein (vgl. Ereignis Patient eingetroffen), erfolgt<br />
durch den Arzt die Information des Patienten über die vorgesehene Untersuchung (Patient<br />
aufklären). Nach Auswahl der Untersuchungsmethode wird durch den Medizinisch-<br />
Technischen Assistenten die Untersuchung durchgeführt. Anschließend wird durch den<br />
Arzt der Befund erstellt (Untersuchung befunden). Ist die Untersuchung abgeschlossen,<br />
wird durch das Rechnungswesen die Untersuchung abgerechnet. Hierzu wird vom Arzt<br />
ein Leistungsbeleg an das Rechnungswesen gegeben. Sind zusätzliche Untersuchungen<br />
nötig, wird mit der Aktivität Patient aufklären eine weitere Maßnahme eingeleitet. £<br />
Notationelle Varianten<br />
Wie die datenflußorientierten Beschreibungsmittel sind auch die Sprachen zur Beschreibung der<br />
Kontrollflußabhängigkeiten zwischen Prozessen seit langem bewährte Beschreibungsmittel zur<br />
Organisations- und Softwaremodellierung. Entsprechend haben sich auch hier verschiedene Notationsformen<br />
herausgebildet. Programmablaufpläne, Blockschaubilder oder Verkehrsschaubilder<br />
[Chapin, 1970], [Grochla, 1982, S. 315ff], [DIN 66001, 1983] modellieren Prozesse durch<br />
Folgen, Verzweigungen, Zusammenführung und Parallelbearbeitungen von Kontrollflüssen. Zur<br />
Vermeidung von Spaghetti-Modellierungen in Programmablaufplänen werden Programmablaufpläne<br />
gelegentlich auch auf ausschließlich reguläre Kontrollstrukturen (vgl. das Kontrollflußparadigma<br />
in Kapitel 3.4.4) eingeschränkt. Hierzu wurde z. B. ein eigenständiges Beschreibungsmittel<br />
<strong>für</strong> Schleifen eingeführt, das die Konstruktion aus Verzweigung und Zusammenführung<br />
ersetzt.<br />
Ähnlich wie in Aktivitätsdiagrammen werden in Rasterdarstellungen [Schmidt, 1989, S. 306ff],<br />
[Lehner et al., 1991, S. 270] Prozesse in vorgefertigte Tabellen eingetragen, bei denen in Spalten<br />
die Aufgaben der verschiedenen Leistungsträger chronologisch notiert sind. Von der sequenziellen<br />
Kontrollflußabfolge abweichende Strukturen lassen sich in diesen Tabellen jedoch nur sehr<br />
unübersichtlich durch Pfeile zwischen einzelnen Tabellenfeldern notieren. Ebenfalls ausschließlich<br />
auf die Beschreibung sequenzieller Ablauffolgen beschränkt sind (moderne) Ablaufkarten<br />
[Schmidt, 1989, S. 308ff], [Lehner et al., 1991, S. 270] oder Arbeitsablaufschaubilder [Grochla,<br />
1982, S. 320]. Prozeßfolgen werden hier in einer Liste notiert, bei der die Prozesse noch<br />
zusätzlich nach den Verrichtungskomponenten „Bearbeitung“, „Transport“, „Kontrolle“, „Verzögerung“,<br />
und „Lagerung“ durch graphische Symbole oder Kennbuchstaben klassifiziert sind.<br />
In diesen tabellarischen Notationsformen können den einzelnen Prozessen auch die Handlungsträger<br />
zugewiesen werden (vgl. [Nordsieck, 1962, S. 133]).
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 75<br />
Zur Untersuchung von Prozeßstrukturen auf der Basis von aktiven und passiven Komponenten<br />
haben sich weitere, nahezu eigenständige Beschreibungs- und Analysemittel herausgebildet, die<br />
daher eine eigene Betrachtung sinnvoll machen. Ereignisgesteuerte-Prozeßketten, Petri-Netze<br />
und Netzpläne werden in den folgenden Abschnitten kurz skizziert.<br />
Ereignisgesteuerte Prozeßketten. Zentrales Beschreibungsmittel der Geschäftsprozeßmodellierung<br />
nach dem Ansatz der Architektur integrierter Informationssysteme (ARIS) [Scheer, 1992]<br />
sind Ereignisgesteuerte Prozeßketten (EPK) [Keller et al., 1992], [Staud, 1999]. Im Gegensatz<br />
zu Aktivitätsdiagrammen werden in Ereignisgesteuerten Prozeßketten Ereignisse im Prozeßablauf<br />
explizit herausgestellt. Sowohl Ereignisse als auch Prozesse können in Ereignisgesteuerten<br />
Prozeßketten verfeinert werden. Zur Modellierung von Verzweigungen bieten sie ÖÒ - und<br />
ÅÖ-Operatoren sowohl <strong>für</strong> die exklusive (ÜÓÖ) als auch die nicht-ausschließende Alternativenbildung<br />
(ÓÖ) an. Ebenso wird die Modellierung paralleler Kontrollflüsse durch ÓÖ- und<br />
ÂÓÒ-Operatoren unterstützt. Als weitere Kontrollflußoperatoren verwenden Ereignisgesteuerte<br />
Prozeßketten auch Kombinationen von Vereinigungen bzw. Parallelisierungen und deren Zusammenführungen.<br />
In der Einführung der Ereignisgesteuerten Prozeßketten [Keller et al., 1992] werden durch diese<br />
Operatoren jeweils Ereignisse mit Prozessen oder Prozesse mit Ereignissen verknüpft. In den<br />
grundlegenden Arbeiten [Keller et al., 1992], [Scheer, 1994] zu den Ereignisgesteuerten Prozeßketten<br />
und zum ARIS-Ansatz [Scheer, 1992] wird deren Syntax nicht eindeutig eingeführt.<br />
[Scheer, 1994, S. 50] gibt lediglich wenige Beispiele möglicher Ablaufstrukturen an. Aus diesen<br />
Beispielen kann abgeleitet werden, daß Ereignisgesteuerte Prozeßketten als gerichtete, bipartite<br />
Hypergraphen von Ereignissen und Prozessen notiert werden, deren binäre Hyperkanten sequenziellen<br />
Kontrollfluß und deren nicht-binäre Hyperkanten Kontrollfluß-Operatoren beschreiben.<br />
Notiert werden die Ereignisse durch <strong>Se</strong>chsecke und die Prozesse durch Ovale, die jeweils mit einem<br />
Bezeichner annotiert sind. Die Operatoren zur Kontrollflußverknüpfung werden durch einen<br />
horizontal in der Mitte geteilten Kreis dargestellt. Durch die logischen Operatoren , , und <br />
(ÜÓÖ) wird im oberen Halbkreis angezeigt, wie die eingehenden Kontrollflüsse vereinigt werden<br />
und im unteren Halbkreis, wie sie verzweigt werden. Die Kontrollflüsse zwischen Ereignissen,<br />
Prozessen und Operatoren werden durch Pfeile beschrieben. Verzweigungskriterien sind an den<br />
Operatoren zur Kontrollflußverzweigung nicht vorgesehen. Eine Forderung nach Balancierung<br />
der Kontrollflußoperatoren wird in den Arbeiten zu Ereignisgesteuerten Prozeßketten nicht aufgestellt.<br />
Abbildung 3.23 zeigt die dem Aktivitätsdiagramm aus Abbildung 3.22 entsprechende<br />
Modellierung einer radiologischen Untersuchung durch eine Ereignisgesteuerte Prozeßkette.<br />
Eine alternative Darstellung der Ereignisgesteuerten Prozeßketten erlauben Vorgangskettendiagramme<br />
[Brombacher, 1991], [Scheer, 1994, S. 59] und erweiterte Ereignisgesteuerte Prozeßketten.<br />
Diese Beschreibungsmittel ermöglichen die integrierte Darstellung der Prozeßmodelle mit<br />
den benötigten und erzeugten Daten und ihrer Einbettung in die jeweilige Organisationsstruktur.<br />
Hierzu werden in Vorgangskettendiagrammen Tabellen u. a. mit Spalten <strong>für</strong> Ereignisse, Funktionen,<br />
Daten und Organisationseinheiten verwendet, in die entsprechende graphische Symbole<br />
eingetragen werden. Kontrollflüsse, Datenflüsse und organisatorische Zusammenhangsbeziehungen<br />
werden durch zusätzliche Pfeile in diesen Tabellen notiert. Darstellungen dieser Art erlauben<br />
zwar ein umfassendes Bild der betrachteten Prozeßkette, werden jedoch durch die Einschränkung<br />
auf tabellarische Darstellungen und die Überfrachtung mit Modellierungskonstrukten schnell
76 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Röntgen<br />
Röntgenuntersuchung<br />
durchführen<br />
Angio<br />
Angio-Untersuchung<br />
durchführen<br />
Termin vereinbaren<br />
Anforderung liegt vor<br />
Anforderung<br />
entgegennehmen<br />
Anforderung entgegengenommen<br />
<br />
<br />
Patient<br />
eingetroffen<br />
<br />
Patient aufklären<br />
<br />
CT<br />
CT-Untersuchung<br />
durchführen<br />
<br />
Untersuchungsergebnis<br />
liegt vor<br />
Untersuchung<br />
befunden<br />
<br />
Leistungsbeleg<br />
erstellt<br />
Untersuchung<br />
abrechnen<br />
Untersuchung<br />
abgeschlossen<br />
Krankenakte<br />
beschaffen<br />
Szinti MR<br />
Szinti-Untersuchung<br />
durchführen<br />
Abbildung 3.23: Ereignisgesteuerte Prozeßkette<br />
MR-Untersuchung<br />
durchführen
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 77<br />
sehr unübersichtlich. Im Gegensatz zu Vorgangskettendiagrammen erfolgt daher die Prozeßdarstellung<br />
in erweiterten Ereignisgesteuerten Prozeßketten (vgl. z. B. [Staud, 1999, S. 45ff]) durch<br />
Graphen, deren Knoten nicht auf Tabellenspalten aufgeteilt sind. In beiden Notationsformen werden<br />
Daten durch Rechtecke und Organisationseinheiten durch Ellipsen notiert.<br />
Petri-Netze. Petri-Netze [Petri, 1962], [Reisig, 1992], [Baumgarten, 1996] wurden zur Beschreibung<br />
und Analyse von nebenläufigen und nicht-deterministischen Prozessen entwickelt.<br />
Die Modellierung durch Petri-Netze erfolgt durch aktive und passive Komponenten, zwischen<br />
denen ein Fluß notiert wird. Durch Stellen6 werden passive Komponenten wie z. B. Zustände<br />
oder Bedingungen modelliert. Aktive Komponenten, die Zustandsveränderungen bewirken, werden<br />
als Transitionen7 bezeichnet. Stellen und Transitionen werden in Petri-Netzen als gleichgewichtige<br />
Modellierungskonzepte aufgefaßt.<br />
Die graphische Darstellung von Petri-Netzen basiert auf bipartiten Graphen, bei denen die Knoten<br />
entweder Transitionen oder Stellen modellieren (Netzgraphen). Transitionen werden durch<br />
Rechtecke und Stellen durch Kreise notiert, die jeweils um Bezeichner außerhalb oder innerhalb<br />
der geometrischen Symbole ergänzt werden können. Der Fluß zwischen Stellen und Transitionen<br />
wird in Netzgraphen durch gerichtete Kanten beschrieben. Der Modellierung mit Petri-Netzen<br />
liegt die Anschauung zugrunde, daß Transitionen neue Objekte erzeugen und diese auf Stellen<br />
ablegen. Die klassische Petri-Netz-Theorie abstrahiert von konkreten Objekten. Stellen enthalten<br />
nicht unterscheidbare Marken, die von den Transitionen erzeugt oder verbraucht werden. Hierbei<br />
kann modelliert werden, daß Stellen nur eine begrenzte Anzahl von Marken besitzen dürfen, und<br />
daß von Transitionen eine feste Anzahl von Marken entnommen bzw. erzeugt werden kann. Zur<br />
Darstellung dieser Kapazitätsangaben werden Stellen mit Stellenkapazitäten und Flußbeziehungen<br />
mit Kantengewichten annotiert. Der Systemzustand eines Petri-Netzes ergibt sich aus den<br />
Markierungen seiner Stellen. Zustandsänderungen werden durch Schaltvorgänge der Transitionen<br />
ausgelöst. Eine Transition ist dann aktiv, wenn ihre vorgelagerten Stellen gemäß der Kantengewichte<br />
ausreichend Marken bereitstellen und die nachgelagerten Stellen ausreichend Kapazität<br />
zur Aufnahme der erzeugten Marken bieten. Ob eine Transition aktiv ist, wird ausschließlich von<br />
der direkten Umgebung der Transition bestimmt (Lokalität). Sind mehrere Transitionen gleichzeitig<br />
aktiv, können sie nebenläufig schalten.<br />
In Petri-Netzen können zur Strukturierung sowohl Stellen als auch Transitionen verfeinert werden<br />
(vgl. [Baumgarten, 1996, S. 59ff]). Stellen werden hierbei durch stellenberandete Teilnetze<br />
und Transitionen durch transitionenberandete Teilnetze verfeinert.<br />
Während durch Netzgraphen lediglich die statischen Zusammenhänge zwischen Prozessen<br />
(Transitionen) und Ereignissen (Stellen) beschrieben werden, kann durch die Ergänzung um eine<br />
Anfangsmarkierung und die Berücksichtigung des Schaltverhaltens des Netzes auch das Verhalten<br />
des Prozeßmodells untersucht werden. Die Petri-Netz-Theorie stellt hierzu eine Vielzahl<br />
6 Der Stellenbegriff der Petri-Netze darf nicht verwechselt werden mit dem Stellenbegriff der Aufbausicht. Soweit<br />
die Bedeutung aus dem Kontext ersichtlich ist, wird der Begriff „Stelle“ <strong>für</strong> beide Zusammenhänge verwendet.<br />
7 Da in den Grundformen der Petri-Netze von zeitliche Aspekten abstrahiert wird, erfordert die Bearbeitung<br />
innerhalb einer Transition keine Zeit. Transitionen werden z. B. in den eher zustandsorientiert aufgefaßten<br />
Bedingungs/Ereignis-Netzen als Ereignisse bezeichnet, deren Eintreffen eine Zustandsveränderung auslöst. Betrachtet<br />
man Petri-Netze jedoch prozeßorientiert und vergleicht sie mit den anderen Beschreibungsmitteln des<br />
Netzparadigmas, entsprechen Transitionen jedoch den Prozessen während die Stellen den Ereignissen der Aktivitätsdiagramme<br />
oder der Ereignisgesteuerten Prozeßketten entsprechen.
78 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Termin<br />
vereinbaren<br />
loop<br />
S1<br />
Anforderung<br />
entgegennehmen<br />
Fork<br />
Join<br />
Patient<br />
aufklären<br />
[Untersuchung=CT]<br />
[Untersuchung=Röntgen] [Untersuchung=Angio] [Untersuchung=Szinti] [Untersuchung=MR]<br />
Röntgenuntersuchung<br />
durchführen<br />
Angio-<br />
Untersuchung<br />
durchführen<br />
CT-<br />
Untersuchung<br />
durchführen<br />
Szinti-<br />
Untersuchung<br />
durchführen<br />
MR-<br />
Untersuchung<br />
durchführen<br />
Untersuchung<br />
befunden<br />
Untersuchung<br />
abrechnen<br />
Krankenakte<br />
beschaffen<br />
Abbildung 3.24: Bedingungs/Ereignis-Netz<br />
S2
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 79<br />
von Analysen (u. a. auf Termination, Lebendigkeit, Verklemmung, Erreichbarkeit) [Baumgarten,<br />
1996, S. 129ff] bereit und erlaubt auch eine Simulation des Prozeßablaufs.<br />
Zur Modellierung mit Petri-Netzen wurden viele verschiedene Petri-Netz-Typen eingeführt, die<br />
sich in den Typen der Stellenmarkierungen, in den Anforderungen an die Kantengewichte und<br />
in den Schaltregeln der Transitionen unterscheiden. In Bedingung/Ereignis-Netzen (B/E-Netze)<br />
[Petri, 1962], [Baumgarten, 1996, S. 111] wird <strong>für</strong> die Stellen generell eine Stellenkapazität<br />
von 1 gefordert. Anonyme, untypisierte Marken zeigen die Gültigkeit einer durch Stellen modellierten<br />
Bedingung an. Stellen/Transitions-Netze (S/T-Netze) [Baumgarten, 1996, S. 77] verwenden<br />
ebenfalls anonyme Marken. Sie gestatten aber beliebige Stellenkapazitäten und Kantengewichte.<br />
Höhere Petrinetze wie Prädikat/Transitions-Netze [Genrich / Lautenbach, 1981],<br />
[Marx, 1998, S. 21ff] oder die hieraus abgeleiteten Gefärbten Petri-Netze [Jensen, 1998] verwenden<br />
unterschiedlich typisierte, individuelle Marken. Transitionen dieser Netztypen können<br />
nur dann schalten, wenn auf den adjazenten Stellen entsprechende Marken liegen bzw. Platz <strong>für</strong><br />
erzeugte Marken bereit steht. An den Transitionen werden Schaltregeln über Variablen notiert,<br />
die durch Kantenanschriften an die Marken der Stellen gebunden werden. Die Schaltregeln bestehen<br />
aus Schaltbedingungen, die der Vorbedingung der Transition entsprechen (Guards) und<br />
Schaltwirkungen, durch die die Nachbedingungen beschrieben werden. Einen Überblick über<br />
grundlegenden Petri-Netzvarianten sowie über weitere Netzvarianten gibt auch [Baumgarten,<br />
1996, S. 256ff].<br />
In Abbildung 3.24 ist der Prozeß der radiologischen Untersuchung aus Beispiel 3.9 durch ein<br />
(erweitertes) Bedingungs/Ereignis-Netz, einschließlich seiner Startmarkierung beschrieben. Die<br />
Parallelbearbeitung der Prozesse Termin vereinbaren und Krankenakte beschaffen wird durch<br />
Einführung der zusätzlichen Transitionen Join und Fork modelliert. Die Verzweigung zur Durchführung<br />
der ausgewählten Untersuchungen wird durch Wächter (Guards) überwacht. Diese stellen<br />
sicher, daß nur genau eine der fünf Untersuchungs-Transitionen schalten kann. Zur Modellierung<br />
des Zusammenflusses der abweisenden Schleife ist sicherzustellen, daß die Transition loop<br />
sowohl beim ersten Durchlaufen, als auch bei den Iterationen schalten kann. Hierzu ist die Stelle<br />
S2 in der Anfangsmarkierung bereits mit einer Marke belegt. Verbrauchte Marken werden nach<br />
Schalten von loop auf Stelle S1 zurückgelegt.<br />
Netzpläne. Die Planung, Steuerung und Überwachung von Abläufen kann ebenfalls auf Beschreibungsmittel<br />
des Netzparadigmas zurückgeführt werden. Auch die Verfahren der Netzplantechnik<br />
[DIN 69900, 1987], [Schwarze, 1994] basieren auf der Modellierung von zeitverbrauchenden<br />
Prozessen (in der Netzplan-Literatur i. allg. als Vorgänge bezeichnet), Ereignissen und<br />
den hierzwischen vorliegenden, ausschließlich schleifenfreien, Folgebeziehungen.<br />
Bei der Projektplanung mit Netzplänen werden vorgangsorientierte Netzpläne, bei denen Prozesse<br />
und deren Folgebeziehungen betrachtet werden und ereignisorientierte Netzpläne, diedie<br />
Ereignisse und deren Folgebeziehungen in den Vordergrund stellen, unterschieden. Vorgangsorientierte<br />
Netzpläne werden je nach der Darstellung der Prozesse weiter in Vorgangsknotennetze<br />
und in Vorgangspfeilnetze unterteilt.<br />
Prozesse werden in Vorgangsknotennetzen durch Knoten beschrieben; die gerichteten Kanten<br />
modellieren deren Aufeinanderfolgen. Die Verwendung von Vorgangsknotennetzen geht auf die<br />
Metra-Potential-Method (MPM) [Roy, 1962], [DIVO, 1966] zurück, die zunächst zur Terminplanung<br />
und Überwachung beim Bau von Kernkraftwerken eingesetzt wurde.
80 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
In Vorgangspfeilnetzen werden Prozesse durch gerichtete Kanten modelliert, die zwischen Knoten<br />
verlaufen, die nicht näher betrachtete Anfangs- und Endereignisse der Prozesse beschreiben.<br />
Die Abbildung der Prozesse durch Kanten erfordert zur Modellierung nebenläufiger Prozesse<br />
und deren Synchronisation die Verwendung zusätzlicher Scheinprozesse, deren Bearbeitung keine<br />
Zeit erfordert. Diese Scheinprozesse erschweren sowohl die Erstellung wie auch das Verstehen<br />
dieser Netzplanvarianten. Vorgangspfeilnetze wurden im Rahmen der Entwicklung der<br />
Critical-Path-Method (CPM) [Kelley, 1961] als Planungs- und Überwachungsinstrument <strong>für</strong> das<br />
Chemie-Unternehmen Du Pont de Nemour & Co. eingeführt.<br />
In ereignisorientierten Netzplänen werden Ereignisse als Knoten modelliert (Ereignisknotennetze),<br />
die Kanten beschreiben lediglich das Aufeinanderfolgen von Ereignissen und betrachten die<br />
Prozesse nicht. Ereignisknotennetze sind das Modellierungsmittel der Program Evaluation and<br />
Review-Technique (PERT) [PERT, 1958], [Malcolm et al., 1959], die im Auftrag der U. S.-Navy<br />
zur Koordination der Entwicklung von Waffensystemen entwickelt wurden.<br />
Notiert werden Netzpläne durch gerichtete Graphen, bei denen die Knoten mit dem Ereignisoder<br />
Prozeßbezeichner markiert werden. Die Folgebeziehungen werden durch gerichtete Kanten<br />
beschrieben. Prozeßknoten bzw. Prozeßpfeile werden häufig noch mit ihrer Dauer attributiert.<br />
Durch die Folgebeziehungen können in Vorgangsknoten- und Ereignisknotennetzen auch (zeitliche)<br />
Abstände zwischen den Prozessen bzw. Ereignissen z. B. zur Modellierung von Warte- und<br />
Liegezeiten beschrieben werden. Hierzu werden die Kanten entsprechend mit der Wartezeit attributiert.<br />
In Vorgangsknotennetzen können sich diese Wartezeiten jeweils auf den Beginn oder<br />
das Ende der beiden adjazenten Prozesse beziehen. Normalfolgen beschreiben den zeitlichen Abstand<br />
zwischen dem Ende des ersten und dem Anfang des zweiten Vorgangs. Anfangsfolgen und<br />
Endfolgen modellieren jeweils die Abstände zwischen den Prozeßanfängen und -enden. Die Folgebeziehung<br />
zwischen Anfang des ersten und Ende des zweiten Prozesses wird als Sprungfolge<br />
bezeichnet.<br />
Anforderung<br />
entgegennehmen<br />
0 2 2<br />
0 0 2<br />
Termin vereinbaren<br />
2 3 5<br />
19 17 22<br />
Krankenakte<br />
beschaffen<br />
2 20 22<br />
2 0 22<br />
Patient aufklären<br />
22 15 37<br />
22 0 37<br />
Untersuchung<br />
durchführen<br />
37 30 67<br />
37 0 67<br />
Abbildung 3.25: Vorgangsknotennetzplan<br />
Untersuchung<br />
befunden<br />
67 10 77<br />
67 0 77<br />
Untersuchung<br />
abrechnen<br />
77 5 82<br />
77 0 82<br />
Process<br />
ES D EF<br />
LS TF LF<br />
Abbildung 3.25 zeigt den Vorgangsknotennetzplan zur Durchführung der Radiologischen Untersuchung<br />
aus Beispiel 3.9, bei dem alle Prozesse zueinander in Normalfolge stehen. Da durch die<br />
Netzplantechnik lediglich sequenzielle und parallele Prozeßfolgen beschrieben (und analysiert)<br />
werden können, mü’s hier die Schleife zur Durchführung einer weiteren Untersuchung und die<br />
Untersuchungsalternativen entfallen.
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 81<br />
Die Netzplantechnik erlaubt es, Aussagen über das zeitliche Verhalten eines Prozesses zu machen.<br />
Aus der Zeitdauer (duration, D) der einzelnen Prozesse, der Folgebeziehungen und deren<br />
Verzögerung kann u. a. der zeitliche Aufwand des Gesamtprozesses oder die zeitliche Einordnung<br />
der Prozesse und Ereignisse errechnet werden. Für Prozesse kann bestimmt werden, zu<br />
welchem Zeitpunkt sie frühestens beginnen (earliest start time, ES) oder enden (earliest finish<br />
time, EF). In ähnlicher Weise können auch, ausgehend von einem Endzeitpunkt des Gesamtprozesses,<br />
<strong>für</strong> jeden Prozeß der späteste Zeitpunkt an dem die Prozeßbearbeitung beginnen (latest<br />
start time, LS) oder enden (latest finish time, LF) muß, errechnet werden um diesen Endtermin<br />
zu erreichen. Für Ereignisse können analog früheste (earliest time, ET) und späteste (latest time,<br />
LT) Zeitpunkte <strong>für</strong> deren Eintreffen bestimmt werden. Aus diesen Zeitpunkten kann weiter errechnet<br />
werden, um welchen Zeitraum ein Prozeß oder das Eintreffen eines Ereignis verzögert<br />
werden kann, ohne den angestrebten Endtermin zu gefährden. Diese Pufferzeit (total float, TF)<br />
berechnet sich aus der Differenz der jeweiligen spätesten und frühesten Zeitpunkte. Prozesse,<br />
deren Pufferzeit gleich 0 ist, werden kritische Prozesse genannt, weil ihre Verzögerung auch den<br />
Gesamtprozeß verzögert. Ein Pfad zwischen Anfang und Ende des Gesamtprozesses, der ausschließlich<br />
kritische Vorgänge enthält, wird als kritischer Pfad bezeichnet. Weitere Maße und<br />
Analysemöglichkeiten werden z. B. in [Zimmermann, 1971], [Schwarze, 1994] definiert.<br />
Für den einfachen Netzplan aus Abbildung 3.25 wurden die frühesten und spätesten Zeitpunkte<br />
sowie die Pufferzeiten bestimmt und in den Prozeßdarstellungen notiert. Hierzu wurde davon<br />
ausgegangen, daß der Gesamtprozeß zum Zeitpunkt 0 beginnt und zum frühest möglichen Zeitpunkt<br />
(82) endet. In diesem Beispiel müssen außer dem Prozeß Termin vereinbaren alle anderen<br />
Prozesse genau zu ihren geplanten Zeitpunkten begonnen bzw. beendet werden. Diese bilden den<br />
kritischen Pfad.<br />
Neben den graphbasierten Darstellungsformen der Vorgangs-Knoten-, der Vorgangs-Pfeil und<br />
der Ereignisknotennetzpläne werden in der Netzplantechnik auch tabellenartige Beschreibungsmittel<br />
verwendet. In Balkendiagramme oder Ganttcharts werden die Prozesse in einer Spalte<br />
untereinander geschrieben. In einer weiteren Spalte wird zu jedem Prozeß ein Balken, dessen<br />
Länge der Prozeßdauer entspricht, in ein Zeitraster eingetragen. Ergänzt werden können weitere<br />
Spalten z. B. zur Festlegung der beteiligten Stellen oder der benötigten Maschinen. In klassischen<br />
Balkendiagrammen werden die Folgebeziehungen zwischen den Prozessen nicht notiert,<br />
so daß die Abhängigkeiten der Teilprozesse nicht veranschaulicht werden können. Werkzeuge<br />
zur Unterstützung des Projektmanagement verwenden daher erweiterte Balkendiagramme, bei<br />
denen vom Balkenende Verbindungslinien zum Beginn der Balken direkt abhängiger Prozesse<br />
gezogen werden können.<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Wesentliche Modellierungskonstrukte der Sprachen des Netzparadigmas sind Prozesse, Ereignisse<br />
und Folgebeziehungen zwischen diesen. Das <strong>Referenz</strong>-<strong>Metaschema</strong> muß daher Möglichkeiten<br />
zur Abbildung dieser Konzepte bereitstellen. Für die Folgebeziehungen sind auch die<br />
verschiedenen Möglichkeiten der Verzweigung und Zusammenführung der Kontrollflüsse zu berücksichtigen.<br />
Modellierungen in den Sprachen des Netzparadigmas nehmen häufig auch Bezug<br />
auf Konzepte anderer Paradigmen (z. B. Aufgabenträger oder Datenbezüge). Daher sind auch im<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> entsprechende Querbezüge vorzusehen.
82 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
3.4.4 Visuelle <strong>Modellierungssprachen</strong> des Kontrollflußparadigmas<br />
Die Beschreibungsmittel des Kontrollflußparadigmas verfolgen ebenso wie die Sprachen des<br />
Netzparadigmas (vgl. Kapitel 3.4.3) die Darstellung der Ablaufstrukturen in Organisationen und<br />
Softwaresystemen. Im Gegensatz zu den Sprachen des Netzparadigmas, die nahezu beliebige<br />
Folgestrukturen zulassen, erlauben die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Kontrollflußparadigmas<br />
ausschließlich die Beschreibung regulär strukturierte Abläufe.<br />
In den Diskussionen um die strukturierte Programmierung (vgl. u. a. [Dijkstra, 1968], [Knuth,<br />
1974]) stellte sich heraus, daß die Programmentwicklung bis auf wenige Ausnahmen ausschließlich<br />
auf den regulären Kontrollstrukturen der <strong>Se</strong>quenz, der Iteration und der Verzweigung aufsetzen<br />
sollte. Für die <strong>visuelle</strong>n Sprachen zur Ablaufmodellierung ergab sich hieraus die Forderung<br />
nach Beschreibungsmitteln, die ausschließlich diese Modellierungsmittel unterstützen und insbesondere<br />
schwer nachvollziehbare, beliebige Folgestrukturen verbieten.<br />
Im Mittelpunkt der Beschreibung durch die Sprachen des Kontrollflußparadigmas stehen auch<br />
hier Aktivitäten (Aktionen, Anweisungen, Prozesse etc.) die mittels <strong>Se</strong>quenzenbildung, Verzweigungen<br />
und Iterationen zu komplexeren Aktivitäten zusammengefaßt werden. Einige Sprachvarianten<br />
erlauben darüber hinaus noch die Komposition von Aktivitäten durch Parallelbearbeitung<br />
und bieten Möglichkeiten zur Verfeinerung von Aktivitäten. Diese Konzepte werden<br />
durch Nassi-Shneiderman-Diagramme alias Struktogramme, durch Entscheidungstabellen,<br />
durch Jackson-Diagramme, durch Pseudo Code oder durch Warnier-Orr-Diagramme unterstützt.<br />
keine weiteren Untersuchungen notwendig<br />
Anforderung entgegennehmen<br />
Termin vereinbaren Krankenakte beschaffen<br />
Patient aufklären<br />
Untersuchung ?<br />
Röntgen CT MR<br />
Angio Szinti<br />
Röntgenuntersuchung<br />
durchführen<br />
CT-<br />
Untersuchung<br />
durchführen<br />
MR-<br />
Untersuchung<br />
durchführen<br />
Untersuchung befunden<br />
Untersuchung abrechnen<br />
Angio-<br />
Untersuchung<br />
durchführen<br />
Abbildung 3.26: Nassi-Shneiderman-Diagramm<br />
Szinti-<br />
Untersuchung<br />
durchführen
3.4 Visuelle <strong>Modellierungssprachen</strong> der Prozeßsicht 83<br />
Notationelle Grundform: Nassi-Shneiderman-Diagramm<br />
Zur Modellierung regulärer Strukturen durch Nassi-Shneiderman-Diagramme [Nassi / Shneiderman,<br />
1973], [DIN 66261, 1985] werden elementare Aktivitäten in mit dem Aktivitätenbezeichner<br />
attributierten Rechtecken notiert. Die Komposition von Aktivitäten erfolgt in weiteren<br />
Rechtecken, so daß durch die Ineinanderschachtelung der Rechtecke die Blockstrukturierung<br />
der atomaren und zusammengesetzten Aktivitäten sichtbar wird. Zur Darstellung der <strong>Se</strong>quenzen<br />
werden die Rechtecke direkt untereinander angeordnet. In Verzweigungen wird das Auswahlkriterium<br />
in einem Dreieck notiert unter dem die Alternativen nebeneinander gestellt werden.<br />
Iterationen werden durch ein die iterierte Aktivität umgebendes Rechteck dargestellt, das zusätzlich<br />
das Iterationskriterium enthält. Parallel zu bearbeitende Aktivitäten werden ebenfalls<br />
nebeneinander aufgeführt. Die Parallelbearbeitung wird durch umgebende Trapeze kenntlich gemacht.<br />
Abbildung 3.26 zeigt die Modellierung der radiologischen Untersuchung aus Beispiel 3.9<br />
als Nassi-Shneiderman-Diagramm.<br />
Notationelle Varianten<br />
Alternative Darstellungen zur Beschreibung regulär strukturierter Folgebeziehungen, die die<br />
baumartige Struktur der Zerlegung der Gesamtaktivität in <strong>Se</strong>quenzen, Verzweigungen, Iterationen,<br />
Parallelbearbeitungen und atomare Aktivitäten auch optisch herausstellen, bieten auch<br />
Jackson-Diagramme [Jackson, 1975], [Balzert, 1996a, S. 127] und Warnier-Orr-Diagramme<br />
[Warnier, 1974] [Schulz, 1988, S. 137].<br />
Anforderung<br />
entgegennehmen<br />
O<br />
Röntgenuntersuchung<br />
durchführen<br />
Termin<br />
vereinbaren und<br />
Krankenakte<br />
beschaffen<br />
Patient<br />
aufklären<br />
CT-<br />
Untersuchung<br />
durchführen<br />
Radiologische<br />
Untersuchung<br />
durchführen<br />
Untersuchungen<br />
durchführen<br />
und befunden<br />
*<br />
Einzel-<br />
Untersuchung<br />
durchführen<br />
und befunden<br />
Untersuchung<br />
durchführen<br />
Untersuchung<br />
abrechnen<br />
Untersuchung<br />
befunden<br />
O O O O<br />
MR-<br />
Untersuchung<br />
durchführen<br />
Angio-<br />
Untersuchung<br />
durchführen<br />
Abbildung 3.27: Jackson-Diagramm<br />
Szinti-<br />
Untersuchung<br />
durchführen
84 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Sowohl in Jackson-Diagrammen (vgl. Abbildung 3.27) als auch in Warnier-Orr-Diagrammen<br />
(vgl. Abbildung 3.28) werden <strong>für</strong> zusammengesetzte Aktivitäten eigene graphische Repräsentationen<br />
verwendet, die mit ihren Komponenten durch Kanten bzw. geschweifte Klammern verbunden<br />
sind. Die verschiedenen Arten der Komposition von Aktivitäten werden durch Annotationen<br />
in den Knoten der Jackson-Diagramme („Ç“ <strong>für</strong> Alternativen und „£“ <strong>für</strong> Iterationen)<br />
herausgestellt. Iterationshäufigkeiten werden an den Klammern der Warnier-Orr-Diagramme und<br />
Alternativen durch „¨“ zwischen den Aktivitäten notiert. Beide Darstellungsformen bieten keine<br />
Mittel zur Modellierung von Parallelabläufen. Jackson- und Warnier-Orr-Diagramme wurden sowohl<br />
zur Beschreibung regulär strukturierter Prozeßabläufe als auch zur Modellierung regulärer<br />
Datenstrukturen entwickelt. Als Mittel zur Datenbeschreibung sind sie daher auch dem Objekt-<br />
Beziehungsparadigma (vgl. Kapitel 3.5.3) zuzuordnen.<br />
Radiologische<br />
Untersuchung<br />
durchführen<br />
Anforderung<br />
entgegennehmen<br />
Termin<br />
vereinbaren und<br />
Krankenakte<br />
beschaffen<br />
Untersuchungen<br />
durchführen<br />
und befunden<br />
Untersuchung<br />
abrechnen<br />
n > 0<br />
Einzel-<br />
Untersuchung<br />
durchführen<br />
und befunden<br />
Patient<br />
aufklären<br />
Untersuchung<br />
durchführen<br />
Untersuchung<br />
befunden<br />
Abbildung 3.28: Warnier-Orr-Diagramm<br />
Röntgenuntersuchung<br />
durchführen<br />
CT-<br />
Untersuchung<br />
durchführen<br />
MR-<br />
Untersuchung<br />
durchführen<br />
Angio-<br />
Untersuchung<br />
durchführen<br />
Szinti-<br />
Untersuchung<br />
durchführen<br />
Neben graphischen Darstellungen werden auch textuelle Notationen zur regulären Ablaufbeschreibung<br />
verwendet. Ein an imperative Programmiersprachen angelehnter Pseudo-Code mit<br />
blockstrukturierenden Sprachmitteln <strong>für</strong> <strong>Se</strong>quenzen, Iterationen, Verzweigungen und Parallelbearbeitungen<br />
wird in Abbildung 3.29a verwendet. Entscheidungstabellen [Schmidt, 1989,<br />
S. 327ff], [Balzert, 1996a, S. 222ff] können als tabellarische Darstellungen des Kontrollflußparadigmas<br />
aufgefaßt werden, die ausschließlich die Alternativenbildung abbilden. Eine Entscheidungstabelle<br />
zur Auswahl der Untersuchungsalternativen der radiologischen Untersuchungen ist<br />
in Abbildung 3.29b aufgeführt. Hierin ist auch angezeigt, daß eine angiographische Untersuchung8<br />
auch eine Röntgen-Untersuchung umfaßt.<br />
Zur Unterstützung der regulär strukturierten Ablaufmodellierung können auch Programmablaufpläne<br />
[Chapin, 1970], [DIN 66001, 1983] eingesetzt werden. Diese stellen u. a. auch Mittel zur<br />
8 Röntgenographische Darstellung von Blutgefäßen mit Hilfe injizierter Kontrastmittel.
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 85<br />
begin<br />
Anforderung entgegennehmen;<br />
beginPar<br />
Termin vereinbaren || Krankenakte beschaffen<br />
endPar;<br />
repeat<br />
Patient aufklären ;<br />
case Untersuchung<br />
Röntgen :<br />
Röntgenuntersuchung durchführen;<br />
Angio :<br />
Angio-Untersuchung durchführen;<br />
CT :<br />
CT-Untersuchung durchführen;<br />
Szinti :<br />
Szinti-Untersuchung durchführen;<br />
MR :<br />
MR-Untersuchung durchführen;<br />
endcase;<br />
Untersuchung befunden;<br />
until alle notwendigen Untersuchungen durchgeführt;<br />
Untersuchung abrechnen;<br />
end<br />
Röntgen<br />
Röntgenuntersuchung<br />
durchführen<br />
CT-Untersuchung<br />
durchführen<br />
MR-Untersuchung<br />
durchführen<br />
Angio-Untersuchung<br />
durchführen<br />
Szinti-Untersuchung<br />
durchführen<br />
a) PseudoCode b) Entscheidungstabelle<br />
R1<br />
X<br />
R2 R3 R4 R5<br />
J N N N N<br />
CT N J N N N<br />
MR N N J N N<br />
Angio N N N J N<br />
Szinti N N N N J<br />
Abbildung 3.29: Pseudo-Code und Entscheidungstabelle<br />
regulären Ablaufstrukturierung bereit, fordern deren Verwendung jedoch nicht und lassen beliebige<br />
Folgestrukturen zu, so daß dieses Beschreibungsmittel unter das Netzparadigma (vgl.<br />
Kapitel 3.4.3) eingeordnet wurde.<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die Beschreibung von Ablaufstrukturen durch die Sprachen des Kontrollflußparadigmas erfolgt<br />
entlang der Teilaktivitäten, die mittels <strong>Se</strong>quenzen, Alternativen, Iterationen und Parallelbearbeitung<br />
regulär strukturiert werden. Diese Konzepte muß das <strong>Referenz</strong>-<strong>Metaschema</strong> bereitstellen.<br />
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht<br />
In der Objektsicht werden die statischen Systemaspekte betrachtet. Hierzu werden Organisationen<br />
oder Softwaresysteme ausgehend von den Objekten beschrieben, die dieses System bilden.<br />
Objekte (oder Entities) [Chen, 1976], [Rumbaugh et al., 1999] stellen wesentliche, unterscheidbare<br />
Dinge innerhalb des Systems dar, die eine eigenständige Identität aufweisen. Neben der<br />
Objektidentität können Objekte weiter durch Attribute und Operationen charakterisiert werden.<br />
Attribute fassen Informationen über Objekte zusammen und definieren hierüber deren Zustand.<br />
Operationen beschreiben Handlungen oder Transformationen, die Objekte ausführen können. Sie<br />
charakterisieren das nach außen sichtbare Verhalten der Objekte. Das Zusammenspiel der Objekte<br />
wird durch hierzwischen vorliegende strukturelle Beziehungen oder Interaktionsbeziehungen<br />
herausgestellt. Strukturelle Beziehungen können durch Attribute konkretisiert werden.<br />
Die Beschreibung eines Systems kann sowohl entlang konkreter Objekte und deren strukturellen<br />
Beziehungen bzw. deren Interaktionsbeziehungen auf Instanzenebene als auch auf einer schematischen<br />
Ebene erfolgen. Bei der Betrachtung auf schematischer Ebene werden Mengen gleichar-<br />
X<br />
X<br />
X<br />
X<br />
X
86 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
tiger Objekte bzw. gleichartiger Beziehungen zu Klassen zusammengefaßt. Die Systembeschreibung<br />
abstrahiert dann von konkreten Objekten und Beziehungen und stellt die Zusammenhänge<br />
generell <strong>für</strong> alle möglichen Instanzen der modellierten Klassen heraus.<br />
Die Darstellung statischer, struktureller Objektzusammenhänge auf Instanzenebene erfolgt<br />
durch die Sprachen des Objekt-Instanzparadigmas. Durch die Beschreibungsmittel des Objekt-<br />
Interaktionsparadigmas werden die Interaktionsbeziehungen entlang der zwischen Objekten ausgetauschten<br />
Nachrichten dargestellt. Visuellen <strong>Modellierungssprachen</strong> zur Beschreibung von<br />
Objektstrukturen auf Schemaebene stellen die Sprachen des Objekt-Beziehungsparadigmas bereit.<br />
3.5.1 Visuelle <strong>Modellierungssprachen</strong> des Objekt-Instanzparadigmas<br />
Zur Modellierung der statischen Sicht eines Systems entlang konkreter oder anonymer Systembestandteile<br />
werden die Sprachen des Objekt-Instanzparadigmas verwendet. Im Gegensatz zu<br />
den Beschreibungsmitteln des Objekt-Interaktionsparadigmas (vgl. Kapitel 3.5.2), mit denen die<br />
Interaktionen zwischen den Objekten des Systems dargestellt werden, beschreiben die Sprachen<br />
des Objekt-Instanzparadigmas einen möglichen Zustand des Systems zu einem festen Zeitpunkt.<br />
Hierzu werden die Objekte des Systems mit ihren Attribut-Eigenschaften und ihren Beziehungen<br />
skizziert.<br />
Die Beschreibung struktureller Systemzusammenhänge entlang konkreter oder anonymer Objekte<br />
und Beziehungen erfolgt durch Objektdiagramme oder Instanzdiagramme.<br />
Eingesetzt werden diese Sprachen auch als Grundlage zur Erstellung von Beschreibungen des<br />
Objekt-Beziehungsparadigmas (vgl. Kapitel 3.5.3) oder zur Darstellung und Erklärung solcher<br />
Modellierungen. Die Sprachen des Objekt-Instanzparadigmas beschreiben hierzu exemplarische<br />
Zusammenhänge, die mit den Beschreibungsmitteln des Objekt-Beziehungsparadigmas schematisch<br />
beschrieben werden.<br />
Notationelle Grundform: Objektdiagramm<br />
Die Darstellung von Modellierungen nach dem Objekt-Instanzparadigma erfolgt durch attributierte<br />
und typisierte Graphen. Knoten beschreiben hierbei konkrete oder anonyme Objekte und<br />
Kanten stellen die strukturellen Beziehungen zwischen den Objekten heraus. Zur Darstellung<br />
ähnlicher Objekte bzw. Beziehungen können diese typisiert werden. Attributeigenschaften der<br />
Objekte und Beziehungen werden in Attribut-Wertpaaren notiert.<br />
Der zur Modellierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s in Kapitel 6 verwendete EER/GRAL-Ansatz<br />
zur graphbasierten Konzeptmodellierung stellt auch ein <strong>visuelle</strong> Beschreibungsmittel zur Darstellung<br />
struktureller Instanzzusammenhänge bereit. Dieses Beschreibungsmittel wird im folgenden<br />
als notationelle Grundform des Objekt-Instanzparadigmas vorgestellt. Eine Einführung<br />
in die Formalisierung dieses Ansatzes findet sich in Kapitel 5.2.1.<br />
Objekte werden durch Rechtecke mit abgerundeten Ecken dargestellt. Im oberen Teil des Rechtecks<br />
können optional Objektbezeichner und Objekttyp notiert werden. Im unteren Teil können<br />
Attribut-Wertpaare zur näheren Charakterisierung des Objekts aufgeführt werden. Die Beziehungen<br />
zwischen den Objekten werden durch Pfeile notiert, die ebenfalls mit einem Bezeich-
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 87<br />
v4 Einweisung<br />
Datum = 1704,3<br />
Art = "Notfall-<br />
Einweisung"<br />
e3:istUntersuchungZu<br />
e4:führtDurch<br />
e2:istEinweisungZu<br />
v3<br />
e1:gehörtZu<br />
Fall e16:istEntlassungZu<br />
e13:istOPZu<br />
e6:löstAus e11:löstAus<br />
v2 Arzt<br />
Name =<br />
"Dr. Leonard McCoy"<br />
Adresse =<br />
"USS Enterprise"<br />
e14:führtDurch<br />
e18:erstellt<br />
v5 Untersuchung v6<br />
Radiologische<br />
Untersuchung<br />
v7 Operation v8 Entlassung<br />
Datum = 1704,7<br />
e9:führtDurch<br />
Art = "auf eigenen<br />
Wunsch entlassen"<br />
e5:dokumentiert e7:fordertAn<br />
e10:dokumentiert e12:fordertAn e15:dokumentiert<br />
v9 Befund<br />
Text=<br />
"Verdacht auf<br />
Bandscheibenvorfall"<br />
1<br />
v10 Anforderung<br />
Text =<br />
"MR-Untersuchung<br />
auf Bandscheibenvorfall"<br />
v1 Patient<br />
Name =<br />
"James Tiberius Kirk"<br />
Adresse =<br />
"USS Enterprise"<br />
2<br />
e8:istUntersuchungZu<br />
v11 Befund<br />
Text =<br />
"Verdacht auf<br />
Bandscheibenvorfall<br />
bestätigt"<br />
v12 Anforderung<br />
Text =<br />
"Bandscheiben-<br />
Operation"<br />
Abbildung 3.30: Objektdiagramm<br />
v13<br />
OP-<br />
Dokumentation<br />
Text =<br />
"Bandscheiben-OP<br />
erfolgreich"<br />
e17:dokumentiert<br />
Fall<br />
v14 Arztbrief<br />
Text =<br />
"Bandscheiben-OP<br />
durchgeführt"<br />
ner, ihrer Typangabe und einer Attributierung versehen sein können. Attribute zu Beziehungen<br />
werden in einem Oval notiert. Ist die Reihenfolge der inzidenten Kanten zu einem Knoten von<br />
Bedeutung, so kann diese Anordung durch Nummerierung der Kanten notiert werden. Schlingen<br />
treten in solchen Reihenfolgen zweimal auf, nämlich zum einen als aus dem Knoten ausgehende<br />
und zum anderen als in den Knoten eingehende Kante.<br />
Beispiel 3.10 (Objektdiagramm eines medizinischen Falls)<br />
In Abbildung 3.30 ist ein EER/GRAL-Objektdiagramm zu Beschreibung eines konkreten<br />
medizinischen Falls dargestellt, der einen Krankenhausaufenthalt eines Patienten zwischen<br />
Aufnahme und Entlassung zusammenfassend dokumentiert (vgl. [Haines, 1996]). Der hier<br />
modellierte Fall (v3) bezieht sich auf den Patienten „James Tiberius Kirk“ (v1) und umfaßt<br />
zwei Untersuchungen (v5, v6) und eine Operation (v7) der Bandscheibe. Die Reihenfolge<br />
der beiden Untersuchungen ist hier durch Anordnung der IstUntersuchungZu-Kanten ausgedrückt.<br />
Die Untersuchungen werden durch Befunde Verdacht auf Bandscheibenvorfall<br />
(v9) und dessen Bestätigung (v11) nach einer Radiologischen Untersuchung dokumentiert.<br />
Diese Befunde lösen die ebenfalls dokumentierte Operation der Bandscheibe aus. Durchgeführt<br />
werden diese Behandlungen von dem Arzt „Dr. Leonard McCoy“ (v2). £
88 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Notationelle Varianten<br />
Objektdiagramme, wie sie beispielsweise in der Objekt Modeling Technique (OMT) [Rumbaugh<br />
et al., 1991, S. 21ff] oder in der Unified Modeling Language (UML) [Booch et al., 1999, S. 195ff]<br />
eingeführt werden, unterscheiden sich von der Darstellung in Abbildung 3.30 nur geringfügig.<br />
In OMT werden die Objekte ebenfalls durch Rechtecke mit abgerundeten Ecken dargestellt, die<br />
den jeweiligen Objekttyp (fettgedruckt, in Klammern) und die Attributwerte enthalten. Beziehungen<br />
werden in OMT-Instanzdiagrammen durch ungerichtete Linien notiert, die aber ebenfalls<br />
mit dem Beziehungstyp annotiert sein können. Gegenüber EER/GRAL-Objektdiagrammen,<br />
die ausschließlich binäre Beziehungen zwischen Objekten erlauben, unterstützen sowohl OMT-<br />
Instanzdiagramme wie auch UML-Objektdiagramme die Darstellung von Beziehungsinstanzen<br />
beliebiger Arität. Diese werden durch Hyperkanten notiert, die durch eine Raute ausgezeichnet<br />
sind. In UML-Objektdiagrammen werden Objekte durch Rechtecke notiert, in dem<br />
die Objekttypen unterstrichen dargestellt werden (vgl. auch die Notation der Interaktionsdiagramme,<br />
Kapitel 3.5.2). Attribute werden in UML-Objektdiagrammen analog zu EER/GRAL-<br />
Objektdiagrammen durch Attribut-Wertepaare beschrieben. Die Beschreibung von Beziehungsinstanzen<br />
erfolgt analog zu OMT durch ungerichtete Linien, die jedoch i. allg. nicht bezeichnet<br />
sind.<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Mit den <strong>visuelle</strong>n Sprachen des Objekt-Instanzparadigmas werden mögliche strukturelle Zusammenhänge<br />
der ein System ausmachenden Objekte und deren Beziehungen beschrieben. Das<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> muß zur Abbildung dieser Beschreibungsmittel die Konzepte zur Modellierung<br />
von Objekten, Beziehungen und deren Typ- und Attributeigenschaften bereitstellen. Da<br />
durch die <strong>Modellierungssprachen</strong> des Objekt-Instanzparadigmas auch die Typen der modellierten<br />
Objekte und Beziehungen notiert werden können, muß das <strong>Referenz</strong>-<strong>Metaschema</strong> auch diese<br />
Querbezüge zur Schema-Ebene abbilden.<br />
3.5.2 Visuelle <strong>Modellierungssprachen</strong> des<br />
Objekt-Interaktionsparadigmas<br />
Die <strong>Modellierungssprachen</strong> des Objekt-Interaktionsparadigmas dienen zur Beschreibung vonn<br />
Interaktionen zwischen Objekten. Objekte, die konkrete oder anonyme Instanzen von Klassen,<br />
Schnittstellen oder Komponenten beschreiben, interagieren miteinander durch den Austausch<br />
von Nachrichten [Booch et al., 1999, S. 243].<br />
Eingesetzt werden diese Beschreibungsmittel zur Konkretisierung von Anwendungsfällen und<br />
zur Beschreibung der Ablauffolge von Methodenaufrufen. Während durch die Anwendungsfalldiagramme<br />
des Datenflußparadigmas (vgl. Kapitel 3.4.1) die Einbettung eines Anwendungsfalls<br />
in seine Systemumgebung beschrieben wird, wird der Anwendungsfall durch die Beschreibungsmittel<br />
des Objekt-Interaktionsparadigmas exemplarisch in seinem inneren Verhalten modelliert.<br />
Hierzu wird das System aus der Sicht der Instanzen der Systemkomponenten dargestellt. Gegenüber<br />
den Sprachen des Objekt-Instanzparadigmas (vgl. Kapitel 3.5.1), die mögliche statische
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 89<br />
Zusammenhänge beschreiben, betonen die Beschreibungsmittel des Interaktionsparadigmas das<br />
dynamische Verhalten der Objekte. Dieses wird durch Folgen von Nachrichten, die zwischen den<br />
Objekten ausgetauscht werden, szenarioartig beschreiben.<br />
Zur Darstellung dieser Zusammenhänge werden <strong>Se</strong>quenzdiagramme, Ereignisflußdiagramme,<br />
Ereignispfaddiagramme, Interaktionsdiagramme, Kollaborationsdiagramme, Message <strong>Se</strong>quence<br />
Charts und Objektdiagramme verwendet. Interaktionsdiagramme werden insbesondere in objektorientierten<br />
Modellierungsansätzen ([Rumbaugh et al., 1991, S. 173ff], [Booch, 1994], [Booch et<br />
al., 1999, S. 243ff]) eingesetzt. Sie gehen auf die Beschreibung von Szenarien in Object-Oriented<br />
Software-Engineering (OOSE) [Jacobson et al., 1993, S. 215ff] zurück. Der Begriff Interaktionsdiagramm<br />
wird in der Unified Modeling Language (UML) als Oberbegriff <strong>für</strong> Kollaborationsdiagramme<br />
und <strong>Se</strong>quenzdiagramme verwendet. [Booch, 1994, S. 217ff] bezieht diesen Begriff<br />
ausschließlich auf <strong>Se</strong>quenzdiagramme. Als Message <strong>Se</strong>quence Charts [ITU, 1996], [Rudolph et<br />
al., 1996] werden diese Diagrammformen im Rahmen der SDL (Specification and Design Language)<br />
[ITU, 1988], [Braek / Haugen, 1993] zur Beschreibung verteilter Systeme verwendet.<br />
Notationelle Grundform: <strong>Se</strong>quenzdiagramm<br />
Durch <strong>Se</strong>quenzdiagramme, die bei [Rumbaugh et al., 1991] als Ereignispfaddiagramme (Event-<br />
Trace) bezeichnet werden, wird die zeitliche Abfolge der Interaktionen zwischen Objekten tabellenartig<br />
beschrieben. Die <strong>für</strong> den modellierten Anwendungsfall relevanten Objekte werden ähnlich<br />
zu Tabellenüberschriften oberhalb einer vertikalen Linie notiert. Diese Linie symbolisiert<br />
die Lebenslinie des Objekts und repräsentiert die Existenz des Objekts in der Zeit. Nachrichten,<br />
die zwischen zwei Objekten ausgetauscht werden, werden durch Pfeile zwischen den jeweiligen<br />
Lebenslinien notiert. Die Reihenfolge, in der die Nachrichten ausgesendet bzw. empfangen werden,<br />
ist an den Positionen auf den Lebenslinien abzulesen, die hierzu als Zeitachsen aufgefaßt<br />
werden.<br />
Objekte werden durch Rechtecke visualisiert. Zur Unterscheidung der Objektdarstellungen von<br />
Klassendarstellungen werden in <strong>Se</strong>quenzdiagrammen die Objektnamen unterstrichen. Objektnamen<br />
bestehen aus einem optionalen Objektbezeichner und dem Objekttyp. Wird auf den Objektbezeichner<br />
verzichtet, wird durch das Objektsymbol ein anonymes Objekt beschrieben.<br />
Die Pfeile zur Darstellung der ausgetauschten Nachrichten sind durch den Namen der Nachricht<br />
und optionaler Übergabeparameter markiert. [Rumbaugh et al., 1999, S. 336] unterscheidet<br />
vier verschiedene Nachrichtentypen: Pfeile mit einem Winkelsymbol als Pfeilspitze beschreiben<br />
einen einfachen Kontrollfluß, der Aktivierungsfolgen der einzelnen Objekte modelliert. Aufrufe<br />
von Methoden werden durch Pfeile mit gefüllten Spitzen beschrieben. Methodenaufrufe können<br />
hierbei auch hintereinander an mehrere Objekte gesendet werden. Weitere (synchrone) Methodenaufrufe<br />
eines Objekts sind aber erst nach vollständiger Bearbeitung dieser Folgen von Methodenaufrufe<br />
erlaubt. Spezielle Nachrichten werden <strong>für</strong> Konstruktoren und Destruktoren verwendet.<br />
Hierzu werden die Stereotypen „create“ und „destroy“ verwendet. Nachrichten zum<br />
Methodenaufruf korrespondieren mit Rückgabe-Nachrichten, die durch gestrichelte Pfeile dargestellt<br />
werden. Je nach Modellierungskontext kann durch eine Rückgabe auch das wertliefernde<br />
Objekt zerstört werden. Das Zerstören eines Objekts wird jeweils durch ein „X“ auf der Lebenslinie<br />
modelliert. Asynchrone Nachrichtenbeziehungen werden durch Pfeile mit einseitiger<br />
Pfeilspitze dargestellt.
90 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Die Übermittlung von Nachrichten kann auch von Bedingungen (Guards) abhängig gemacht<br />
werden. Ebenso werden auch Iterationen von Nachrichten unterstützt. Die hierzu nötigen Bedingungen<br />
werden vor dem Bezeichner der jeweiligen Nachricht notiert9 .<br />
Ein Beispiel <strong>für</strong> ein <strong>Se</strong>quenzdiagramm, das eine radiologische Untersuchung beschreibt, ist in<br />
Abbildung 3.31 dargestellt.<br />
s : Station/Ambulanz : Radiologie : MTA-R : Arzt<br />
terminAnfordern<br />
(Radiologieanforderung)<br />
Termin<br />
patientVorbereiten()<br />
[aktuellerZeitpunkt = Termin]<br />
untersuchen(Patient, Krankenakte)<br />
Befund<br />
Abbildung 3.31: <strong>Se</strong>quenzdiagramm<br />
befunden<br />
(Untersuchungsergebnis,<br />
Krankenakte)<br />
Beispiel 3.11 (<strong>Se</strong>quenzdiagramm einer radiologischen Untersuchung)<br />
Das <strong>Se</strong>quenzdiagramm in Abbildung 3.31 skizziert den Anwendungsfall Anforderung bearbeiten<br />
bezogen auf eine radiologische Untersuchung aus Abbildung 3.18. Hierzu interagieren<br />
die Station/Ambulanz ×, sowie die anonymen Objekte Radiologie, MTA-R und<br />
Arzt. DasObjekt× fordert bei der Radiologie zunächst einen Termin an. Anschließend ist<br />
der Patient vorzubereiten. Hierzu schickt sich × selbst die Nachricht patientVorbereiten().<br />
Ist der zuvor ermittelte Untersuchungszeitpunkt eingetroffen, wird die Untersuchung des<br />
Patienten ausgelöst. Das Absenden der Nachricht untersuchen(Patient, Krankenakte) wird<br />
über das Prädikat [aktuellerZeitpunkt=Termin] überwacht. Nach Erstellen der Röntgenaufnahmen<br />
werden diese durch einen Arzt befundet und der Befund an die anfordernde<br />
Station/Ambulanz übermittelt. £<br />
Notationelle Varianten<br />
Darstellungsvarianten <strong>für</strong> <strong>Se</strong>quenzdiagramme unterscheiden sich auch hier lediglich in ihrer konkreten<br />
Syntax und in ihrer Ausdrucksfähigkeit. So notiert [Fowler / Scott, 1998, S. 108] asynchrone<br />
Nachrichtenübermittlungen durch Pfeile mit halbausgefüllten Pfeilspitzen. [Rumbaugh<br />
9 Eine konkrete Notation hier<strong>für</strong> wird in UML nicht vorgesehen [Rumbaugh et al., 1999, S. 338], Prädikate <strong>für</strong><br />
Guards und Iterationen können hier durch beliebige Textfragmente angegeben werden.
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 91<br />
et al., 1991, S. 174] verwendet in den Ereignispfaddiagrammen der Object Modeling Technique<br />
(OMT) ausschließlich einfache Nachrichten zur Beschreibung der Aktivierungsfolgen von<br />
Objekten. Auch kennt OMT keine Guards und Iterationen.<br />
Kollaborationsdiagramme. Während bei der Modellierung mit Hilfe von <strong>Se</strong>quenzdiagrammen<br />
die zeitliche Reihenfolge des Nachrichtenaustauschs zwischen den Objekten besonders<br />
hervorgehoben wird, stellen Kollaborationsdiagramme [Rumbaugh et al., 1999, S. 203ff], Ereignisflußdiagramme<br />
[Rumbaugh et al., 1991, S. 175ff] und Objektdiagramme [Booch, 1994,<br />
S. 208ff]) eher die strukturellen Zusammenhänge zwischen den interagierenden Objekten in den<br />
Mittelpunkt der Betrachtung.<br />
In Kollaborationsdiagrammen wird der Interaktionszusammenhang zwischen Objekten durch ungerichtete<br />
Graphen beschrieben, in denen die Objekte die Knoten bilden. Zwei Objekte sind dann<br />
zueinander adjazent, wenn zwischen ihnen eine Interaktionsbeziehung besteht. Zur Darstellung<br />
der jeweils ausgetauschten Nachrichten werden die Kanten durch in Datenflußrichtung ausgerichtete<br />
Pfeile, die analog zu den <strong>Se</strong>quenzdiagrammen mit den Nachrichten markiert sind, annotiert.<br />
Die Modellierung der Aktivierungssequenzen der Nachrichten erfolgt analog zur <strong>Se</strong>quenzialisierung<br />
der SADT-Aktivitätendiagramme (vgl. <strong>Se</strong>ite 62) durch Nummerierung der Nachrichten.<br />
Kollaborationsdiagramme und <strong>Se</strong>quenzdiagramme beschreiben semantisch äquivalente Informationen.<br />
Durch die graphische Anordnung wird jedoch in <strong>Se</strong>quenzdiagrammen der zeitliche Ablauf<br />
und in Kollaborationsdiagrammen der strukturelle Zusammenhang zwischen den Objekten<br />
deutlicher herausgestellt. Das Kollaborationsdiagramm, das dem <strong>Se</strong>quenzdiagramm aus Abbildung<br />
3.31 entspricht, ist in Abbildung 3.32 dargestellt.<br />
3 : patientVorbereiten()<br />
4 : [aktuellerZeitpunkt = Termin]<br />
untersuchen(Patient, Krankenakte)<br />
s : Station/Ambulanz<br />
1 : terminAnfordern(Radiologieanforderung)<br />
2 : Termin<br />
6 : Befund<br />
: Radiologie<br />
5 : befunden(Untersuchungsergebnis,<br />
Krankenakte)<br />
: MTA-R : Arzt<br />
Abbildung 3.32: Kollaborationsdiagramm<br />
Wie auch <strong>für</strong> Ereignispfaddiagramme der OMT unterscheidet sich die konkrete Notation der<br />
Ereignisflußdiagramme [Rumbaugh et al., 1991, S. 175] geringfügig von der Darstellung der<br />
Kollaborationsdiagramme. In Ereignisflußdiagrammen werden die Nachrichten durch gemäß ihrer<br />
Datenflußrichtung gerichtete Kanten beschrieben. Diese sind aber auch hier auf einfache,<br />
kontrollflußartige Nachrichtenbeziehungen eingeschränkt. Anstelle von Rechtecken zur Darstel-
92 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
lung der Objekte werden in Objektdiagrammen nach [Booch, 1994] Wolkensymbole verwendet.<br />
Dieser Dialekt unterstützt ferner die graphische Unterscheidung verschiedener Synchronisationen<br />
(einfach, synchron, asynchron, Abbruch im Fehlerfall) der ausgetauschten Nachrichten und<br />
Sichtbarkeiten der interagierenden Objekte (global, lokal, als Parameter).<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Beschreibungsinhalt der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Objekt-Interaktionsparadigmas ist<br />
die Darstellung von Interaktionsszenarien. Diese Interaktionsszenarien beziehen sich auf den<br />
Austausch von Nachrichten zwischen Objekten. Das <strong>Referenz</strong>-<strong>Metaschema</strong> muß daher <strong>für</strong> diese<br />
Modellierungsmittel Konzepte zur Beschreibung der Szenarien und der hieran beteiligten Objekte<br />
und Nachrichten bereitstellen. Ebenfalls sind auch verschiedene Nachrichtentypen zu berücksichtigen.<br />
3.5.3 Visuelle <strong>Modellierungssprachen</strong> des Objekt-Beziehungsparadigmas<br />
Im Gegensatz zum Objekt-Instanzparadigma (vgl. Kapitel 3.5.1) wird durch die Sprachen des<br />
Objekt-Beziehungsparadigmas die statische Struktur eines Systems auf schematischer Ebene beschrieben.<br />
Die <strong>visuelle</strong>n Sprachen des Objekt-Beziehungsparadigmas gehen auf die Arbeiten von [Chen,<br />
1976] zur Datenmodellierung zurück. Wesentliche Modellierungskonstrukte dieses Ansatzes<br />
sind Objekt- und Beziehungsklassen. Objektklassen (Entitätstypen) beschreiben Mengen ähnlicher<br />
Dinge, die im zu modellierenden System existieren. Gleichartige Beziehungen zwischen<br />
Objekten werden in Beziehungsklassen (Beziehungstypen) zusammengefaßt. Kardinalitäten geben<br />
an, wie viele Objekte einer Klasse mit Objekten anderer Klassen in Beziehung stehen können<br />
bzw. dürfen. Weitere Eigenschaften von Objekt- und Beziehungsklassen werden durch Attributschemata<br />
beschrieben.<br />
Im Rahmen der semantischen Datenmodellierung (vgl. z. B. [Hull / King, 1987], [Smith / Smith,<br />
1977]) wurden diese Modellierungskonstrukte um Mittel zur regulären Strukturierung der Modelle<br />
zu erweiterten Objekt-Beziehungsdiagrammen ergänzt. Diese Erweiterungen umfaßten<br />
Konstrukte zur Spezialisierung bzw. Generalisierung von Objekt- und Beziehungsklassen, zur<br />
Aggregation und zur Gruppierung. Aggregationen dienen zur Beschreibung von „besteht-aus-“<br />
oder „Teil-Ganzes“-Beziehungen, die als eigenständige Objektklassen betrachtet werden können.<br />
Gruppierungen beschreiben Zusammenfassungen von Objekten derselben Objektklasse in<br />
einer eigenständigen Klasse. Solche Zusammenfassungen werden heute meist als spezielle, durch<br />
Kardinalitäten eingeschränkte, Aggregationen aufgefaßt.<br />
Die Ansätze der objektorientierten Modellierung (vgl. z. B. [Rumbaugh et al., 1991], [Booch,<br />
1994], [Booch et al., 1999]) erweiterten die Beschreibungsmittel des Objekt-Beziehungsparadigmas<br />
um Operationen. Operationen beschreiben das nach außen sichtbare Verhalten von<br />
Objekten und können als Dienste, die die Objekte bereitstellen, aufgefaßt werden. Die Operationen,<br />
die die Objekte einer Klasse besitzen, werden durch ihre Signaturen beschrieben, die das<br />
Ein- und Ausgabeverhalten dokumentieren.
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 93<br />
Notiert werden statische Systemstrukturen entlang des Objekt-Beziehungsparadigmas u. a.<br />
durch Klassendiagramme, (erweiterte) Entity-Relationship-Diagramme, (erweiterte) Objekt-Beziehungsdiagramme,<br />
IDEF1X-Datenmodelle und NIAM-Informationsstrukturdiagramme. Verkürzte<br />
Darstellungen erfolgen durch Datenlexika und Jackson-Diagramme. Zusätzliche Anforderungen<br />
an statische Systemstrukturen können häufig nicht mit den graphischen Mitteln der<br />
Sprachen des Objekt-Beziehungsparadigmas ausgedrückt werden. Hierzu werden diese Sprachen<br />
um Zusicherungssprachen wie z. B. die Graph Specification Language (GRAL) [Franzke,<br />
1997] oder die Object Constraint Language (OCL) [OMG, 1999, S. 6-1ff] ergänzt.<br />
Notationelle Grundform: Klassendiagramme<br />
Auch die Darstellungsmittel des Objekt-Beziehungsparadigmas basieren auf Graphen bzw. Hypergraphen.<br />
Durch Knoten dieser Graphen werden die Objektklassen und durch Kanten die Beziehungsklassen<br />
modelliert. Modellierungsansätze, die Beziehungsklassen beliebiger Arität zulassen,<br />
notieren diese durch Hyperkanten. Die Modellierung von beliebigen Beziehungsstrukturen<br />
kann ohne Informationsverlust in Modelle mit ausschließlich binären Beziehungsklassen<br />
transformiert werden. Hierzu werden Ò-äre Beziehungsklassen durch eine Kett-Objektklasse und<br />
Ò binäre Beziehungsklassen dargestellt. Modellierungen, die nur binäre Beziehungsklassen verwenden,<br />
und daher durch einfache Linien notiert werden können, werden als übersichtlicher eingestuft<br />
[Ebert/Engels, 1994], so daß beispielsweise in NIAM-Informationsstruktur-Diagrammen<br />
[Verheijen / van Bekkum, 1982] und in EER/GRAL-Klassendiagrammen [Ebert et al., 1996b] nur<br />
die Modellierung binärer Beziehungen unterstützt wird.<br />
Als notationelle Grundform des Objekt-Beziehungsparadigmas wird der in dieser Arbeit verwendete<br />
EER/GRAL-Dialekt vorgestellt. Eine ausführliche Einführung in die formale Grundlage und<br />
die Beschreibungsmittel von EER/GRAL findet sich in Kapitel 5.2.<br />
Objektklassen werden in EER/GRAL-Klassendiagrammen durch Rechtecke beschrieben, die<br />
durch Klassenbezeichner annotiert sind. Binäre Beziehungsklassen werden durch Linien zwischen<br />
den in Beziehung gesetzten Objektklassen dargestellt, die ebenfalls durch Klassenbezeichner<br />
ausgezeichnet sind. Die Leserichtung dieser Beziehungen wird durch ein Winkelsymbol auf<br />
der Beziehungslinie angezeigt.<br />
Minimum/Maximum<br />
(0,1)<br />
(0, )<br />
(1,1)<br />
(1, )<br />
Klassendiagramme nach<br />
[Martin/McClure, 1985]<br />
A<br />
A<br />
A<br />
A<br />
B<br />
B<br />
B<br />
B<br />
OMT-Klassendiagramme<br />
[Rumbaugh et al., 1991]<br />
A<br />
A<br />
A<br />
A<br />
EER/GRAL-Klassendiagramme<br />
[Ebert et al., 1996b]<br />
Abbildung 3.33: Notation <strong>für</strong> Kardinalitäten<br />
B<br />
B<br />
B<br />
B<br />
A<br />
A<br />
A<br />
A<br />
B<br />
B<br />
B<br />
B<br />
UML-Klassendiagramme<br />
[Booch et al., 1999]<br />
Die Angabe von Kardinalitäten erfolgt heute üblicherweise durch Minimum-Maximum-Paare,<br />
die die Mindest- und die Maximalanzahl der Beziehungen angeben, die ein Objekt der entsprechenden<br />
Klasse eingehen kann. Zur Darstellung häufig vorkommender Kardinalitäten wer-<br />
A<br />
A<br />
A<br />
A<br />
0 .. 1<br />
*<br />
1<br />
1 .. *<br />
B<br />
B<br />
B<br />
B
94 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
den in einigen Sprachen des Objekt-Beziehungsparadigmas graphische Notationen verwendet,<br />
die in Abbildung 3.33 (bezogen auf ausschließlich binäre Relationen) zusammengefaßt sind. In<br />
EER/GRAL wird zur Modellierung der Kardinalitäten eine Pfeilnotation verwendet.<br />
Attributschemata zu Objekt- und Beziehungsklassen werden durch Angabe der Attributbezeichner<br />
und -wertebereiche in Ovalen notiert, die mit den Klassendarstellungen verbunden sind. Alternativ<br />
können Attributschemata zu Objektklassen auch direkt in den Rechtecken notiert werden.<br />
Generalisierungen von Objektklassen werden in EER/GRAL durch Ineinanderschachteln<br />
der Objektklassen beschrieben. Eine generalisierte Objektklasse enthält hierbei ihre Spezialisierungen.<br />
Diese Notationsform erlaubt eine kompakte und übersichtliche Beschreibung von Systemstrukturen,<br />
die durch tiefe Generalisierungshierarchien geprägt sind. Abstrakte Objekt- bzw.<br />
Beziehungsklassen, d. h. Klassen zu denen keine direkten Instanzen existieren, werden durch<br />
Schraffuren bzw. unterbrochen gezeichnete Linien notiert. Die Darstellung von Aggregationen<br />
erfolgt durch auf der Spitze stehende Quadrate an den Repräsentationen der Aggregate. Die<br />
Komponenten der Aggregation sind mit diesen Quadraten durch Linien, die die Aggregationsbeziehung<br />
notieren, verbunden. Wie auch Beziehungstypen sind diese Aggregationsbeziehungen<br />
mit einem Bezeichner versehen, können ausgerichtet und durch Kardinalitäten eingeschränkt<br />
werden.<br />
rechnetAb<br />
IstAnamnese<br />
Zu<br />
istEinweisungZu<br />
istVisiteZu<br />
Fall<br />
Anamnese<br />
Einweisung<br />
Datum:date<br />
Art : string<br />
Visite<br />
gehörtZu<br />
Person<br />
istUntersuchungZu<br />
dokumentiert<br />
Name: string<br />
Adresse : string<br />
Patient<br />
Krankenkasse:<br />
string<br />
Untersuchung<br />
Konsil<br />
RadiologischeUntersuchung<br />
Labor<br />
Untersuchung<br />
Befund<br />
Text: string<br />
führtDurch<br />
Mitarbeiter<br />
führtDurch<br />
führtDurch<br />
führtDurch<br />
istOPZu istPflegeZu<br />
dokumentiertOPDokumentation<br />
Text: string<br />
fordertAn<br />
löstAus<br />
Arzt Pflegekraft<br />
Operation Pflege<br />
fordertAn<br />
Anforderung<br />
Text: string<br />
dokumentiertPflegeDokumentation<br />
Text: string<br />
fordertAn<br />
fordertAn<br />
Verwaltungsangestellter<br />
Behandlungspflege<br />
Dialyse<br />
Physikalische<br />
Therapie<br />
Krankengymnastik<br />
istBehandlungspflegeZu<br />
dokumentiert<br />
BehandlungspflegeDokumentation<br />
Text: string<br />
Abbildung 3.34: Objekt-Beziehungsdiagramm<br />
Entlassung<br />
Datum:date<br />
Art : string<br />
Arztbrief<br />
erstellt<br />
istEntlasungZu<br />
dokumentiert<br />
Fall<br />
Text: string
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 95<br />
Beispiel 3.12 (Klassendiagramm <strong>für</strong> medizinische Fälle)<br />
In Beispiel 3.10 wurde ein Objektdiagramm zur Beschreibung eines konkreten medizinischen<br />
Falls dargestellt. Dieses Diagramm ist eine mögliche Instanz des EER/GRAL-<br />
Klassendiagramm aus Abbildung 3.34.<br />
Ein Fall, der den Aufenthalt eines Patienten im Krankenhaus beschreibt [Haines, 1996], ist<br />
hier als Aggregation von einer Einweisung, einer optionalen Anamnese, beliebig vielen Visiten,<br />
Untersuchungen, Operationen, Pflegen und Behandlungspflegen sowie einer Entlassung<br />
modelliert. Untersuchungen, Operationen, Pflegen und Behandlungspflegen werden<br />
jeweils durch Anforderungen ausgelöst und durch unterschiedliche Dokumentationen bzw.<br />
Befunde dokumentiert. Untersuchungen und Behandlungspflegen sind weiter spezialisiert.<br />
An Fällen sind mehrere Personen beteiligt. Durch eine Generalisierung werden hier Patienten,<br />
Krankenhaus-Mitarbeiter und weitere nicht näher klassifizierte Personen unterschieden.<br />
Mitarbeiter sind hierbei als abstrakte Klasse modelliert, die in Ärzte, Pflegekraft<br />
und Verwaltungsangestellte zerfällt. Je nach Beteiligung am Fall stehen diese Personen in<br />
unterschiedlichen Beziehungen zu den Komponenten des Falls. £<br />
Notationelle Varianten<br />
Zur Beschreibung nach dem Objekt-Beziehungsparadigma existieren ebenfalls mehrere <strong>visuelle</strong><br />
Sprachen, die sich sowohl in ihrer Modellierungsmächtigkeit als auch in ihren konkreten Darstellungsformen<br />
unterscheiden. Die folgenden Abschnitte geben einen kurzen Überblick über weitere<br />
Beschreibungsmittel des Objekt-Beziehungsparadigmas, die die Entwicklung dieser Sprachen<br />
zu den heute verwendeten Klassendiagrammen wesentlich geprägt haben.<br />
Datenlexika. Datenlexika (vgl. [Yourdon, 1989, S. 188f]) oder Jackson-Bäume [Jackson,<br />
1975] und Warnier-Orr-Diagramme [Warnier, 1974] zur Datenmodellierung (vgl. auch die Beschreibungsmittel<br />
des Kontrollparadigmas in Kapitel 3.4.4), in denen ausschließlich reguläre<br />
Strukturen zur Beschreibung von Datenstrukturen verwendet werden, werden ebenfalls dem<br />
Objekt-Beziehungsparadigma zugeordnet. Die Modellierung der Datenstrukturen durch Alternativen<br />
entspricht der Generalisierung, die durch <strong>Se</strong>quenzen der Aggregation und die Modellierung<br />
durch Iterationen der Gruppierung. Beziehungsartige Zusammenhänge der Datenstrukturen<br />
werden mit diesen Mitteln jedoch nicht beschrieben.<br />
Entity-Relationship-Diagramme. Die klassische <strong>visuelle</strong> Notation zur Beschreibung von<br />
Entity-Relationship-Diagrammen nach [Chen, 1976] unterstützt lediglich die Darstellung von<br />
Objektklassen durch Rechtecke und von Beziehungsklassen durch Rauten. Graphische Formen<br />
zur Darstellung von Attributierungen, Aggregationen und Generalisierungen werden nicht angeboten.<br />
Folglich wird in Abbildung 3.35, die einen Ausschnitt der Modellierung zu Beispiel 3.12<br />
zeigt, auch auf die Darstellung von Attributen verzichtet. Die Aggregationsbeziehungen sind<br />
durch „normale“ Beziehungstypen modelliert. In Erweiterungen dieser Notation (vgl. z. B. [Vossen,<br />
1994, S. 70ff], [Elmasri / Navathe, 2000]) wurden Ovale zur Darstellung von Attributschemata<br />
und durch „ISA“ markierte Rauten zur Darstellung von Generalisierungen eingeführt.
96 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
N<br />
dokumentiert<br />
1<br />
Befund<br />
N<br />
löst<br />
aus<br />
N<br />
ist<br />
Untersuchung<br />
Zu<br />
1<br />
Untersuchung<br />
M<br />
N<br />
fordert<br />
an<br />
1<br />
1<br />
dokumentiert<br />
1<br />
OPDokumentation<br />
N<br />
1<br />
1<br />
1<br />
Fall<br />
isOPZu istPflegeZu<br />
Operation Pflege<br />
fordert<br />
an<br />
Anforderung<br />
1<br />
dokumentiert<br />
1<br />
PflegeDokumentation<br />
N<br />
1<br />
1<br />
fordert<br />
an<br />
Abbildung 3.35: Entity-Relationship-Diagramm<br />
1<br />
1<br />
dokumentiert<br />
1<br />
BehandlungspflegeDokumentation<br />
N<br />
ist<br />
BehandlungsPflege<br />
Zu<br />
1<br />
Behandlungspflege<br />
Kardinalitäten werden in der Notation nach [Chen, 1976] nur in den Formen 1 : Æ , Å : Æ und<br />
1 : 1 notiert. Die Zeichen 1 bzw. Æ oder Å an einer Objektklasse zeigen an, daß dieses Objekt<br />
in höchstens einer bzw. in beliebig vielen Instanzen der adjazenten Beziehungsklasse enthalten<br />
sein kann.<br />
NIAM-Informationsstruktur-Diagramme. Informations-Struktur-Diagramme der Nijssens<br />
Information Analysis Method (NIAM) [Verheijen / van Bekkum, 1982], [Laender / Flynn, 1993]<br />
verwenden ausschließlich binäre Beziehungsklassen, in denen die Beziehungen jeweils aus Sicht<br />
der beteiligten Objektklassen benannt werden. Die Beziehungsklassen werden hierzu durch zwei<br />
nebeneinander plazierte Rechtecke notiert, die mit den jeweiligen Objektklassen verbunden sind<br />
und die Rolle dieser Objekte in der Beziehung modellieren. Zur Darstellung von Objektklassen<br />
werden in NIAM Kreise verwendet, die mit dem Klassenbezeichner versehen sind. Ein eigenständiges<br />
Konstrukt zur Modellierung von Attributen existiert in NIAM nicht. Die Attributwertebereiche<br />
werden hier ebenfalls durch Objektklassen modelliert, die mit der attritutierten Klasse<br />
über Beziehungen verbunden sind. Sind die Attributwertebereiche druckbare Standardtypen<br />
(lexikalische Objekte) wird der Kreis unterbrochen gezeichnet. NIAM erlaubt auch die Modellierung<br />
von Generalisierungen der Objektklassen durch gerichtete Pfeile zur Oberklasse.<br />
Die Kardinalitäten der Beziehungstypen werden in NIAM durch Doppelpfeile über den Beziehungstypdarstellungen<br />
notiert. Ein über beiden Rollensymbolen notierter Doppelpfeil zeigt eine<br />
Å : Æ -Beziehung, Doppelpfeile über jedem Rollensymbol modellieren eine 1 : 1- und ein einzelner<br />
Doppelpfeil über einem Rollensymbol beschreibt eine 1 : Æ -Beziehung. Neben diesen<br />
1<br />
fordert<br />
an<br />
1
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 97<br />
Invarianten stellt NIAM auch graphische Konstrukte zur Beschreibung von Einschränkungen an<br />
die Objektmengen, die an einer Beziehung beteiligt sind, bereit. Hierzu werden die entsprechenden<br />
Rollensymbole miteinander verbunden und in einem Kreis mit der Art der Einschränkung<br />
markiert. In Abbildung 3.36, die einen Ausschnitt des Klassendiagramms aus Beispiel 3.12 in<br />
NIAM zeigt, wird dieser Mechanismus zur Modellierung der Aggregation ausgenutzt. Die Objektklasse<br />
Fall besteht aus Zusammenfassungen von Untersuchungen, Operationen, Pflegen und<br />
Behandlungspflegen.<br />
Person<br />
Patient<br />
hatAlsName istNameVon<br />
hatAlsAdresse istAdresseVon<br />
hatAls<br />
ist<br />
Krankenkasse<br />
Krankenkasse<br />
Von<br />
hatAlsFall istFallZu<br />
String<br />
Fall<br />
hatAls<br />
Untersuchung<br />
ist<br />
Untersuchung<br />
zu<br />
U<br />
hatAlsOP istOPZu<br />
U<br />
hatAlsPflege istPflegeZu<br />
hatAls<br />
Behandlungspflege<br />
U<br />
ist<br />
BehandlungspflegeZu<br />
Abbildung 3.36: NIAM-Informationsstruktur-Diagramm<br />
Untersuchung<br />
Operation<br />
Pflege<br />
Behandlungspflege<br />
Generische <strong>Se</strong>mantische Modelle. Generische <strong>Se</strong>mantische Modelle (GSM) [Hull / King,<br />
1987] erweitern die klassischen Entity-Relationship-Diagramme um Konstruktoren <strong>für</strong> Objektklassen.<br />
Diese Konstruktoren basieren ebenfalls auf regulären Strukturen. Zusammengesetzte<br />
Objektklassen werden in GSM durch Kreise modelliert, die zur Darstellung von Aggregationen<br />
durch ein Kreuz und zur Darstellung von Gruppierungen durch einen Stern markiert sind. Von<br />
diesen Objektklassen zeigt eine gerichtete, unterbrochene Linie zu den jeweiligen Komponenten,<br />
die ebenfalls durch zusammengesetzte Objektklassen, aber auch atomare, nicht weiter zerlegte<br />
Objektklassen beschrieben sein können. Atomare Objektklassen werden durch Dreiecke symbolisiert.<br />
Wie auch in NIAM werden in GSM Attribute ebenfalls durch Objektklassen modelliert.<br />
Die Darstellung von lexikalischen Objektklassen, die als dritte Art der Objektklassen aufgefaßt<br />
wird, erfolgt in GSM durch Ovale. Generalisierungen werden durch einen Doppelpfeil, der zur<br />
Generalisierung hin ausgerichtet ist, notiert. Die Spezialisierungen werden hierbei ebenfalls als<br />
konstruierte Objektklassen eingeordnet und durch Kreise beschrieben.<br />
Sowohl die Darstellung von Attributzuordnungen als auch die Beschreibung von Beziehungen<br />
erfolgt in GSM durch gerichtete (Hyper-) Kanten. Diese Bezüge zwischen zwei Objektklassen<br />
werden hierbei jeweils als Attribute einer Objektklasse aufgefaßt, die durch lexikalische, durch<br />
atomare oder auch durch komplexe Objektklassen beschrieben sein können. Die Kanten sind<br />
jeweils zu den Attributen hin ausgerichtet.
98 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
Untersuchungen<br />
Untersuchung<br />
Operationen<br />
Fall<br />
hatFall<br />
Operation Pflege<br />
Pflegen<br />
Patient<br />
Person<br />
Behandlungspflege<br />
Abbildung 3.37: Generisches <strong>Se</strong>mantisches Modell<br />
istVersichert<br />
beiKrankenkasse<br />
hatName<br />
hatAdresse<br />
Behandlungspflegen<br />
Der Ausschnitt der Modellierung des medizinischen Falls aus Abbildung 3.36 ist in Abbildung<br />
3.37 mit den Mitteln der generischen semantischen Modelle dargestellt. Die deutliche Unterscheidung<br />
von Aggregationen und Gruppierungen erfordert bei der GSM-Modellierung des<br />
Falls zunächst Gruppierungen der Untersuchung, derOperation, derPflege und der Behandlungspflege,<br />
die erst anschließend aggregiert werden können. Zur Beschreibung mengenwertiger<br />
Attribute stellt GSM noch ein weiteres, der Gruppierung entsprechendes Sprachkonstrukt durch<br />
eine doppelte Pfeilspitze bereit. So wird dem Patient eine Menge von Fall-Attributen zugeordnet.<br />
Über die Gegenrichtung dieser Beziehung wird jedoch keine Aussage gemacht.<br />
UML-Klassendiagramme. Objektorientierte Modellierungsmethoden (z. B. [Rumbaugh et<br />
al., 1991] [Booch, 1994]) stellen die Beschreibungsmittel des Objekt-Beziehungsparadigmas als<br />
zentrales Modellierungswerkzeug heraus. Klassendiagramme objektorientierter <strong>Modellierungssprachen</strong><br />
unterstützen wie die bisher betrachteten Sprachen die Beschreibung von Objektklassen<br />
und deren Beziehungen sowie die Konzepterweiterungen durch Generalisierung, Gruppierung<br />
und Aggregation. Darüber hinaus stellen Klassendiagramme Darstellungsmittel zur Modellierung<br />
des nach außen sichtbaren Verhaltens der Objektklassen bereit. Klassendiagramme sind somit<br />
eine Verallgemeinerung der in erster Linie auf die Datenbeschreibung ausgerichteten Entity-<br />
Relationship-Diagramme um die Berücksichtigung von Verhaltensaspekten (vgl. [Booch et al.,<br />
1999, S. 110]).<br />
In Abbildung 3.38 ist der medizinische Fall aus Beispiel 3.34 als Klassendiagramme der Unified<br />
Modeling Language (UML) [Booch et al., 1999], [Rumbaugh et al., 1999] modelliert.<br />
String<br />
String<br />
String
3.5 Visuelle <strong>Modellierungssprachen</strong> der Objektsicht 99<br />
1<br />
0..1<br />
1<br />
1<br />
1<br />
*<br />
Anamnese<br />
Einweisung<br />
Datum : date<br />
Art : string<br />
1 ..*<br />
Fall<br />
1<br />
Patient<br />
Krankenkasse:<br />
string<br />
gehörtZu Arzt<br />
Pflegekraft<br />
Verwaltungsangestellter<br />
0 .. 1<br />
untersuche<br />
(Untersuchung)<br />
operiere(Operation)<br />
schreibe(Arztbrief)<br />
1 ..*<br />
1 1<br />
Befund<br />
Text: string * löstAus<br />
OPDokumentation<br />
Text: string<br />
PflegeDokumentation<br />
Text: string<br />
1 1 1<br />
0 .. 1 0 .. 1<br />
Visite Konsil Radiologische Labor<br />
Untersuchung Untersuchung<br />
Person<br />
Name:string<br />
Adresse:string<br />
Mitarbeiter<br />
pflege(Pflege)<br />
behandle<br />
(Behandlungspflege)<br />
1 1 1 1<br />
* * * *<br />
Untersuchung Operation Pflege<br />
Behandlungspflege<br />
1 1<br />
Anforderung<br />
* Text: string<br />
0 .. 1<br />
1<br />
Dialyse Physikalische<br />
Therapie<br />
Abbildung 3.38: UML-Klassendiagramm<br />
0 .. 1<br />
1<br />
BehandlungspflegeDokumentation<br />
Text: string<br />
Krankengymnastik<br />
rechneAb(Fall)<br />
1<br />
1<br />
Entlassung<br />
Datum : date<br />
Art : string<br />
doku- 0 .. 1<br />
mentiert<br />
Fall 1<br />
Arztbrief<br />
Text: string<br />
Wie auch in EER/GRAL-Klassendiagrammen und in klassischen Entity-Relationship-Diagrammen<br />
werden in UML-Klassendiagrammen die Objektklassen durch Rechtecke notiert, die neben<br />
Bezeichnern und Attributschemata auch die nach außen sichbaren Operationen enthalten. Diese<br />
Operationen werden durch Angabe ihrer Signatur einschließlich evtl. benötigter Modifikatoren<br />
beschrieben. In Abbildung 3.38 sind die Dienste notiert, die von Ärzten, Pflegekräften und Verwaltungsangestellten<br />
angeboten werden. Zur Durchführung von Untersuchungen besitzen Ärzte<br />
u. a. die Methode untersuche(Untersuchung), die mit der durchzuführenden Untersuchung parametrisiert<br />
ist.<br />
Binäre Beziehungstypen werden auch hier durch Linien notiert, die optional mit einem Bezeichner<br />
versehen sein können. Beziehungstypen beliebiger Arität werden in Anlehnung an die Notation<br />
von [Chen, 1976] durch Hyperkanten, die mit einer kleinen Raute markiert sind, dargestellt.<br />
UML-Klassendiagramme unterscheiden mehrere Arten von Beziehungsklassen (vgl. hierzu<br />
[Booch et al., 1999, S. 137ff]). Strukturelle Zusammenhänge zwischen Objektklassen werden<br />
durch Assoziationen (Associations) modelliert, die durch Linien notiert werden. Die Leserichtung<br />
der Bezeichner von Assoziationen kann ähnlich zur EER/GRAL-Klassendiagrammen durch<br />
ein ausgefülltes Dreieck neben dem Bezeichner festgelegt werden. Abhängigkeitsbeziehungen<br />
oder Nutzt-Beziehungen (Dependencies) zwischen zwei Klassen, die z. B. anzeigen, daß Operationen<br />
einer Klasse Objekte der anderen als Parameter benötigen, werden durch gerichtete,<br />
unterbrochene Linien dargestellt. Diese sind jeweils zu der benötigten Objektklasse hin ausge-
100 Visuelle <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
richtet. Aufgrund der Methode untersuche(Untersuchung) ist z. B. die Klasse Arzt von der Klasse<br />
Untersuchung abhängig. Dieser Bezug ist durch eine Abhängigkeitsbeziehung in Abbildung 3.38<br />
dargestellt. Weitere Arten von Beziehungen werden durch textuelle Annotationen unterschieden.<br />
Die UML-Klassendiagramme stellen kein eigenständiges graphisches Element zur Beschreibung<br />
von Attributschemata zu Beziehungsklassen bereit. Attributschemata zu Beziehungsklassen sind<br />
durch eigene Objektklassen-Symbole zu beschreiben, die mit den Beziehungsklassen verbunden<br />
sind.<br />
Aggregationen werden analog zu EER/GRAL durch auf der Spitze stehende Quadrate notiert.<br />
Bei der Aggregation unterscheidet UML zwei Varianten. Nicht ausgefüllte Quadrate beschreiben<br />
beliebige Zusammenfassungen von Komponenten zu einem Ganzen. Hierbei können die<br />
Komponenten jedoch auch als eigenständige Objekte existieren. Ist die Existenz einer Komponente<br />
an die Existenz des Aggregats gekoppelt (Komposition), wird dieses durch ein ausgefülltes<br />
Quadrat notiert. Alternativ kann die Komposition auch durch Schachtelung der Komponenten in<br />
der Aggregat-Darstellung notiert werden.<br />
Kardinalitäten zu Beziehungstypen und Aggregationen werden durch Minimum-Maximum-<br />
Paare notiert. Die konkrete Darstellungsform kann Abbildung 3.33 entnommen werden. Die an<br />
Beziehungen oder Aggregationen beteiligten Objekte können auch ähnlich wie in NIAM durch<br />
ihre Rollen beschrieben werden. Hierzu werden die Rollenbezeichner an die Enden der Linien<br />
zur Beschreibung des Beziehungszusammenhangs notiert. Wie auch <strong>für</strong> Assoziationen kann<br />
auch <strong>für</strong> Aggregationen und Kompositionen die Leserichtung angegeben werden.<br />
Generalisierungsbeziehungen sowohl zwischen Objektklassen als auch zwischen Beziehungsklassen<br />
werden durch (Hyper-) Kanten beschrieben. Durch nicht ausgefüllte Dreiecke, die zur<br />
Generalisierung zeigen, werden die Generalisierungen von den Spezialisierungen unterschieden.<br />
Die verschiedenen objektorientierten Methoden verwenden unterschiedliche graphische Symbole<br />
zur Beschreibung von Klassendiagrammen. Im Rahmen der Vereinheitlichung der Notation<br />
zur Unified Modeling Language hat sich hier die Notation der Object Modeling Language<br />
(OMT) [Rumbaugh et al., 1991] durchgesetzt. Wesentliche Sprachbestandteile der UML-<br />
Klassendiagramme wurden aus OMT übernommen. Lediglich die Darstellung der Kardinalitäten<br />
wurde gegenüber OMT verändert (vgl. Abbildung 3.33) und die Dreiecke zur Beschreibung der<br />
Generalisierungsbeziehungen sind zur Generalisierung „gerutscht“.<br />
Forderungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die Darstellung statischer Systemzusammenhänge entlang des Objekt-Beziehungsparadigmas<br />
basiert auf der Modellierung von Objekt- und Beziehungsklassen. Im <strong>Referenz</strong>-<strong>Metaschema</strong> sind<br />
daher Konzepte zur Beschreibung dieser Klassen einschließlich deren Attributschemata bereitzustellen.<br />
Zur weiteren Konkretisierung der Beziehungsklassen muß das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
auch die Darstellung von Kardinalitäten erlauben. Die Strukturierung der Modellierungen des<br />
Objekt-Beziehungsparadigmas kann durch Generalisierungen von Objekt- und Beziehungsklassen<br />
und Aggregationen bzw. Gruppierungen unterstützt werden. Diese Modellierungskonstrukte<br />
sind ebenfalls durch das <strong>Referenz</strong>-<strong>Metaschema</strong> abzubilden.
3.6 Einordnung in die Zielsetzung dieser Arbeit 101<br />
3.6 Einordnung in die Zielsetzung dieser Arbeit<br />
Die Betrachtung organisatorischer und softwaretechnischer Systeme kann aus der Aufgabensicht,<br />
der Aufbausicht, der Prozeßsicht und der Objektsicht erfolgen. Innerhalb dieser Sichten<br />
folgt die Modellierung organisatorischer und softwaretechnischer Sachverhalte verschiedenen<br />
Darstellungsparadigmen. Ausgehend von diesen Sichten und Paradigmen wurde in Kapitel 3.1<br />
ein Klassifikationsschema zur Einordnung der <strong>visuelle</strong>n Sprachen der Organisations- und Softwaretechnik<br />
entwickelt.<br />
Dieses Klassifikationsschema stellt ein umfassendes Hilfsmittel zur Untersuchung der u. a. in<br />
funktions- oder prozeßorientierten Methoden zur Organisationsmodellierung oder in strukturierten<br />
oder objektorientierten Methoden zur Softwareentwicklung eingesetzten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong><br />
zur Verfügung. In den vorangegangenen Kapiteln wurden die konkreten<br />
Notationsformen der wesentlichen Beschreibungsmittel des Requirements-Engineerings der<br />
Organisations- und Softwaretechnik entlang der in diesem Klassinfikationsschema festgelegten<br />
Beschreibungsparadigmen vorgestellt. Das in Abbildung 3.2 auf <strong>Se</strong>ite 37 zusammenfassend dargestellte<br />
Klassifikationsschema hat sich hierbei als valides und ausreichendes Instrument zur<br />
Einordnung der Beschreibungsmittel erwiesen.<br />
Zentrales Ziel dieser Arbeit ist die integrierte Darstellung der verschiedenen viuellen <strong>Modellierungssprachen</strong><br />
in einem <strong>Referenz</strong>-<strong>Metaschema</strong>. Die Beschreibungsmittel eines Paradigmas unterscheiden<br />
sich lediglich in ihren konkreten Darstellungsformen. Konzeptionell werden durch<br />
die Sprachen eines Paradigmas jeweils gleiche Sachverhalte dargestellt. Zur Entwicklung des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s kann folglich von konkreten Notationen abstrahiert werden. Zur integrierten<br />
Darstellung der Beschreibungssmittel aus Organisations- und Softwaretechnik ist es<br />
ausreichend, im <strong>Referenz</strong>-<strong>Metaschema</strong> nur die wesentlichen Konzepte der einzelnen Paradigmen<br />
abzubilden. Ausgehend von den in den Kapiteln 3.2 bis 3.5 erarbeiteten Anforderungen<br />
erfolgt die Entwicklung des <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> in Kapitel<br />
6 ebenfalls entlang des hier eingeführten Klassifikationsschemas.
4 Modelle, <strong>Referenz</strong>modelle und<br />
Metamodelle<br />
Betrachtungsgegenstand dieser Arbeit ist die konzeptionelle Modellierung der in Kapitel 3 eingeführten<br />
<strong>visuelle</strong>n Sprachen zur Darstellung von Organisationen und Softwaresystemen. Hierzu<br />
wird ein Modell dieser Sprachen erstellt, durch das die jeweils dargestellten Modellierungskonzepte<br />
und deren Beziehungen abbildet. Im folgenden wird dieses Modell in den Kontext der<br />
Modellbildung (Kapitel 4.1), der <strong>Referenz</strong>modellierung (Kapitel 4.2) und der Metamodellierung<br />
(Kapitel 4.3) eingeordnet.<br />
4.1 Modelle<br />
Modelle können als Darstellungen von Zusammenhängen einer Diskurswelt aufgefaßt werden,<br />
die wesentliche Bestandteile in den Vordergrund stellen und von unwesentlichen abstrahieren.<br />
Als Hilfmittel zur Darstellung und zum Nachvollziehen vielfältiger Zusammenhänge werden<br />
Modelle in den unterschiedlichsten Bereichen eingesetzt.<br />
Modelle der Mathematik und Logik repräsentieren Strukturen zu einer Theorie, durch die diese<br />
interpretiert wird und die die formulierten Axiome erfüllen. Die Menge der ganzen Zahlen mit<br />
der Addition stellt ein solches Modell <strong>für</strong> die Gruppentheorie dar. Unter dem in der Mathematik<br />
verwendeten Modellbegriff werden also Repräsentanten einer Theorie verstanden. In den Natur-,<br />
Ingenieurs- und Geisteswissenschaften wird der Modellbegriff eher auf evtl. vorweggenommene<br />
Replikationen von Realitätsausschnitten [Dörner, 1993, S. 337] bezogen:<br />
¯ In der Architektur stellen Modelle in Form von Bauplänen Arbeitsanweisungen zur Erstellung<br />
von Bauwerken dar. Zeichnungen oder Darstellungen aus Holz, Plastik und Ähnlichem<br />
modellieren Bauwerke mit dem Ziel, das spätere Aussehen eines Gebäudes frühzeitig<br />
zu visualisieren.<br />
¯ In der Physik werden Modelle entwickelt, um beobachtbare Naturerscheinungen zu beschreiben,<br />
um ermittelte physikalische Gesetze zu deuten und um Voraussagen über den<br />
Ablauf neuer Experimente (u.a. auch zur Modellvalidierung) zu machen. Als Beispiele<br />
hier<strong>für</strong> können die Atommodelle angesehen werden, die jeweils das zum Zeitpunkt der<br />
Erstellung bekannte Wissen über Aufbau und Zusammenhang von Atomen darlegen.<br />
¯ Modelle in den Sozialwissenschaften befassen sich mit den Reaktionen eines Realitätsausschnitts<br />
auf bestimmte Außeneinflüsse und mit seinem Verhalten in der Zeit. Solche
104 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
Modelle finden ihre Anwendung z. B. zur Vorhersage der Bevölkerungsentwicklung oder<br />
zur Beurteilung möglicher Folgen von Gesetzesvorlagen.<br />
¯ Durch die in Kapitel 3 eingeführten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> werden Modelle der<br />
Organisationstheorie und der Softwaretechnik notiert. Diese Modelle abstrahieren von —<br />
im jeweiligen Problemkontext — unwesentlichen Aspekten und werden zur Komm<strong>uni</strong>kation<br />
über die modellierten Zusammenhänge z. B. bei der Organisationsgestaltung oder<br />
bei der Entwicklung von Softwaresystemen verwendet. Hierbei werden Modelle auch zur<br />
Schaffung eines gemeinsamen Begriffsverstehens eingesetzt.<br />
Modelle im Sinn der Natur-, Ingenieurs- und Geisteswissenschaften finden ihre Anwendung im<br />
Zusammenhang mit Systemen aus einer realen oder abstrakten Diskurswelt, die durch diese Modelle<br />
veranschaulicht werden. Ein Modell wird jedoch nicht nur von dem modellierten System<br />
selbst geprägt; seine Ausgestaltung und Interpretation wird auch von der Zielsetzung des Modellerstellers<br />
bzw. des Modellanwenders beeinflußt [Apostel, 1960], [Schütte / Rotthowe, 1998].<br />
Hieraus wird in [Apostel, 1960] eine allgemeine Definition des Modellbegriffs abgeleitet. Ein<br />
System , welches weder direkt noch indirekt mit einem System interagiert und von einem<br />
Subjekt Ë verwendet wird, um Erkenntnisse über das System zu gewinnen, ist hiernach <strong>für</strong><br />
dieses Subjekt unter einer festgelegten Zielsetzung ein Modell des Systems . [Becker / Vossen,<br />
1996a] fassen — hieran angelehnt — ein Modell <strong>für</strong> Geschäftsprozesse als „ein immaterielles<br />
und abstraktes Abbild der Realwelt <strong>für</strong> die Zwecke des Subjekts“ auf. Eine Diskussion des<br />
Modellbegriffs, bei der u. a. auch noch der Kenntnisstand des Modellanwenders in die Modellinterpretation<br />
einfließt, findet sich auch in [Troitzsch, 1990].<br />
Ein Modell ist ein zielgerichtetes Abbild eines Systems, das zum einen ähnliche<br />
Beobachtungen und Aussagen ermöglicht wie dieses System und zum anderen<br />
diese Realität durch Abstraktion auf die jeweils problembezogen relevanten<br />
Aspekte vereinfacht.<br />
Modelle erlauben eine deutliche und strukturierte Beschreibung der Konzepte eines Systems<br />
durch Einschränkung auf die wesentlichen Problemaspekte. Hierdurch kann u. a. auch das Verstehen<br />
und Nachvollziehen komplexer Zusammenhänge unterstützt werden.<br />
Modell-Taxonomie<br />
Abhängig von Modellierungszusammenhängen, Modellierungsaspekten und Modellverwendung<br />
werden verschiedene Modelltypen unterschieden (vgl. hierzu auch [Lehner, 1995]). Eine ausführliche<br />
Klassifikation von Modelltypen vor dem Hintergrund der sozialwissenschaftlichen Modellbildung,<br />
die auch auf das im folgenden entwickelte Modell der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong><br />
<strong>für</strong> Organisationen und Softwaresysteme angewandt werden kann, findet sich in [Troitzsch,<br />
1990, S. 12ff].<br />
Nach dem Bildbereich können konkrete und symbolische Modelle unterschieden werden [Brinkkemper,<br />
1990], [Gigch, 1991]. Konkrete Modelle zeichnen sich dadurch aus, daß Dinge aus der<br />
modellierten Welt direkt (Realmodelle) oder nach Konstruktion (ikonische Modelle) als Modell
4.2 <strong>Referenz</strong>modelle 105<br />
übernommen werden. Symbolische Modelle, die in einer symbolischen Form beschrieben werden,<br />
werden weiter in Verbalmodelle, bei denen Modelle in natürlicher Sprache dargestellt werden<br />
und in formale Modelle unterschieden, die durch formale (mathematische) Sprachen notiert<br />
werden [Troitzsch, 1990].<br />
Nach Art der Zusammenhänge zwischen den modellierten Objekten unterscheidet [Troitzsch,<br />
1990, S. 15] statische Modelle, bei denen sich die Merkmale der modellierten Objekte und Beziehungen<br />
im Verlauf der Zeit nicht ändern und Prozeßmodelle, bei denen zeitliche Änderungen<br />
einbezogen werden.<br />
Die Unterscheidung nach dem Modellierungszweck bietet ein weiteres aussagekräftiges Unterscheidungsmerkmal.<br />
Hierbei ist zu beachten, daß mit einer Modellierung nur selten genau ein<br />
Ziel verfolgt wird. Konkrete Modelle können durchaus auch mehreren der folgenden Modellklassen<br />
zugehörig sein. Mit Deskriptionsmodellen soll in erster Linie eine Unterstützung bei<br />
der Komm<strong>uni</strong>kation über modellierte Sachzusammenhänge geboten werden. In diese Modellklasse<br />
fallen auch solche Modelle, die im Rahmen der Softwareerstellung (Implementationsmodelle)<br />
sowohl zur Komm<strong>uni</strong>kation zwischen den hieran beteiligten Personen, als auch als<br />
Implementations-Hilfsmittel verwendet werden. Didaktische oder tutorielle Modelle werden vor<br />
dem Hintergrund der Vermittlung der Modellinhalte erstellt. Simulationen werden Simulationsmodelle<br />
zu Grunde gelegt. Sie haben auch einen sehr engen Bezug zu formalen Modellen, da<br />
Simulationsmodelle in der Regel auch formal zu beschreiben sind.<br />
4.2 <strong>Referenz</strong>modelle<br />
Eine ausgewiesene Form von Modellen bilden <strong>Referenz</strong>modelle. Der Begriff „<strong>Referenz</strong>“ leitet<br />
sich vom lateinischen „refero“: auf etwas zurückführen, beziehen auf, nach etwas beurteilen, ab.<br />
Mit dem Zusatz „<strong>Referenz</strong>“ werden solche Dinge ausgezeichnet, die als Bezug oder Empfehlung<br />
geeignet sind. <strong>Referenz</strong>modelle bezeichnen folglich solche Modelle, die als Bezug i. w. S.<br />
dienen.<br />
In Begriffsklärungen aus der Literatur wird dieser Bezug häufig auf die Verwendung von <strong>Referenz</strong>modellen<br />
als Modellierungsmittel zur Erstellung spezieller Modelle bezogen. So versteht<br />
[Scheer, 1997] unter einem <strong>Referenz</strong>modell ein Modell, „das als Ausgangspunkt <strong>für</strong> die Entwicklung<br />
auf konkrete Aufgabenstellungen bezogener Problemlösungen dienen kann.“ [<strong>Se</strong>ubert,<br />
1997] beschreibt <strong>Referenz</strong>modelle als „vorgefertigte Lösungsrahmen“, die eine Basis <strong>für</strong> den<br />
„gezielten und ökonomischen Aufbau von [...]Konzeptionen“ bieten. Ähnliche Begriffsbildungen<br />
nehmen [Raue, 1996], [Hars, 1994] und [Schütte, 1996] vor. Auch hier steht die Verwendung<br />
von <strong>Referenz</strong>modellen als Bezug <strong>für</strong> den Entwurf anderer Modelle im Vordergrund.<br />
Neben dieser Eigenschaft stellen u.a. [Marent, 1995], [Becker / Schütte, 1997] und [Rosemann<br />
/ Schütte, 1997] den Empfehlungscharakter von <strong>Referenz</strong>modellen heraus. <strong>Referenz</strong>modellen<br />
wird hier ein „normativer Charakter“ zugesprochen, da durch sie <strong>für</strong> eine „abgebildete Klasse<br />
von Problemstellungen“ Gestaltungsempfehlungen gegeben werden.<br />
Auch das <strong>Referenz</strong>modell <strong>für</strong> Workflow-Managementsysteme [Hollingsworth, 1994] wurde als<br />
Grundlage zur Erstellung spezieller Modelle entwickelt. Zusätzlich wurden jedoch Anforderungen<br />
an den Bildbereich des <strong>Referenz</strong>modells formuliert. So soll das <strong>Referenz</strong>modell <strong>für</strong>
106 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
Workflow-Managementsysteme deren „charakteristischen Merkmale, deren Terminologie und<br />
deren Komponenten“ beschreiben. Ebenfalls auf die Beschreibung wesentlicher Konzepte bezieht<br />
[ECMA, 1991] den Begriff <strong>Referenz</strong>modell. <strong>Referenz</strong>modelle sind hiernach „konzeptionelle<br />
und funktionale Rahmen“ zur Beschreibung und zum Vergleich komplexer Systeme.<br />
Ausgehend von Fragestellungen der Unternehmensmodellierung versteht [Marent, 1995] unabhängig<br />
vom Verwendungszweck unter einem <strong>Referenz</strong>modell ein „konzeptionelles Geschäftsbereichsmodell<br />
<strong>für</strong> ein idealtypisches Unternehmen“. Ähnlich allgemein faßt auch [Scholz-Reiter,<br />
1990] den <strong>Referenz</strong>modellbegriff. <strong>Referenz</strong>modelle werden hier als Modelle verstanden, deren<br />
wesentliche Ausprägungen „generell gültig“ und „von individuellen Besonderheiten freigehalten“<br />
sind.<br />
Gemeinsam ist diesen Begriffsbildungen eine Abgrenzung zwischen dem <strong>Referenz</strong>modell und<br />
den hierzu in bezug gesetzten speziellen Modellen. Spezielle Modelle beschreiben einen Sachzusammenhang<br />
aus einer auf ein konkretes Modellierungsziel hin ausgerichteten Sicht. Sie sind<br />
in ihrem Detaillierungsgrad ebenfalls speziell auf den zu beschreibenden Problemkontext hin<br />
zugeschnitten. <strong>Referenz</strong>modelle sind dagegen nicht auf ein konkretes Problem bezogen, sondern<br />
werden als problemübergreifende Modellierung verstanden. Sie beschreiben die wesentlichen<br />
Merkmale des Modellierungskontexts eher allgemeingültig.<br />
Ein <strong>Referenz</strong>modell ist ein ausgewiesenes Modell, das charakteristische Eigenschaften<br />
einer Klasse gleichartiger Systeme beschreibt und als Bezugspunkt <strong>für</strong><br />
spezielle Modelle dient.<br />
In dieser Begriffsbildung wird lediglich gefordert, daß <strong>Referenz</strong>modelle als Bezugspunkte <strong>für</strong><br />
spezielle Modelle dienen. Über die Qualität der <strong>Referenz</strong>modelle wird keine Aussage gemacht.<br />
Im Gegensatz zu den zuvor genannten Begriffsbildungen wird nicht gefordert, daß ein <strong>Referenz</strong>modell<br />
eine idealtypische oder normative Modellierung mit Empfehlungscharakter ist. Hierdurch<br />
wird erreicht, daß grundsätzlich jedes Modell als <strong>Referenz</strong>modell aufgefaßt werden kann<br />
(vgl. auch [Lehner, 1995, S. 126]). Ein Modell kann jedoch erst im Zusammenspiel mit einem<br />
speziellen Modell zum <strong>Referenz</strong>modell werden. Nach dieser Auffassung können auch weniger<br />
gelungene und schlechte Modelle als <strong>Referenz</strong>, z. B. zur Darstellung von ungeeigneten Modellierungsansätzen,<br />
die in einer neuen Modellierung nicht wieder verfolgt werden sollen, betrachtet<br />
werden.<br />
Der <strong>Referenz</strong>modellbegriff ist den Begriffen Standard, Norm und Entwurfsmuster gegenüberzustellen<br />
[Winter / Ebert, 1997]. Standards legen durch allgemeine Akzeptanz Begriffe und Eigenschaften<br />
von Systemen fest und liefern so eine allgemeine Richtschnur. Standards (oder de<br />
facto-Normen) entstehen in der Regel ohne vorgegebenen Plan [Tanenbaum, 1990], werden aber<br />
in ihrem Anwendungsbereich weitgehend akzeptiert. Eine planmäßig durchgeführte Festlegung<br />
von Begriffen und Eigenschaften durch autorisierte Normierungsinstitute (z. B. DIN, ANSI, ISO)<br />
wird als Norm (oder de jure-Norm) bezeichnet. Standards und Normen können somit auch als<br />
<strong>Referenz</strong>modelle aufgefaßt werden, die sich jedoch in ihrem Verbindlichkeitsgrad unterscheiden.<br />
Als eine besondere Form von <strong>Referenz</strong>modellen können auch Entwurfsmuster oder Design<br />
Pattern aufgefaßt werden. Während <strong>Referenz</strong>modelle durch nahezu vollständige Modelle eines<br />
Anwendungsbereichs eher etabliertes Modellwissen im Großen widerspiegeln, beschreiben Design<br />
Patterns [Gamma et al., 1994] Modellwissen im Kleinen. Sie beschreiben einfache und
4.2 <strong>Referenz</strong>modelle 107<br />
elegante Lösungen <strong>für</strong> wiederkehrende Probleme, die sich in der Entwurfspraxis bewährt haben.<br />
Diese <strong>Referenz</strong>en dienen nicht als genereller Bezugspunkt zur Modellierung eines vollständigen<br />
Problembereichs, sondern sind vielmehr als <strong>Referenz</strong>bausteine zur Modellierung aufzufassen.<br />
[Gamma, 1996] ordnet Entwurfsmuster auch als „Mikroarchitektur“ ein, die zur Gesamtarchitektur<br />
eines Systems beiträgt.<br />
4.2.1 Anforderungen an <strong>Referenz</strong>modelle<br />
Da <strong>Referenz</strong>modelle auch Modelle sind, können auch Anforderungen, die <strong>für</strong> die Qualität von<br />
Modellen formuliert wurden, auf <strong>Referenz</strong>modelle übertragen werden. Eine solche Übertragung<br />
zeigen beispielsweise [Becker / Schütte, 1997] und [Rosemann / Schütte, 1997], die die generellen<br />
Modellierungsgrundsätze aus [Becker et al., 1995] auf <strong>Referenz</strong>modelle anwenden. Qualitätsanforderungen<br />
an Konzeptmodelle diskutieren [Lindland et al., 1994] unter syntaktischen,<br />
semantischen und pragmatischen Aspekten. In [Krogstie et al., 1995] wird dieser Ansatz erweitert.<br />
Qualitätsmerkmale von Modellen werden hier ausgehend von Beziehungen zwischen<br />
der Modelldomäne, der Modellinterpretation durch die Modellverwender, dem Kenntnisstand<br />
der Modellverwender, den Modellierungsmitteln und dem Modell selbst klassifiziert und durch<br />
Metriken beschrieben. Zu einigen Merkmalen werden Mittel zur Qualitätverbesserung kurz skizziert.<br />
Einen Überblick über Anforderungen an Datenmodelle geben [Moody/Shanks, 1994]. Hier<br />
sind auch Hinweise zur Bestimmung einer qualitativen Bewertung dieser Kriterien genannt. Generelle<br />
Eigenschaften von Modellierungen werden in [Brinkkemper, 1990, S. 42ff] diskutiert.<br />
Die in diesen Arbeiten aufgeführten Anforderungen an Modelle können in ähnlicher Form auch<br />
auf <strong>Referenz</strong>modelle übertragen werden (vgl. auch [Heym, 1995, S. 107ff]).<br />
Anforderungen an (spezielle) Modelle sind noch um solche zu ergänzen, die den <strong>Referenz</strong>charakter<br />
einer Modellierung unterstreichen. Nicht alle Qualitätsanforderungen, die an spezielle<br />
Modellierungen gestellt werden, sind direkt auf <strong>Referenz</strong>modelle übertragbar. Anforderungen<br />
an spezielle Modelle können durchaus im Konflikt zu Anforderungen an <strong>Referenz</strong>modelle stehen.<br />
Auch andere Anforderungen an Eigenschaften von <strong>Referenz</strong>modellen sind untereinander<br />
nicht notwendig widerspruchsfrei. Zur Einschätzung eines <strong>Referenz</strong>modells ist ein geeigneter<br />
Mix an Merkmalsausprägungen heranzuziehen. Eine Übersicht zu den Abhängigkeiten zwischen<br />
den Ausprägungen unterschiedlicher Qualitätskriterien findet sich ebenfalls in [Moody / Shanks,<br />
1994].<br />
In den nachfolgenden Abschnitten werden Anforderungen an <strong>Referenz</strong>modelle hinsichtlich der<br />
Kriterien Allgemeingültigkeit, Korrektheit, Vollständigkeit, Anwendbarkeit und Erweiterbarkeit<br />
diskutiert.<br />
Allgemeingültigkeit<br />
Eine wesentliche Eigenschaft, die <strong>Referenz</strong>modelle von speziellen Modellen unterscheidet, ist<br />
der Anspruch der <strong>Referenz</strong>modelle allgemeiner und umfassender zu sein, so daß sie auch in<br />
verschiedenen speziellen Modellierungskontexten eingesetzt werden können. Hiermit eng verbunden<br />
ist die Wahl des geeigneten Detaillierungsgrades der <strong>Referenz</strong>modellierung. Der Detaillierungsgrad<br />
einer <strong>Referenz</strong>modellierung sollte nicht zu konkret gewählt sein, da sie dann nicht<br />
mehr auf vielfältige Problemstellungen anwendbar ist und somit der Forderung nach Allgemeingültigkeit<br />
nicht mehr entsprochen wird. Der Detaillierungsgrad eines <strong>Referenz</strong>modells sollte aber
108 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
auch nicht zu abstrakt sein, da zu allgemeine Modelle die Anwendung auf konkrete Anwendungsbereiche<br />
kaum unterstützen (vgl. auch [Marent, 1995]). Die Forderung von [Scheer, 1997],<br />
wonach ein <strong>Referenz</strong>modell soweit spezifiziert sein soll, daß es ohne Veränderung als spezielles<br />
Modell verwendbar ist, sollte nur als ein möglicher Spezialfall <strong>für</strong> <strong>Referenz</strong>modelle aufgefaßt<br />
werden. Eine <strong>Referenz</strong>modellierung sollte vielmehr so bemessen sein, daß sie durch einfache<br />
Spezialisierungen und wenige Ergänzungen und Änderungen auf spezielle Probleme angewandt<br />
werden kann. Dieses kann durchaus auch durch die Angabe von Modellierungsvarianten [Raue,<br />
1996] unterstützt werden.<br />
Korrektheit<br />
Wie auch Modelle sollten <strong>Referenz</strong>modelle korrekt sein. Bei der Korrektheit von Modellen<br />
wird die syntaktische und die semantische Korrektheit unterschieden [Zamperoni / Löhr-Richter,<br />
1993], [Becker et al., 1995]. Ein Modell ist syntaktisch korrekt, wenn seine Beschreibung den<br />
syntaktischen Regeln des verwendeten Beschreibungsmittels entspricht. Die syntaktische Korrektheit<br />
kann entlang eines Metamodells (vgl. Kapitel 4.3) nachgewiesen werden. Die semantische<br />
Korrektheit eines Modells ist im Zusammenhang mit dem zu modellierenden Gegenstandsbereich<br />
zu untersuchen. Ein Modell gilt dann als semantisch korrekt, wenn es unter Berücksichtigung<br />
des Modellierungsziels mit der modellierten Realität „übereinstimmt“. Eine Validierung<br />
der semantischen Korrektheit einer <strong>Referenz</strong>modellierung kann nur durch Akzeptanz des Modells<br />
durch die Anwender vor dem Hintergrund ihrer Anwendungsziele erfolgen.<br />
Vollständigkeit<br />
Für Modelle wird neben der Korrektheit auch die Vollständigkeit gefordert. Ein Modell gilt als<br />
vollständig, wenn alle <strong>für</strong> die Zielsetzung der Modellierung relevanten Elemente im Modell enthalten<br />
sind. Gleichzeitig sollte ein Modell auch ausschließlich relevante Objekte enthalten (vgl.<br />
das Kriterium der Relevanz in [Becker et al., 1995]). Auf <strong>Referenz</strong>modelle läßt sich die Forderung<br />
nach Vollständigkeit und Relevanz nur eingeschränkt übertragen. Da <strong>Referenz</strong>modelle<br />
eher problemübergreifend und allgemein angelegt sind, kann ein <strong>Referenz</strong>modell kaum vollständig<br />
sein und alle relevanten Modellaspekte abbilden. Ein vollständiges <strong>Referenz</strong>modell, das<br />
ausschließlich problemrelevante Dinge abbildet, ist in der Regel zu speziell, um als Bezugspunkt<br />
<strong>für</strong> verschiedene problembezogene Modellverwendungen zu dienen. Die Forderung aus<br />
[Scheer, 1997], wonach ein <strong>Referenz</strong>modell soweit vollständig sein muß, daß mindestens ein Anwendungsfall<br />
denkbar ist, <strong>für</strong> das es unverändert als spezielles Modell eingesetzt werden kann,<br />
steht daher in deutlichem Widerspruch zur Forderung nach Allgemeingültigkeit. [Hars, 1994]<br />
überträgt die Forderung nach Vollständigkeit <strong>für</strong> <strong>Referenz</strong>modelle daher in die Forderung nach<br />
Nützlichkeit. Ein <strong>Referenz</strong>modell muß hierbei mindestens potentiell <strong>für</strong> die Erstellung mehrerer<br />
Modelle verwendbar sein. Überträgt man die Betrachtungen zur Allgemeingültigkeit auch auf<br />
die Vollständigkeit, sollte ein <strong>Referenz</strong>modell soweit vollständig sein, daß möglichst wenige Ergänzungen<br />
zur Verwendung des <strong>Referenz</strong>modells zur Lösung konkreter Probleme nötig sind. Die<br />
Ableitung problembezogener Modelle aus einem <strong>Referenz</strong>modell sollte nach festen Regeln erfolgen.<br />
<strong>Referenz</strong>modelle sollten daher auch um Regeln zur Ableitung ergänzt werden (vgl. [Hars,<br />
1994]). Auch wenn die Forderung nach Vollständigkeit <strong>für</strong> <strong>Referenz</strong>modelle nur teilweise erfüllt<br />
werden kann, sollte durch Anwendung dieser Regeln die Ableitung vollständiger, spezieller Modelle<br />
ermöglicht werden.
4.2 <strong>Referenz</strong>modelle 109<br />
Anwendbarkeit<br />
<strong>Referenz</strong>modelle sollten auch einfach anwendbar sein. Hierzu sollten sie leicht vermittelbar und<br />
nachvollziehbar sein (vgl. auch den Grundsatz der Klarheit in [Rosemann / Schütte, 1997]). Die<br />
Einfachheit eines Modells ist geprägt von seiner Komplexität, d. h. von der Anzahl der modellierten<br />
Objekte und deren Beziehungen [Moody/Shanks, 1994]. Durch geeignete Strukturierung<br />
und systematischen Modellaufbau kann diese Komplexität reduziert werden. Insbesondere sollten<br />
ähnliche Zusammenhänge auch ähnlich modelliert werden. Unterstützt wird die Nachvollziehbarkeit<br />
von komplexen Modellen auch dadurch, daß gut abgrenzbare Teilbereiche separat<br />
und unabhängig beschrieben und genutzt werden können.<br />
Die Anwendbarkeit eines <strong>Referenz</strong>modells hängt im besonderen Maß auch von seinem Anwendungskontext<br />
ab. Während ein <strong>Referenz</strong>modell bei der Verwendung als Hilfsmittel zum Vergleich<br />
eher (genau) eine idealtypische Modellierung darstellen sollte, kann ein <strong>Referenz</strong>modell,<br />
das eher als Ausgangspunkt zur Erstellung spezieller Modelle Anwendung findet, auch mehrere<br />
Modellalternativen <strong>für</strong> unterschiedliche Anwendungszusammenhänge bereitstellen [Rosemann,<br />
1996, S. 35]. Die Bereitstellung von Modellvarianten erhöht einerseits die Anwendbarkeit des<br />
<strong>Referenz</strong>modell auf unterschiedliche Problemstellungen [Raue, 1996], erschwert anderseits aber<br />
auch dessen Anwendung, da mehrere Alternativen zu berücksichtigen sind. Daher sollte ein <strong>Referenz</strong>modell<br />
eher wenige Alternativen bereitstellen. Zur Beurteilung der Güte eines <strong>Referenz</strong>modells<br />
unter dem Anwendbarkeitsaspekt ist folglich auch die Adaption des <strong>Referenz</strong>modells an<br />
die spezielle Aufgabenstellung zu beachten [Becker / Schütte, 1997].<br />
Auch sollte die Anwendbarkeit des <strong>Referenz</strong>modells nachgewiesen werden. Der Vorschlag, bei<br />
der Beschreibung von Design Patterns mindestens zwei unterschiedliche Verwendungen aus verschiedenen<br />
Anwendungskontexten zu nennen [Gamma et al., 1994, S. 7], sollte auch <strong>für</strong> <strong>Referenz</strong>modelle<br />
übernommen werden.<br />
Erweiterbarkeit<br />
<strong>Referenz</strong>modelle spiegeln den aktuellen Stand innerhalb ihres Modellierungskontexts wider. Da<br />
dieser einer dynamischen Entwicklung unterworfen ist, müssen <strong>Referenz</strong>modelle auch die Anpassung<br />
an zukünftige Entwicklungen und Erkenntnisse erlauben. <strong>Referenz</strong>modelle sollten daher<br />
offen und flexibel [Moody / Shanks, 1994] angelegt sein, um sie leicht an geänderte Anforderungen<br />
anpassen zu können. Dem gegenüber steht die Forderung, daß ein <strong>Referenz</strong>modell auch in<br />
einem gewissen Maß robust [Rosemann / Schütte, 1997] sein sollte, so daß nicht jede Änderung<br />
der Rahmenbedingungen zu einer Überarbeitung des <strong>Referenz</strong>modells führt.<br />
Eng mit der Erweiterbarkeit eines Modells ist auch das Zusammenspiel mit anderen Modellen<br />
in benachbarten Kontexten zu sehen. So sollte auch ein <strong>Referenz</strong>modell soweit integrationsfähig<br />
[Moody/Shanks, 1994] sein, daß es mit <strong>Referenz</strong>modellen angrenzender Bereiche kombinierbar<br />
ist.<br />
Die skizzierten Eigenschaften von <strong>Referenz</strong>modellen sind wesentlich von der Akzeptanz<br />
und Einschätzung durch die Modellanwender geprägt. Diese Eigenschaften<br />
müssen <strong>für</strong> <strong>Referenz</strong>modelle durch die Verwendung ständig nachgewiesen<br />
werden.
110 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
4.2.2 Beispiele <strong>für</strong> <strong>Referenz</strong>modelle<br />
Für eine Vielzahl von Systemen unterschiedlicher Art wurden Modelle entwickelt, denen<br />
<strong>Referenz</strong>eigenschaften zugesprochen werden. Hierunter fallen z. B. Modelle, die <strong>Referenz</strong>-<br />
Architekturen beschreiben. Im besonderen Maß werden <strong>Referenz</strong>modelle auch im Bereich der<br />
Modellierung und Untersuchung von Informationssystemen verwendet. In den folgenden Abschnitten<br />
werden daher einige Beispiele <strong>für</strong> <strong>Referenz</strong>-Architekturen und <strong>für</strong> <strong>Referenz</strong>modelle<br />
<strong>für</strong> Informationssysteme skizziert, um generelle Anwendungsbereiche <strong>für</strong> <strong>Referenz</strong>modelle aufzuzeigen.<br />
<strong>Referenz</strong>-Architekturen<br />
<strong>Referenz</strong>-Architekturen beschreiben Systeme durch Angabe ihrer wesentlichen Komponenten<br />
und deren Zusammenhänge. Beispiele <strong>für</strong> <strong>Referenz</strong>-Architekturen sind das OSI-<strong>Referenz</strong>modell,<br />
das ECMA-<strong>Referenz</strong>modell und das Workflow-<strong>Referenz</strong>modell.<br />
OSI-<strong>Referenz</strong>modell<br />
Das OSI-<strong>Referenz</strong>modell [Day / Zimmermann, 1983] beschreibt die Komm<strong>uni</strong>kation zwischen<br />
offenen Rechnersystemen (open systems interconnection). In diesem Modell wird<br />
in sieben Schichten die Verbindung zwischen Rechnersystemen von der Übertragung einzelner<br />
Bits bis zum Transfer von Dateien und der Komm<strong>uni</strong>kation zwischen unterschiedlichen<br />
Terminaltypen festgelegt. Hierbei wird jedoch nur der Leistungsumfang jeder einzelnen<br />
Schicht definiert. Diese Schichten bilden die Hauptkomponenten einer Architektur<br />
<strong>für</strong> die Komm<strong>uni</strong>kation offener Rechnersysteme. Das Grundmodell wurde als ISO-Norm<br />
ISO 7498 festgeschrieben und bildet den Ausgangspunkt <strong>für</strong> die Entwicklung spezieller<br />
Normen <strong>für</strong> die einzelnen Schichten. Daher sollte das OSI-<strong>Referenz</strong>modell auch als Norm<br />
aufgefaßt werden.<br />
Neben der Verwendung als Grundlage eines Normierungsprozesses und der Festlegung<br />
grundsätzlicher Konzepte der Komm<strong>uni</strong>kation zwischen Rechnersystemen dient das OSI-<br />
<strong>Referenz</strong>modell auch als Grundlage zur Schulung. So ist beispielsweise das Lehrbuch zu<br />
Computernetzwerken [Tanenbaum, 1990], welches auch eine ausführliche Beschreibung<br />
des OSI-<strong>Referenz</strong>modells enthält, nach dieser <strong>Referenz</strong> gegliedert.<br />
ECMA-<strong>Referenz</strong>modell<br />
Ein <strong>Referenz</strong>modell <strong>für</strong> Software-Entwicklungsumgebungen liefert das ECMA-<strong>Referenz</strong>modell<br />
[ECMA, 1991] der European Computer Manufacturers Association. In diesem<br />
Modell werden die Komponenten eines erweiterungsfähigen Rahmens <strong>für</strong> eine Software-<br />
Entwicklungsumgebung und die von ihnen bereitgestellten Dienste beschrieben. Dieser<br />
Rahmen enthält Komponenten zur Datenhaltung, zur Datenintegration, zur Task-<br />
Verwaltung, zur Komm<strong>uni</strong>kation mit dem Anwender und zur Komm<strong>uni</strong>kation zwischen<br />
den Komponenten. Innerhalb einer Softwareentwicklungsumgebung können die Dienste<br />
dieser Komponenten durch eingebundene Werkzeuge genutzt werden. Durch das <strong>Referenz</strong>modell<br />
wird die Software-Entwicklungsumgebung in unabhängige Komponenten zerlegt,
4.2 <strong>Referenz</strong>modelle 111<br />
die durch festgelegte Dienste miteinander und mit weiteren Werkzeug-Komponenten interagieren.<br />
Daher sollte auch hier eher von einer <strong>Referenz</strong>-Architektur gesprochen werden<br />
(vgl. auch [Kelter, 1988]).<br />
Das ECMA-<strong>Referenz</strong>modell wurde im Rahmen des Standardisierungsverfahrens <strong>für</strong> PCTE<br />
(Portable Common Tool Environment, vgl. [Kelter, 1989]) entwickelt, stellt aber ein von<br />
PCTE unabhängiges Modell dar, das auch <strong>für</strong> weitere Standardisierungsvorhaben genutzt<br />
werden soll. Entlang dieses Modells wurde PCTE, das eine Schnittstellenspezifikation von<br />
Basisfunktionen zur Konstruktion von Software-Entwicklungsumgebungen darstellt, mit<br />
anderen Standards gleicher Zielsetzung verglichen. Neben der Unterstützung bei der Standardisierung<br />
und Einordnung von PCTE und der Ableitung anderer Softwarearchitekturen<br />
soll das ECMA-<strong>Referenz</strong>modell auch zur Ausbildung von Systementwicklern im Umgang<br />
mit Softwareentwicklungsrahmen eingesetzt werden.<br />
Workflow-<strong>Referenz</strong>modell<br />
Die Workflow Management Coalition [Hollingsworth, 1994] definierte das Workflow-<br />
<strong>Referenz</strong>modell. Dieses legt die Terminologie der Workflow Management Coalition fest<br />
(ein ausführliches Glossar befindet sich in [WfMC, 1996]) und beschreibt eine Architektur<br />
<strong>für</strong> Workflow-Managementsysteme. Ähnlich zum ECMA-<strong>Referenz</strong>modell wird diese<br />
Architektur durch Angabe der wesentlichen Komponenten zur Verwaltung und Ausführung<br />
von Workflows, zur Modellierung von Workflows, zur Interaktion mit Benutzern, zum<br />
Auslösen externer Anwendungen ohne Benutzerinteraktion und zur Systemadministration<br />
durch Angabe ihrer Eigenschaften und Schnittstellen beschrieben. Ebenfalls umfaßt diese<br />
Architektur eine Schnittstelle zu anderen Workflow-Managementsystemen. Das Workflow<br />
<strong>Referenz</strong>modell ist somit als <strong>Referenz</strong>-Architektur inklusive einer <strong>Referenz</strong>-Terminologie<br />
aufzufassen.<br />
Ausgangspunkt <strong>für</strong> die Erstellung dieses <strong>Referenz</strong>modells war die Feststellung, daß bereits<br />
viele Produkte mit teilweise unterschiedlicher Schwerpunktsetzung im Workflow-<br />
Kontext verfügbar waren, diese jedoch nicht oder nur sehr schwer kombiniert werden<br />
konnten. Wesentliche Anforderung war es daher, die Interoperabilität zwischen Workflow-<br />
Managementsystemen und zwischen hierbei verwendeten Anwendungssystemen zu ermöglichen.<br />
Aus diesem Grund gibt das <strong>Referenz</strong>modell auch einen groben Überblick über<br />
eine solche Schnittstelle (workflow application programme interface). Details wurden in<br />
weiteren Berichten der Workflow Management Coalition veröffentlicht 1 . Das hier vorgestellte<br />
<strong>Referenz</strong>modell dient somit auch als Ausgangspunkt <strong>für</strong> weitere Standardisierungsvorhaben<br />
innerhalb der Workflow Management Coalition.<br />
<strong>Referenz</strong>modelle <strong>für</strong> Informationssysteme<br />
Im Bereich der Informationssysteme werden <strong>Referenz</strong>modelle sowohl <strong>für</strong> verschiedene Branchen<br />
und <strong>für</strong> verschiedene Geschäftsprozesse als auch vor dem Hintergrund unterschiedlicher<br />
Anwendungskontexte erstellt. Hierzu werden in der Regel <strong>visuelle</strong> <strong>Modellierungssprachen</strong>, wie<br />
sie in Kapitel 3 skizziert wurden, eingesetzt.<br />
1 Siehe hierzu http://www.wfmc.org (17.09.1999).
112 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
Im folgenden werden überblicksartig Ansätze und Anwendungsbereiche der <strong>Referenz</strong>modellierung<br />
von Informationssystemen beschrieben. Diese beziehen sich auf betriebliche Informationssysteme<br />
generell, <strong>für</strong> die bereits in den 60er Jahren erste <strong>Referenz</strong>modelle entwickelt wurden,<br />
und auf aktuelle Schwerpunkte der <strong>Referenz</strong>modellierung in der öffentlichen Verwaltung und im<br />
Gesundheitswesen.<br />
<strong>Referenz</strong>modelle <strong>für</strong> betriebliche Informationssysteme<br />
Ein erster Ansatz zur <strong>Referenz</strong>modellierung betrieblicher Informationssysteme wurde mit<br />
dem Kölner Integrationsmodell (KIM) [Grochla, 1974] bereits 1965 begonnen. Hierin wurden<br />
die wichtigsten betrieblichen Aufgaben im Kontext der Informationsverarbeitung erfaßt<br />
und abstrahiert von individuellen betrieblichen Eigenschaften beschrieben.<br />
Dieses Grundmodell war auch als Basis <strong>für</strong> die Ableitung weiterer Modelle <strong>für</strong> andere<br />
Wirtschaftszweige und zur Erstellung branchenspezifischer Modelle und deren Verfeinerungen<br />
konzipiert. Das Kölner Integrationsmodells ist datenflußorientiert durch Aufgabenlisten,<br />
Kanallisten (zur Datenbeschreibung) und Datenflußdiagramme beschrieben.<br />
Ein heute weit verbreiteter Ansatz zur Modellierung von <strong>Referenz</strong>modellen <strong>für</strong> Informationssysteme<br />
basiert auf der Architektur integrierter Informationssysteme (ARIS) [Scheer,<br />
1992] (vgl. auch <strong>Se</strong>ite 121). <strong>Referenz</strong>modelle <strong>für</strong> industrielle Unternehmensprozesse wie<br />
z. B. der Logistik, der Produktentwicklung, des Rechnungswesens und der Personalwesen<br />
sind in [Scheer, 1994] beschrieben. In ähnlicher Form liegen auch <strong>Referenz</strong>modelle<br />
<strong>für</strong> unterschiedliche Branchen u. a. <strong>für</strong> die Papierindustrie, die chemische Industrie und<br />
den Maschinenbau vor2 . Ein auf die Prozesse in Handelsunternehmen bezogenes <strong>Referenz</strong>modell<br />
wird in [Schütte, 1996] vorgestellt. Dominierendes Beschreibungsmittel der<br />
ARIS-<strong>Referenz</strong>modelle sind Ereignisgesteuerte Prozeßketten, die durch Funktionsbäume,<br />
Objekt-Beziehungsdiagramme und Organigramme ergänzt werden und somit diese Informationssysteme<br />
aus Aufgaben-, Aufbau-, Prozeß- und Objektsicht beschreiben.<br />
Anwendung finden auf ARIS aufbauende <strong>Referenz</strong>modelle sowohl als Ausgangspunkt zur<br />
Erstellung spezieller Modelle als auch als Vergleichsmaßstab <strong>für</strong> vorliegende Modellierungen<br />
z. B. zur Restrukturierung des Informationssystems oder zur Auswahl von Software-<br />
Unterstützungsmitteln.<br />
Einen Überblick über betriebliche <strong>Referenz</strong>modelle vor dem Hintergrund des Computer<br />
Integrated Manufacturing gibt auch [Scholz-Reiter, 1990, S. 109ff]. Einige Beispiele <strong>für</strong><br />
Modellierungen, denen (von den jeweiligen Autoren) <strong>Referenz</strong>eigenschaften zugesprochen<br />
werden, sind in [Lehner, 1995, S. 126] genannt. Verschiedene Unternehmensmodelle<br />
und Ansätz zur Unternehmensmodellierung werden auch in [Frank, 1994, S. 135ff] überblicksartig<br />
dargestellt.<br />
<strong>Referenz</strong>modelle <strong>für</strong> die öffentliche Verwaltung<br />
Für die kommunale Verwaltung wurde 1994 durch die Städte Mannheim und Mainz mit<br />
dem Kommunalen Rechenzentrum Niederrhein (KRZN) in Moers das Kommunale Informationsmodell<br />
KIM [KGSt, 1995] als Grundlage zur Entwicklung einer Übersicht über das<br />
2 Einen groben Überblick über (kommerzielle) auf ARIS basierende <strong>Referenz</strong>modelle bietet auch http://www.<br />
ids-scheer.de/produkte/toolset/refmod.htm (17.09.1999).
4.2 <strong>Referenz</strong>modelle 113<br />
in den Kommunalverwaltungen vorhandene Informationspotential erstellt. In diesem Datenmodell<br />
werden die Daten, die <strong>für</strong> alle Kommunalverwaltungen gleichermaßen von Bedeutung<br />
sind, erfaßt und strukturiert. Hierzu wurde zunächst ein verwaltungsübergreifendes<br />
„Kommunales Top-Informationsmodell“ auf hohem Abstraktionsniveau erstellt, das<br />
dann zu fachbereichsbezogenen bzw. anwendungsbezogenen Informationsmodellen verfeinert<br />
wurde. Das Kommunale Informationsmodell ISMONE - Mainz/Mannheim, das<br />
[KGSt, 1995] als Anhang beigefügt ist, stellt das Ergebnis der Modellkonsolidierung<br />
des Top-Informationsmodells mit weiteren kommunalen Datenverarbeitungszentralen dar.<br />
Dieses sehr grobgranulare Datenmodell wird durch ein Objekt-Beziehungsdiagramm beschrieben.<br />
Jeder Objekttyp ist glossarartig durch eine Definition und kleinere Beispiele<br />
näher charakterisiert.<br />
Dieses Modell kann als <strong>Referenz</strong>-Datenmodell aufgefaßt werden, da aufgrund der Konsolidierung<br />
durch mehrere Kommunale Rechenzentren auch seine Anwendbarkeit in weiteren<br />
Kommunalverwaltungen nachgewiesen ist. Darüber hinaus dient es auch als Grundlage<br />
zur Erstellung weiterer, dann verfeinerter Datenmodelle <strong>für</strong> einzelne Fachbereiche und<br />
Anwendungen.<br />
Die Kommunale Gemeinschaftsstelle empfiehlt das Kommunale Informationsmodell als<br />
Grundlage zur Entwicklung der speziellen Datenmodelle der einzelnen Kommunalverwaltungen<br />
[KGSt, 1995, S. 13]. Neben der strukturierten Beschreibung der Informationsstrukturen<br />
in der kommunalen Verwaltung dient das Modell auch zur Begriffsvereinheitlichung<br />
und zur besseren Koordination des Datenaustauschs zwischen einzelnen Kommunalverwaltungen.<br />
Gemeinsam mit Funktions- und Verfahrensmodellen bietet es auch eine Entscheidungsgrundlage<br />
zur Auswahl von Anwendungssoftware.<br />
Ein <strong>Referenz</strong>modell zur IT-gestützten Vorgangsbearbeitung [Engel, 1996] [KoopA ADV,<br />
1997, Kapitel 4] wurde im Rahmen des Handlungsleitfadens „IT-gestützte Vorgangsbearbeitung“<br />
der gleichnamigen Arbeitsgruppe des Kooperationssausschuß ADV Bund/Länder/Kommunaler<br />
Bereich entwickelt. Es stellt die organisatorischen Zusammenhänge im<br />
Rahmen der Vorgangsbearbeitung innerhalb der öffentlichen Verwaltung idealtypisch dar.<br />
Zur Einordnung und Definition der hier verwendeten Begriffe enthält der Handlungsleitfaden<br />
ein ausführliches Glossar [KoopA ADV, 1997, Kapitel 2]. Den Hauptteil bildet<br />
ein Funktionenmodell, in dem die Phasen und Teilprozesse typischer Prozeßverläufe der<br />
Vorgangsbearbeitung dargestellt werden. Die Darstellung erfolgt durch Ereignisgesteuerte<br />
Prozeßketten. Das <strong>Referenz</strong>modell wird anhand von zwei hieraus abgeleiteten Modellierungen<br />
von Verwaltungsvorgängen validiert. Ergänzt wird das <strong>Referenz</strong>modell noch durch<br />
eine hiermit verträgliche Ziel- oder <strong>Referenz</strong>architektur zur IT-gestützten Vorgangsbearbeitung<br />
[KoopA ADV, 1997, Kapitel 5]. Diese umfaßt Komponenten zur Bürokomm<strong>uni</strong>kation,<br />
zum Schriftgutmanagement und zur Vorgangssteuerung, die durch ihre Grundfunktionalität<br />
und partiell durch ihre Schnittstellen näher erklärt sind. Die Komponente<br />
zur Vorgangssteuerung wurde entlang der Architektur <strong>für</strong> Workflow-Managementsysteme<br />
des Workflow-<strong>Referenz</strong>modells erstellt.<br />
Das Funktionenmodell des <strong>Referenz</strong>modells zur IT-gestützten Vorgangsbearbeitung beschreibt<br />
einen idealtypischen Vorgang der öffentlichen Verwaltung durch Abstraktion auf<br />
wesentliche Teilvorgänge. <strong>Se</strong>ine Anwendbarkeit wurde sowohl anhand von abgeleiteten,<br />
speziellen Modellen als auch durch die abgeleitete Architektur nachgewiesen. Gemein-
114 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
sam mit dem Glossar kann es daher als ein <strong>Referenz</strong>modell eingeordnet werden, daß auch<br />
den in Kapitel 4.2.1 angesprochenen Anforderungen genügt. Das <strong>Referenz</strong>modell enthält<br />
zusätzlich ein objektorientiertes Datenmodell (<strong>Referenz</strong>-Schema) [Engel, 1995], in dem<br />
die grundlegenden Konzepte zur Beschreibung der Vorgangsbearbeitung wie z. B. Vorgänge,<br />
Dokumente und organisatorische Einheiten sowie die hierzwischen möglichen Beziehungen<br />
eingeführt werden. Dieses Schema stellt im Sinn der in Kapitel 4.3 eingeführten<br />
Terminologie ein Meta-Datenmodell zur Beschreibung von Verwaltungsvorgängen dar.<br />
Anwendung findet das <strong>Referenz</strong>modell als theoretische Grundlage des Leitfadens. Ebenfalls<br />
dient es durch das Glossar zur Schaffung einer terminologischen Basis. Darüber hinaus<br />
soll es auch die Präzisierung von Anforderungen an informationstechnische Umgebungen<br />
<strong>für</strong> die Vorgangsbearbeitung unterstützen. Hierbei wird es einerseits zur Formulierung<br />
dieser Anforderungen aber auch zum Vergleich angebotener Lösungen eingesetzt. Die Verwendung<br />
des <strong>Referenz</strong>modells <strong>für</strong> die Vorgangsunterstützung zur Schwachtellenanalyse<br />
und Verwaltungsreorganisation wird in [Engel, 1996] beschrieben.<br />
<strong>Referenz</strong>modelle im Gesundheitswesen<br />
Neben der öffentlichen Verwaltung bietet auch das Gesundheitswesen ein aktuelles Betätigungsfeld<br />
der <strong>Referenz</strong>modellierung. Hier beschäftigen sich sowohl Wissenschaftler<br />
als auch Softwareersteller, Unternehmensberater und Praktiker in Krankenhäusern mit der<br />
Erstellung von <strong>Referenz</strong>modellen <strong>für</strong> Krankenhausinformationssysteme [Winter / Ebert,<br />
1997], [Winter et al., 1999]. Diese Arbeiten beziehen sich sowohl auf <strong>Referenz</strong>modelle <strong>für</strong><br />
krankenhausweite Datenmodelle als auch auf <strong>Referenz</strong>modelle <strong>für</strong> Abläufe in Krankenhäusern.<br />
Ein <strong>Referenz</strong>datenmodell <strong>für</strong> Krankenhäuser wird in [Bihr / <strong>Se</strong>elos, 1997] vorgestellt. Notiert<br />
wird dieses Datenmodell durch Objekt-Beziehungsdiagramme. Anwendung soll dieses<br />
krankenhausweite Datenmodell bei der Integration verschiedener, heterogener Anwendungskomponenten<br />
<strong>für</strong> den administrativen, medizinischen und pflegerischen Bereich finden.<br />
Ebenfalls soll es als Grundlage zur Datenmigration aus Altsystemen dienen.<br />
Das Datenmodell Bundeswehrkrankenhaus [Imhoff et al., 1996] [Imhoff / Paczkowski,<br />
1997] wurde als <strong>Referenz</strong> und Rahmenkonzept <strong>für</strong> die Krankenhäuser der Bundeswehr<br />
erstellt. Trotz des Namens, der historisch bedingt ist, war es das Ziel dieser Studie, ein<br />
Informations- und Prozeßmodell der unmittelbar patientenbezogenen Informationsprozesse<br />
zu erstellen. Dieses Modell basiert auf der zuvor skizzierten ARIS-Architektur und wird<br />
aus der Aufgabensicht durch Funktionsbäume, aus der Prozeßsicht durch Prozeßketten und<br />
aus der Objektsicht durch Objekt-Beziehungsdiagramme beschrieben. Das Modell umfaßt<br />
neben dem Datenmodell auch Prozeßmodelle <strong>für</strong> elf Krankenhausbereiche sowie ein verfeinertes<br />
Modell der Orthopädie. Ebenfalls enthält es ein umfangreichen Glossar. Wesentliche<br />
Zielsetzung zur Erstellung dieses Modells war neben der Erhebung und Dokumentation<br />
und der hieraus resultierenden Konzeption eines optimierten Sollmodells auch die<br />
Entwicklung einer Basis zur Ableitung fachlicher Feinkonzepte. Das Modell wurde zunächst<br />
im Bundeswehrkrankenhaus Koblenz erstellt und anschließend als <strong>Referenz</strong>modell<br />
<strong>für</strong> die Bundeswehr in zwei weiteren Häusern validiert und festgeschrieben.
4.2 <strong>Referenz</strong>modelle 115<br />
4.2.3 Zusammenfassung: Anwendungsbereiche von <strong>Referenz</strong>modellen<br />
Aus diesen Beispielen lassen sich die wesentlichen Anwendungsbereiche <strong>für</strong> <strong>Referenz</strong>modelle,<br />
die in ähnlicher Form auch <strong>für</strong> das in Teil II entwickelte Modell der <strong>visuelle</strong>n Sprachen gelten,<br />
ableiten.<br />
Wie auch spezielle Modelle, dienen <strong>Referenz</strong>modelle zunächst als ein generelles Beschreibungsmittel,<br />
durch das wesentliche Konzepte des Modellierungskontextes verdeutlicht werden.<br />
<strong>Referenz</strong>modelle liefern einen Beitrag zur Terminologiebildung, da hierdurch nicht nur wesentliche<br />
Konzepte benannt sondern diese Konzepte auch näher erklärt und in ihren Kontext eingeordnet<br />
werden. Hierdurch eignen sie sich auch als Schulungsmittel, da mit ihrer Hilfe eine<br />
einheitliche Begriffswelt vermittelt werden kann. Aufgrund des Normierungscharakters von <strong>Referenz</strong>modellen<br />
kann auch ein gemeinsames Verstehen der modellierten Zusammenhänge z. B.<br />
in Diskussionsrunden heterogener Gruppen erreicht werden.<br />
Durch <strong>Referenz</strong>modelle werden auch Rahmen beschrieben, die Ausgangspunkt von Standardisierungs-<br />
oder Normungsvorhaben sind. Komponenten dieser <strong>Referenz</strong>modelle oder <strong>Referenz</strong>architekturen<br />
beschreiben zu standardisierende Bereiche und deren Schnittstellen.<br />
Ein wesentlicher Anwendungsbereich von <strong>Referenz</strong>modellen liegt in ihrem Zusammenspiel mit<br />
speziellen Modellen. Als Modellierungsmittel dienen <strong>Referenz</strong>modelle als Grundlage zum Entwurf<br />
und zur Weiterentwicklung spezieller Modelle. Die Erhebung und Dokumentation eines<br />
speziellen Modells erfolgt dann durch Abgleich mit dem <strong>Referenz</strong>modell. Zu modellieren sind<br />
dann nur noch die Abweichungen zum <strong>Referenz</strong>modell.<br />
Als Vergleichsmaßstab dienen sie auch zur Beurteilung vorhandener Modelle. Im Vergleich mit<br />
einem <strong>Referenz</strong>modell, das <strong>für</strong> einen Aspekt als besonders geeignet erscheint, können so beispielsweise<br />
Ansätze <strong>für</strong> Modelloptimierungen ermittelt werden.<br />
Anforderungen an Softwaresysteme können ebenfalls aufgrund von <strong>Referenz</strong>modellen <strong>für</strong> den<br />
zu unterstützenden Bereich erstellt und präzisiert werden. Solche Modelle dienen dann auch als<br />
Grundlage zur Auswahl der in Frage kommenden Softwaresysteme. Hierbei wird dann das Organisationsmodell<br />
mit dem Softwaremodell verglichen. Software-<strong>Referenz</strong>modelle dienen darüber<br />
hinaus auch als Hilfsmittel zur Konfiguration der einzuführenden Software, indem diese Software<br />
entlang des <strong>Referenz</strong>modells an die konkreten Anforderungen angepaßt wird.<br />
Einen zusammenfassenden Überblick über die Anwendungsbereiche von <strong>Referenz</strong>modellen bietet<br />
Abbildung 4.1.<br />
¯ Beschreibung<br />
¯ Terminologiebildung<br />
¯ Schulung und Ausbildung<br />
¯ Normierung und Standardisierung<br />
¯ Modellierung<br />
¯ Vergleich<br />
¯ Anforderungsdefinition<br />
¯ Auswahl und Konfiguration<br />
Abbildung 4.1: Anwendungsbereiche von <strong>Referenz</strong>modellen
116 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
4.3 Metamodelle<br />
Betrachtungsgegenstand dieser Arbeit sind die in Kapitel 3 vorgestellen <strong>visuelle</strong>n Sprachen zur<br />
Modellierung organisatorischer Zusammenhänge. Es wird ein Modell der Beschreibungsmittel<br />
dieser Methoden erstellt. Während bei der Organisationsmodellierung im Sinn der Modelldefinition<br />
nach [Apostel, 1960] die betrachtete Organisation die Rolle des modellierten Systems und<br />
die Darstellungen durch die Beschreibungsmittel die Rolle des Modells einnehmen, treten nun<br />
diese Darstellungen in die Rolle des modellierten Systems. Modellierungsziel ist folglich ein<br />
Modell von Modellen.<br />
Durch solche Modelle werden Eigenschaften und Anforderungen an die Modelle einer Realität<br />
beschrieben. Im bezug zur modellierten Realität, wird dieses Modell der Modellierung als Metamodell<br />
bezeichnet. Metamodellierung kann folglich als eine Modellbildung aufgefaßt werden,<br />
die eine Abstraktionsebene höher als die „normale“ Modellierung angesiedelt ist [Gigch, 1991].<br />
In ähnlicher Form können auch Metamodelle wieder Betrachtungsgegenstand einer Modellierung<br />
sein. Meta-Metamodelle beschreiben dann Abstraktionen von Metamodellen.<br />
Nach einer eher sprachbezogenen Auffassung des Metamodell-Begriffs (vgl. [Strahringer, 1996])<br />
werden durch Metamodelle die <strong>Modellierungssprachen</strong>, die zur Notation der Modelle verwendet<br />
werden, näher charakterisiert. Ähnlich beziehen auch [Frank, 1994, S. 171f] und [Frank, 1997b]<br />
Metamodelle auf die Beschreibung der zur Modellierung verwendeten Sprachen. [Blaha, 1992]<br />
und [Rumbaugh, 1995] verstehen Metamodelle generell als Modelle zur Beschreibung anderer<br />
Modelle. Im Speziellen beziehen sich Metamodelle <strong>für</strong> Modellierungsmethoden auch hier auf die<br />
zur Modellierung verwendeten Konzepte und die konkrete Notation des Modellierungsmittels.<br />
Ein umfassenderer Metamodellbegriff wird im Method-Engineering verwendet. Metamodellierung<br />
ist hier ein wesentliches Hilfsmittel sowohl bei der Entwicklung als auch bei der Bewertung<br />
von Beschreibungs- und Entwicklungsmethoden wie sie z. B. <strong>für</strong> den Entwurf von Informationssystemen<br />
oder <strong>für</strong> die Analyse von Organisationsstrukturen eingesetzt werden. Hierbei sind die<br />
Methoden, die hierbei verwendeten Techniken und die zur Unterstützung eingesetzten Werkzeuge<br />
zu entwerfen und anzupassen [Brinkkemper, 1996].<br />
Im Gegensatz zu der eher sprachbezogenen Verwendung des Metamodellbegriffs umfaßt der Metamodellbegriff<br />
hier auch Aspekte des Modellierungsvorgehens. In diesen Metamodellen werden<br />
die charakteristischen Eigenschaften der Methoden und Techniken durch die hierbei verwendeten<br />
Modellierungskonzepte, deren Repräsentation und ihre Verwendung [Tolvanen et al., 1996]<br />
beschrieben. Metamodelle legen hier sowohl das Vorgehen bei der Erstellung einer Modellierung<br />
als auch die Darstellung der Modellierungsergebnisse (vgl. [Brinkkemper et al., 1989], [Rosemann,<br />
1996]) fest.<br />
[Brinkkemper, 1990], [Brinkkemper, 1996] und [Tolvanen, 1998, S. 66ff] geben einen guten<br />
Überblick über die Metamodell-Terminologie aus Sicht des Method-Engineerings. Eine ausführliche<br />
Diskussion des Metamodell-Begriffs sowohl aus Sicht der <strong>Modellierungssprachen</strong> als auch<br />
aus Sicht des Modellierungsprozesses findet sich auch in [Strahringer, 1996, S. 9ff].<br />
Ein Metamodell ist die konzeptionelle Beschreibung einer Modellierung, die sowohl<br />
die verwendeten Modellierungskonzepte als auch ihre Verwendung verdeutlicht.
4.3 Metamodelle 117<br />
Nach dieser Begriffsbildung beschreiben Metamodelle zwei Modellierungsaspekte. Bei der<br />
Betrachtung der dynamischen Aspekte einer Modellierungsmethode steht das Vorgehen zur<br />
Erhebung und Dokumentation eines Modells im Vordergrund. Dieses wird in einem Meta-<br />
Aktivitätsmodell durch Beschreibungsmittel der Prozeßsicht dargestellt.<br />
Ein Meta-Aktivitätsmodell ist der Teil eines Metamodells, durch den das Modellierungsvorgehen<br />
beschrieben wird.<br />
Die Methodenbetrachtung aus statischer Sicht stellt die bei der Modellierung erstellten Dokumente<br />
in den Mittelpunkt. Die zur Modellierung verwendeten Sprachmittel werden hierbei unabhängig<br />
von der konkreten Notation durch ihr abstrakte Syntax beschrieben. Hierzu werden<br />
die zu modellierenden Konzepte und deren Beziehungen in einem Datenmodell oder Schema<br />
der Methode dargestellt. Folglich wird eine solche Modellierung auch <strong>Metaschema</strong> oder Meta-<br />
Datenmodell genannt. Als Beschreibungsmittel bieten sich hier die Mittel zur Konzeptmodellierung<br />
der Objektsicht an. Die sprachbasierte Auffassung des Metamodellbegriffs verkürzt Metamodelle<br />
auf diese statischen Aspekte.<br />
Ein <strong>Metaschema</strong> (Meta-Datenmodell) ist der Teil eines Metamodells, durch den<br />
die zur Modellierung verwendeten Sprachmittel, unabhängig von ihrer konkreten<br />
Notation, durch ihre abstrakte Syntax beschrieben werden.<br />
Die Verbindung zwischen Meta-Aktivitätenmodell und <strong>Metaschema</strong> wird durch Dokumente hergestellt.<br />
Diese beschreiben einerseits die Ergebnisse der Modellierungsaktivitäten des Meta-<br />
Aktivitätenmodells und werden andererseits durch die Objekte und Beziehungen des <strong>Metaschema</strong>s<br />
strukturell beschrieben [Brinkkemper et al., 1989].<br />
Metamodelle, denen die in Kapitel 4.2 skizzierten Eigenschaften von <strong>Referenz</strong>modellen zugesprochen<br />
werden, werden als <strong>Referenz</strong>-Metamodelle bezeichnet (vgl. z. B. auch [Österle / Gutzwiller,<br />
1992] und [Rosemann / zur Mühlen, 1995]). Solche <strong>Referenz</strong>-Metamodelle beschreiben<br />
die charakteristischen Konzepte sowie deren Repräsentation und Verwendung <strong>für</strong> Modellierungssysteme.<br />
4.3.1 Beispiele <strong>für</strong> Metamodelle<br />
Als Ausgangspunkt <strong>für</strong> Diskussionen und Beschreibungen von Modellierungsmethoden in unterschiedlichen<br />
Bereichen wurden Metamodelle entwickelt. So existieren Metamodelle als Grundlage<br />
<strong>für</strong> die Beschreibung von Informationssystemen und hierauf aufbauende Analysen. Entwurfsmethoden<br />
<strong>für</strong> die Entwicklung von Softwaresystemen und zur Organisationsmodellierung werden<br />
ebenfalls durch Metamodelle beschrieben und verglichen.<br />
Die folgenden Abschnitte geben einen Überblick über verschiedene Ansätze zur Metamodellierung<br />
in diesen Bereichen. Hieraus werden anschließend generelle Anwendungsbereiche <strong>für</strong><br />
Metamodelle abgeleitet.
118 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
Metamodelle <strong>für</strong> die Beschreibung von Informationssystemen<br />
Metamodelle <strong>für</strong> die Beschreibung von Informationssystemen setzen auf zwei Beschreibungsdimensionen<br />
auf. Neben Sichten auf organisatorische Zusammenhänge werden auch die Phasen<br />
des Software-Lebenszyklus (vgl. Abbildung 2.2) berücksichtigt. Beispiele solcher Metamodelle<br />
sind das IFIP WG 8.1-Metamodell, dasCC-RIM-<strong>Referenz</strong>modell, dieArchitektur integrierter<br />
Informationssysteme (ARIS) und das Metamodell der Multi-Perspektivischen Unternehmensmodellierung<br />
(MEMO), die sich neben ihren Modellierungszielen auch in der Definition der Phasen<br />
und Sichten zur Bestimmung des Koordinatensystems leicht unterscheiden.<br />
IFIP WG 8.1-Metamodell<br />
Das IFIP WG 8.1-Metamodell [Olle et al., 1991] basiert auf Überlegungen der Arbeitsgruppe<br />
„Design and Evaluation of Informationsystems“ der „International Federation for<br />
Information Processing“, die im Rahmen mehrerer Konferenzen zum Thema „Information<br />
Systems Design Methodologies“ (z. B. [Olle et al., 1987]) zwischen 1985 und 1987<br />
erarbeitet wurden. Informationssysteme werden im IFIP-Metamodell während der Analysephase<br />
und der Entwurfsphase betrachtet. Für diese Phasen werden Informationssysteme<br />
aus einer Daten-, einer Prozeß- und einer Verhaltenssicht konzeptionell untersucht.<br />
Für die Analysephase werden aus der Datensicht die Komponenten zur Modellierung<br />
von Objekten und ihrer Beziehungen innerhalb eines Informationssystems betrachtet.<br />
Die Prozeßsicht bezieht sich im wesentlichen auf die abstrakte Syntax zur Modellierung<br />
von Geschäftsprozessen, von Komm<strong>uni</strong>kationsbeziehungen zwischen den Prozessen<br />
und von organisatorischen Zuständigkeiten. Eine eigene Sicht zur Beschreibung Aufbauorganisatorischer<br />
Aspekte existiert in diesem Ansatz nicht. Konzepte zur Darstellung von<br />
Ereignissen und von Ereignisabfolgen sind die Betrachtungsschwerpunkte aus Verhaltenssicht.<br />
In der Entwurfsphase werden eher implementationstechnische Aspekte betont. Aus Datensicht<br />
werden hier Datenhaltungskonzepte betrachtet, die auch in bezug zu den Konzepten<br />
der Analysephase gesetzt werden. Zentrales Konzept aus Prozeßsicht sind die Mittel zur<br />
Unterstützung der Geschäftsprozesse aus der Analysephase. Die Verhaltenssicht der Entwurfsphase<br />
betrachtet Systemereignisse und ihre Auswirkungen auf Konzepte der Datenund<br />
Prozeßsicht.<br />
Daneben werden generelle Querbezüge zwischen den Sichten jeder Phase durch zusätzliche<br />
Integrationssichten beschrieben. Die Integration zwischen Analyse- und Entwurfsphase<br />
erfolgt bei der Beschreibung der Konzeptmodellierungen der Entwurfsphase<br />
durch Rückgriff auf Konzepte der Analysephase. Die einzelnen Konzeptmodelle werden<br />
jeweils durch eine Liste der modellierten Konzepte (Objekt-Typen), einem Objekt-<br />
Beziehungsdiagramm und einer glossarartigen Beschreibung der Objekttypen notiert. Jedes<br />
Konzeptmodell wird darüber hinaus noch durch ein umfangreiches Beispiel erklärt.<br />
Als Beschreibungsmittel werden hier neben Objekt-Beziehungsdiagrammen ausschließlich<br />
tabellenartige Notationen verwendet.<br />
Schwerpunkt der Betrachtung des IFIP-Modells sind in erster Linie die Konzepte zur Modellierung<br />
von Informationssystemen. Beziehungen zwischen diesen werden als Bestandteil<br />
der Konzepte betrachtet. Dynamische Modellierungsaspekte werden im IFIP-Modell,
4.3 Metamodelle 119<br />
außer durch die Gliederung nach den Phasen des Software-Lebenszyklus, nicht beschrieben.<br />
Das IFIP-Modell sollte daher eher als <strong>Metaschema</strong> aufgefaßt werden.<br />
Intendiertes Ziel bei der Entwicklung des IFIP-<strong>Metaschema</strong>s war es, einen Rahmen zu<br />
schaffen, der das Nachvollziehen und Verstehen unterschiedlicher Ansätze zur Modellierung<br />
und softwaretechnischen Unterstützung von Informationssystemen ermöglicht und<br />
die konzeptionellen Querbezüge zwischen den verwendeten Techniken aufdeckt. In [Olle<br />
et al., 1991, Kapitel 6] werden hierzu vier exemplarische Modellierungsmethoden entlang<br />
der Konzepte des <strong>Metaschema</strong>s charakterisiert. Diese Modellierungsmethoden werden<br />
durch Folgen von Modellierungsschritten eingeführt. Die Ergebnisse der einzelnen<br />
Schritte werden jeweils durch die betrachteten Konzepte des <strong>Metaschema</strong>s näher beschrieben.<br />
Zur Einordnung dieser exemplarischen Modellierungsmethoden werden ihre (sehr<br />
einfachen) Meta-Aktivitätsmodelle mit dem <strong>Metaschema</strong> in Beziehung gesetzt. Die im<br />
IFIP-<strong>Metaschema</strong> notierten Konzepte zur Beschreibung von Informationssystemen bilden<br />
somit ein <strong>Referenz</strong>-<strong>Metaschema</strong> zur Untersuchung von Modellierungsmethoden.<br />
CC-RIM-<strong>Referenz</strong>modell<br />
Im Rahmen des „Kompetenzzentrums Rechnergestütztes Informationsmanagement“ (CC-<br />
RIM) im Forschungsprogramm „Informationsmanagement 2000“ entstand zwischen 1989<br />
und 1992 unter Federführung des Instituts <strong>für</strong> Wirtschaftsinformatik der Hochschule St.<br />
Gallen das CC-RIM-<strong>Referenz</strong>modell <strong>für</strong> den Entwurf von betrieblichen, transaktionsorientierten<br />
Informationssystemen [Österle/Gutzwiller, 1992], [Gutzwiller, 1994]. Während im<br />
IFIP-Metamodell die statischen Aspekte der Modellierung von Informationssystemen im<br />
Vordergrund standen, werden im CC-RIM-<strong>Referenz</strong>modell auch die dynamischen Aspekte<br />
von Modellierungsmethoden betrachtet. Als Bezugsrahmen dienen auch hier die Phasen<br />
des Software-Lebenszyklus und die Betrachtungssichten auf Informationssysteme. Entlang<br />
der Phasen werden Modelle <strong>für</strong> die Voruntersuchung, <strong>für</strong> den Entwurf eines Soll-<br />
Modells (Analysephase) und <strong>für</strong> die Erstellung der logischen Systemspezifikation (Entwurfsphase)<br />
erstellt. Diese Modelle bestehen aus Metadatenmodellen, die die abstrakte<br />
Syntax der Entwurfsdaten beschreiben, aus Dokumentationsmodellen, die die während des<br />
Entwurfsprozesses erzeugten Dokumente konzeptionell darstellen und aus Vorgehensmodellen,<br />
die die einzelnen Entwurfstätigkeiten im Ablauf modellieren.<br />
In den Metadatenmodellen werden <strong>für</strong> die drei betrachteten Entwurfsphasen unterschiedliche<br />
Sichtenbildungen vorgenommen. Je nach Phase werden mehrere Sichten auf Prozesse,<br />
auf Daten und auf Organisationsstrukturen gebildet. Daneben existieren zusätzliche Sichten<br />
zur Integration dieser Teilsichten. Für die Phase der Voruntersuchung wird ein grobes<br />
Konzeptmodell zur Beschreibung der Geschäftsfunktionen und ihrer Komm<strong>uni</strong>kationsund<br />
Datenflußbeziehungen aus Prozeßsicht und ein sehr grobes Konzeptmodell zur Beschreibung<br />
der zentralen Objekttypen aus Datensicht definiert. Diese Konzeptmodelle werden<br />
<strong>für</strong> die Phase der Sollmodellierung verfeinert und um Konzeptmodelle <strong>für</strong> eine eher<br />
kontrollflußorientierte Prozeßsicht und <strong>für</strong> eine Organisationssicht ergänzt. Wie auch im<br />
IFIP-Modell werden <strong>für</strong> die logische Systemspezifikation bzw. Entwurfsphase eher implementationsnähere<br />
Modellierungskonzepte untersucht. In den Prozeßsichten stehen Konzepte<br />
zur Modellierung von Systemapplikationen und des Dialogablaufs im Vordergrund.<br />
Aus Datensicht werden Datenbankkonzeptionen betrachtet. Neben einer Sicht zur Bildschirmgestaltung<br />
werden organisatorische Aspekte zur Stellenbildung, zur Verteilung der
120 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
Systemkomponenten und zur Sicherheit in weiteren Sichten konzeptionell abgebildet. Die<br />
Metadatenmodelle werden durch eine Liste der modellierten Konzepte, einem Objekt-<br />
Beziehungsdiagramm und einer glossarartigen Beschreibung der Konzepte notiert.<br />
Objektstrukturen einzelner Dokumentarten, die Ergebnisse der Modellierung von Informationssystemen<br />
beschreiben, werden in Dokumentationsmodellen zusammengefaßt. Dieses<br />
erfolgt <strong>für</strong> jede Dokumentenart und Modellierungsphase durch Sichtenbildung auf<br />
die Metadatenmodelle. Für die Voruntersuchung werden z. B. Sichten <strong>für</strong> Kontextdiagramme,<br />
Datenflußdiagramme, grobe Objekt-Beziehungsdiagramme und Sichten <strong>für</strong> diverse<br />
Listen von Geschäftsfunktionen, Objekttypen und Datenbanken definiert. Sichten<br />
u. a. <strong>für</strong> Objekt-Beziehungsdiagramme, hierarchische Funktionsgliederungspläne, Datenflußdiagramme,<br />
Organigramme, textuelle Integritätsbedingungen, Zustandsübergangsdiagramme<br />
und <strong>für</strong> textuelle Beschreibungen von Geschäftsfunktionen, Objekttypen und Datenspeichern<br />
beschreiben mögliche Darstellungstechniken der Analysephase. Dokumentarten<br />
wie z. B. Datenbankstrukturdiagramme, Listen der Datenbanktabellen, Tabellenbeschreibungen,<br />
textuelle Integritätsbedingungen und Aufgaben-Stellen-Zuordnungen werden<br />
durch entsprechende Sichten <strong>für</strong> die Entwurfsphase aus dem Metadatenmodell abgeleitet.<br />
Den dritten Teil der CC-RIM-<strong>Referenz</strong>modelle bilden Vorgehensmodelle. Jede Phase wird<br />
hierzu in mehrere Unteraktivitäten hierarchisch gegliedert. Als Beschreibungsmittel dienen<br />
Ablaufdarstellungen, die neben den üblichen regulären Kontrollstrukturen (<strong>Se</strong>quenz,<br />
Verzweigung und Iteration) auch Parallelbearbeitungen verwenden. Zu jeder Aktivität werden<br />
neben einer textuellen Erklärung auch die benötigten Eingabe- und die erzeugten bzw.<br />
überarbeiteten Ergebnisdokumente angegeben. Diese Dokumenttypen sind in den Dokumentationsmodellen<br />
näher beschrieben und bilden somit die Verbindung zwischen dem<br />
Metadatenmodell und dem Vorgehensmodell.<br />
Durch das CC-RIM-<strong>Referenz</strong>modell wird eine konzeptionelle Grundlage zur Modellierung<br />
von Informationssystemen geschaffen. Modelle <strong>für</strong> Informationssysteme können <strong>für</strong><br />
verschiedene Erstellungsphasen als Instanzen dieses Modells dargestellt werden. Ebenfalls<br />
wird das Vorgehen zur Erstellung dieser Modellinstanzen beschrieben. Die Metadatenmodelle<br />
und die Vorgehensmodelle des CC-RIM-<strong>Referenz</strong>modells sind daher im Sinn der<br />
Begriffsbildung von <strong>Se</strong>ite 116 als <strong>Metaschema</strong>ta und Meta-Aktivitätsmodelle aufzufassen.<br />
Das CC-RIM-<strong>Referenz</strong>modell ist folglich nicht als <strong>Referenz</strong>modell sondern als Metamodell<br />
<strong>für</strong> die Modellierung von Informationssystemen zu betrachten.<br />
Ausgehend von Beobachtungen, daß vorhandene Methoden und Werkzeuge <strong>für</strong> den Entwurf<br />
von Informationssystemen in der Praxis nicht <strong>für</strong> alle Problemzusammenhänge<br />
ausreichende Unterstützung anbieten, und daß auch vergleichende Beurteilungen und<br />
Einschätzungen vorhandener Methoden aufgrund der unterschiedlichen Terminologien<br />
und dem unterschiedlichen Aufbau nur sehr schwer möglich sind, wurde das CC-RIM-<br />
<strong>Referenz</strong>modell im Verbund mehrerer Schweizer Unternehmen mit der Hochschule St.<br />
Gallen erstellt. Zielsetzung der Erstellung des CC-RIM-<strong>Referenz</strong>modells war es, eine einheitliche,<br />
vollständige und widerspruchsfreie Beschreibung vorhandener Modellierungsmethoden<br />
zu schaffen. Hierdurch sollte eine Vereinheitlichung der Terminologie der Modellierungmethoden<br />
ermöglicht werden, auf deren Basis auch methoden- und werkzeugunabhängige<br />
Schulungen <strong>für</strong> Entwickler von Informationssystemen konzipiert werden kön-
4.3 Metamodelle 121<br />
nen. Das Modell sollte auch als Ausgangspunkt eines systematischen Methodenvergleichs<br />
dienen. Auf Basis von Metadatenmodellen zu diesem Modell wurden in [Färberböck et<br />
al., 1991] fünf Methoden zur Modellierung von Informationssystemen (Structured Analysis<br />
(SA) nach [DeMarco, 1978] und [Gane / Sarson, 1979], Integrierte Software Technologie<br />
(ISOTEC), Information Engineering Method (IEM/EY) nach [Ernst and Young, 1990],<br />
Information Engineering Method (IEM/JMA) nach [James Martin Associates, 1987] und<br />
[James Martin Associates, 1989] und Structured Systems Analysis and Design Method<br />
(SSADM) nach [Longworth/Nicholls, 1986]) miteinander verglichen. Hierzu wurden <strong>Metaschema</strong>ta<br />
dieser Methoden aus dem CC-RIM-Metadatenmodell abgeleitet. Hiermit wurde<br />
auch die <strong>Referenz</strong>eigenschaft des CC-RIM-Metamodells nachgewiesen, so daß es in<br />
diesem Kontext als <strong>Referenz</strong>-Metamodell eingestuft werden kann.<br />
Mit dem <strong>für</strong> das CC-RIM-<strong>Referenz</strong>modell entwickelten Beschreibungsansatz wurden daneben<br />
weitere Metamodelle erstellt. So liegt beispielsweise in [Hess et al., 1995] ein <strong>Metaschema</strong><br />
<strong>für</strong> den Prozeßentwurf und in [Derungs et al., 1996] ein Workflow <strong>Metaschema</strong><br />
vor.<br />
Architektur integrierter Informationssysteme<br />
Die in [Scheer, 1992] und [Scheer, 1994, Teil A] eingeführte Architektur <strong>für</strong> integrierte<br />
Informationssysteme (ARIS) umfaßt ein umfangreiches Informationsmodell, durch<br />
das Techniken zur Entwicklung von Informationssystemen durch ihre abstrakte Syntax<br />
beschrieben werden. Analog zu den Ansätzen im IFIP-Metamodell und im CC-RIM-<br />
<strong>Referenz</strong>modell werden auch nach dem ARIS-Ansatz Informationssysteme aus der Datensicht,<br />
derFunktionssicht (oder Prozeßsicht) und aus der Organisationssicht beschrieben.<br />
In Anlehnung an die Phasen des Softwarelebenszyklus der Erstellung von Informationssystemen,<br />
die hier durch ihre Ergebnisdokumente benannt werden, werden <strong>für</strong> jede Sicht<br />
Modelle auf Fachkonzeptebene, auf DV-Konzeptebene und auf Implementierungsebene<br />
erstellt. Das Fachkonzept entspricht hierbei im wesentlichen dem Ergebnis der Analysephase.<br />
Die Designphase ist bei [Scheer, 1992] in die Erstellung eines DV-Konzepts und in<br />
die Erstellung der technischen Implementierung unterteilt. Ergänzt wird auch hier eine Integrationssicht<br />
(Steuerungssicht), durch die Daten-, Funktions- und Organisationssichten<br />
der einzelnen Ebenen zu einem Gesamtmodell zusammengefaßt werden.<br />
Die hieraus resultierende ARIS-Architektur legt einerseits die Sichten und Ebenen zur Beschreibung<br />
von Informationssystemen fest, bildet andererseits den konzeptionellen Rahmen<br />
zur Beschreibung des Informationsmodells, das dem ARIS-Ansatz zu Grunde liegt.<br />
Für jeden Baustein der Architektur werden die dort betrachteten Konzepte und Beziehungen<br />
einheitlich durch Objekt-Beziehungsdiagramme modelliert. In [Scheer, 1994, S. 17ff]<br />
werden die zur Darstellung dieser Zusammenhänge verwendeten Beschreibungstechniken<br />
ausführlicher beschrieben.<br />
Auf Fachkonzeptebene beschreibt das ARIS-Informationsmodell aus Funktionssicht Unternehmensziele<br />
und Funktionen sowie deren Gliederungs- und Ablaufbeziehungen. Zur<br />
Beschreibung von Informationssystemen aus der Funktionssicht der Fachkonzeptebene<br />
werden u. a. Aufgabengliederungspläne (Funktionsbäume) und Ablauffolgediagramme<br />
eingesetzt. Die Organisationssicht der Fachkonzeptebene bezieht sich auf Organisationseinheiten<br />
(Stellen, Abteilungen) und deren Beziehungen. Als Beschreibungstechnik
122 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
<strong>für</strong> die Dokumentation eines Informationssystems werden hier Organigramme und Stellenbeschreibungen<br />
vorgeschlagen. Das Informationsmodell der Datensicht des Fachkonzepts<br />
beschreibt die Konzepte zur Darstellung der Objekte und deren Beziehungen in einem<br />
Informationssystem. Zur Modellierung solcher Strukturen wird auch hier ein Dialekt<br />
der Objekt-Beziehungsdiagramme verwendet. Das Konzeptmodell der Steuerungssicht des<br />
Fachkonzepts faßt die zunächst isoliert beschriebenen Teilmodelle der drei Teilsichten zusammen.<br />
Hierzu werden zwischen den wesentlichen Konzepten der Funktionssicht, der Organisationssicht<br />
und der Datensicht zusätzliche Beziehungen modelliert. Zur Darstellung<br />
der sichtenübergreifenden Zusammenhänge eines Informationssystems auf Fachkonzeptebene<br />
können u.a. Zuordnungsdiagramme zur Darstellung der Zusammenhänge zwischen<br />
organisatorischen Strukturen und Funktionen bzw. Daten, Funktionszuordnungsmatrizen,<br />
Datenflußdiagramme und Vorgangskettendiagramme genutzt werden.<br />
Vor der Umsetzung des Fachkonzepts in die Implementierung sieht der ARIS-Ansatz die<br />
Ebene des DV-Konzepts vor, die das Fachkonzept des Informationssystems um implementationstechnische<br />
Aspekte, unabhängig von der konkreten Realisierung, ergänzt. Auf der<br />
Ebene des DV-Konzepts stehen aus Funktionssicht die Konzepte zur Beschreibung von<br />
Softwaremodulen, von Kontrollstrukturen und von Bildschirmmasken und Ausgabeformaten<br />
im Vordergrund. Zur Beschreibung dieser Aspekte eines Informationssystems sieht der<br />
ARIS-Ansatz ausschließlich semi-formale Beschreibungsmittel wie z. B. Strukturdiagramme,<br />
Nassi-Shneiderman-Diagramme, Entscheidungstabellen und Pseudo-Code vor; formale<br />
Spezifikationsmittel werden nicht berücksichtigt. Konzepte des Rechnernetzes, das die<br />
technische Plattform des Informationssystem bildet, sind der Betrachtungsschwerpunkt<br />
aus der Organisationssicht des DV-Konzepts. Hierbei werden sowohl einzelne Komponenten<br />
im Netz wie auch dessen Topologie berücksichtigt. Zur Darstellung der Netztopologie<br />
werden hierzu graphbasierte Darstellungen verwendet. Die Datensicht des DV-Konzepts<br />
bezieht sich auf die Umsetzung des Fachkonzepts in Datenbank-Managementsystemen.<br />
Im Konzeptmodell finden sich daher die Konzepte der Datendefintionssprachen. In der<br />
Steuerungsicht werden auch <strong>für</strong> das DV-Konzept die Modelle der Einzelsichten integriert.<br />
Das Informationsmodell der Steuerungssicht umfaßt daher u.a. Konzepte zur Beschreibung<br />
der Zugriffsrechte von Organisationseinheiten auf Programm-Module, zur Definition von<br />
Sichten auf das Datenmodell und zur Definition von Zugriffsmöglichkeiten sowohl von<br />
Modulen wie von Organisationseinheiten auf diese Sichten.<br />
Das Implementationsmodell eines Informationssystems beschreibt dessen softwaretechnische<br />
Realisierung. In der Funktionssicht des Informationsmodells werden hierzu Konzepte<br />
zur Darstellung ausführbarer Programme und deren Zusammenfassung zu Programmbibliotheken<br />
modelliert. In der ARIS-Architektur umfaßt diese Sicht auch Konzepte <strong>für</strong><br />
Software-Erstellungswerkzeuge wie Compiler und Programmgeneratoren. Die Organisationssicht<br />
des Implementationsmodells stellt Konzepte zur Modellierung der Zuordnung<br />
zwischen einzelnen Hard- und Software-Komponenten bereit. Als Darstellungsmittel dieser<br />
Zusammenhänge wird auch hier eine graphbasierte Darstellung verwendet. Aus Datensicht<br />
des Implementationsmodells wird die konkrete Realisierung der Datenstrukturen beschrieben.<br />
Im Informationsmodell werden hierzu Konzepte zur Modellierung von Datensätzen,<br />
Speichermedien und Zugriffspfade auf Daten bereitgestellt. In der Steuerungssicht<br />
werden auch <strong>für</strong> das Implementationsmodell die drei anderen Sichten integriert. Dieses<br />
erfolgt durch das Konzept der Reservierung, das Dateien, Programme und die Hardware-
4.3 Metamodelle 123<br />
Komponenten, auf denen die Dateien gespeichert, bzw. auf denen die Programme ausgeführt<br />
werden, zusammenfaßt.<br />
Die Integration der Konzeptmodelle zum Fachkonzept, zum DV-Konzept und zur Implementierung<br />
erfolgt jeweils durch Rückbezug auf Konzepte, die bereits bei der Modellierung<br />
des jeweils abstrakteren Informationsmodells eingeführt wurden Das resultierende<br />
Informationsmodell wird in [Scheer, 1992, Abb. B.V.] in einem Diagramm abgebildet.<br />
Die Erstellung der Modelle <strong>für</strong> Informationssysteme wird <strong>für</strong> die Fachkonzeptebene aus<br />
Funktionssicht, aus Organisationssicht, aus Datensicht und aus Steuerungssicht kurz diskutiert.<br />
Für den Ablauf der Modellerstellung <strong>für</strong> die Funktions- und Datensicht wird dieses<br />
durch einfache Aufgabengliederungen und Prozeßketten skizziert. Das Vorgehen zur Modellerstellung<br />
<strong>für</strong> das DV-Konzept und die Implementierung wird nicht näher betrachtet.<br />
Das resultierende Informationsmodell der ARIS-Architektur beschreibt Konzepte und ihre<br />
Beziehungen, die der Modellierung von Informationssystemen zu Grunde gelegt werden<br />
können. Dieses Informationsmodell kann somit als <strong>Metaschema</strong> zur Beschreibung von<br />
Informationssystemen nach der ARIS-Methode aufgefaßt werden. Mit Ausnahme der rudimentären<br />
Vorgehensbeschreibung zur Modellierung des Fachkonzepts enthält die ARIS-<br />
Architektur kein Meta-Aktivitätsmodell.<br />
Eingesetzt wird dieses <strong>Metaschema</strong> als theoretische Grundlage der auf ARIS basierenden<br />
Methode zur Modellierung von Informationssystemen. Daneben dient es auch als konzeptionelles<br />
Datenbankschema. Das ARIS-Informationsmodell beschreibt die Datenbankkonzeption<br />
des ARIS-Toolsets [IDS, 1995] zur Erstellung, Verwaltung und Analyse von<br />
Modellen <strong>für</strong> Informationssysteme nach der ARIS-Methode.<br />
Multi-Perspektivische Unternehmensmodellierung<br />
Ein Ansatz zur objektorientierten Unternehmesmodellierung wird mit MEMO (Multi Perspective<br />
Enterprise Modeling) in [Frank, 1994] vorgestellt und u.a. in [Frank, 1997a]) weiterentwickelt.<br />
In MEMO werden Unternehmen aus drei Sichten oder Perspektiven betrachtet.<br />
Während die Sichten bei den zuvor vorgestellten Ansätzen eher durch die Unterscheidung<br />
von statischen und dynamischen Aspekten der Unternehmen geprägt waren, sind die<br />
hier verwendeten Perspektiven entlang der Rollen der Beteiligten bestimmt. [Frank, 1994]<br />
unterscheidet hierbei die strategische Perspektive, die organisatorische Perspektive und die<br />
Informationssystem-Perspektive. Für jede dieser Perspektiven werden aber auch dynamische<br />
Aspekte (Prozeß) und statische Aspekte (Struktur) sowie die benötigten Resourcen<br />
und die jeweils verfolgten Ziele näher charakterisiert.<br />
Aus der Sicht hochrangiger Führungskräfte werden in der strategischen Perspektive Unternehmensziele<br />
und -strategien modelliert. Unternehmen werden aus dieser Sicht, die in den<br />
bisher skizzierten Methoden keine Entsprechung hatte, in Anlehnung an den Wertketten-<br />
Ansatz nach [Porter, 1985] modelliert. Zur Beschreibung werden Primäraktivitäten einschließlich<br />
der sie unterstützenden Aktivitäten in einfachen Folgedarstellungen notiert<br />
(vgl. [Frank, 1997a, Fig. 2]). Die organisatorische Perspektive beschreibt die Sicht der <strong>für</strong><br />
das operative Geschäft Verantwortlichen. Hier stehen insbesondere die aufbau- und ablauforganisatorischen<br />
Regelungen des Zusammenarbeitens im Unternehmen im Vordergrund.<br />
Zur Darstellung der dynamischen Aspekte wird die Sprache MEMO Process Modeling
124 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
Language (M-PML) [Frank, 1997a] verwendet, bei der Geschäftsprozesse durch ihre Aktivitäten<br />
und die hiervon generierten bzw. benötigten Dokumente in bipartiten Graphen<br />
beschrieben werden. Zur Darstellung der Aufbauorganisation werden auch hier Organigramme<br />
verwendet, die neben Leitungsbeziehungen auch Komm<strong>uni</strong>kationsbeziehungen<br />
enthalten. Die Sicht der Entwickler und Betreiber von Informationssystemen wird in der<br />
Informationssystem-Perspektive behandelt. Dynamische Aspekte der Informationssystem-<br />
Perspekive werden durch eine Erweiterung von M-PML beschrieben, wobei die hier<br />
dargestellten Workflows als Verfeinerung der in der organisatorischen Perspektive beschriebenen<br />
Geschäftsprozesse aufgefaßt werden. Zu Beschreibung der Objektstrukturen<br />
wird die MEMO Object Modeling Language (M-OML) [Frank, 1998] des Objekt-<br />
Beziehungsparadigmas verwendet. Die enthält hierzu getrennte Darstellungsformen zur<br />
Beschreibung von Generalisierungen und zur Beschreibung von Beziehungsklassen zwischen<br />
Objektklassen.<br />
Jede der drei Perspektiven ist durch ein in M-OML notiertes Metamodell konzeptionell<br />
beschrieben. Zur Integration der Teilmodelle (vgl. die Skizze in [Frank, 1997a, S. 12f])<br />
werden zwischen den Objektklassen der Metamodelle der einzelnen Perspektiven zusätzliche<br />
Beziehungstypen definiert, eine Zusammenfassung gleicher bzw. ähnlicher Konzepte<br />
erfolgt jedoch nicht.<br />
Zur Unterstützung der Unternehmensmodellierung mit MEMO existiert ein Werkzeug<br />
(MEMO-Center), bei dem die einzelnen Teilmodelle in aus dem MEMO-Metamodell abgeleiteten<br />
Masken textuell erfaßt werden. Darüber hinaus erlaubt MEMO-Center eine graphische<br />
Darstellung der Teilmodelle.<br />
Schwerpunkt der Arbeiten an MEMO war die Erstellung eines Metamodells zur durchgängig<br />
objektorientierten und perspektivenübergreifenden Unternehmensmodellierung. Hierzu<br />
wurden in [Frank, 1994] umfassend motivierte Meta-Objektmodelle <strong>für</strong> die einzelnen<br />
Perspektiven definiert und zu einem integrierten Meta-Objektmodell zusammengefaßt.<br />
Dieses beschreibt die durch MEMO-Modelle abbildbaren Objekte einschließlich deren Beziehungen<br />
und stellt damit im Sinn der Begriffsfindung von <strong>Se</strong>ite 116 ein Metadatenmodell<br />
dar. Das Vorgehen zur Erstellung einer MEMO-Modellierung wird in [Frank, 1994,<br />
S. 338ff] und in [Frank, 1997a, S. 14f] kurz durch Angabe der auch wiederholt ausführbaren,<br />
wesentlichen Modellierungsschritte skizziert.<br />
Überblicksdarstellungen zu weiteren Ansätzen zur Metamodellierung von Informationssystemen<br />
finden sich auch in [Scheer, 1994, S. 29ff], [Gutzwiller, 1994, S. 15ff] und [Frank, 1994,<br />
S. 139ff].<br />
Metamodelle <strong>für</strong> Entwurfsmethoden<br />
Metamodelle dienen auch als Grundlage zur Beschreibung und Einordnung von Methoden und<br />
Techniken zum Softwareentwurf. In den folgenden Abschnitten zu SOCRATES-Metamodellen,<br />
zu CDIF-Metamodellen, zu EER/GRAL-Metamodellen, zu KOGGE-Metamodellen und zum<br />
UML-Metamodell werden verschiedene Ansätze zur Metamodellierung von Entwurfsmethoden<br />
und deren Anwendung skizziert.
4.3 Metamodelle 125<br />
SOCRATES-Metamodelle<br />
Zielsetzung des SOCRATES-Projektes [Verhoef et al., 1991] war die Erstellung einer Architektur<br />
<strong>für</strong> CASE-Werkzeuge, die sowohl den Modellierungsprozeß (way of working)<br />
als auch die modellierten Dokumente (way of modelling) berücksichtigt. Hierzu wird in<br />
[Wijers et al., 1992] eine Modellierungstechnik entwickelt und formal beschrieben. Zur<br />
Beschreibung des „way of modelling“ werden die statischen Aspekte der Modellierungstechniken<br />
durch Objekt-Beziehungsdiagramme im NIAM-Dialekt [Verheijen / van Bekkum,<br />
1982], ergänzt um zusätzliche Integritätsbedingungen in Prädikatenlogik, notiert. Der<br />
„way of working“ wird durch Ablaufdarstellungen der einzelnen Aktivitäten beschrieben.<br />
Diese Ablaufdarstellungen werden in [Wijers et al., 1992] formal eingeführt und u.a. auch<br />
durch ein NIAM-<strong>Metaschema</strong> charakterisiert. Methoden werden nach der SOCRATES-<br />
Modellierungstechnik somit sowohl durch ein <strong>Metaschema</strong>ta als auch durch ein Meta-<br />
Aktivitätsmodell beschrieben. Daher können diese Modelle auch als Metamodelle betrachtet<br />
werden.<br />
Entlang des SOCRATES-Ansatzes zur Metamodellierung werden in verschiedenen Arbeiten<br />
Modellierungsmethoden beschrieben und verglichen. Die SOCRATES-Metamodellierungsmethode<br />
wird in [Wijers et al., 1992] am Beispiel eines Metamodells <strong>für</strong> Jackson<br />
Structured Development (JSD) [Jackson, 1983] erläutert. Ein Metamodell der modernen<br />
strukturierten Analyse nach [Yourdon, 1989] wird in [Verhoef et al., 1991] diskutiert.<br />
SOCRATES-Metamodelle zu den drei Planungsansätzen <strong>für</strong> Informationssysteme Information<br />
Systems Planning (ISP) [Arthur Young International, 1988], Information Planning<br />
[Raet BV, 1988] und Strategic Data Planning [Martin, 1982] werden in [Brinkkemper et al.,<br />
1989] kurz skizziert. Diese Modelle wurden ausgehend von den Methodenbeschreibungen<br />
erstellt und miteinander verglichen. Die Ähnlichkeiten und Differenzen dieser Methodenbeschreibungen<br />
dienten als Ausgangspunkt zur Ableitung einer allgemeinen, verbesserten<br />
Methode, die als Vergleichsmaßstab <strong>für</strong> die drei Ausgangsmethoden genutzt wurde.<br />
Ein ähnliches Vorgehen wird auch bei einem Vergleich von sechs objektorientierten<br />
Analyse- und Design Methoden [Goor et al., 1992] verfolgt. Ziel dieser Studie ist es, die<br />
Methoden Object-Oriented Analysis and Design (OOA/OOD) [Coad / Yourdon, 1991],<br />
Designing Object-Oriented Software (DOOS) [Wirfs-Brock et al., 1990], Object Modeling<br />
Technique (OMT) [Rumbaugh et al., 1991], Object-Oriented Design (OOD) [Booch,<br />
1994], Object-Oriented Systems Analysis (OOSA) [Shlaer / Mellor, 1988] und Object-<br />
Oriented Systems Analysis and Design (OOAD) [Martin / Odell, 1992] nach einem festen<br />
Raster formal zu beschreiben.<br />
Hierzu werden zunächst alle sechs Methoden u.a. durch die Hauptaktivitäten, eine glossarartige<br />
Beschreibung der Modellierungskonzepte und ihrer graphischen Notation charakterisiert.<br />
Die Modellierungsaktivitäten der Methoden werden durch sequentiell zu durchlaufende<br />
Modellierungsschritte beschrieben. Ergänzt werden die einzelnen Modellierungsschritte<br />
um die hierbei benötigten bzw. erzeugten Dokumente. Zur Beschreibung der<br />
abstrakten Syntax der Methoden werden auch hier Objekt-Beziehungsdiagramme nach<br />
NIAM, ergänzt um wenige, hier textuell notierte Einschränkungen, verwendet. Entlang<br />
dieser Metamodelle wurden die sechs Methoden entlang eines durchgehenden Beispiels<br />
und einer „Supermethode“ die durch eine hierarchisch gegliederte Aktivtätenliste und eine<br />
Liste der verwendeten Konzepte beschrieben wurde, miteinander verglichen. Diese “Su-
126 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
permethode“ wurde analog zu [Brinkkemper et al., 1989] aus den Metamodellen der Einzelmethoden<br />
abgeleitet, indem die allen Methoden gemeinsamen Aktivitäten und Konzepte<br />
zunächst übernommen und anschließend „optimiert“ wurden.<br />
In [Brinkkemper et al., 1990] wird darüber hinaus gezeigt, wie mit Hilfe von SOCRATES-<br />
Modellen Modellierungsmethoden mit der Modellierungsunterstützung durch Werkzeuge<br />
abgeglichen werden können. Für die Methode System Development Methodology (SDM)<br />
[Turner et al., 1987] und die Information Engineering Workbench (IEW) [KnowledgeWare,<br />
1987] wurden hierzu Metamodelle erstellt und miteinander verglichen.<br />
Für den Methodenvergleich in [Brinkkemper et al., 1989] und [Goor et al., 1992] dienen<br />
die „Supermethoden“ als <strong>Referenz</strong>-Metamodelle. Im Gegensatz zum Vergleich der Methoden<br />
zur Modellierung betrieblicher Informationssysteme aus [Färberböck et al., 1991],<br />
bei dem die <strong>Metaschema</strong>ta der untersuchten Methoden entlang des CC-RIM-<strong>Referenz</strong>-<br />
<strong>Metaschema</strong>s abgeleitet werden, werden in [Brinkkemper et al., 1989] und [Goor et al.,<br />
1992] die <strong>Referenz</strong>-Metamodelle aus den Modellen der untersuchten Methoden entwickelt.<br />
Bezogen auf die Erstellung der Metamodelle der „Supermethoden“ können in diesem Fall<br />
die Metamodelle der untersuchten Methoden als <strong>Referenz</strong>-Metamodelle aufgefaßt werden.<br />
CDIF-Metamodelle<br />
Das CASE Data Interchange Format (CDIF) [Ernst, 1997] [Flatscher, 1998] wurde 1987<br />
und 1994 durch eine Standardisierungsgruppe der „Electronic Industries Alliance (EIA)“<br />
entwickelt und durch die ISO als internationaler Standard [ISO/IEC DIS 15474, 1998],<br />
[ISO/IEC DIS 15475, 1998], [ISO/IEC DIS 15476, 1998] verabschiedet. Ausgangspunkt<br />
der Überlegungen zu CDIF war die Feststellung, daß CASE-Werkzeuge zwar ähnliche Modellierungsmethoden<br />
unterstützen, die erstellten Modelle jedoch nicht austauschbar waren.<br />
Mit CDIF sollte ein von Herstellern unabhängiges Austauschformat <strong>für</strong> Modelldaten zwischen<br />
CASE-Werkzeugen geschaffen werden.<br />
Hierzu wurde in [EIA/IS-107, 1994] 3 ein auf den Konzepten der Objekt-Beziehungsmodellierung<br />
basierendendes Meta-Metamodell zur Definitition von Metamodellen zur Beschreibung<br />
der auszutauschenden Daten definiert. Dieses wurde um eine Notation zum<br />
konkreten Austausch der Modelldaten ergänzt [EIA/IS-108, 1994], [EIA/IS-109, 1994],<br />
[EIA/IS-110, 1994].<br />
Zur Erstellung der Metamodelle <strong>für</strong> CASE-Tool-Modelle wurden zwei grundlegenden<br />
Metamodelle vereinbart [EIA/IS-111, 1994], [EIA/IS-112, 1995], die in [EIA/IS-113,<br />
1994] zur Beschreibung von Datenmodellen und in [EIA/IS-115, 1995] zur Beschreibung<br />
von Datenflußmodellen konkretisiert wurden. Weitere Metamodelle u. a. zur Beschreibung<br />
von Geschäftsprozeßmodellen, Modellen der objektorientierten Analyse oder von<br />
Zustandsübergangs-Modellen wurden erstellt [Flatscher, 1996].<br />
Die Beschreibung der Metamodelle erfolgt durch einfache Objekt-Beziehungsdiagramme,<br />
die um umfangreiche Listen zur Darstellung der Generalisierungshierarchien und der Attributstrukturen<br />
der Objekt und Beziehungsklassen ergänzt werden. Die CDIF-Metamodelle<br />
3 Einen groben Überblick über die Famile der CDIF-Standards einschließlich Auszüge der einzelnen Standards<br />
finden sich auf http://www.eigroup.org/cdif/online.html (20.08.1999).
4.3 Metamodelle 127<br />
beschreiben somit CASE-Modelle entlang ihrer Konzepte und Beziehungen. Vorgehensaspekte<br />
der einzelnen Modellierungsansätze werden nicht betrachtet. Die CDIF-<br />
<strong>Metaschema</strong>ta wurden mit dem Ziel entwickelt die jeweils betrachteten Modellierungsparadigmen<br />
möglichst vollständig abzubilden. Zur Anwendung dieser Modelle in konkreten<br />
CASE-Werkzeugen sieht CDIF Erweiterungsmöglichkeiten auf Basis des CDIF-Meta-<br />
Metamodells vor. Mit diesen Erweiterungsmöglichkeiten sind die CDIF-Modelle daher als<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>ta einzustufen.<br />
Der in erster Linie durch ein Industrie-Konsortium entwickelte CDIF Standard zum Austausch<br />
von Modelldaten wird in einigen kommerziellen CASE-Werkzeugen eingesetzt. Bereits<br />
1992 unterstützte der ORACLE-Designer/2000 den Austausch von Datenlexika mit<br />
Fremdwerkzeugen. Pardigm Plus unterstützt ebenfalls den Austausch von Modelldaten auf<br />
CDIF-Basis (vgl. auch [Flatscher, 1998, S. 15ff]).<br />
EER/GRAL-Metamodelle<br />
Der dieser Arbeit zu Grunde gelegte EER/GRAL-Ansatz [Ebert et al., 1996b] bildet<br />
u. a. auch die Basis zur Metamodellierung von Analyse- und Entwurfsmethoden. Mit<br />
EER/GRAL-Modellen wird die abstrakte Syntax der Modellierungsmittel durch erweiterte<br />
Objekt-Beziehungsdiagramme dargestellt. Zusätzliche Integritätsbedingungen werden in<br />
der auf der Spezifikationssprache Z [Spivey, 1992] basierenden Sprache GRAL [Franzke,<br />
1997] formuliert (vgl. zum EER/GRAL-Ansatz auch Kapitel 5.2). Da mit EER/GRAL-<br />
Modellen Modellierungsmethoden nur durch ihre statischen Aspekte beschrieben werden,<br />
werden diese Modelle als <strong>Metaschema</strong>ta eingeordnet.<br />
Ausgangspunkt <strong>für</strong> die Erstellung der EER/GRAL-Modelle <strong>für</strong> objektorientierte Analyseund<br />
Entwurfsmethoden war die Feststellung, daß diese Methoden in der Regel nur anhand<br />
ihrer graphischen Symbole und durch Beispielmodellierungen eingeführt werden. Eine formale<br />
Basis, die z. B. die Überprüfung einer vorliegenden Modellierung auf syntaktische<br />
Korrektheit erlaubt, existiert häufig nicht. Durch Modellierungsmethoden werden Systeme<br />
multiperspektivisch, aus unterschiedlichen Sichten beschrieben. Auch die Integration der<br />
hierbei verwendeten Techniken wird nur beispielhaft skizziert, so daß eine vollständige<br />
Beschreibung der Konzepte, einschließlich der Querbezüge über die einzelnen Modellierungstechniken<br />
hinaus, ebenfalls fehlt.<br />
In [Ebert / Süttenbach, 1997a] und [Süttenbach / Ebert, 1997] werden EER/GRAL-<strong>Metaschema</strong>ta<br />
<strong>für</strong> die Object Modeling Technique (OMT) nach [Rumbaugh et al., 1991] und<br />
<strong>für</strong> Object-Oriented Design with Applications (OOD) nach [Booch, 1994] definiert. Ausgehend<br />
von den graphischen Symbolen der in den Methoden verwendeten Beschreibungstechniken<br />
werden die einzelnen Modellierungsichten konzeptionell beschrieben. Diese<br />
Teilmodelle werden anschließend zu Gesamtmodellen der jeweiligen Methoden zusammengefaßt.<br />
Ergebnis dieser Modellierungen sind <strong>Metaschema</strong>ta, die die abstrakte Syntax der in beiden<br />
Methoden verwendeten <strong>visuelle</strong>n Beschreibungstechniken über die jeweiligen Modellierungssichten<br />
integriert. Diese formalen Beschreibungen geben einen vollständigen<br />
Überblick über die in den Methoden verwendeten Konzepte und ihrer Zusammenhänge.<br />
Im Gegensatz zu den SOCRATES-Metamodellen zu OMT und OOD [Goor et al.,
128 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
1992], bei denen der Vergleich der Methoden im Vordergrund stand, bieten die EER/GRAL-<br />
<strong>Metaschema</strong>ta aus [Ebert / Süttenbach, 1997a] und [Süttenbach / Ebert, 1997] auch aufgrund<br />
ihres Detaillierungsgrades eine formale Grundlage, gegen die konkrete Modellierungen<br />
nach diesen Ansätzen auf (syntaktische) Korrektheit überprüft werden können. Bei<br />
der Erstellung der EER/GRAL-<strong>Metaschema</strong>ta konnten nicht alle Eigenschaften der modellierten<br />
Konzepte eindeutig aus den Methodenbeschreibungen abgeleitet werden. In diesen<br />
Fällen wurde in den Metamodellen eine mögliche, sinnvolle Interpretation vorgeschlagen.<br />
Diese EER/GRAL-Modelle sind daher auch als <strong>Referenz</strong>-<strong>Metaschema</strong>ta in Diskussionen<br />
zur Schaffung einer allgemein akzeptierten Interpretation der Modellierungskonstrukte<br />
verwendbar.<br />
Wie auch der CDIF-Ansatz basiert EER/GRAL auf einem Metamodell, das in EER/GRAL<br />
selbst formalisiert ist. Das <strong>Metaschema</strong> des EER-Anteils zur Modellierung nach dem<br />
Objekt-Beziehungsparadigma wird in [Ebert et al., 1999a] und das <strong>Metaschema</strong> des GRAL-<br />
Anteils zur Darstellung von Integritätsbedingungen wird in [Ebert et al., 1997a] beschrieben.<br />
Varianten dieses <strong>Metaschema</strong>s in [Ebert et al., 1997a] beschreiben die abstrakte Syntax<br />
der Spezifikationssprache Z [Spivey, 1992] und der Graph-Anfragesprache GReQL<br />
[Kamp, 1998]. Weiter dient es als Grundlage zur Festlegung der <strong>Se</strong>mantik von EER/GRAL-<br />
Modellen in [Dahm et al., 1998b].<br />
KOGGE Metamodelle<br />
Zur Erstellung von Werkzeugen zur Modellierung nach einer vorgegebenen Methode wird<br />
eine Beschreibung dieser Methode benötigt. Methoden und Techniken, die durch das<br />
Werkzeug unterstützt werden sollen, werden hierzu durch Metamodelle beschrieben. Diese<br />
Werkzeugerstellung kann direkt durch Entwicklung auf Basis eines Metamodells erfolgen.<br />
Größere Flexibilität und Adaptivität bei der Werkzeugerstellung erlaubt die Verwendung<br />
von Meta-CASE-Werkzeugen, also von Werkzeugen zur Erstellung von Modellierungswerkzeugen.<br />
Während direkt erstellte Modellierungswerkzeuge i. allg. auf die Unterstützung<br />
der fest implementierten Methode eingeschränkt sind, erlauben Meta-CASE-<br />
Werkzeuge durch Änderung der Metamodelle, die hierzu als Werkzeugbeschreibungen<br />
aufgefaßt werden können, die Anpassung des Modellierungswerkzeugs an die (sich ändernden)<br />
spezifischen Anforderungen der Benutzer [Ebert, 1997]. Der Koblenzer Generator<br />
<strong>für</strong> Graphische Entwurfsumgebungen (KOGGE) ist ein solches Meta-CASE-Werkzeug<br />
[Ebert et al., 1997b], [Ebert et al., 1999b].<br />
Mit KOGGE wird das Ziel verfolgt, Editoren <strong>für</strong> <strong>visuelle</strong> Sprachen und Methoden zu generieren.<br />
Hierzu wird <strong>für</strong> die in einer Modellierungsmethode verwendeten Techniken eine<br />
Werkzeugbeschreibung erstellt. Konkrete Modellierungswerkzeuge (KOGGE-Werkzeuge)<br />
entstehen durch Interpretieren der jeweiligen Werkzeugbeschreibungen durch ein statisches<br />
Basissystem. Eine KOGGE-Werkzeugbeschreibung besteht aus der Definition der<br />
Konzepte der Methode, der Definition der Menüstruktur des Werkzeugs und der Definition<br />
der Interaktionen mit dem Benutzer. In der Konzeptbeschreibung wird die abstrakte Syntax<br />
der in der Methode verwendeten Techniken, d. h. deren Sprachkonzepte und ihre Beziehungen<br />
notiert. Hierzu werden EER/GRAL-Modelle verwendet. Dieser Teil der Werkzeugbeschreibung<br />
umfaßt somit das <strong>Metaschema</strong> der Methode. Die Menüstruktur wird durch<br />
einen azyklischen Menügraphen beschrieben. Das Werkzeugverhalten, d. h. die Interaktion<br />
mit dem Benutzer wird durch Statecharts und eine Makrosprache definiert. Dynamische
4.3 Metamodelle 129<br />
Aspekte einer Modellierungsmethode sind in KOGGE-Werkzeugbeschreibungen nicht enthalten.<br />
Zur Erstellung von Werkzeugbeschreibungen existiert ein eigenes KOGGE-Werkzeug (Ur-<br />
KOGGE), welches Editoren zur Erfassung und Manipulation von EER/GRAL-Modellen,<br />
Menügraphen, Statecharts und Programmtexten der Makrosprache bereitstellt. Die Ur-<br />
KOGGE basiert selbst auf einer KOGGE-Werkzeugbeschreibung, deren <strong>Metaschema</strong>-<br />
Anteil auf [Carstensen, 1996] zurückgeht. Dieses <strong>Metaschema</strong> integriert die Konzepte aller<br />
zur Erstellung von Werkzeugbeschreibungen verwendeten Modellierungstechniken. Darüber<br />
hinaus enthält das <strong>Metaschema</strong> aus [Carstensen, 1996] auch Konzeptmodellierungen<br />
<strong>für</strong> weitere Beschreibungsparadigmen, die jedoch in Werkzeug UrKOGGE keine Verwendung<br />
finden. Diese Modellierungen können jedoch als <strong>Referenz</strong>en <strong>für</strong> <strong>Metaschema</strong>ta zu<br />
diesen Entwurfssprachen angesehen werden und flossen in dieser Funktion auch in die in<br />
Teil II beschriebenen Metamodelle ein.<br />
KOGGE-Werkzeuge und somit auch <strong>Metaschema</strong>ta existieren neben der UrKOGGE <strong>für</strong><br />
Datenflußdiagramme [Drüke, 1996], <strong>für</strong> die objektorientierte Methoden BON [Ebert et al.,<br />
1997b], [Kölzer / Uhe, 1997] und die Unified Modeling Language. In Kapitel 9 wird skizziert,<br />
wie ein KOGGE-Werkzeug zur Organisationsmodellierung [Löcher / Pühler, 1997]<br />
entlang des in Teil II hergeleiteten <strong>Referenz</strong>-<strong>Metaschema</strong>s erstellt wurde.<br />
UML Metamodell<br />
Mit der Definition der Unified Modeling Language (UML), [Booch et al., 1999], [Rumbaugh<br />
et al., 1999] wird das Ziel verfolgt, eine allgemeine, <strong>visuelle</strong> Sprache als Standard<br />
zur Beschreibung, Visualisierung und Konstruktion von objektorientierten Systemen<br />
bereitzustellen. Eine Ausschreibung <strong>für</strong> Vorschläge zur Standardisierung objektorientierter<br />
<strong>Modellierungssprachen</strong> erfolgte im J<strong>uni</strong> 1996 durch die Object Management Group<br />
(OMG).<br />
Ausgehend von Erweiterungen zur Object Modeling Technique (OMT) [Rumbaugh et al.,<br />
1991] und zu Object-Oriented Design (OOD) [Booch, 1994] wurde seit Ende 1994 gemeinsam<br />
von G. Booch und J. Rumbaugh der erste UML-Entwurf (Unified Method) erstellt<br />
und 1995 präsentiert. Mit der Mitarbeit von I. Jacobson seit Herbst 1995 flossen<br />
auch die Use-Cases von aus Object-Oriented Software Engineering (OOSE) [Jacobson et<br />
al., 1993] in die Sprachentwicklung ein [Booch, 1996], [Booch et al., 1999]. Der resultierende<br />
Sprachentwurf wurde Ende 1996 der interessierten Öffentlichkeit zur Diskussion<br />
vorgelegt und gemeinsam mit den im UML Partner Consortium zusammengeschlossenen<br />
Firmen überarbeitet. Im Januar 1997 wurde die Version 1.0 mit fünf weiteren Vorschlägen,<br />
die zum Teil lediglich Ergänzungen zu UML darstellen [Frank / Prasse, 1997b], bei der<br />
OMG eingereicht. Die aus der Ergänzung um einige dieser Vorschläge hervorgegangene<br />
Sprachbeschreibung (Version 1.1) wurde am 14. November 1997 durch die Object Management<br />
Group akzeptiert. UML kann folglich als eine Weiterentwicklung und Verschmelzung<br />
von OMT, OOD, OOSE und weiteren Ansätzen verstanden werden, die bereits durch<br />
eine große Zahl von Anwendern im UML Partner Consortium getragen wird. Eine kritische<br />
Würdigung dieses Standardisierungsverfahrens zur Schaffung einer einheitlichen, allgemein<br />
akzeptierten, objektorientierten Modellierungssprache findet sich in [Frank / Prasse,<br />
1997b].
130 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
Zur Beschreibung objektorientierter Systeme stellt auch die UML mehrere <strong>visuelle</strong> Sprachen<br />
[Booch et al., 1999], [OMG, 1999, S. 3-1ff] bereit4 . Neben Use-Case-Diagrammen<br />
und Objekt-Beziehungsdiagrammen (Klassendiagrammen) werden u. a. Statecharts, Aktivitätsdiagramme<br />
und Interaktionsdiagramme als <strong>visuelle</strong> Darstellungsmittel verwendet.<br />
Wie generell <strong>für</strong> objektorientierte Modellierungsmethoden sind auch in UML Objekt-<br />
Beziehungsdiagramme eine wesentliche Modellierungstechnik, die auch zur Modellierung<br />
von Metamodellen eingesetzt werden kann. Für die Standardisierung von UML ist es daher<br />
naheliegend, die Methode auch mit UML-Mitteln zu beschreiben.<br />
Die UML-Beschreibungen in [OMG, 1999, S. 2-1ff] umfassen sowohl die Festlegung der<br />
abstrakten Syntax als auch die Darstellung der Bedeutung dieser Sprachelemente. Zur Festlegung<br />
der abstrakten Syntax werden die Sprachkonstrukte der UML und ihre Beziehungen<br />
durch UML-Klassendiagramme definiert und glossarartig näher beschrieben. Zusätzliche<br />
Integritätsbedingungen an diese Konzeptmodellierung werden natürlichsprachlich und formal<br />
in der Object Constraint Language (OCL) [OMG, 1999, 6-1ff] formuliert. OCL entstammt<br />
der Modellierungsmethode Syntropy [Cook / Daniels, 1994] und wurde von IBM<br />
und ObjecTime als „leicht les- und schreibbare“ [OMG, 1999, S. 6-3ff] formale Sprache<br />
zur Geschäftsmodellierung entwickelt und ist seit Version 1.1 auch Bestandteil der UML.<br />
Während durch dieses Modell die Modellierungskonzepte der UML und die Zusammenhänge<br />
zwischen diesen beschrieben werden, ist das Vorgehen zur Erstellung einer UML-<br />
Modellierung nicht in der Dokumentation der Sprache enthalten. Dieses Modell beschreibt<br />
somit das <strong>Metaschema</strong> <strong>für</strong> UML, das aufgrund der verwendeten Modellierungssprache<br />
auch ein <strong>Metaschema</strong> in UML ist. Verwendung findet dieses <strong>Metaschema</strong> als Grundlage<br />
zur Festlegung der <strong>Se</strong>mantik von UML. Die Bedeutung der einzelnen Sprachkonstrukte<br />
wird durch einen entsprechenden Ausschnitt des <strong>Metaschema</strong>s eingeleitet und natürlichsprachlich<br />
beschrieben. Das so entstandene Dokument zur <strong>Se</strong>mantikbeschreibung [OMG,<br />
1999, S. 2-1ff] stellt gemeinsam mit der Festlegung der konkreten Syntax in [OMG, 1999,<br />
S. 3-1ff] die wesentliche Beschreibung der Modellierungsmethode zur Diskussion der Unified<br />
Modeling Language im Rahmen des Standardisierungsverfahrens dar.<br />
Weitere <strong>Metaschema</strong>ta <strong>für</strong> objektorientierte Entwurfsmethoden als Grundlage zur Beurteilung<br />
dieser Methoden werden auch in [Strahringer, 1996, S. 121ff] vorgestellt. Ausschnitte aus <strong>Metaschema</strong>ta<br />
zu Methoden, die im Rahmen der Standardisierung objektorientierter Methoden eingereicht<br />
wurden, finden sich in [Frank, 1997b].<br />
4.3.2 Zusammenfassung: Anwendungsbereiche von Metamodellen<br />
Wie die zuvor skizzierten Beispiele <strong>für</strong> Metamodelle zeigen, werden Metamodelle sowohl in<br />
ihrer Rolle als spezielle Modelle als auch in der Rolle als <strong>Referenz</strong>modelle verwendet.<br />
In ihrer Funktion als spezielle Modelle dienen Metamodelle als generelles Mittel zur Beschreibung<br />
und Untersuchung von Methoden und Techniken zur Modellierung. Durch die Darstellung<br />
der abstrakten Syntax der Methoden in <strong>Metaschema</strong>ta und durch die Beschreibung des<br />
Modellierungsvorgehens in Meta-Aktivitätsmodellen eignen sie sich auch zur Schulung dieser<br />
4 Die jeweils aktuellen Sprachbeschreibungen zu UML sind über http://www.rational.com/uml/ (14.09.<br />
1999) abrufbar.
4.3 Metamodelle 131<br />
Modellierungsmethoden. Die <strong>Metaschema</strong>ta bieten darüber hinaus auch die Grundlage zur Festlegung<br />
der innerhalb der Methode verwendeten Terminologie. Für den Bau von Werkzeugen zur<br />
Unterstützung einer vorgegebenen Methode liefern die <strong>Metaschema</strong>ta auch das konzeptionelle<br />
Datenmodell. Metamodelle werden auch als Ausgangspunkt zur Beschreibung der <strong>Se</strong>mantik der<br />
Sprachelemente von Modellierungsmethoden verwendet. Aufgrund der formalen Beschreibung<br />
der abstrakten Syntax einer Methode in einem Metamodell bildet dieses auch die Grundlage zur<br />
Überprüfung der (syntaktischen) Korrektheit von Modellen.<br />
Im Zusammenspiel mit anderen Metamodellen kann Metamodellen auch <strong>Referenz</strong>-Charakter zugesprochen<br />
werden. Methodenbeschreibungen durch Metamodelle bieten eine aussagekräftige<br />
Grundlage zur Diskussion der Modellierungskonzepte. In diesem Zusammenhang werden Metamodelle<br />
z. B. auch als Ausgangspunkt zur Standardisierung verwendet. Ein wesentlicher Anwendungsbereich<br />
von <strong>Referenz</strong>-Metamodellen ist ihre Verwendung als Basis zum Vergleich der Konzepte<br />
und Vorgehensweisen unterschiedlicher Modellierungsmethoden und zur Entwicklung von<br />
Metamodellen zu Modellierungsmethoden. Solche <strong>Referenz</strong>-Metamodelle finden auch Anwendung<br />
zur Einordnung und zum Vergleich von Modellierungswerkzeugen. <strong>Referenz</strong>-Metamodelle<br />
werden auch zur Methoden- und Technik-unabhängigen Schulung von Konzepten zur Modellierung<br />
verwendet. Ebenso wird durch solche <strong>Referenz</strong>modelle eine einheitliche und ebenfalls von<br />
konkreten Methoden und Techniken unabhängigen Terminologie festgelegt.<br />
Anwendungsbereiche von Metamodellen<br />
als spezielles Modell als <strong>Referenz</strong>modell<br />
¯ Beschreibung und Untersuchung<br />
von Modellierungsmethoden<br />
¯ Schulung von Modellierungsmethoden<br />
¯ Festlegung der Terminologie<br />
der Modellierungsmethoden<br />
¯ Bau von Modellierungswerkzeugen<br />
¯ Ausgangspunkt zur Festlegung<br />
der <strong>Se</strong>mantik von<br />
Modellierungsmethoden<br />
¯ Überprüfung der<br />
(syntaktischen) Korrektheit<br />
von Modellen<br />
¯ Grundlage zur Diskussion und<br />
Standardisierung von<br />
Modellierungskonzepten<br />
¯ Festlegung einer<br />
methodenunabhängigen<br />
Terminologie<br />
¯ Methoden- und technikunabhängige<br />
Schulung<br />
¯ Grundlage zur Beurteilung von<br />
Modellierungsmethoden und<br />
-werkzeugen<br />
¯ Maßstab zum Vergleich von<br />
Metamodellen zu Modellierungsmethoden<br />
und -werkzeugen<br />
¯ Hilfsmittel zur Erstellung von<br />
Metamodellen zu Modellierungsmethoden<br />
und -werkzeugen<br />
Abbildung 4.2: Anwendungsbereiche von Metamodellen<br />
Die Anwendungsbereiche von Metamodellen sind in Abbildung 4.2 zusammengefaßt. Einen ausführlichen<br />
Überblick über Anwendungsbereiche von Metamodellen bieten auch [Brinkkemper,<br />
1990, S. 33f] und [Strahringer, 1996, S. 49ff].
132 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
4.3.3 Metamodelle und <strong>Referenz</strong>modelle<br />
Zu einem Modell können sowohl <strong>Referenz</strong>modelle als auch Metamodelle existieren. In diesem<br />
Abschnitt werden die unterschiedlichen Zusammenhänge zwischen Modellen, <strong>Referenz</strong>modellen<br />
und Metamodellen anhand ihrer Einordnung in Abstraktionsebenen zusammenfassend dargelegt.<br />
Bei der Betrachtung von Sprachen werden Objektsprachen und Metasprachen unterschieden<br />
(vgl. [Bußmann, 1990]). Während Objektsprachen solche Sprachen bezeichnen, die Betrachtungsgegenstand<br />
einer Untersuchung sind, bezeichnen Metasprachen oder Syntaxsprachen diejenigen<br />
Sprachen, in denen die Untersuchung erfolgt (vgl. auch [Carnap, 1968],[Mittelstraß,<br />
1984]). Mit Meta-Metasprachen bezeichnet man folglich Sprachen zur Beschreibung der Metasprache<br />
einer Objektsprache. Diese Unterscheidung kann auf <strong>Modellierungssprachen</strong> und -<br />
methoden übertragen werden. Nach dem Abstraktionsgrad eines Modells von einer modellierten<br />
Realität können analog die Modellebene, dieMeta-Modellebene und die Meta-Meta-<br />
Modellebene unterschieden werden.<br />
Die erste Ebene faßt die Modelle der Diskurswelt in der Modellebene zusammen. Metamodelle<br />
sind in der zweiten Ebene (Metamodellebene) zusammengefaßt. Durch Metamodelle wird<br />
die Methode beschreiben, die der Modellierung zu Grunde liegt. Modelle sind daher als Instanzen<br />
zu Metamodellen aufzufassen. In ähnlicher Form sind Metamodelle Instanzen von Meta-<br />
Metamodellen, die die dritte Ebene (Meta-Metamodellebene) bilden. Zwischen Modell, Metamodell<br />
und Meta-Metamodell existiert folglich eine hierarchische Instanz-Schema-Beziehung.<br />
Die Anzahl dieser Ebenen ist je nach Modellierungsansatz verschieden. Die Betrachtungen von<br />
[Gigch, 1991] und [Verhoef et al., 1991] basieren auf drei Abstraktionsebenen. [Hars, 1994,<br />
S. 12] betrachtet die Modell- und die Metamodell-Ebene, wobei jedoch die Modellebene noch<br />
weiter instanziert wird. Die Modellierungsansätze von CDIF [Flatscher, 1998, S. 32] und der<br />
Unified Modeling Language [OMG, 1999, S. 2-4] verfolgen einen vier-Ebenen Ansatz, bei denen<br />
Instanz-Ebene, Modellebene, Metamodellebene und Meta-Metamodellebene unterschieden<br />
werden. Der Gliederungsansatz kann auch auf beliebig viele Ebenen ausgedehnt werden (vgl.<br />
z. B. [Auramäki et al., 1987], [Mylopoulos et al., 1990]). In diesen Arbeiten werden in höheren<br />
Ebenen generell Meta-Modelle der niedrigeren Ebene betrachtet. Dieses führt zu einer unbegrenzten<br />
Hierarchie jeweils abstrakterer Modelle. Die hier vorliegende Arbeit basiert auf einer<br />
Strukturierung entlang der Modell-, der Metamodell- und der Meta-Metamodellebene. Die Ebene<br />
der Instanzmodelle bleibt hier unberücksichtigt.<br />
Die Modell-, die Metamodell- und die Meta-Metamodellebene enthalten aus Sicht der jeweils<br />
niedrigeren Ebene Modelle. Innerhalb einer Ebene können Modelle als <strong>Referenz</strong>modelle ausgezeichnet<br />
werden. Während die Instanz-Schema-Beziehung Modelle benachbarter Ebenen verbindet,<br />
bezieht sich <strong>Referenz</strong>-Beziehung auf Modelle einer Ebene. Beispielhaft sind diese Zusammenhänge<br />
zwischen Modellen, Metamodellen, Meta-Metamodellen und <strong>Referenz</strong>modellen<br />
in Abbildung 4.3 zusammengefaßt. Instanz-Schema-Beziehungen sind hierbei in der Vertikalen<br />
und <strong>Referenz</strong>-Beziehungen in der Horizontalen notiert.<br />
Innerhalb einer Ebene können durchaus mehrere <strong>Referenz</strong>modelle existieren. Ein aus einem <strong>Referenz</strong>modell<br />
abgeleitetes Modell kann wieder <strong>Referenz</strong> <strong>für</strong> die Ableitung oder den Vergleich<br />
anderer Modelle sein (vgl. die Modelle Å4, Å2 und Å1 in Abbildung 4.3). Ein <strong>Referenz</strong>modell<br />
<strong>für</strong> Krankenhaus-Informationssysteme kann beispielsweise einerseits aus einem allgemeinen Re-
4.3 Metamodelle 133<br />
3<br />
2<br />
1<br />
Meta-<br />
Meta-<br />
Modell-<br />
Ebene<br />
Meta-<br />
Modellebene<br />
Modellebene<br />
M 1<br />
MM 1<br />
M 2<br />
MMM 1<br />
MM 2<br />
M 3 M 4<br />
MMM 2<br />
MM 3<br />
Abbildung 4.3: Metamodell und <strong>Referenz</strong>modelle<br />
M 5<br />
Modell<br />
<strong>Referenz</strong>modell<br />
istInstanzVon<br />
ist<strong>Referenz</strong>Für<br />
ferenzmodell <strong>für</strong> Informationssysteme abgeleitet worden sein und andererseits wieder <strong>Referenz</strong><br />
<strong>für</strong> eine spezielle Modellierung eines Krankenhaus-Informationssystemes sein.<br />
<strong>Referenz</strong>beziehungen können auch zyklisch sein. So kann ein Modell (Å4) beispielsweise als <strong>Referenz</strong><br />
zur Erstellung eines Modells (Å5) herangezogen werden, das anschließend wieder als <strong>Referenz</strong><br />
zur Bewertung des ersten Modells verwendet wird. Beispiele hier<strong>für</strong> sind die SOCRATES-<br />
Modelle der „Supermethoden“ aus [Brinkkemper et al., 1989] und [Goor et al., 1992] und die<br />
hiermit verglichenen Methoden.<br />
Es ist auch möglich, daß Metamodelle zu einem <strong>Referenz</strong>modell und einem hierzu speziellen<br />
Modell unterschiedlich sind (vgl. die Modell-Metamodell-Paare Å1, ÅÅ1 und Å2, ÅÅ2). So<br />
könnte eine Instanz des UML-<strong>Metaschema</strong>s durchaus auch Ausgangspunkt einer EER/GRAL-<br />
Modellierung sein. Der Vergleich verschiedener Modellierungen ist jedoch einfacher, wenn die<br />
Modelle Instanzen desselben Metamodells sind.<br />
In der hier vorgestellten Einordnung von Modellen, <strong>Referenz</strong>modellen und Metamodellen wird<br />
deutlich zwischen <strong>Referenz</strong>- und Metamodell unterschieden. [Lehner, 1995, S. 126] macht diese<br />
Unterscheidung nicht. Metamodellen wird hier im Bezug zu Modellinstanzen auch <strong>Referenz</strong>charakter<br />
zugesprochen in dem Sinn, daß „Metamodelle [...] <strong>Referenz</strong>modelle<strong>für</strong>alledaraus abgeleiteten Modelle darstellen“. Dieser Auffassung wird hier nicht gefolgt, da hierdurch die<br />
klare Trennung zwischen dem Beibehalten der Abstraktionsebene bei der <strong>Referenz</strong>modellierung<br />
und dem Wechsel der Abstraktionsebene bei der Metamodellierung verwischt würde. Ein vergleichende<br />
Diskussion von <strong>Referenz</strong>- und Metamodellen nimmt auch [Hars, 1994, S. 15ff] vor.<br />
Hier wird ebenfalls deutlich zwischen Meta- und <strong>Referenz</strong>modellen unterschieden.
134 Modelle, <strong>Referenz</strong>modelle und Metamodelle<br />
4.4 Einordnung in die Zielsetzung dieser Arbeit<br />
Das in Kapitel 6 vorgestellte <strong>Referenz</strong>-<strong>Metaschema</strong> der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> <strong>für</strong> Organisationen<br />
und Softwaresysteme kann auch entlang der in den Kapiteln 4.1–4.3 beschriebenen<br />
Begriffsbestimmungen und Anforderungen als Modell, als <strong>Referenz</strong>modell und als Metamodell<br />
eingeordnet werden.<br />
Modelle<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel ist als statisches Modell einzustufen, da es<br />
die Konzepte und deren Beziehungen von Beschreibungssprachen unabhängig von zeitlichen<br />
und methodischen Aspekten notiert. Zur Modellbeschreibung wird der mathematisch fundierte<br />
EER/GRAL-Ansatz (vgl. Kapitel 5.2) verwendet, so daß das resultierende Modell zusätzlich symbolisch<br />
und formal ist. Nach dem Verwendungszweck ist das <strong>Referenz</strong>-<strong>Metaschema</strong> als Deskriptionsmodell<br />
zu klassifizieren, da durch die mit EER/GRAL vorgegebene Modellierungstechnik<br />
Konzepte und deren Beziehungen in den Vordergrund gestellt werden. Solche Konzeptmodelle<br />
unterstützen in besonderem Maß die Komm<strong>uni</strong>kation über die modellierten Zusammenhänge.<br />
Darüber hinaus kann aus einem EER/GRAL-Modell auch nahtlos eine Implementation abgeleitet<br />
werden. Das <strong>Referenz</strong>-<strong>Metaschema</strong> ist auch als didaktisches Modell einsetzbar, da es durch die in<br />
der Modellierung explizit herausgearbeiteten Konzepte und deren Beziehungen eine einheitliche<br />
Vermittlung und Schulung der Beschreibungsmittel auf einem, von der konkreten Notationsform<br />
unabhängigen Niveau, unterstützt.<br />
<strong>Referenz</strong>modelle<br />
Dem <strong>Referenz</strong>-<strong>Metaschema</strong> der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
kann auch <strong>Referenz</strong>charakter zugesprochen werden. Dieses Modell wird mit dem<br />
Ziel erstellt, zum einen die Begriffe, die in den betrachteten Sprachen verwendet werden, einheitlich<br />
festzulegen und sie in ihrem Zusammenwirken zu beschreiben. Aufgrund der Modellierung<br />
entlang des EER/GRAL-Ansatzes (vgl. Kapitel 5.2), die insbesondere die Konzepte der Beschreibungsmittel<br />
in den Vordergrund stellt, eignet sich dieses Modell zur Methoden-unabhängigen<br />
Ausbildung der Beschreibungsmittel auf konzeptioneller Ebene. Wesentlicher Anwendungsbereich<br />
dieses <strong>Referenz</strong>modells ist die Verwendung als Vergleichs- und Modellierungsmittel. Die<br />
Anwendbarkeit des <strong>Referenz</strong>-<strong>Metaschema</strong>s wird in Teil III begründet. Hierzu wird es zur Betrachtung<br />
der Beschreibungsmittel von Modellierungsmethoden <strong>für</strong> Organisationen (Kapitel 7)<br />
und Softwaresystemen (Kapitel 8) und zur Entwicklung eines Werkzeugs zur Organisationsmodellierung<br />
(Kapitel 9) eingesetzt.<br />
Metamodelle<br />
Modellierungsziel des <strong>Referenz</strong>modells ist eine konzeptionelle, integrierte Beschreibung unterschiedlicher,<br />
strukturierter Modellierungstechniken, die zur Modellierung organisatorischer und<br />
softwaretechnischer Zusammenhänge verwendet werden. Vorgehensaspekte der Modellierungstechniken<br />
werden nicht betrachtet. Für die Beschreibungsmittel aus Kapitel 3 wird in Teil II ein
4.4 Einordnung in die Zielsetzung dieser Arbeit 135<br />
<strong>Metaschema</strong> entwickelt. Bezogen auf die drei Abstraktionsebenen aus Kapitel 4.3 befindet sich<br />
dieses Modell auf der Metamodell-Ebene.<br />
Da dieses <strong>Metaschema</strong> auch <strong>Referenz</strong> sowohl <strong>für</strong> die Einordnung und Beschreibung von Modellierungsmethoden<br />
als auch <strong>für</strong> die Ableitung von Werkzeugen dient, ist es zusammenfassend als<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> einzustufen.
Teil II<br />
Modellbildung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> <strong>für</strong> Organisationen und Softwaresysteme<br />
wird in den folgenden Kapiteln entlang des in Kapitel 3 entwickelten Klassifikationsschemas<br />
hergeleitet.<br />
Die Erstellung des <strong>Referenz</strong>-<strong>Metaschema</strong>s erfolgt mit den Mitteln der graphbasierten Konzeptmodellierung.<br />
Hierzu wird zunächst in Kapitel 5 in die Konzeptmodellierung eingeführt.<br />
Ausgehend von seiner formalen, graphbasierten Basis wird der zur Modellierung verwendete<br />
EER/GRAL-Ansatz zur Konzeptmodellierung vorgestellt und in die Methoden und Techniken<br />
der Konzeptmodellierung eingeordnet.<br />
Die Darstellung des <strong>Referenz</strong>-<strong>Metaschema</strong>s erfolgt in Kapitel 6. Zu jedem der in Kapitel 3<br />
eingeführten Beschreibungsparadigmen werden in den Kapiteln 6.2.1 bis 6.5.3 EER/GRAL-<br />
<strong>Metaschema</strong>ta vorgestellt. Durch Anwendung dieser <strong>Metaschema</strong>ta zur Erstellung der speziellen<br />
<strong>Metaschema</strong>ta wesentlicher Vertreter der einzelnen Sprachparadigmen, wird deren <strong>Referenz</strong>-<br />
Eigenschaft begründet. Die Integration dieser paradigmenbezogenen <strong>Referenz</strong>-<strong>Metaschema</strong>ta<br />
zum integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> der <strong>visuelle</strong>n Modellierunssprachen <strong>für</strong> Organisationen<br />
und Softwaresysteme erfolgt in Kapitel 6.6.<br />
Die <strong>Referenz</strong>-Eigenschaft dieses integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s wird in Teil III anhand der<br />
Beschreibungsmittel verschiedener Ansätze zur Organisations- und Softwaremodellierung nachgewiesen.
5 Graphbasierte Konzeptmodellierung<br />
Die Erstellung des <strong>Referenz</strong>-<strong>Metaschema</strong>s folgt dem EER/GRAL-Ansatz zur graphbasierten<br />
Konzeptmodellierung. Nach einer kurzen Einführung in die konzeptionelle Modellierung in Kapitel<br />
5.1 folgt in Kapitel 5.2 die Darstellung des in dieser Arbeit verwendeten Modellierungsansatzes<br />
einschließlich seiner formalen Basis.<br />
5.1 Konzeptmodellierung<br />
Unter Konzeptmodellierung versteht man eine Modellierung, bei der Gegenstände der zu modellierenden<br />
Realität durch Konzept- oder Begriffsgeflechte beschrieben werden. Ein Konzept<br />
faßt hierbei gedankliche Vorstellungen über die Eigenschaften und Merkmale des zu modellierenden<br />
Gegenstandes zusammen [DIN 2330, 1993]. Konzepte werden in Allgemeinbegriffe und<br />
Individualbegriffe unterschieden. Während Individualbegriffe konkrete, eindeutige Dinge der zu<br />
modellierenden Realität beschreiben, werden durch Allgemeinbegriffe Dinge mit gleichen Eigenschaften<br />
zusammengefaßt. Die Konzepte selbst werden durch Symbole oder Begriffsworte,<br />
deren Bildung und Verwendung willkürlich vereinbart sein kann, notiert. Die Zusammenhänge<br />
zwischen Gegenstand, Konzept und Symbol sind in Abbildung 5.1 in einem Konzeptmodell<br />
skizziert (vgl. hierzu auch das Bedeutungsdreieck in [Ogden / Richards, 1923, S. 14]).<br />
Gegenstand<br />
beschreibt<br />
wird bezeichnet<br />
Konzept Symbol<br />
durch<br />
Abbildung 5.1: Zusammenhang zwischen den Begriffen „Gegenstand“, „Konzept“ und<br />
„Symbol“<br />
Wesentliches Merkmal der Konzeptmodellierung ist die Abbildung der Realität durch Konzepte,<br />
die ein möglichst allgemein akzeptiertes Verstehen der Dinge der Realität widerspiegeln. Durch<br />
die hierbei verwendeten Konzepte werden jeweils Eigenschaften gleichartiger Dinge zusammengefaßt.<br />
Hierbei werden sowohl Konzepte zur Beschreibung von Begriffen als auch Konzepte zur<br />
Beschreibung von Beziehungen (vgl. [Frege, 1891, S. 37]) verwendet. Die Konzeptualisierungen<br />
der Begriffe auf der Ebene der Allgemeinbegriffe werden Objekttypen oder Objektklassen und<br />
die Konzeptualisierungen der Beziehungen Beziehungstypen oder Beziehungsklassen genannt.<br />
Diese Auffassung der Modellierung der realen Welt durch Entitäten oder Objekte und Beziehungen<br />
folgte auch [Chen, 1976] in seinem Beitrag zur Einführung der Objekt-Beziehungsmodellie-
140 Graphbasierte Konzeptmodellierung<br />
rung: „The entity-relationship model adopts the more natural view, that the real world consists of<br />
entities and relationships“. Auch die Wissensrepäsentation folgt dieser Auffassung. In Schemata<br />
zur Beschreibung von Wissen wird der abzubildende Gegenstandsbereich als Sammlung von Individuen<br />
und hierzwischen vorliegenden Beziehungen aufgefaßt [Mylopoulos/Levesque, 1996].<br />
Die Konzeptmodellierung wird von [Berztiss/Matjasko, 1995] ebenfalls als die Beschreibung einer<br />
Diskurswelt durch Objekte, deren Attribute und durch Beziehungen zwischen den Objekten,<br />
charakterisiert. Ähnlich definiert [Frank, 1994, S. 81] Konzeptmodelle als „Abstraktion realweltlicher<br />
Gegenstände oder Sachverhalte, und [den] zwischen ihnen existierenden Beziehungen“.<br />
Eine Einschränkung der Konzeptmodellierung auf Individual- oder auf Allgemeinbegriffe wird<br />
durch keine dieser Definitionen gefordert.<br />
Konzeptmodellierung ist die Abstraktion der Realität durch mentale Repräsentationen<br />
(Konzepte) der realen oder abstrakten Dinge der zu modellierenden Diskurswelt<br />
und den hierzwischen bestehenden Beziehungen verstanden. Diese Konzepte<br />
werden in einer symbolischen Form notiert.<br />
Konzeptmodellierung, wie sie heute verwendet wird, geht auf Überlegungen der künstlichen<br />
Intelligenz- und der Softwaretechnikforschung in den Bereichen der Datenbanken und der Programmiersprachen<br />
zurück. Die Einflüsse aus Sicht der Datenbanken beziehen sich in erster Linie<br />
auf die Modellierung statischer Aspekte durch semantische Modelle. Der Beitrag der Programmiersprachen<br />
bezieht sich auf die Modellierung von Verhaltensaspekten und Datenstrukturen.<br />
Höhere Modellierungskonstrukte wie die Aggregation („partOf-Beziehungen“), die Gruppierung<br />
(„memberOf-Beziehungen“), die Generalisierung bzw. die Spezialisierung („isA-Beziehungen“)<br />
und die Instanziierung werden als Beitrag der Überlegungen in der Wissensrepräsentation der<br />
Künstlichen Intelligenz betrachtet (vgl. [Rolland / Cauvet, 1992]). Diese Wurzeln werden auch<br />
in [Brodie et al., 1986], [Loucopoulos / Zicari, 1992] und [Kangassalo et al., 1995] einschließlich<br />
ausführlicher Anwendungsbeispiele beschrieben. Eine Abgrenzung von Konzeptmodellierung<br />
gegenüber der Wissensrepräsentation bzw. der semantischen Datenmodellierung skizziert<br />
[Mylopoulos, 1992]. Während in der Wissensrepräsentation die Modellierung von Wissensbasen<br />
eher von dem Hintergrund der automatischen Ableitung von Wissen geprägt ist, verfolgt die Konzeptmodellierung<br />
eher das Ziel, eine adäquate Form zur Beschreibung der Realität zur Schaffung<br />
eines gemeinsamen Verständnisses unter menschlichen Benutzern bereitzustellen. Die semantische<br />
Datenmodellierung faßt John Mylopoulos daher als Ergänzung der Konzeptmodellierung<br />
zur Umsetzung in einem Computersystem auf. Gegenüber der (reinen) Konzeptmodellierung<br />
sind bei der semantischen Datenmodellierung weitere, technisch bedingte Rahmenbedingungen<br />
zu beachten.<br />
Anwendung finden Konzeptmodelle in erster Linie zur Beschreibung des Wissens über einen<br />
zu modellierenden Sachverhalt z. B. im Rahmen der Entwicklung von Informationssystemen<br />
(vgl. z. B. [Loucopoulos, 1992]). Ziel ist hierbei die formale Beschreibung sowohl der technischen<br />
wie auch sozialen Zusammenhänge des Informationssystems als Grundlage zur Komm<strong>uni</strong>kation<br />
zwischen den Beteiligten und zur Schaffung eines gemeinsamen Verstehens über<br />
das betrachtete System [Mylopoulos / Levesque, 1996], [Mylopoulos, 1992], [Frank / Prasse,<br />
1997a]. Bei der Entwicklung von Datenbanksystemen stellt die Erstellung von Konzeptmodellen<br />
die erste Phase des Datenbank-Entwurfs (vgl. z. B. [Batini et al., 1992]) dar. Die hier entwickelten<br />
konzeptionellen Schemata beschreiben Datenbankinhalte unabhängig von eingesetz-
5.1 Konzeptmodellierung 141<br />
ten Datenbank-Managementsystemen oder Programmiersprachen. Generell gilt <strong>für</strong> Konzeptmodellierungen,<br />
daß von Randbedingungen, die z. B. durch eine mögliche informationstechnische<br />
Umsetzung oder eine konkrete Darstellungsform gegeben sind, abstrahiert wird.<br />
In dieser Arbeit wird die Konzeptmodellierung zur Erstellung eines Metadatenmodells der in<br />
Organisations- und Softwaretechnik eingesetzten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> verwendet.<br />
Im Sinn der Konzeptmodellierung stellen sowohl die hier verwendeten Sprachmittel als auch die<br />
zwischen den Sprachmitteln vorliegenden Beziehungen Konzepte dar, die in ihrem Zusammenspiel<br />
zu beschreiben sind. Von Layout-Aspekten, d. h. von den symbolischen Formen der in den<br />
einzelnen Beschreibungsmitteln verwendeten Konzepten wird hierbei abstrahiert.<br />
Ansätze zur Konzeptmodellierung<br />
Zur Beschreibung von Konzeptmodellen auf Ebene der Allgemeinbegriffe bieten sich in erster<br />
Linie die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> an, die dem Objekt-Beziehungsparadigma (vgl. Kapitel<br />
3.5.3) folgen. So sind auch die im Kapitel 4.3 skizzierten Konzeptmodelle zur Metadatenmodellierung<br />
in verschiedenen Dialekten der Objekt-Beziehungsmodellierung dargestellt. Zur<br />
Beschreibung des IFIP WG 8.1 <strong>Metaschema</strong>s wurden einfache Datenstruktur-Diagramme [Olle<br />
et al., 1991, S. 61ff] eingesetzt, die Mittel zur Beschreibung der Objekttypen und binärer<br />
Beziehungstypen einschließlich deren Kardinalitäten bereitstellen. Die Metadatenmodelle des<br />
CC-RIM-<strong>Referenz</strong>modells werden durch ASDM-Diagramme [Heym / Österle, 1993], [Gutzwiller,<br />
1994, S. 24ff], [Heym, 1995, S. 15ff] notiert, die Konzepte verschiedener Typen u. a. zur<br />
Beschreibung von Spezialisierungen und Aggregationen und ebenfalls binäre Beziehungen mit<br />
Kardinalitäten enthalten. Attribute, die weiter strukturiert sein können, werden verbal beschrieben.<br />
Das ARIS-Informationsstrukturmodell ist in einer Erweiterung der von [Chen, 1976] vorgeschlagenen<br />
Notation dargestellt, die Ausdrucksmittel <strong>für</strong> Objekttypen, Beziehungstypen beliebiger<br />
Arität und Attribute bereitstellt. Die Erweiterungen in [Scheer, 1992, S. 51ff] beziehen<br />
sich auf Ergänzungen um die Generalisierung von Konzepten und um die Uminterpretation<br />
von Beziehungstypen in Objekttypen. Die Beschreibung des Metadatenmodells zur ME-<br />
MO [Frank, 1994] erfolgt in erster Linie verbal. In graphischen Darstellungen werden darüber<br />
hinaus die Generalisierungs- bzw. Spezialisierungsbeziehungen zwischen den modellierten<br />
Konzepten sowie ausgewählte Beziehungen, die hier ebenfalls binär aufgefaßt werden, herausgestellt.<br />
Datenmodelle zu SOCRATES-Metamodellen [Verhoef et al., 1991] werden durch<br />
NIAM-Informationsstruktur-Diagramme [Verheijen / van Bekkum, 1982], [Wintraeken, 1985]<br />
notiert. Objekttypen, die weiter spezialisiert sein können, werden durch ebenfalls binäre Beziehungstypen<br />
verbunden. In Gegensatz zu den bisher genannten Modellierungsmitteln werden<br />
in NIAM noch die Rollen der Konzepte in einer Beziehung herausgestellt. Die Darstellung<br />
der CDIF-Metamodelle [Flatscher, 1998] erfolgt durch erweiterte, nicht attributierte Objekt-<br />
Beziehungsdigramme, die um umfangreiche Listen zur Attributierung der Objekt- und Beziehungsklassen<br />
ergänzt werden.<br />
Weitere Ansätze zur Konzeptmodellierung nach dem Objekt-Beziehungsparadigma bieten auch<br />
die Notationen zur Beschreibung von Klassendiagrammen (vgl. z. B. [Rumbaugh et al., 1991,<br />
S. 25ff], [Booch, 1994, S. 158ff] oder [Rumbaugh et al., 1999, S. 41ff]) der objektorientierten<br />
Modellierungsmethoden. Gegenüber den bisher skizzierten Ansätzen zur Konzeptmodellierung<br />
stellen diese Beschreibungsmittel auch Konzepte zur Modellierung des Verhaltens der<br />
Klassen durch Methodendeklarationen bereit, die jedoch z. B. zur Modellierung des UML-
142 Graphbasierte Konzeptmodellierung<br />
Metadatenmodells [OMG, 1999, S. 2-1ff] nicht verwendet wurden. Übersichten zu Ansätzen der<br />
Konzeptmodellierung auf Basis von Objekt-Beziehungsmodellierungen geben auch [Brinkkemper,<br />
1990, S.36ff] [Hars, 1994, S. 110] und [Tolvanen, 1998, S. 81ff].<br />
Nicht alle Ansätze zur Konzeptmodellierung beziehen sich ausschließlich auf die Ebene der Allgemeinbegriffe<br />
und verwenden Beschreibungsmittel des Objekt-Beziehungsparadigmas. So findet<br />
der in [Mylopoulos et al., 1990] eingeführte Konzeptmodellierungs-Ansatz Telos (τ´ελÓς)<br />
seine Wurzeln in der Wissensrepräsentation durch semantische Netze. Elementares Modellierungsmittel<br />
sind Propositionen. Diese beschreiben sowohl Objekte, Objektklassen als auch Attribute.<br />
Attribute sind hierbei als binäre, benannte Zuordnungen zwischen Propositionen aufzufassen.<br />
Telos-Konzeptmodelle werden durch Aggregationen, Generalisierungen und Instanziierungen<br />
(Klassifikationen) strukturiert. Im Gegensatz zur Objekt-Beziehungsmodellierung, bei<br />
der Klassen- und Objektmodellierungen klar getrennt sind, enthalten Wissensbasen sowohl Konzepte<br />
zur Beschreibung der Klassen als auch zur Beschreibung deren Instanzen. Die Konzeptmodellierung<br />
bezieht sich hier sowohl auf die Ebene der Individualbegriffe wie auch auf die<br />
Ebene der Allgemeinbegriffe. Neben einer textuellen Notation zur Beschreibung dieser strukturellen<br />
Eigenschaften können bei der Modellierung mit Telos in einer Zusicherungssprache Integritätsbedingungen<br />
und Ableitungsregeln in Prädikatenlogik erster Stufe formuliert werden. Mit<br />
ConceptBase [Jarke et al., 1995] liegt eine Implementation von Telos auf Basis objektorientierter<br />
Datenbanken vor. Diese Implementation erlaubt eine Partitionierung der in der Objektbasis<br />
enthalten Objekte in ein „Token layer“ zur Beschreibung der Instanzen und in ein „simple class<br />
layer“ zur Beschreibung der Schemainformation. Sie läßt darüber hinaus aber beliebig viele weitere<br />
„Meta-Ebenen“ zu.<br />
Zur Konzeptmodellierung kann auch ausschließlich Mengenlehre und Prädikatenlogik erster<br />
Stufe verwendet werden. Ein Beispiel hier<strong>für</strong> ist die Beschreibung von Petrinetzen in [Brinkkemper,<br />
1990, S.36ff]. Die Petri-Netz-Konzepte „Stellen“, „Transitionen“ und „Flußkanten“ werden<br />
hierbei durch Mengen modelliert. Beziehungen zwischen den Konzepten werden durch Prädikate<br />
über diesen Mengen zur Beschreibung der Adjazenzbeziehungen zwischen Stellen und Transitionen<br />
über Flußkanten notiert. Zusätzliche Einschränkungen an die so modellierte Struktur werden<br />
in prädikatenlogischen Termen angegeben.<br />
Die ebenfalls auf Mengenlehre und Prädikatenlogik aufbauende Spezifikationssprache Z [Spivey,<br />
1992] wird in [Miˇsić / Moser, 1997] zu Konzeptmodellierung objektorientierter Systeme<br />
verwendet. Basistypen modellieren hier die grundlegenden Entitäten wie „Object“ und „Interface“.<br />
Beziehungen zwischen diesen werden durch Relationen beschrieben, die mit zusätzlichen<br />
Einschränkungen in Z -Schemata zusammengefaßt sind. In ähnlicher Form wird die Spezifikationssprache<br />
GRAL [Capellmann / Franzke, 1991], die als Erweiterung von Z um graphentheoretische<br />
Konstrukte aufgefaßt werden kann, in [Winter, 1992] zur Konzeptmodellierung <strong>für</strong> Beschreibungsmittel<br />
des Objekt-Beziehungsparadigmas verwendet. Sowohl die Entitäten wie auch<br />
die Beziehungen und die Attributstrukturen der Objekt-Beziehungsmodellierung werden hierzu<br />
durch Z -Schemata abgebildet. Diese Schemata gehen als Komponenten in ein Schema zur<br />
Spezifikation der Klasse der Objekt-Beziehungsdiagramme ein. Zusätzliche Einschränkungen<br />
an das Zusammenspiel der Komponentenschemata werden durch entsprechende Z -Prädikate<br />
formalisiert. Von diesem (<strong>Referenz</strong>-) Modell wurden spezielle Modelle zur Beschreibung der<br />
Entity-Relationship-Diagramme nach [Elmasri / Navathe, 2000], der generischen <strong>Se</strong>mantischen<br />
Modelle nach [Hull/King, 1987] und der NIAM-Informationsstruktur-Diagramme nach [Verheijen/van<br />
Bekkum, 1982] abgeleitet. Die objektorientierte Z -Erweiterung ObjectZ wird in [Saeki,
5.1 Konzeptmodellierung 143<br />
1995] zur Konzeptmodellierung von Entity-Relationship-Diagrammen, Klassendiagrammen und<br />
Statecharts verwendet. Wie in [Winter, 1992] und [Miˇsić / Moser, 1997] werden auch hier die<br />
einzelnen Konzeptmodelle durch Z -Schemata modelliert, die die entsprechenden Konzepte als<br />
Komponenten enthalten. Neben diesen statischen Modellaspekten wird auch das Verhalten der<br />
Modelle durch entsprechende Methoden-Schemata beschrieben, die mit den statischen Schemata<br />
zusammengefaßt sind. Die Integration der einzelnen ObjectZ -Konzeptmodelle erfolgt durch<br />
zusätzliche Schemata, die die hierzu nötigen Prädikate enthalten.<br />
Grundsätzlich können zur Konzeptmodellierung sowohl die <strong>visuelle</strong>n, semiformalen Beschreibungsmittel<br />
des Objekt-Beziehungsparagdimas als auch die formalen, auf Prädikatenlogik basierenden,<br />
Ansätze verwendet werden. Die rein <strong>visuelle</strong>n Beschreibungsmittel reichen jedoch<br />
häufig nicht aus, um ausreichend detailierte Konzeptmodelle zu erstellen. Außer zur Darstellung<br />
von Kardinalitätsbeziehungen und von wenigen semantischen Bedingungen fehlen Modellierungskonstrukte<br />
zur Beschreibung zusätzlicher Einschränkungen. Insbesondere fehlen auch<br />
Mittel zur Beschreibung zusätzlicher Bedingungen, die <strong>für</strong> die Integration von Teilmodellen zu<br />
einem größeren Konzeptmodell benötigt werden. Formale Beschreibungsformen bieten dagegen<br />
die gewünschte Ausdruckskraft, sind aber wenig anschaulich. Zur Konzeptmodellierung bietet<br />
sich daher eine Kombination aus Objekt-Beziehungsdiagrammen zur Beschreibung einfacher<br />
struktureller Zusammenhänge und einer formalen Notation zur Beschreibung komplexer Einschränkungen<br />
an.<br />
Zur Darstellung solcher einfacher strukturellen Zusammenhänge verwenden daher auch [Saeki,<br />
1995] und [Miˇsić / Moser, 1997] neben den Z -Modellen Objekt-Beziehungsdiagramme.<br />
Ebenso schlägt [Brinkkemper, 1990, S.38ff] zur Konzeptmodellierung eine Kombination von<br />
NIAM-Informationsstruktur-Diagrammen und prädikatenlogischen Formeln vor. Zur Beschreibung<br />
des UML-Metamodells wurden ebenfalls sowohl UML-Klassendiagramme [Booch et al.,<br />
1999, S. 105ff] als auch zusätzliche formale Integritätsbedingungen in der Object Constraint<br />
Language (OCL) [OMG, 1999, S. 6.1ff] verwendet.<br />
Wesentlich <strong>für</strong> das Zusammenwirken von formalen und semiformalen, <strong>visuelle</strong>n Beschreibungsmitteln<br />
ist, daß beide Beschreibungsformen auf einer einheitlichen formalen Basis aufbauen.<br />
Insbesondere sollte die <strong>Se</strong>mantik der semiformalen Beschreibungsmittel in einer mit dem verwendeten<br />
formalen Beschreibungsansatz kompatiblen Form definiert sein.<br />
In dieser Arbeit wird zur Konzeptmodellierung der EER/GRAL-Ansatz [Ebert et al., 1996b]<br />
verwendet, der auch zur Beschreibung der KOGGE- und EER/GRAL-<strong>Metaschema</strong>ta (vgl. Kapitel<br />
4.3) eingesetzt wurde. Einfache strukturelle Aspekte werden hierbei durch erweiterte Objekt-<br />
Beziehungsdiagramme (extended Entity-Relationship-Diagramms; EER) beschrieben. Zur Beschreibung<br />
zusätzlicher Einschränkungen wird die Spezifikationssprache GRAL (Graph Specification<br />
Language) [Franzke, 1997] eingesetzt. Während GRAL als Erweiterung der prädikatenlogischen<br />
Sprache Z um Konstrukte zur einfachen Beschreibung von Graphen [Ebert / Franzke,<br />
1995] zu betrachten ist, unterliegt dem verwendeten EER-Dialekt eine graphbasierte <strong>Se</strong>mantik.<br />
Die <strong>Se</strong>mantik des EER-Dialekts wurde in [Dahm et al., 1998a] in Z beschrieben. Gemeinsam mit<br />
der Software-Bibliothek GraLab [Dahm/Widmann, 1998] zur Bearbeitung von Graphen liegt mit<br />
EER/GRAL ein formal basierter und durchgängiger Modellierungs- und Implementationsansatz<br />
vor. Dieser wird im folgenden Kapitel eingeführt.
144 Graphbasierte Konzeptmodellierung<br />
5.2 Konzeptmodellierung mit EER/GRAL<br />
Die Grundlage der Konzeptmodellierung mit EER/GRAL bilden Graphen. Nach einer Einführung<br />
in die formale Basis der hier verwendeten TGraphen und in die Konzeptmodellierung mit<br />
TGraphen auf Ebene der Individualbegriffe in Kapitel 5.2.1 erfolgt in Kapitel 5.2.2 die Darstellung<br />
des EER/GRAL-Ansatzes zur Konzeptmodellierung auf Ebene der Allgemeinbegriffe.<br />
5.2.1 TGraphen<br />
Graphen sind ein ausdrucksstarkes Mittel zur Konzeptmodellierung, das in vielen Bereichen<br />
zur Beschreibung von Gegenständen und den zwischen ihnen bestehenden Beziehungen genutzt<br />
wird. Anwendung finden Graphen bei Modellierungen und hierauf aufsetzenden Analysen z. B.<br />
in Physik, in Chemie, in Netzwerktheorie, im Operations Research und in den Sozialwissenschaften.<br />
Aufgrund der einfachen bildlichen (graphischen) Darstellung von Zusammenhängen<br />
durch Graphen eignen sich diese auch als anschauliches Komm<strong>uni</strong>kationsmittel.<br />
Neben dieser Anschaulichkeit zeichnen sich Graphen auch als Mittel zur Konzeptmodellierung<br />
aus, weil sie auf formal eingeführten mathematischen Konstrukten basieren (vgl. z. B. [Harary,<br />
1976] oder [Wilson, 1976]). Insbesondere stellen Graphen das mathematische Modell <strong>für</strong><br />
beliebige Zusammenhänge dar, die durch binäre Relationen ausdrückbar sind. Darüber hinaus<br />
definieren Graphen eine Datenstruktur <strong>für</strong> die eine Vielzahl erprobter Algorithmen zur Analyse<br />
existieren (vgl. z. B. [Berge, 1976], [Even, 1979], [Ebert, 1981] oder [Mehlhorn, 1984]). Graphen<br />
erlauben somit sowohl eine durchgängige Modellierung als auch eine softwaretechnische<br />
Realisierung [Engels et al., 1992], [Ebert et al., 1996a].<br />
Bei der Modellierung mit Graphen werden die Gegenstände der zu beschreibenden Realität durch<br />
Knoten und die (binären) Beziehungen zwischen diesen durch Kanten beschrieben. So werden<br />
beispielsweise in einem Graphen zur Beschreibung eines Straßennetzes markante Plätze und<br />
Kreuzungen durch Knoten und die hierzwischen verlaufenden Straßen durch Kanten beschrieben.<br />
Je nach Modellierungsziel werden unterschiedliche Graphtypen verwendet. Interessiert nur,<br />
ob es zwischen zwei Plätzen eine Straßenverbindung gibt, reicht zur Modellierung in der Regel<br />
ein ungerichteter Graph aus, in dem durch die Kanten lediglich die Verbindung angezeigt<br />
wird. Ist aber zusätzlich zu berücksichtigen, in welcher Fahrtrichtung Straßen befahren werden<br />
können, muß die Fahrtrichtung in den Kanten repräsentiert werden. In diesem Fall spricht<br />
man von gerichteten Graphen. Sollen in dem Straßennetz beispielsweise Plätze von besonderem<br />
touristischen Wert von einfachen Straßenkreuzungen unterschieden werden, kann dieses durch<br />
Typisierung der Knoten erfolgen. Ebenso können durch Kantentypen z. B. Autostraßen, Fahrradwege<br />
und Fußgängerwege unterschieden werden. Graphen, bei denen Knoten und Kanten<br />
zu verschiedenen Typen zusammengefaßt sind, werden typisierte Graphen genannt. Sollen weiter<br />
z. B. die Namen von Plätzen oder Straßen abgebildet werden, werden Knoten und Kanten<br />
mit diesen zusätzlichen Informationen versehen. Solche Graphen, bei denen Knoten und Kanten<br />
weitere Attribute tragen können, heißen attributierte Graphen.
5.2 Konzeptmodellierung mit EER/GRAL 145<br />
Konzeptmodellierung mit Graphen<br />
Zur Konzeptmodellierung mit Graphen wird ein möglichst genereller Ansatz benötigt, der die<br />
verschiedenen Graphtypen geeignet zusammenfaßt. Solche generellen Ansätze werden beispielsweise<br />
bei der Konzeptmodellierung durch konzeptuelle Graphen, durch PROGRES-Graphen<br />
oder durch TGraphen eingeführt.<br />
Konzeptuelle Graphen (conceptual graphs) [Sowa, 1984, S 69ff], [Sowa, 1992], [Sowa/Zachman,<br />
1992] werden als anschauliche und leicht lesbare Notation <strong>für</strong> getypte Prädikatenlogik erster Stufe<br />
eingeführt und gehen auf Überlegungen zur Wissensrepräsentation zurück. Die Diskurswelt<br />
wird auch hier durch Objekte (concept) und Beziehungen (conceptual relation) modelliert. Sowohl<br />
die Objekte als auch die Beziehungen werden in konzeptuellen Graphen durch Knoten<br />
repräsentiert. Konzeptuelle Graphen werden daher als bipartite Graphen definiert, d. h. als Graphen<br />
mit zwei unterschiedlichen Arten von Knoten (<strong>für</strong> Objekte und Beziehungen), bei denen<br />
ausschließlich Knoten verschiedener Art miteinander verbunden sind.<br />
Konzepte dienen zur Repräsentation von Objekten und Attributen. Sie können durch eine Typangabe<br />
und eine Konkretisierung (referent) näher charakterisiert werden. Durch diese Konkretisierung<br />
können Attributwerte gesetzt oder Objektbezeichner definiert werden. Attribute werden<br />
in konzeptionellen Graphen durch mit Literalen konkretisierte Objektknoten modelliert und können<br />
ausschließlich Objekten zugeordnet werden. Ein eigenständiges Attributierungskonzept liegt<br />
nicht vor. Es ist ferner möglich, Objekte zu quantifizieren und Aussagen über Objektmengen zu<br />
formulieren. Dieses erfolgt jeweils durch zusätzliche Annotation der Konzeptknoten.<br />
Beziehungsknoten beschreiben die Zusammenhänge zwischen Objektknoten. Zur Modellierung<br />
von Reihenfolgen können diese Inzidenzen angeordnet werden. Ein Beziehungsknoten muß zu<br />
mindestens einem Objektknoten adjazent sein. Wie auch die Objektknoten können die Beziehungsknoten<br />
typisiert werden. Das hierbei verwendete hierarchische Typkonzept erlaubt auch<br />
Mehrfachvererbungen. Darüber hinaus wird gefordert, daß konzeptuelle Graphen nur endlich<br />
viele Objekt- und Beziehungs-Knoten besitzen, die alle untereinander verbunden sind. Konzeptuelle<br />
Graphen können daher als gerichtete, bipartite, zusammenhängende, endliche, angeordnete<br />
und typisierte Graphen aufgefaßt werden.<br />
Die bei [Sowa, 1984] verwendeten Graphen können auch als Hypergraphen (vgl. z. B. [Berge,<br />
1976, S. 389ff]) aufgefaßt werden, bei denen die Konzeptbeziehungen als Ò-äre Kanten<br />
(Ò 1) betrachtet werden. Wird die Arität der Beziehungskonzepte auf binäre Beziehungen<br />
eingeschränkt, können die Beziehungen auch direkt durch Kanten modelliert werden. Ein spezieller<br />
Knotentyp oder eine hypergraphenartige Betrachtung der Kanten zur Repräsentation von<br />
Beziehungen ist dann nicht nötig. Durch die Einschränkung auf ausschließlich binäre Beziehungen<br />
wird die Ausdrucksmächtigkeit der Graphen nicht eingeschränkt, da Ò-äre Beziehungen<br />
(Ò 2) durch Modellierung der Beziehung als zusätzlichen Knoten und Ò binären Beziehungen<br />
zwischen diesem und den hiermit in Beziehung gesetzten Knoten modelliert werden kann.<br />
In PROGRES (PROgrammed Graph REwriting System) [Schürr, 1991a], [Schürr, 1991b], [Zündorf,<br />
1996] werden zur Konzeptmodellierung endliche, typisierte, attributierte und gerichtete<br />
Graphen verwendet. Die Typisierung bezieht sich sowohl auf Knoten als auch auf Kanten. Die<br />
Attributierung, die im Gegensatz zu [Sowa, 1984] als eigenständiges Konzept aufgefaßt wird,<br />
wird aber ausschließlich auf Knoten bezogen.
146 Graphbasierte Konzeptmodellierung<br />
In dieser Arbeit erfolgt die Konzeptmodellierung auf Basis von TGraphen [Ebert / Franzke,<br />
1995]. TGraphen sind endliche, gerichtete, typisierte, attributierte und angeordnete Graphen,<br />
die somit eine Obermenge der konzeptuellen Graphen und der PROGRES-Graphen beschreiben.<br />
Wie auch in PROGRES-Graphen werden in TGraphen Knoten, Kanten und Attribute als eigenständige<br />
Konzepte betrachtet. Hier unterscheiden sich die Graphansätze auch von der gängigen<br />
Auffassung der objektorientierten Modellierung, in der Beziehungen zwischen Objekten eher<br />
als <strong>Referenz</strong>en durch Attribute eines Objekts beschrieben werden. In graphbasierten Ansätzen<br />
können dagegen objektartige und beziehungsartige Konzepte unabhängig voneinander betrachtet<br />
werden. Ebenso erlaubt die graphbasierte Modellierung auch die Untersuchung einer Beziehung<br />
ausgehend von jedem der (beiden) durch eine Kante verbundenen Objekte, unabhängig von der<br />
Kantenrichtung.<br />
Formalisierung von TGraphen 1<br />
TGraphen sind formal durch Z -Spezifikationen 2 eingeführt (vgl. [Dahm et al., 1998a]). Grundlegende<br />
Elemente (Element) zum Aufbau von TGraphen sind Knoten (Vertex) und Kanten (Edge),<br />
die durch die folgende freie Typdefinition eingeführt werden. Knoten und Kanten werden hierbei<br />
zur eindeutigen Identifizierung durch natürliche Zahlen modelliert.<br />
Element :: vertexÆ edgeÆ<br />
Vertex ranvertex<br />
Edge ranedge<br />
TGraphen sind gerichtet, d. h. eine Kante kann sowohl in einen Knoten eingehen (in) als auch<br />
aus ihm herausgehen (out). Konstanten zur Beschreibung der Kantenrichtungen werden durch<br />
Dir eingeführt.<br />
Dir :: in out<br />
Knoten und Kanten können in TGraphen typisiert und attributiert werden. Hierzu werden Typbezeichner<br />
(TypeId) und Attributbezeichner (AttrId) benötigt, die aus einer gegebenen Menge der<br />
Bezeichner (Id) entnommen werden. Die Zuordnung eines Attributbezeichners zu einem Wert<br />
(aus einer gegebenen Wertemenge Value) erfolgt durch die Funktion AttributeInstance<strong>Se</strong>t.<br />
IdValue℄<br />
TypeId Id<br />
AttrId Id<br />
AttributeInstance<strong>Se</strong>t AttrId Value<br />
1 Die im folgenden dargestellte Formalisierung von TGraphen und des hierauf basierenden EER/GRAL-Ansatzes<br />
zur graphbasierten Modellierung ist das Ergebnis langer und ausführlicher Diskussionen in der Arbeitsgruppe<br />
Ebert des Instituts <strong>für</strong> Softwaretechnik der Universität Koblenz-Landau. An der Entwicklung, Formalisierung<br />
und Erprobung wesentlich beteiligt waren Martin Castensen, Peter Dahm, Jürgen Ebert, Angelika Franzke und<br />
Manfred Kamp.<br />
2 Zur formalen Notation der in dieser Arbeit angesprochenen Zusammenhänge wird die Spezifikationssprache<br />
Z [King et al., 1988], [Spivey, 1992] verwendet. Einführungen in Z finden sich z. B. in [Diller, 1990] oder in<br />
[Wordsworth, 1993].
5.2 Konzeptmodellierung mit EER/GRAL 147<br />
Diese Grundstrukturen werden im Z -Schema Graph zusammengefaßt. TGraphen bestehen aus<br />
einer Folge von Knoten V und aus einer Folge von Kanten E. Knoten und Kanten werden hier als<br />
eigenständige und gleichberechtigte Konzepte betrachtet. Jedem Knoten ist eine evtl. leere, geordnete<br />
Liste Λ von Kanten (ohne Doppeleinträge [TGraph 1]) zugeordnet, in der <strong>für</strong> jede Kante<br />
markiert wird, ob sie in den Knoten eingeht oder aus ihm ausgeht. Jede Kante ist zu genau einem<br />
Knoten als eingehende und zu genau einem Knoten als ausgehende Kante inzident [TGraph 2].<br />
Zur Typisierung und Attributierung ist jedem Knoten und jeder Kante des betrachteten TGraphen<br />
([TGraph 3] und [TGraph 4]) ein Typbezeichner (type) und eine (evtl. leere) Menge von<br />
Attribut-Werte-Paaren (value) zugeordnet.<br />
ÌÖÔ<br />
V : iseq Vertex<br />
E : iseq Edge<br />
Λ : Vertex seq Edge ¢ Dir<br />
type : Element TypeId<br />
value : Element AttributeInstance<strong>Se</strong>t<br />
[TGraph 1]:<br />
Λ ranV iseq E¢Dir<br />
[TGraph 2]:<br />
e :ranE ¯ 1 vw :ranV ¯ ein ran Λ v eout ran Λ w<br />
[TGraph 3]:<br />
domtype V E<br />
[TGraph 4]:<br />
domvalue V E<br />
Die hier skizzierte Definition von TGraphen ist sehr allgemein gehalten. Beispielsweise wird<br />
hier nicht gefordert, daß Attributstrukturen von Knoten und Kanten nach deren Typzugehörigkeit<br />
definiert sind. Auch werden dieselben Typen <strong>für</strong> Knoten und Kanten zugelassen. Einschränkungen<br />
dieser Art werden erst bei einer Konzeptmodellierung auf Ebene der Allgemeinbegriffe<br />
interessant, so daß diese in Abschnitt 5.2.2 zur Beschreibung von Klassen von TGraphen berücksichtigt<br />
werden.<br />
Modellierung mit TGraphen<br />
Die Darstellung von TGraphen erfolgt durch die <strong>visuelle</strong>n Sprachen des Objekt-Instanzparadigmas.<br />
Der im EER/GRAL-Ansatz verwendete Darstellungsdialekt wurde in Kapitel 3.5.1 als<br />
notationelle Grundform des Objekt-Instanzparadigmas eingeführt.<br />
Generelle Modellierungsprinzipien zur Modellierung mit TGraphen werden in [Ebert et al.,<br />
1996b] formuliert. Die zu beschreibenden Konzepte sind je nach Modellierungsziel auf durch<br />
Knoten repräsentierte Objekte oder auf durch Kanten repräsentierte Beziehungen abzubilden:<br />
¯ Jedes <strong>für</strong> den Modellierungskontext relevante Objekt wird durch genau einen Knoten modelliert.<br />
¯ Jede Beziehung zwischen solchen Objekten wird durch genau eine Kante beschrieben.
148 Graphbasierte Konzeptmodellierung<br />
¯ Ähnliche Objekte bzw. Beziehungen werden durch Knoten bzw. Kanten desselben Typs<br />
modelliert.<br />
¯ Weitere charakteristische Informationen zu Objekte und Beziehungen werden in Attributinstanzen<br />
zu den jeweiligen Knoten und Kanten notiert.<br />
¯ Die Festlegung der Anordnung der Beziehungen zueinander erfolgt durch Definition einer<br />
Kantenreihenfolge.<br />
Die Entscheidung, ob ein Konzept als Objekt oder als Beziehung aufgefaßt wird und dementsprechend<br />
als Knoten oder Kante modelliert wird, ist vom Modellierungsziel und von der individuellen<br />
Wahrnehmung des Modellierers abhängig. Gleiches gilt auch <strong>für</strong> die Einordnung als Konzept<br />
oder als Attribut. Als grundsätzliche Richtlinie sollten aber wesentliche und explizit benötigte<br />
Konzepte, die auch die Struktur des Modells bestimmen, durch Objekte beschrieben werden.<br />
Konzepte, die eher Zuordnungen der Objekte in bestimmten Kontexten beschreiben, sollten als<br />
Beziehungen aufgefaßt werden. Durch Attribute sollten solche Wahrnehmungen modelliert werden,<br />
denen im aktuellen Modellierungskontext keine eigenständige Identität zugestanden wird.<br />
5.2.2 Graphklassen<br />
Erfolgt eine Modellierung auf Ebene der Allgemeinbegriffe, steht nicht mehr die Modellierung<br />
eines einzelnen Objekts oder einer einzelnen Beziehung zwischen zwei Objekten im Vordergrund.<br />
Betrachtet werden hier Mengen (oder Klassen) von Objekten und Beziehungen, die<br />
aufgrund gleicher Merkmale oder struktureller Eigenschaften gebildet werden. Aus Sicht der<br />
graphbasierten Konzeptmodellierung auf Allgemeinbegriff-Ebene sind folglich Schemata zur<br />
Beschreibung von Mengen von Graphen mit gleichen Eigenschaften zu untersuchen. Diese<br />
Graphmengen werden auch Graphklassen genannt.<br />
Konzeptmodellierung mit Graphklassen<br />
Graphklassen können zu einen operational mit Hilfe von Graphgrammatiken oder deklarativ<br />
durch direkte Angabe der geforderten Eigenschaften definiert werden.<br />
Die operationale Definition einer Graphklasse durch Graphgrammatiken (vgl. z. B. [Nagl, 1979],<br />
[Göttler, 1988], [Schürr/Westfechtel, 1992], [Rozenberg, 1997]) besteht im wesentlichen aus einem<br />
Startgraphen und einer Regelmenge zur Festlegung von Graphproduktionen. Durch Graphproduktionen<br />
werden — analog zu den Regeln in Grammatiken textueller Sprachen — Regeln<br />
zur Ersetzung eines (nicht-terminalen) Teilgraphen durch einen anderen Teilgraphen sowie die<br />
Einbettung dieses Teilgraphen in den Ursprungsgraphen formuliert. Die hierdurch definierte<br />
Graphklasse umfaßt alle Graphen, die ausgehend von dem Startgraphen durch Anwendung der<br />
Graphproduktionen generiert werden können und keine weiteren, nicht-terminalen Teilgraphen<br />
enthalten. Die Grapheigenschaften werden bei der Definition durch Graphgrammatiken indirekt<br />
durch einen Generierungsprozeß festgelegt.<br />
Deklarative Ansätze zur Festlegung von Graphklassen beschreiben dagegen die Menge der gültigen<br />
Graphen direkt durch Angabe der Grapheigenschaften. Diese Eigenschaften betreffen zum
5.2 Konzeptmodellierung mit EER/GRAL 149<br />
einen die Graphkomponenten, d. h. die zugelassenen Knoten- und Kantentypen, deren Attributstruktur<br />
und die Inzidenzbeziehungen zwischen Knoten- und Kantentypen. Zum anderen sind<br />
auch strukturelle Anforderungen an den gesamten Graphen wie z. B. die Forderung nach Azyklizität<br />
oder Baumartigkeit zu formulieren.<br />
Die deklarative Beschreibung von Graphklassen erfolgt mit den Beschreibungsmitteln des<br />
Objekt-Beziehungsparadigmas ergänzt um zusätzliche Einschränkungen (vgl. z. B. [Elmasri /<br />
Wiederhold, 1983] [Carstensen et al., 1994], [Schürr, 1994], [Ebert / Franzke, 1995]). Knotenund<br />
Kantentypen werden hierbei durch Objekt- und Beziehungstypen definiert. Durch die Attributzuordnung<br />
der Objekt- und Beziehungstypen wird die Attributstruktur der Graphen und<br />
durch die Inzidenzen der Beziehungstypen wird die Inzidenzstruktur der Graphen festgelegt.<br />
Zur Strukturierung der Graphklassen-Definitionen können auch die höheren Modellierungskonstrukte<br />
der Objekt-Beziehungsmodellierung wie Generalisierung und Aggregation verwendet<br />
werden. Die Formulierung zusätzlicher Einschränkungen, die nicht graphisch durch Objekt-<br />
Beziehungsdiagramme notiert werden, erfolgt durch passende formale graphische oder textuelle<br />
Notationen.<br />
Das Graph Ersetzungssystem PROGRES (PROgrammed Graph REwriting System) [Schürr,<br />
1991a], [Zündorf, 1996] kann als graphbasierter Ansatz zur Konzeptmodellierung aufgefaßt werden,<br />
der deklarative Beschreibungen von Graphklassen mit Produktionen der Graphgrammatiken<br />
verbindet. Deklarative Graphklassen-Spezifikationen werden hier zur konzeptionellen Beschreibung<br />
der statischen Struktur eines Systems verwendet. Produktionsregeln beschreiben erlaubte<br />
Veränderungen dieser Graphen. Diese Produktionsregeln sind im Gegensatz zu Graphgrammatiken<br />
so angelegt, daß die resultierenden Graphen ebenfalls der spezifizierten Graphklassendefinition<br />
genügen.<br />
Zur Definition der Graphklassen kann in PROGRES alternativ eine textuelle oder eine graphische<br />
Notation [Schürr, 1994] verwendet werden. PROGRES unterstützt hierbei die Definition von<br />
Knoten- und Kantentypen. Knotentypen können sowohl in einer Typhierarchie mit Mehrfachvererbung<br />
angeordnet sein als auch mit Attributierungsschemata versehen werden. Für Kanten<br />
ist lediglich eine flache Typstruktur ohne Attributierung vorgesehen. Ein Verlust an Ausdrucksmächtigkeit<br />
entsteht hierdurch nicht, da attributierte Kanten auch durch Knoten mit entsprechenden<br />
(nicht-attributierten) Inzidenzen modelliert werden können (vgl. auch [Zinnen, 1995]). Knotenattribute<br />
können sowohl Werte der aus Programmiersprachen bekannten Standardtypen als<br />
auch Werte bereits definierter Knotentypen annehmen. Solche Knoten-wertigen Attribute stellen<br />
jedoch nur eine alternative Kantennotation dar. Darüber hinaus werden in PROGRES intrinsische<br />
Attribute, die originär Knoten zugeordnet sind, und abgeleitete Attribute unterschieden, die<br />
durch Berechnungsvorschriften aus dem vorliegenden Graphen ermittelt werden. Mit Ausnahme<br />
der Generalisierung unterstützt PROGRES keine weiteren höheren Modellierungskonstrukte.<br />
Zusätzliche Integritätsbedingungen können in PROGRES ebenfalls sowohl textuell als auch<br />
graphisch notiert werden [Münch et al., 1998]. Aufgrund der Ausrichtung von PROGRES als<br />
Graphersetzungssystem ist der auch Formalismus zur Beschreibung der Integritätsbedingungen<br />
deutlich auf die Verwendung in Graphersetzungsregeln bezogen. Integritätsbedingungen werden<br />
durch Graphmuster notiert, die in All- und Existenzaussagen eingebunden werden können.<br />
Die Konzeptmodelle zur Beschreibung des <strong>Referenz</strong>-<strong>Metaschema</strong>s der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong><br />
der Organisations- und Softwaretechnik werden deklarativ durch EER/GRAL-<br />
Graphklassen beschrieben. Die statische Struktur der hierin enthaltenen TGraphen wird mit Hilfe
150 Graphbasierte Konzeptmodellierung<br />
von erweiterten Objekt-Beziehungsdiagrammen dargestellt. Im Gegensatz zu PROGRES werden<br />
in diesem Ansatz zur graphbasierten Konzeptmodellierung auch Kanten als Objekte erster<br />
Ordnung verstanden, d. h. Kanten können attributiert und in ein hierarchisches Typsystem eingeordnet<br />
werden (vgl. hierzu auch die auf [Frege, 1891] zurückgehende Gleichbehandlung von<br />
Begriffen und Beziehungen. Neben der Generalisierung steht dem Modellierer in EER/GRAL<br />
auch die Aggregation als höheres Modellierungskonstrukt zur Verfügung. Zusätzliche Integritätsbedingungen<br />
werden in der Spezifikationssprache GRAL (GRAph specification Language)<br />
notiert, die Prädikatenlogik erster Stufe mit mehreren, endlichen Sortenmengen unterstützt.<br />
Zur Definition von Graphklassen sind drei Aspekte genauer zu betrachten. Im Typsystem wird<br />
festgelegt, welche Knoten- und Kantentypen in der Graphklasse erlaubt sind, wie diese attributiert<br />
sind, und wie diese in der Typhierarchie angeordnet sind. Das Inzidenzsystem bildet die<br />
Beziehungen zwischen Knoten- und Kantentypen ab. Es legt fest, welchen Knotentyp die Knoten<br />
haben, die über eine Kante des betrachteten Kantentyps zueinander adjazent sind. Im Invariantensytem<br />
werden zusätzlich Anforderungen an die Graphklasse definiert. Während das Typ- und<br />
das Invariantensystem vollständig mit Sprachen des Objekt-Beziehungsparadigmas (vgl. Kapitel<br />
3.5.3) beschrieben werden können, können aus dem Invariantensystem nur Anforderungen zur<br />
Kardinalität und zur Injektivität von Beziehungen graphisch notiert werden. Weitere Invarianten<br />
sind textuell durch GRAL zu notieren.<br />
Formalisierung von Graphklassen<br />
Im folgenden werden zunächst die Schemata zur Definition von Graphklassen formal spezifiziert.<br />
Da diese Schemata originär Objekt-Beziehungsdiagramme (extended Entity-Relationship-<br />
Diagramme; EER) sind, die mit einer graphbasierten <strong>Se</strong>mantik versehen sind, erfolgt die Spezifikation<br />
allgemein und in der Terminologie der Objekt-Beziehungsmodellierung. Anschließend<br />
wird die graphbasierte <strong>Se</strong>mantik dieser Objekt-Beziehungsdiagramme durch Angabe der TGraphen,<br />
die zu einem solchen Schema „passen“, denotationell spezifiziert. Hierbei werden Knoten<br />
als Extensionen der Objekttypen und Kanten als Extensionen der Beziehungstypen aufgefaßt<br />
[Dahm et al., 1998a]. Eine Einführung in graphische Notation zur Formulierung von Graphklassen<br />
und in GRAL beschließt dieses Kapitel.<br />
Typsystem. Das Typsystem (TypeSystem) einerEER-Schemadefinition definiert sowohl die<br />
Objekt- und Beziehungstypen als auch die Zuordnung von Attributschemata zu diesen Typen.<br />
Zunächst wird die Menge der Typbezeichner (types) festgelegt. Eine Teilmenge hiervon bildet<br />
die Menge abstrakten Typbezeichner (abstractTypes)[TS1] 3 . Die Typbezeichner werden in Bezeichner<br />
<strong>für</strong> Objekttypen (entityTypes) und <strong>für</strong> Beziehungstypen (relationshipTypes) unterschieden<br />
[TS 2]. Zur Notation unterschiedlicher Rollen in Aggregationen werden Rollentypbezeichner<br />
(roleTypes) eingeführt. Diese Rollen werden als Beziehungen aufgefaßt [TS 3].<br />
In dem hier verwendeten Entity-Relationship-Modell können sowohl Objekttypen als auch Beziehungstypen<br />
attributiert werden. Jedem Typbezeichner eines Modells wird hierzu durch die<br />
3 In der <strong>Se</strong>mantikdefinition wird hierzu später definiert, daß in einem Graphen zu diesen abstrakten Typen keine<br />
Instanzen existieren.
5.2 Konzeptmodellierung mit EER/GRAL 151<br />
Abbildung typeDefinition<strong>Se</strong>t ein (evtl. auch leeres) Attributschemata (AttributsSchema) zugeordnet<br />
[TS 4]. Attributschemata sind hierzu als endliche Abbildungen der Attributbezeichner<br />
(AttrId) in eine Wertebereichsmenge (Domain) definiert.<br />
AttributeSchema AttrId Domain<br />
Die in EER/GRAL verwendete Wertebereichsmenge bezieht sich auf die Standardwertebereiche<br />
<strong>für</strong> ganze und reelle Zahlen, <strong>für</strong> Zeichenketten, <strong>für</strong> Wahrheitswerte und Aufzählungen. Desweiteren<br />
können zusammengesetze Wertebereiche durch Listen-, Tupel- und Recordbildung definiert<br />
werden (vgl. [Dahm et al., 1998a, Anhang 4.A]).<br />
TypeSystem<br />
types : TypeId<br />
abstractTypes : TypeId<br />
entityTypes : TypeId<br />
relationshipTypes : TypeId<br />
roleTypes : TypeId<br />
typeDefinition<strong>Se</strong>t : TypeId AttributeSchema<br />
isA : TypeId TypeId<br />
[TS 1]: abstractTypes types<br />
[TS 2]: entityTypesrelationshipTypespartition types<br />
[TS 3]: roleTypes relationshipTypes<br />
[TS 4]: dom typeDefinition<strong>Se</strong>t types<br />
[TS 5]: isA entityTypes ¢ entityTypes <br />
relationshipTypes ¢ relationshipTypes<br />
[TS 6]: r 1 r 2 : relationshipTypes r 1 isA r 2 ¯ r 2 roleTypes r 1 roleTypes<br />
[TS 7]: tt 1 t 2 : types tisA £ t 1 tisA £ t 2 ¯<br />
a : AttrId a dom typeDefinition<strong>Se</strong>t t 1 dom typeDefinition<strong>Se</strong>t t 2 ¯<br />
typeDefinition<strong>Se</strong>t t 1 a typeDefinition<strong>Se</strong>t t 2 a<br />
[TS 8]: Entity entityTypes<br />
[TS 9]: Relationship relationshipTypes<br />
[TS 10]: e : entityTypes ¯ eisA £ Entity<br />
[TS 11]: r : relationshipTypes ¯ risA £ Relationship<br />
Zur Festlegung einer Typhierarchie wird die Relation isA eingeführt. Hierbei sind zwei voneinander<br />
unabhängige Typhierarchien <strong>für</strong> Objekt- und Beziehungstypen zu fordern [TS 5]. Für<br />
rollenwertige Beziehungstypen wird darüber hinaus gefordert, daß deren Untertypen ebenfalls<br />
rollenwertig sind [TS 6]. Um Konflikte bei den Attributstrukturen der Untertypen auszuschließen,<br />
wird ferner in [TS 7] verlangt, daß gleichnamigen Attributen in Ober- und Untertyp auch<br />
die gleichen Wertebereiche zugeordnet sind.<br />
Um einfach Aussagen über jeweils alle Objekt- oder Beziehungstypen formulieren zu können,<br />
werden generelle Obertypen Entity und Relationship eingeführt, die Bestandteil jedes Typsystems<br />
sind [TS 8], [TS 9].
152 Graphbasierte Konzeptmodellierung<br />
Entity : TypeId<br />
Relationship : TypeId<br />
Entity Relationship<br />
Alle Objekttypen sind dann Untertypen von Entity [TS 10] und alle Beziehungstypen sind Untertypen<br />
von Relationship [TS 11].<br />
Inzidenzsystem. Die Zusammenhänge zwischen Objekttypen und Beziehungstypen werden<br />
im Inzidenzsystem beschrieben, das hierzu das Schema TypeSystem des Typsystems inkludiert.<br />
Jedem Beziehungstyp wird durch die Funktion relates ein Paar von Objekttypen zugeordnet [IncS<br />
1], [IncS 2]. Hierdurch wird auch die Richtung der Beziehungstypen definiert und bestimmt,<br />
daß Beziehungstypbezeichner modellweit eindeutig sind. 4<br />
IncidenceSystem<br />
TypeSystem<br />
relates : TypeId TypeId ¢ TypeId<br />
aggregatesInDir : TypeId<br />
[IncS 1]: dom relates relationshipTypes<br />
[IncS 2]: ranrelates entityTypes ¢ entityTypes<br />
[IncS 3]: r 1 r 2 : relationshipTypes r 1 × £ r 2 ¯<br />
first relates r 1 isA £ first relates r 2<br />
second relates r 1 isA £ second relates r 2<br />
[IncS 4]: aggregatesInDir roleTypes<br />
[IncS 5]: r 1 r 2 : roleTypes r 1 isA £ r 2 ¯<br />
r 1 aggregatesInDir r 2 aggregatesInDir<br />
Werden zu einem Beziehungstyp Untertypen gebildet, ist sicherzustellen, daß die durch den Untertyp<br />
in Beziehung gesetzten Objekttypen auch mit den durch den Obertyp in Beziehung gesetzten<br />
Objekttypen verträglich sind [IncS 3]. Start- bzw. Ziel-Objekttyp des Unterbeziehungstyps<br />
müssen gleich oder Untertypen der entsprechenden Objekttypen zum Oberbeziehungstyp sein.<br />
Aggregationsbeziehungen werden durch roleTypes modelliert. Hierdurch werden Komponente<br />
und Aggregat in Beziehung gesetzt. Die Aggregationsbeziehung kann sowohl auf die Komponente<br />
als auch auf das Aggregat gerichtet sein. Zur Unterscheidung wird die Menge aggregatesInDir<br />
als Teilmenge von roleTypes eingeführt [IncS 4]. Ist der betrachtete Rollentyp in dieser Menge<br />
enthalten, so beschreibt der Ziel-Objekttyp der Beziehung den Typ der Aggregate, andernfalls<br />
den der Komponente. Diese Ausrichtung der Beziehung wird auch auf hiervon abgeleitete Untertypen<br />
übertragen [IncS 5].<br />
Invariantensystem. Im EER-Teil des Invariantensystems (InvariantSystem) werden schließlich<br />
Aussagen zur Kardinalität und zur Injektivität der Beziehungen formalisiert. Das entsprechende<br />
Z -Schema, inkludiert das zuvor definierte Inzidenz-System IncidenceSystem.<br />
4 In konkreten EER/GRAL-Modellierungen werden zur Beschreibung ähnlicher Beziehungstypen häufig dieselben<br />
Beziehungstyp-Bezeichner verwendet. Diese modellieren dann jeweils, nicht explizit ausgewiesene, eindeutige<br />
Spezialisierungen entspechender Supertypen.
5.2 Konzeptmodellierung mit EER/GRAL 153<br />
Kardinalitäten sind durch ein Paar von natürlichen Zahlen zur Beschreibung der Ober- und Untergrenze<br />
formalisiert, wobei die Untergrenze kleiner oder gleich der Obergrenze sein muß.<br />
ÖÒÐØÝ<br />
min : Æ<br />
max : Æ1<br />
min max<br />
Jedem Beziehungstyp wird in InvariantSystem durch die Funktion limits ein Paar von Kardinalitäten<br />
zugeordnet [InvS 1]. Diese definieren wie viele Beziehungen des angegebenen Typs ein<br />
Objekt des Start- bzw. Zieltyps eingehen darf. Für Beziehungstypen kann ferner noch durch die<br />
Menge injective gefordert werden, daß höchstens eine Beziehung diesen Typs dieselben Objekte<br />
in derselben Richtung miteinander verbinden darf [InvS 2]. Diese Eigenschaft überträgt sich<br />
auch auf abgeleitete Unterbeziehungstypen [InvS 3].<br />
InvariantSystem<br />
IncidenceSystem<br />
limits : TypeId Cardinality ¢ Cardinality<br />
injective : TypeId<br />
[InvS 1]: dom limits relationshipTypes<br />
[InvS 2]: injective relationshipTypes<br />
[InvS 3]: r 1 r 2 : relationshipTypes r 1 isA £ r 2 ¯ r 2 injective r 1 injective<br />
EER-Schema. Typsystem, Inzidenzsystem und EER-Teil des Invariantensystem werden im<br />
Schema EERSchema zusammengefaßt.<br />
EERSchema<br />
InvariantSystem<br />
name : Id<br />
Ein EER-Schema umfaßt ein Invariantensystem und somit auch ein Inzidenz- und ein Typsystem<br />
sowie einen Bezeichner zur eindeutigen Identifizierung des Schemas.<br />
TGraphen und EER-Schemata<br />
Durch ein EER-Schema wird eine Graphklasse definiert. Diese Graphklasse umfaßt alle TGraphen,<br />
die die durch das Schema formulierten Eigenschaften erfüllen. Die TGraph-basierte <strong>Se</strong>mantik<br />
von EER-Schemata wird durch die semantische Menge DEERSchema beschrieben.<br />
DEERSchema : EERSchema ÈTGraph<br />
eerSpec : EERSchema ¯<br />
DEERSchemaeerSpec℄℄ g : TGraph g EERSchema eerSpec
154 Graphbasierte Konzeptmodellierung<br />
Ein EER-Schema denotiert die Menge der TGraphen, die zu dem gegebenen Schema „passen“.<br />
Dieses wird durch die Relation EERSchema formalisiert, die bezogen auf das Typsystem, das<br />
Inzidenzsystem und den EER-Teil des Invariantensystem definiert wird.<br />
Typsystem. Ein Graph paßt genau dann zu einem Typsystem, wenn die Menge der Objekttypen<br />
des Typsystems alle im Graphen verwendeten Knotentypen [matchesTS 1] und die Menge der<br />
Beziehungstypen alle im Graphen verwendeten Kantentypen [matchesTS 2] enthält. Der Graph<br />
darf keine Elemente eines abstrakten Typs enthalten [matchesTS 3]. Dieses wird durch die Relation<br />
TypeSystem formalisiert:<br />
TypeSystem : TGraph TypeSystem<br />
G : TGraph; TypeSystem ¯<br />
G TypeSystem θTypeSystem<br />
[matchesTS 1]: v : GV ¯ type v entityTypes<br />
[matchesTS 2]: e : GE ¯ type e relationshipTypes<br />
[matchesTS 3]: elem : GV GE ¯ Gtype elem abstractTypes<br />
[matchesTS 4]: elem : GV GE ¯ Gvalue elem AttributeSchema<br />
t : types Gtype elem isA £ t ¯ typeDefinition<strong>Se</strong>t t <br />
Neben diesen strukturellen Eigenschaften muß auch sichergestellt sein, daß die Attributwerte aller<br />
Graphelemente den im Schema definierten Wertebereichen genügen [matchesTS 4]. Hierbei<br />
ist die Vererbung der Attributschemata der jeweiligen Obertypen zu beachten. Die Attributbelegungen<br />
(AttributeInstance<strong>Se</strong>t) der Graphelemente müssen der Zusammenfassung der Attributschemata<br />
dieser Obertypen genügen.<br />
AttributeSchema : AttributeInstance<strong>Se</strong>t AttributeSchema<br />
inst : AttributeInstance<strong>Se</strong>t; def : AttributeSchema; db : LegalDomainBinding ¯<br />
inst AttributeSchema def<br />
[matchesAS 1]: dominst dom def<br />
[matchesAS 2]: attr : dominst ¯ inst attr value<strong>Se</strong>tOf def attr<br />
Eine Attributbelegung paßt genau dann zu einem Attributschema (vgl. AttributeSchema), wenn<br />
die Attributbelegung und das Attributschema dieselben Attributbezeichner verwenden [matchesAS<br />
1] und die Attributwerte Elemente der Wertemenge des entsprechenden Wertebereichs [matchesAS<br />
2] sind. Diese Wertemengen werden durch die Funktion Value<strong>Se</strong>tOf : EERDomain <br />
È value über den Basiswertebereichen und den zusammengesetzten Wertebereichen definiert. Eine<br />
ausführliche Darstellung des in EER/GRAL auf Basis des Graphenlabors [Dahm / Widmann,<br />
1998] realisierten Wertebereichssystems ist in [Dahm et al., 1998a, Anhang 4.A] beschrieben.<br />
Inzidenzsystem. Die Relation IncidenceSystem definiert, wann ein Graph zu einem Inzidenzsystem<br />
paßt. Hierzu muß er zunächst dem im Inzidenzsystem enthaltenen Typsystem genügen<br />
[matchesIncS 1]. Ebenso müssen im Graph aber auch die Inzidenzdefinitionen des Schemas berücksichtigt<br />
werden [matchesIncS 2].
5.2 Konzeptmodellierung mit EER/GRAL 155<br />
Jede Kante eines dem Inzidenzsystem genügenden Graphen muß hierzu aus einem Knoten ausgehen<br />
bzw. in einen Konten eingehen, dessen Typ dem Start- bzw. Zieltyp des Beziehungstyps<br />
der Kante entspricht 5 . Hierbei sind auch die jeweiligen Untertypen zu berücksichtigen.<br />
IncidenceSystem : TGraph IncidenceSystem<br />
G : TGraph; IncidenceSystem ¯<br />
G IncidenceSystem θIncidenceSystem<br />
[matchesIncS 1]: G TypeSystem θTypeSystem<br />
[matchesIncS 2]: e : GE ¯<br />
Gtype α Ge isA £ first relates Gtype e <br />
Gtype ω Ge isA £ second relates Gtype e<br />
Invariantensystem. Durch die Relation ÁÒÚÖÒØËÝ×ØÑ wird festgelegt, wann ein Graph zu<br />
einem Invariantensystem paßt. Dieses ist genau dann der Fall, wenn der Graph auch zum enthaltenen<br />
Inzidenzsystem paßt [matchesInvS 1] und den Kardinalitäts- [matchesInvS 2] und Injektivitätsbedingungen<br />
[matchesInvS 3] genügt.<br />
InvariantSystem : TGraph InvariantSystem<br />
G : TGraph; InvariantSystem ¯<br />
G InvariantSystem θInvariantSystem<br />
[matchesInvS 1]: G IncidenceSystem θIncidenceSystem<br />
[matchesInvS 2]: r : relationshipTypes ¯<br />
v : GV Gtype v isA £ first relates r ¯<br />
first limits r min<br />
# GΛ Ú e : GE type e isA £ r ¯ eout <br />
first limits r max<br />
<br />
v : GV Gtype v isA £ second relates r ¯<br />
second limits r min<br />
# GΛ v e : GE type e isA £ r ¯ ein <br />
second limits r max<br />
[matchesInvS 3]: ee 1 e 2 : GE Gtype e injective<br />
Gtype e 1 isA £ GÎØÝÔ e isA £ Gtype e 2 ¯<br />
α e 1 α e 2 ω e 1 ω e 2 e 1 e 2<br />
Ein Graph erfüllt die Kardinalitätsbedingungen eines Invariantensystems, wenn jeder Knoten des<br />
Graphen zu nicht weniger und zu nicht mehr Kanten eines Typs inzident ist, als durch limits gefordert<br />
ist. Das erste Kardinalitätsintervall von limits definiert hierbei den Grad der Knoten des<br />
Start-Objekttyps und das zweite Kardinalitätsintervall den des Ziel-Objekttyps. Die Kardinalitätsangaben<br />
werden in EER/GRAL <strong>für</strong> den Beziehungstyp einschließlich seiner Untertypen fest-<br />
5 Die GRAL-Funktionen αω : TGraph¢ Edge Vertex bestimmen zu einer Kante den Start bzw. Zielknoten<br />
(vgl. auch Abbildung 5.7).
156 Graphbasierte Konzeptmodellierung<br />
gelegt, so daß der Grad jedes Knotens, bezogen auf Kanten der hierdurch definierten Beziehungstypen,<br />
zwischen der jeweiligen Untergrenze und Obergrenze liegen müssen. Die Injektivitäts-<br />
Invariante bezieht sich hierbei auf den Beziehungstyp einschließlich seiner Untertypen.<br />
EER-Schema. Die zuvor definierten Relationen werden in der Relation EERSchema zusammengefaßt.<br />
Ein Graph „paßt“ genau dann zu einem EER-Schema, wenn er dem Invariantensystem<br />
und damit auch zu den hierin enthaltenen Inzidenz- und Typsystemen genügt.<br />
EERSchema : TGraph EERSchema<br />
G : TGraph; EERSchema ¯<br />
G EERSchema θEERSchema G InvariantSystem θInvariantSystem<br />
Modellierung mit Graphklassen<br />
Zur Defintion von Graphklassen wird auf die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Objekt-<br />
Beziehungsparadigma (vgl. Kapitel 3.5.3) zurückgegriffen. Die graphische Notation wird im<br />
folgenden entlang des Typsystems, des Inzidenzsystems und des Invariantensystems beschrieben.<br />
Da die Definition von Kantentypen eng an die Festlegung des Inzidenzsystems gebunden<br />
ist, werden die graphischen Notationen des Typ- und Inzidenzsystems gemeinsam eingeführt.<br />
Typ- und Inzidenzsystem. Knotentypen werden durch ein Rechteck, das mit einem eindeutigen<br />
Typbezeichner6 annotiert ist, eingeführt. Linien, die ebenfalls mit einem modellweit eindeutigen<br />
Bezeichner markiert sind, notieren Kantentypen. Zur Festlegung des Inzidenzsystems<br />
verlaufen diese Linien zwischen den Repräsentation der Knotentypen, deren Adjazenz hierdurch<br />
definiert wird. Die Richtung des Kantentyps wird durch ein Winkelsymbol in der Mitte der Linie<br />
festgelegt.<br />
Die Definition der Attributstruktur von Knoten- und Kantentypen erfolgt in Ovalen, die Attributbezeichner<br />
und deren Wertebereiche enthalten. Attributstrukturen zu Knotentypen können<br />
alternativ auch in dem Rechteck zur Knotentypdefinition notiert werden.<br />
Beispiel 5.1 (Notation von Knoten- und Kantentypen)<br />
Eine einfache Graphklasse (simpleDataflowDescription) zur Konzeptmodellierung von<br />
Datenflußdiagrammen ist in Abbildung 5.2 dargestellt. Dieses EER-Diagramm definiert<br />
die Knotentypen Dataflow und Process, sowie einen Kantentyp relates. In hierzu passenden<br />
Graphen sind Knoten vom Typ Dataflow somit durch Kanten vom Typ relates mit<br />
Knoten vom Typ Process verbunden.<br />
Sowohl Dataflow- wie auch Process-Knoten sind mit einem string-wertigen name-Attribut<br />
ausgezeichnet. Das Winkelsymbol der relates-Beziehung zeigt an, daß relates-Kanten von<br />
Dataflow- nach Process-Knoten verlaufen. £<br />
Zur Generalisierung von Knotentypen werden zwei alternative Notationen verwendet. Die Hierarchie<br />
von Knotentypen kann zum einen durch die Venn-Notation ausgedrückt werden. Hierbei<br />
6 Knotentyp-, Kantentyp und Attributbezeicher werden in EER/GRAL-Modellen in englischer Sprache notiert.
5.2 Konzeptmodellierung mit EER/GRAL 157<br />
Dataflow<br />
name : string<br />
relates<br />
Process<br />
name: string<br />
Abbildung 5.2: Notation von Knoten- und Kantentypen<br />
werden die Untertypen in die Darstellung des Obertypen eingebettet 7 . Durch diese Notation wird<br />
symbolisiert, daß die Extensionen der Untertypen Teilmengen der Extensionen der Obertypen<br />
sind. Daneben hat diese Notationsform auch den Vorteil, daß Knotentyphierarchien auch zusammenhängend<br />
in einem Cluster (vgl. die Generalisierungs-Abstraktion als Clustering-Strategie<br />
in [Teorey et al., 1989]) dargestellt werden können. Alternativ kann auch die in [Rumbaugh et<br />
al., 1991] oder [Rumbaugh et al., 1999] verwendete „Dreiecks-Notation“ genutzt (vgl. Abbildung<br />
5.4) werden. Diese bietet sich vor allem bei der Modellierung von Mehrfachvererbungen<br />
an. Die Generalisierung von Kantentypen erfolgt durch Annotation mit den Bezeichnern der<br />
Obertypen. Zur Unterscheidung von Ober- und Untertyp werden die Namen der Obertypen in<br />
Klammern dargestellt. Abstrakte Knotentypen, d. h. Typen, zu denen keine direkten Instanzen<br />
existieren, werden durch Schraffuren und abstrakte Kantentypen durch unterbrochene Linien beschrieben.<br />
Beispiel 5.2 (Notation von Generalisierungen)<br />
Ein Beispiel <strong>für</strong> Generalisierungen wird durch die Graphklasse DataflowDescription in<br />
Abbildung 5.3 gegeben. Die Knotentypen Process und Terminator werden hier zu DfObject<br />
generalisiert. Von diesem abstrakten Obertypen erben Process und Terminator das name-<br />
Attribut.<br />
Dataflow<br />
name : string<br />
comesFrom<br />
(relates)<br />
relates<br />
goesTo<br />
(relates)<br />
DfObject<br />
Terminator<br />
Process<br />
name: string<br />
Abbildung 5.3: Notation von Generalisierungen<br />
Zur Unterscheidung von Quelle und Ziel eines Datenflusses werden die Kantentypen comesFrom<br />
und goesTo eingeführt. Diese sind Spezialisierungen des (abstrakten) Obertyps<br />
relates. £<br />
7 Diese Darstellung darf nicht verwechselt werden mit Notation der Aggregation in FUSION [Coleman et al.,<br />
1994] oder der Komposition in UML [Rumbaugh et al., 1999, S. 230], die in diesen Ansätzen durch Ineinander-<br />
Schachtelung ausgedrückt wird.
158 Graphbasierte Konzeptmodellierung<br />
Als eine Variante der Beziehungstypen werden Aggregationen verwendet. Aggregationen beschreiben<br />
solche Beziehungen zwischen Knotentypen, die anzeigen, daß der eine Knotentyp<br />
Bestandteil (Komponente) des anderen (Aggregat) ist. Aggregationen dienen auch zur Modellierung<br />
Ò-ärer Beziehungen. Zur Notation von Aggregationen werden auf der Spitze stehende<br />
Quadrate verwendet, die direkt an die Darstellung des Aggregat-Knotentyps angrenzen. Über mit<br />
Bezeichnern versehene Linien ist dieser mit den Komponenten-Knotentypen verbunden. Der Bezeichner<br />
beschreibt hierbei die Rolle, in der die Komponente in die Aggregation einfließt. Diese<br />
Beziehungstypen, sind analog zu Kantentypen durch Winkelsymbole zur Notation der Richtung<br />
markiert. Ferner kann ihnen in einen Oval eine Attributstruktur zugeordnet werden.<br />
Beispiel 5.3 (Notation von Generalisierungen und Aggregationen)<br />
Abbildung 5.4 zeigt das Klassendiagramm der Graphklasse RegularProcessDescription<br />
zur Beschreibung der Feinstruktur von Prozessen. Die Klasse der Process-Knoten wird<br />
hierbei in AtomicProcess, Iteration und <strong>Se</strong>quence spezialisiert. Hierzu wurde die Dreiecks-<br />
Notation verwendet.<br />
isProcessInIteration<br />
Atomic<br />
process<br />
Process<br />
Iteration <strong>Se</strong>quence<br />
Predicate<br />
hasAsPredicate<br />
isProcessIn<strong>Se</strong>quece<br />
Abbildung 5.4: Notation von Generalisierungen und Aggregationen<br />
Eine Iteration besteht hierbei aus einem Predicate, welches das Abbruchkriterium der Wiederholung<br />
angibt und aus dem iterierten Process. Prozesse treten hierbei in der Rolle isProcessInIteration<br />
und Prädikate in der Rolle hasAsPredicate auf. In dieser Aggregation ist die<br />
isProcessInIteration-Beziehung zum Aggregat hin und die hasAsPredicate-Beziehung zur<br />
Komponente hin ausgerichtet. Durch die Aggregation <strong>Se</strong>quence werden Folgen von Prozessen<br />
beschrieben. £<br />
Invariantensystem. Der graphisch ausdrückbare Anteil des Invariantensystems umfaßt die<br />
Angaben zur Kardinalität der Kantentypen und zur Definition injektiver Beziehungen.<br />
Kardinalitäten werden durch Annotation der Kantentypen an den jeweiligen Enden definiert.<br />
Markierungen am gegenüberliegenden Ende einer Linie machen hierbei Aussagen über den Grad
5.2 Konzeptmodellierung mit EER/GRAL 159<br />
eines Knotens bezogen auf den betrachteten Kantentyp. Gehen beliebig viele Kanten in den Knoten<br />
ein bzw. aus ihm aus, wird dieses durch eine doppelte, nicht ausgefüllte Pfeilspitze ()<br />
notiert. Eine ausgefüllte Doppelspitze (ÁÁ), fordert das Ein- bzw. Ausgehen von mindestens<br />
einer Kante, eine nicht ausgefüllte, einfache Pfeilspitze () fordert die Inzidenz von höchstens<br />
einer Kante und eine ausgefüllte, einfache Pfeilspitze (Á) fordert die Inzidenz von genau einer<br />
Kante. Werden darüber hinaus andere Einschränkungen benötigt, kann dieses durch entsprechende<br />
textuelle Markierungen erfolgen. In der graphischen Notation der EER-Diagramme werden<br />
Kantentypen grundsätzlich als injektiv angenommen. Sollen Mehrfachkanten zugelassen werden,<br />
wird dieses explizit durch einen Kreis (Æ) neben dem Winkelsymbol zur Beschreibung der<br />
Kanterichtung notiert.<br />
Beispiel 5.4 (Notation von Kardinalitäten)<br />
Das Klassendiagramm in Abbildung 5.5 faßt die Klassendiagramme aus Abbildung 5.3<br />
und 5.4 zur Definition der Graphklasse SimpleProcessDescription zusammen und ergänzt<br />
noch fehlende Invarianten.<br />
Dataflow<br />
name : string<br />
SimpleProcessDescription<br />
comesFrom<br />
(relates)<br />
relates<br />
goesTo<br />
(relates)<br />
isProcessInIteration<br />
Atomic<br />
process<br />
Ein einfaches<br />
EER/GRAL-Konzeptmodell<br />
<strong>für</strong> Datenflußdiagramme und<br />
reguläre Prozeßzerlegungen<br />
DfObject<br />
Terminator<br />
Process<br />
name: string<br />
Iteration <strong>Se</strong>quence<br />
Predicate<br />
hasAsPredicate<br />
isProcessIn<strong>Se</strong>quece<br />
Abbildung 5.5: Notation von Kardinalitäten und Injektivitäten<br />
Dataflow-Knoten sind über comesFrom bzw. über goesTo-Kanten zu genau einem Df-<br />
Object adjazent. Umgekehrt können aber DfObject-Knoten zu beliebig vielen Dataflow-<br />
Knoten benachbart sein.
160 Graphbasierte Konzeptmodellierung<br />
Mit den gleichen Mitteln werden auch die Invarianten zu Aggregationen definiert. Einer<br />
Iteration ist genau ein iterierter Prozess und genau ein Predicate zugeordnet. Ein Predicate<br />
kann aber in beliebig vielen Iterationen verwendet werden. Dagegen dürfen Prozesse<br />
Komponenten höchstens einer Iteration sein. Eine <strong>Se</strong>quence besteht aus einer nicht leeren<br />
Folge von Prozessen. Wie auch bei der Iteration können Prozesse nur Komponenten<br />
höchstens einer <strong>Se</strong>quence sein. £<br />
Kommentare zu Klassendiagrammen werden in EER/GRAL in einem Rechteck mit „Eselsohr“<br />
notiert.<br />
GRAL<br />
Zur Formulierung weiterer Invarianten ist die zuvor dargestellte <strong>visuelle</strong> Notation zur Beschreibung<br />
von Graphklassen noch um eine textuelle Sprache zu ergänzen. Hierzu wird die GRAph<br />
specification Language (GRAL) verwendet. Die erste Fassung von GRAL [Capellmann / Franzke,<br />
1991] wurde in verschiedenen Projekten (einen Überblick hierzu gibt [Ebert et al., 1996b]) eingesetzt<br />
und weiterentwickelt. Die aktuelle Version GRAL 2.0, die auch in dieser Arbeit eingesetzt<br />
wird, ist in [Franzke, 1997] beschrieben.<br />
GRAL wurde als Sprache zur Formalisierung von Invarianten an TGraph-Klassen entwickelt.<br />
Prädikate in getypter Logik erster Stufe ergänzen die EER-Graphklassen-Definitionen. Eine<br />
EER/GRAL-Graphklassen-Definition denotiert dann die Menge aller TGraphen, diedemEER-<br />
Diagramm entsprechen (vgl. die Relation EERSchema ) und zusätzlich die in GRAL spezifizierten<br />
weiteren Prädikate erfüllen.<br />
GRAL-Prädikate und -Funktionen. Zur Notation der GRAL-Prädikate wird auf die Spezifikationssprache<br />
Z [Spivey, 1992] zurückgegriffen. GRAL umfaßt eine Teilmenge des Sprachumfangs<br />
von Z. Diese umfaßt vollständig den Z -Sprachumfang <strong>für</strong> Mengentheorie und Prädikatenlogik<br />
erster Stufe. Zur Unterstützung der graphbasierten Modellierung wird GRAL ergänzt um<br />
eine umfangreiche und erweiterbare TGraph-Bibliothek.<br />
Prädikat Signatur Beschreibung<br />
isConnected È TGraph zusammenhängender TGraph<br />
isDag È TGraph azyklischer, gerichteter TGraph<br />
isTree È TGraph baumartiger TGraph 8<br />
isAbstract È TypeId abstrakter Knoten- oder Kantentyp 9<br />
isConcrete È TypeId konkreter Knoten- oder Kantentyp 9<br />
Abbildung 5.6: Prädikate der GRAL-Bibliothek (Auswahl)<br />
Diese Bibliothek umfaßt Prädikate und Funktionen zur Beschreibung grundlegender Grapheigenschaften,<br />
zur Berechnung von Teilgraphen, zur Berechnung von Eigenschaften von Graphelementen<br />
und zur Beschreibung von Schemaeigenschaften. Eine Übersicht über die in dieser<br />
8 Kanten werden in Bäumen als von den Elternknoten zu den Kinderknoten gerichtet aufgefaßt.<br />
9 Dieses Prädikat erweitert den Sprachumfang von [Franzke, 1997].
5.2 Konzeptmodellierung mit EER/GRAL 161<br />
Arbeit verwendete GRAL-Prädikate und -Funktionen wird in Abbildung 5.6 und 5.7 gegeben.<br />
Die formale <strong>Se</strong>mantik dieser Prädikate und Funktionen wird in [Franzke, 1997, Appendix C]<br />
definiert.<br />
GRAL unterstützt die Unterscheidung von Typen und Klassen. Während die Extension eines Typs<br />
die Graphelemente umfaßt, denen genau dieser Typ zugeordnet ist, beschreibt die Extension einer<br />
Klasse die Graphelemente diesen Typs und seiner Untertypen. Die Extensionen von Knotenbzw.<br />
Kantentypen werden durch V type bzw. E type berechnet, die Extensionen der Knoten- bzw.<br />
Kantenklassen durch V bzw. E.<br />
Die konkrete Syntax von GRAL erlaubt die in Z üblichen Prefix- und Infix-Notationen (z. B.<br />
δ G ETypev . Die Notation von Graph-, Richtungs- und Typangaben als tiefgestellte Indizes<br />
(z. B. δG EType v ,dieGRAL-Ausdrücke i. allg. lesbarer machen, ist ebenfalls zugelassen.<br />
Richtungsangaben zu Kanten werden sowohl textuell („in“, „out“) als auch symbolisch durch<br />
„ “ und „ “ notiert. Ist die Kantenrichtung beliebig, wird dieses durch „«“ beschrieben.<br />
Zur Vereinfachung der GRAL-Prädikate und -Funktionen können Parameter, die (statisch) aus<br />
dem Kontext erschlossen werden können, ausgelassen werden. Insbesondere kann hier häufig die<br />
Angabe des betrachteten Graphen entfallen. Unterbleibt die Angabe von Typ- (TypeId) oder<br />
Richtungsangaben (Dir) wird hier<strong>für</strong> als Defaultwert der allgemeinste Typbezeicher (Entity<br />
oder Relationship) bzw. die beliebige Richtungsangabe („«“) angenommen.<br />
GRAL-Pfadbeschreibungen. Ein wesentliches Modellierungsmittel in GRAL sind Pfadbeschreibungen<br />
zur Spezifikation von Aussagen über den Zusammenhang zwischen Knoten. Pfadbeschreibungen<br />
sind reguläre Ausdrücke über Knoten- und Kantensymbole:<br />
¯ Einfache Pfadbeschreibungen bestehen aus einem Kantensymbol „ “, „ “ oder „«“zur<br />
Beschreibung eingehender, ausgehender und beliebig gerichteter Kanten. Zur Einschränkung<br />
auf bestimmte Kantentypen kann das Kantensymbol durch einen Typbezeichner annotiert<br />
werden.<br />
¯ Zusammengesetzte Pfadbeschreibungen ermöglichen <strong>Se</strong>quenzen, Iterationen, Alternativen,<br />
Optionen und Klammerungen von Pfadbeschreibungen und spezifizieren Einschränkungen<br />
an den Typ des Zielknotens einer Pfadbeschreibung.<br />
<strong>Se</strong>ien p1 und p2 Pfadbeschreibungen und vType ein Knotentypbezeichner, dann ist auch<br />
– die <strong>Se</strong>quenz p1 p2 ,<br />
– die Iteration p1 (transitiver Abschluß),<br />
– die Iteration p £<br />
1 (transitiver, reflexiver Abschluß),<br />
– die Alternative p1 p2 ,<br />
– die Option p1℄, – die Klammerung p1 und<br />
– die Einschränkung p1 &vType,<br />
eine Pfadbeschreibung.<br />
Pfadbeschreibungen werden sowohl als Prädikate als auch als Funktionen verwendet. Infix notierte<br />
Pfad-Prädikate p : Vertex Vertex der Form vpwüberprüfen ob der Knoten w über ein<br />
10 Diese Funktion erweitert den Sprachumfang von [Franzke, 1997].
162 Graphbasierte Konzeptmodellierung<br />
Funktion Signatur Beschreibung<br />
V TGraph ¢ TypeId Menge der Knoten der Knotenklasse<br />
Vertex<br />
TypeId<br />
V type<br />
TGraph ¢ TypeId Menge der Knoten des Knotentyps<br />
Vertex<br />
TypeId<br />
E TGraph ¢ TypeId Menge der Kanten der Kantenklasse<br />
Edge<br />
TypeId<br />
E type TGraph ¢ TypeId Menge der Kanten des Kantentyps<br />
Edge<br />
TypeId<br />
E<br />
TGraph ¢ TypeId Menge der Kanten der Kantenklasse<br />
Edge<br />
TypeId in umgekehrter Kantenrichtung10 TGraph ¢ TypeId <br />
Edge<br />
TGraph ¢ Element ¢<br />
AttrId Value<br />
αω TGraph ¢ Edge <br />
E type<br />
Vertex<br />
δ TGraph ¢ Dir ¢<br />
TypeId ¢ Vertex Æ<br />
Γ ×Ø TGraph ¢ Dir ¢<br />
TypeId ¢ Vertex <br />
Vertex<br />
Λ ×Ø TGraph ¢ Dir ¢<br />
TypeId ¢ Vertex <br />
Edge<br />
vGraph TGraph ¢ È Vertex <br />
TGraph<br />
eGraph TGraph ¢ È Edge <br />
TGraph<br />
Menge der Kanten des Kantentyps<br />
TypeId umgekehrter Kantenrichtung10 Wert des durch AttrId angegebenen<br />
Attributs zum Graphelement Element<br />
Anfangs- bzw. Zielknoten der Kante<br />
Edge<br />
Anzahl der zum Knoten Vertex<br />
inzidenten Kanten unter Berücksichtigung<br />
der Kantenrichtung (Dir) und des<br />
Kantentyps (TypeId)<br />
Menge der zum Knoten Vertex<br />
adjazenten Knoten unter Berücksichtigung<br />
der Kantenrichtung (Dir) und des<br />
Kantentyps (TypeId)<br />
Menge der zum Knoten Vertex<br />
inzidenten Kanten unter Berücksichtigung<br />
der Kantenrichtung (Dir) und des<br />
Kantentyps (TypeId)<br />
durch die Knotenmenge ÈVertex<br />
knotenerzeugter Teilgraph<br />
durch die Kantenmenge È Vertex<br />
kantenerzeugter Teilgraph<br />
root TGraph Vertex Wurzel Vertex eines baumartigen Graphen<br />
10<br />
order TGraph ¢ TypeId ¢<br />
Edge¢ Vertex Æ<br />
Ordnung der Kante Edge in der Inzidenzliste<br />
des Knotens Vertex bzgl. Kanten der<br />
Klasse TypeId 10<br />
Abbildung 5.7: Funktionen der GRAL-Bibliothek (Auswahl)
5.2 Konzeptmodellierung mit EER/GRAL 163<br />
Pfad der Form p von einem Knoten v aus erreichbar ist. Als Pfad-Funktion p : Vertex È Vertex<br />
aufgefaßt, berechnet die Pfadbeschreibung vp die Menge der Knoten, die von v aus über den<br />
angegebenen Pfad erreichbar sind und pv die Menge der Knoten, die v über den angegebenen<br />
Pfad erreichen.<br />
GRAL-Zusicherungen zu Graphklassen-Definitionen. GRAL-Prädikate beziehen sich immer<br />
auf eine Graphklassen-Definition. Durch eine assert-Klausel werden GRAL-Prädikate, zusammengefaßt<br />
und an eine Graphklassen-Definition gebunden. Zur eindeutigen <strong>Referenz</strong>ierung erhalten<br />
diese Prädikate einen eindeutigen Bezeichner.<br />
Beispiel 5.5 GRAL-Ergänzung zum EER-Schema SimpleProcessDescription<br />
Die folgende Zusicherung enthält eine GRAL-Spezifikation zur Ergänzung der Graphklassendefintion<br />
SimpleProcessDescription aus Beispiel 5.4.<br />
In Datenflußdiagrammen sind in der Regel keine Datenflüsse direkt zwischen Terminatoren<br />
zugelassen. Zwei Terminator-Knoten dürfen daher nicht über einen Pfad der Form<br />
comesFrom goesTo miteinander verbunden sein [SPD 1]. Prozeßzerlegungen durch reguläre<br />
Strukturen sind baumartig. Diese Struktur wird in der Beispielmodellierung durch<br />
Kanten der Typen isProcessInIteration und isProcessIn<strong>Se</strong>quence gebildet. Der hierdurch<br />
kantenerzeugte Teilgraph (d. h. der Teilgraph, der ausschließlich Kanten dieser Typen enthält)<br />
muß baumartig sein [SPD 2].<br />
Für dieses GRAL-Prädikat wurde die vereinfachte Notation verwendet. Alle Aussagen beziehen<br />
sich hier auf den Graph G der Graphklasse SimpleProcessDescription, der durch<br />
die assert-Klausel gebunden wurde. Der Parameter G wurde daher ausgelassen.<br />
for G in SimpleProcessDescription assert<br />
[SPD 1]:<br />
[SPD 2]:<br />
end .<br />
t 1 t 2 : V Terminator t 1 comesFrom goesTo t 2 ;<br />
isTree eGraph E isProcessInIteration E isProcessIn<strong>Se</strong>quence<br />
Erweiterungen von GRAL. Durch die assert-Klausel ermöglicht GRAL die Ergänzung von<br />
EER-Graphklassendefinition durch Graphprädikate in Logik erster Stufe. Die Ableitung weiterer<br />
Graphklassen durch Spezialisierung vorhandener Graphklassen und die Erweiterung von<br />
Graphklassendefinitionen um weitere Konzepte wie beispielsweise zusätzliche Methoden über<br />
Graphelemente sieht [Franzke, 1997] nicht vor. Da solche Modellierungsmittel insbesondere <strong>für</strong><br />
die Ableitung von speziellen Modellen aus <strong>Referenz</strong>modellen benötigt werden, werden hierzu<br />
weitere GRAL-Sprachmittel eingeführt.<br />
Spezialisierungen von EER/GRAL-Graphklassendefinitionen werden durch isA-Klauseln notiert.<br />
Ergänzungen um zusätzliche Konstrukte in Graphklassendefinitionen erfolgen analog zur axiomatischen<br />
Defintion in Z [Spivey, 1992, S. 48] durch define-Klauseln, durch die Objekte deklariert<br />
und (optional) durch GRAL-Prädikate konkretisiert werden können.<br />
£
164 Graphbasierte Konzeptmodellierung<br />
Beispiel 5.6 (Spezialisierung der Graphklassenspezifikation SimpleProcessDescription)<br />
Die Graphklasse SimpleProcessDescription wird zur Graphklasse SimpleProcessDescriptionWithCnt<br />
spezialisiert [SPDcnt 1] und um eine Komponente ProcessCnt ergänzt, die<br />
die Knoten vom Typ Process zählt. Die Spezifikation von ProcessCnt erfolgt durch eine<br />
Deklaration [SPDcnt 2] und die Beschreibung der Eigenschaften durch ein GRAL-Prädikat<br />
[SPDcnt 3].<br />
[SPDcnt 1]: SimpleProcessDescriptionWithCnt isA SimpleProcessDescription;<br />
for G in SimpleProcessDescriptionWithCnt define<br />
[SPDcnt 2]:<br />
ProcessCnt : Æ<br />
where<br />
[SPDcnt 3]:<br />
ProcessCnt # V ÈÖÓ ××<br />
end .<br />
Zur Ableitung eines speziellen Modelles aus einem <strong>Referenz</strong>model werden die GRAL-Prädikate<br />
der Generalisierung mit den Prädikaten der Spezialisierung konjugiert. Durch spezielle Modelle<br />
werden die Zusicherungen an <strong>Referenz</strong>modelle daher i. allg. weiter eingeschränkt. In wenigen<br />
Ausnahmefällen sind diese Anforderungen in speziellen Modellen zu verallgemeinern oder zu<br />
ändern. Hierzu werden in overwrites-Klauseln zu ändernde Zusichererungen, die durch ihren<br />
Prädikatbezeichner referenziert werden, durch eine neue Zusicherung überschrieben. Querbezüge<br />
zu Zusicherungen, die in EER-Diagrammen graphisch formuliert sind (z. B. Kardinalitätsanforderungen),<br />
werden analog durch Prädikatbezeichner hergestellt, die in Kommentaren zu den<br />
entsprechenden graphischen Symbolen in den Diagrammen festgelegt sind.<br />
Beispiel 5.7 (Überschreibung von Zusicherungen)<br />
In Zusicherung [SPD 2] wurde <strong>für</strong> Prozeßzerlegungen durch reguläre Strukturen die<br />
Baumartigkeit gefordert. Um (unnötige) Duplizierungen von Prozeßzerlegungen zu vermeiden,<br />
können gleichartige Prozeßzerlegungen auch zusammengefaßt werden. Für durch<br />
Kanten der Typen isProcessInIteration und isProcessIn<strong>Se</strong>quence erzeugte Teilgraphen<br />
der entsprechenden Spezialisierung SimpleProcessDescriptionDag der Graphklasse SimpleProcessDescriptionWithCnt<br />
reicht dann die Forderung nach Azyklizität aus. Zusicherung<br />
[SPDDag 2] überschreibt hierzu Zusicherung [SPD 2].<br />
[SPDDag 1]: SimpleProcessDescriptionDag isA SimpleProcessDescriptionWithCnt;<br />
for G in SimpleProcessDescriptionDag assert<br />
[SPDDag 2]:<br />
overwrites [SPD 2] :<br />
isDag eGraph EisProcessInIteration EisProcessIn<strong>Se</strong>quence end .<br />
£<br />
£
5.3 Zusammenfassung 165<br />
Die Zusammenfassung mehrerer Teilmodelle zu einem integrierten Modell erfolgt durch die<br />
include-Klausel. Hierdurch werden ebenfalls alle Prädikte der inkludierten Modelle konjugiert.<br />
Beispiel 5.8 (Zusammenfassung von Teilmodellen)<br />
Zur Definition des EER-Anteils der Graphklasse SimpleProcessDescription in Beispiel 5.4<br />
wurden bereits die Graphklassen DataflowDescription und RegularProcessDescription zusammengefaßt.<br />
Die weiteren Zusicherungen an die Graphklasse SimpleProcessDescription<br />
wurden in Beispiel 5.5 <strong>für</strong> beide Teilgraphklassen gemeinsam formuliert. Das Prädikat<br />
[SPD 1] bzw. das Prädikat [SPD 2] hätte aber auch direkt der Definition des EER-Anteils<br />
von DataflowDescription bzw. RegularProcessDescription zugeordnet werden können.<br />
Die Integration dieser Teilmodelle, entspricht der folgenden include-Klausel, die neben<br />
der Zusammenfassung der EER-Teilmodelle auch die Konjunktion der zu diesen Teilmodellen<br />
formulierten Prädikate umfaßt.<br />
for G in SimpleProcessDescription include<br />
DataflowDescription;<br />
end .<br />
RegularProcessDescription<br />
Diese Definition ist mit der Graphklassendefinition aus Beispiel 5.5 identisch. £<br />
5.3 Zusammenfassung<br />
Ausgehend von einer überblicksartigen Einführung in die Konzeptmodellierung wurde der<br />
graphbasierte EER/GRAL-Ansatz zur Konzeptmodellierung eingeführt. Diese Einführung bezog<br />
sich sowohl auf die Formalisierung des EER/GRAL-Ansatzes als auch auf die hier zur Konzeptmodellierung<br />
verwendeten <strong>visuelle</strong>n und textuellen Sprachen.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme<br />
wird in Kapitel 6 mit Hilfe von EER-Klassendiagrammen und GRAL-Klauseln beschrieben.
6 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die Herleitung des <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> <strong>visuelle</strong> <strong>Modellierungssprachen</strong> erfolgt ausgehend<br />
von den in Kapitel 3 vorgestellten Beschreibungsmitteln. Es umfaßt die in Abbildung<br />
3.3 auf <strong>Se</strong>ite 39 aufgeführten Beschreibungsmittel und bildet damit die wesentlichen im<br />
Requirements-Engineering der Organisations- und Softwaretechnik verwendeten semi-formalen<br />
und informalen Modellierungsmittel ab. Formale Sprachen wie z. B. Z [Spivey, 1992] oder VDM<br />
[Jones, 1990] und Programmiersprachen werden in diesem <strong>Metaschema</strong> nicht betrachtet. Analoge<br />
Konzeptmodelle <strong>für</strong> formale Sprachen werden z. B. in [Ebert et al., 1997a] <strong>für</strong> eine eine<br />
TGraph-basierte Erweiterung von Z oder in [Ebert et al., 1998] und [Kullbach et al., 1998] <strong>für</strong><br />
Programmiersprachen vorgestellt.<br />
6.1 Herleitung und Spezialisierung des <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>s<br />
Ausgangspunkt der Erstellung der in Kapitel 4.3 skizzierten <strong>Metaschema</strong>ta zur Unternehmensmodellierung<br />
waren in der Regel theoretische Überlegungen zur abzubildenden Diskurswelt. Die<br />
hierbei als wichtig erachteten Konzepte und ihre Beziehungen wurden zunächst modelliert. Anschließend<br />
wurden Beschreibungstechniken ausgewählt bzw. festgelegt, die eine metaschemakonforme<br />
Modellierung erlauben. Die Wahl der Beschreibungstechniken war in diesen Arbeiten<br />
(vgl. hierzu insbesondere [Olle et al., 1991], [Scheer, 1992] und [Frank, 1994]) vom <strong>Metaschema</strong><br />
determiniert.<br />
Für die Herleitung des <strong>Referenz</strong>-<strong>Metaschema</strong>s der <strong>visuelle</strong>n Modellierungsprachen <strong>für</strong> Organisationen<br />
und Softwaresysteme werden stattdessen die Beschreibungsmittel selbst in den Vordergrund<br />
gestellt. Die wesentlichen Konzepte der Sprachen der einzelnen Paradigmen, die in den<br />
Kapiteln 3.2 bis 3.5 herausgearbeitet wurden, werden im <strong>Referenz</strong>-<strong>Metaschema</strong> abgebildet. Dieses<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme ist<br />
folglich durch die Beschreibungsmittel bestimmt.<br />
Entlang des in Kapitel 3.1 vorgestellten Klassifikationsschemas der Beschreibungsmittel <strong>für</strong> Organisationen<br />
und Softwaresysteme werden in den Kapiteln 6.2 bis 6.5 <strong>für</strong> jedes Beschreibungsparadigma<br />
zunächst isolierte EER/GRAL-Konzeptmodelle erstellt. Diese Konzeptmodelle können<br />
als <strong>Referenz</strong>-<strong>Metaschema</strong>ta <strong>für</strong> die Beschreibungsmittel der jeweiligen Paradigmen angesehen<br />
werden. Ihre <strong>Referenz</strong>-Eigenschaft wird durch exemplarische Anwendung auf verschiedene notationelle<br />
Varianten des betrachteten Beschreibungsparadigmas belegt.
168 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die Ableitung eines spezialisierten Modells aus einem <strong>Referenz</strong>modell erfolgt durch Anpassung<br />
des <strong>Referenz</strong>modells an diese spezialisierten Anforderungen. Hierzu sind <strong>Referenz</strong>modelle um<br />
Konzepte einzuschränken, die <strong>für</strong> das spezielle Modell ohne Belang sind, oder um zusätzliche<br />
objekt- und beziehungsartige Konzepte zu erweitern, die im <strong>Referenz</strong>modell nicht abgebildet<br />
sind (vgl. zur Spezialisierung von <strong>Referenz</strong>modellen auch [Hars, 1994, S. 129ff]).<br />
Die Anwendung der <strong>Referenz</strong>-<strong>Metaschema</strong>ta zur Ableitung der <strong>Metaschema</strong>ta konkreter Beschreibungsmittel<br />
erfolgt durch Spezialisierung des EER/GRAL-Konzeptmodells des jeweils betrachteten<br />
Beschreibungsparadigmas. Hierdurch werden die Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
auf das spezialisierte <strong>Metaschema</strong> übertragen. Einschränkungen und Erweiterungen des spezialisierten<br />
<strong>Metaschema</strong>s werden sowohl graphisch durch Klassendiagramme als auch durch zusätzliche<br />
GRAL-Prädikate und Definitionen beschrieben.<br />
In Kapitel 6.6 erfolgt schließlich die Integration der <strong>Referenz</strong>-<strong>Metaschema</strong>ta der Beschreibungsparadigmen<br />
zum integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> <strong>für</strong><br />
Organisationen und Softwaresysteme. Dieses <strong>Referenz</strong>-<strong>Metaschema</strong>ta wird in Teil III zur Darstellung<br />
von <strong>Metaschema</strong>ta der Beschreibungsmittel konkreter Modellierungsmethoden und zur<br />
Entwicklung von Modellierungswerkzeugen angewandt.<br />
6.2 <strong>Metaschema</strong>ta der Aufgabensicht<br />
Im <strong>Metaschema</strong> der Aufgabensicht sind die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Aufgabengliederungsparadigmas<br />
zusammengefaßt. Zentrale Beschreibungskonzepte der Aufgabensicht sind<br />
Aufgaben mit ihren Verrichtungs- und Objekt-Komponenten. Das <strong>Metaschema</strong> des Aufgabengliederungsparadigmas<br />
ergänzt diese um Konzepte zur Zerlegung von Aufgaben in Teilaufgaben.<br />
6.2.1 <strong>Metaschema</strong>ta des Aufgabengliederungsparadigmas<br />
Mit den Sprachen des Aufgabengliederungsparadigmas (vgl. Kapitel 3.2.1) wird die Zerlegung<br />
von Aufgaben in Teilaufgaben dargestellt. Das <strong>Metaschema</strong> des Aufgabengliederungsparadigmas<br />
stellt hierzu Konzepte zur Abbildung der Aufgaben, zur Beschreibung ihrer charakteristischen<br />
Eigenschaften und der Gliederung der Aufgaben nach unterschiedlichen Aufgabentypen<br />
bereit.<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Aufgabengliederungsparadigmas<br />
Abbildung 6.1 zeigt das <strong>Referenz</strong>-<strong>Metaschema</strong> des Aufgabengliederungsparadigmas TDP (vgl.<br />
auch [Scheer, 1992, S. 67] und [Winter / Ebert, 1996, S. 108]). Aufgaben (Task) ist genau ein<br />
Prozeß (Process) als Verrichtungskomponente und eine Objektklasse (ObjectClass) als Objektkomponente<br />
zugeordnet. Darüber hinaus sind Aufgaben durch ihre Namen (name), den Ort der<br />
Aufgabenerledigung (location), ihre Dauer (duration), den Zeitpunkt ihrer Erledigung (time) und<br />
der hierzu eingesetzten Hilfsmittel (resources) charakterisiert. Konkretisierungen der Konzepte<br />
Process und ObjectClass aus Ablauf- bzw. aus Objektsicht finden sich in Kapitel 6.4 und 6.5.
6.2 <strong>Metaschema</strong>ta der Aufgabensicht 169<br />
Object<br />
Class<br />
name: string<br />
Process<br />
name: string<br />
isObject<br />
Component<br />
isProcess<br />
Component<br />
Task<br />
name: string<br />
location: string<br />
duration: float<br />
time: date<br />
resources: string<br />
isDecomposedIn<br />
isSubtask<br />
isExecutionTask (isSubtask)<br />
isLeadingTask (isSubtask)<br />
isPlanningTask (isSubtask)<br />
isControllingTask (isSubtask)<br />
isAdministrativeTask (isSubtask)<br />
Abbildung 6.1: <strong>Referenz</strong>-<strong>Metaschema</strong> des Aufgabengliederungsparadigmas<br />
(Task Decomposition Paradigm, TDP)<br />
TaskDecomposition<br />
TDP-EER 1 criterion:<br />
{process, object}<br />
connection:<br />
{and,or}<br />
Jeder Aufgabe kann eine Aufgabenzerlegung (TaskDecomposition) zugeordnet werden, die die<br />
jeweiligen Teilaufgaben durch den abstrakten Kantentyp isSubtask zusammenfaßt. Die Injektivität<br />
von isSubtask stellt sicher, daß eine Teilaufgabe nur höchstens einmal in einer Aufgabengliederung<br />
enthalten ist.<br />
Gemäß der Gliederungsmerkmale Rang, Phase und Zweck (vgl. Kapitel 3.2.1) werden verschiedene<br />
Teilaufgabenbeziehungen unterschieden. Jede Aufgabengliederung umfaßt mindestens eine<br />
Ausführungsaufgabe (isExecutionTask) und beliebig viele Leitungs- (isLeadingTask), Planungs-<br />
(isPlanningTask), Kontroll- (isControllingTask) oder Verwaltungsaufgaben (isAdministrative-<br />
Task). Die Untergliederung in Ausführungsaufgaben entlang der Objekt- oder der Verrichtungskomponente<br />
sowie die Art Verknüpfung der Teilaufgaben durch Und- oder Oder-Gliederungen<br />
wird durch die Attributierung der TaskDecomposition modelliert. Jede Aufgabenzerlegung untergliedert<br />
eine Aufgabe nach genau einem Gliederungsprinzip und nach genau einer Verknüpfungsart.<br />
Konkrete Notationsformen des Aufgabengliederungsparadigmas beschreiben in der Regel ausschließlich<br />
baumartige Aufgabenzerlegungen. Hierbei bezieht sich die Baumartigkeit nur auf die<br />
isDecomposedIn-Kanten in Kantenrichtung und die isSubtask-Kanten in umgekehrter Kantenrichtung<br />
[TDP 1].<br />
for G in TDP assert<br />
[TDP 1]:<br />
end .<br />
isTree eGraph E isDecomposedIn E<br />
isSubtask<br />
Die Gesamtaufgabe der so modellierten Aufgabengliederung wird durch die Wurzel dieses Baumes<br />
mainTask abgebildet.
170 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
for G in TDP define<br />
mainTask : VTask where<br />
end .<br />
mainTask root eGraph E isDecomposedIn E<br />
isSubtask<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
In der Literatur zur Aufgabengliederung werden je nach Anschauung weitere Anforderungen<br />
oder Einschränkungen an die Modellierung von Aufgabengliederungen gestellt. Im folgenden<br />
werden diese durch Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Aufgabengliederungsparadigmas<br />
beschrieben.<br />
Aufgabengliederungen nach Nordsieck. [Nordsieck, 1962, S. 14] betrachtet lediglich Aufgabengliederungen<br />
nach Verrichtung oder Objekt. Als ersten Gliederungsschritt fordert er die<br />
„Ausgliederung der Verwaltungsaufgaben“. Für die weiteren Zerlegungen sind ausschließlich<br />
Verrichtungs- und Objektgliederungen in Ausführungsaufgaben zugelassen. Somit ist <strong>für</strong> die<br />
Modellierung von Aufgabengliederungsplänen nach Nordsieck zu fordern, daß nur die Gliederung<br />
der Gesamtaufgabe mainTask höchstens eine Verwaltungsaufgabe enthält [TDPNordsieck<br />
1], [TDPNordsieck 2]; alle weiteren Gliederungen umfassen ausschließlich Ausführungsaufgaben.<br />
Gliederungen in Leitungs- Planungs-, und Kontrollaufgaben werden bei Nordsieck<br />
nicht unterschieden [TDPNordsieck 3]. Das <strong>Metaschema</strong> TDPNordsieck spezialisiert hierzu das<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Aufgabengliederungsparadigmas.<br />
TDPNordsieck isA TDP ;<br />
for G in TDPNordsieck assert<br />
[TDPNordsieck 1]:<br />
# EisAdminstrativeTask 1;<br />
[TDPNordsieck 2]:<br />
e : E isAdminstrativeTask ¯ ω e isDecomposedIn<br />
mainTask ;<br />
[TDPNordsieck 3]:<br />
E isLeadingTask E isPlanningTask E isControllingTask <br />
end .<br />
Aufgabengliederungen nach Kosiol. [Kosiol, 1976, S. 52] lehnt eine kombinierte Anwendung<br />
der Gliederungsprinzipien Objekt und Verrichtung ab. Er be<strong>für</strong>chtet, daß durch eine Mischung<br />
bereits Entwurfsentscheidungen <strong>für</strong> die zu entwickelnde Organisationsstruktur vorweg genommen<br />
werden.<br />
TDPKosiol isA TDP ;
6.2 <strong>Metaschema</strong>ta der Aufgabensicht 171<br />
for G in TDPKosiol assert<br />
[TDPKosiol 1]:<br />
t : VTaskDecomposition ¯ t criterion process xor<br />
t : VTaskDecomposition ¯ t criterion object<br />
end .<br />
Das <strong>Metaschema</strong> zur Beschreibung der Aufgabengliederungspläne nach Kosiol (TDPKosiol) ist<br />
ausschließlich auf Verrichtungs- oder Objektgliederungen einzuschränken [TDPKosiol 1].<br />
Aufgabengliederungen nach Jordt/Gscheidle. Wie auch Nordsieck vertreten [Jordt /<br />
Gscheidle, (o.J.)] die Ausgrenzung der Verwaltungsaufgaben [TDPJordt/Gscheidle 1],<br />
[TDPJordt/Gscheidle 2]. Während bei Nordsieck keinerlei Bezüge zwischen den Nicht-<br />
Verwaltungsaufgaben und den Verwaltungsaufgaben beschrieben werden, führen [Jordt /<br />
Gscheidle, (o.J.), Lehrbrief 2, S. 37] das Konzept der Projektion ein, durch das Verwaltungsaufgaben<br />
denjenigen Ausführungsaufgaben zugeordnet werden können, deren Erledigung mittelbar<br />
von der Bearbeitung der Verwaltungsaufgaben abhängt.<br />
Task<br />
name: string<br />
location: string<br />
duration: float<br />
time: date<br />
resources: string<br />
isProjectionTo<br />
TDPJordtGscheidle isA TDP <br />
for G in TDPJordtGscheidle assert<br />
[TDPJordtGscheidle 1]:<br />
E isAdminstrativeTask <br />
[TDPJordtGscheidle 2]:<br />
e EisAdminstrativeTask ¯<br />
e isDecomposedIn mainTask <br />
[TDPJordtGscheidle 3]:<br />
t a V Task ¯<br />
t isProjectionTo a<br />
t isExecutionTask isDecompositionIn mainTask<br />
a <br />
isDecompositionIn isAdminstrativeTask<br />
isDecompositionIn isSubtask £<br />
[TDPJordtGscheidle 4]:<br />
v V TaskDecomposition ¯ Æ isSubtask v <br />
end .<br />
Abbildung 6.2: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Aufgabengliederungsparadigmas<br />
nach [Jordt / Gscheidle, (o.J.)] TDPJordtGscheidle<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> des Aufgabengliederungsparadigmas ist zur Abbildung der Anforderungen<br />
von [Jordt/Gscheidle, (o.J.)] um einen weiteren Kantentyp isProjectionTo zwischen Tasks<br />
zu ergänzen. Diese Kanten verlaufen ausschließlich zwischen Knoten des Teilbaums der Verwaltungsaufgaben<br />
und Knoten des Teilbaums der Nicht-Verwaltungsaufgaben zur Gesamtaufgabe<br />
mainTask [TDPJordtGscheidle 3]. Die entsprechende Anpassung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
zum <strong>Metaschema</strong> TDPJordtGscheidle ist in Abbildung 6.2 dargestellt.
172 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
[Jordt / Gscheidle, (o.J.), Lehrbrief 2, S. 29] fordern aus Gründen der Übersichtlichkeit weiter,<br />
daß eine Aufgabe nicht in mehr als fünf Teilaufgaben untergliedert wird. Diese Forderung [TDP-<br />
JordtGscheidle 4] ist ebenfalls im GRAL-Teil von Abbildung 6.2 aufgeführt.<br />
Funktionsbäume. Zur Beschreibung von Aufgabengliederungen nach dem Ansatz der Architektur<br />
integrierter Informationssysteme (ARIS) [Scheer, 1992, S. 64ff], [Scheer, 1994, S. 20]<br />
werden Funktionsbäume verwendet. Das <strong>Metaschema</strong> zur Abbildung der ARIS-Funktionsbäume<br />
(TDPAris) kann ebenfalls auf das <strong>Metaschema</strong> des Aufgabengliederungsparadigmas zurückgeführt<br />
werden.<br />
ARIS-Funktionsbäume stellen nur die Gliederung von Aufgaben in Teilaufgaben dar. Eine explizite<br />
Unterscheidung von Ausführungs-, Leitungs-, Planungs-, Kontroll- und Verwaltungsaufgaben<br />
wird hier nicht modelliert [ARIS-TDP 1]. Der Kantentyp isSubtask ist im Gegensatz zum<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> daher als konkret zu vereinbaren [ARIS-TDP 2]. Auch werden in Funktionsbäumen<br />
weder zusätzliche Aufgabeneigenschaften beschrieben noch wird die Art der Aufgabengliederung<br />
dargestellt, so daß die Attributstrukturen der Aufgaben- und Aufgabenzerlegungskonzepte<br />
unberücksichtigt bleiben [ARIS-TDP 3].<br />
TDPAris isA TDP ;<br />
for G in ArisTDP assert<br />
[ARIS-TDP 1]:<br />
E type<br />
isSubtask EisSubtask ;<br />
[ARIS-TDP 2]:<br />
overwrites [TDP-EER 1] :<br />
isConcrete isSubtask ;<br />
[ARIS-TDP 3]:<br />
t : V Task ¯ tlocation tduration ttime tresource ;<br />
end .<br />
d : V TaskDecomposition ¯ dcriterion dconnection <br />
6.3 <strong>Metaschema</strong>ta der Aufbausicht<br />
Die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> der Aufbausicht dienen zur Darstellung der Strukturkomponenten<br />
von Organisationen und deren Zusammenhängen. Mit den Sprachen des Stellengliederungsparadigmas<br />
wird die Einbettung von Organisationseinheiten in die Organisationsstruktur<br />
dargestellt. Die Sprachen des Komm<strong>uni</strong>kationsparadigmas modellieren die Informations- und<br />
Komm<strong>uni</strong>kationsbeziehungen zwischen Organisationseinheiten.<br />
6.3.1 <strong>Metaschema</strong>ta des Stellengliederungsparadigmas<br />
Die Zerlegung der Strukturkomponente einer Organisation in Stellen und Abteilungen ist der<br />
zentrale Beschreibungsgegenstand der Sprachen des Stellengliederungsparadigmas (vgl. Kapi-
6.3 <strong>Metaschema</strong>ta der Aufbausicht 173<br />
tel 3.3.1). Im <strong>Metaschema</strong> des Stellengliederungsparadigmas werden hierzu die Konzepte zur<br />
Modellierung von Organisationseinheiten bereitgestellt, die in Stellen, Abteilungen und Stellenmehrheiten<br />
unterschieden werden können. Ebenso werden die verschiedenen, zwischen Organisationseinheiten<br />
vorliegenden, strukturellen und leitungsbezogenen Beziehungen im <strong>Metaschema</strong><br />
abgebildet.<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Stellengliederungsparadigmas<br />
Der EER-Teil des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas (PDP) ist in Abbildung<br />
6.3 dargestellt (vgl. [Winter / Ebert, 1996, S. 108]). Ein ähnliches <strong>Referenz</strong>-<strong>Metaschema</strong>,<br />
das zur Beschreibung der Aufbausicht vor dem Hintergrund der Beurteilung der Modellierungsmöglichkeiten<br />
von Workflow-Management-Systemen zur Darstellung aufbauorganisatorischer<br />
Aspekte entwickelt wurde, findet sich in [Rosemann / zur Mühlen, 1998]. Zur Beschreibung<br />
statischer Organisationsstrukturen wird auch in [Scheer, 1992, S. 92] ein starkt vereinfachtes<br />
Metamodell vorgestellt.<br />
Group<br />
Department<br />
isMemberOf<br />
IsPartOf<br />
Position<br />
Assisting<br />
Position<br />
delegates<br />
informs<br />
LEPosition<br />
OrganizationalUnit<br />
assists Leading Executing<br />
Position Position<br />
instructs<br />
isHeadOf<br />
(isPartOf)<br />
rank : string<br />
competence: string<br />
qualification : string<br />
capacity : int<br />
leads<br />
substitutes<br />
name : string<br />
PDP-EER 1<br />
Abbildung 6.3: <strong>Referenz</strong>-<strong>Metaschema</strong> des Stellengliederungsparadigmas<br />
(Position Decomposition Paradigm, PDP)<br />
executionRole : string<br />
executesTask<br />
Wesentliche Beschreibungskonzepte sind hier die Organisationseinheiten (OrganizationalUnit),<br />
die sowohl Stellen (Position) als auch Abteilungen (Department) und Stellenmehrheiten (Group)<br />
umfassen. Stellen sind durch ihren Rang in der Organisation, ihre Kompetenzen und die benötigte<br />
Qualifikation des Stelleninhabers charakterisiert. Das capacity-Attribut dient zur Modellierung<br />
mehrfach besetzter Stellen. Zur weiteren Unterscheidung werden Stellen in Leitungsstellen<br />
(LeadingPosition), Ausführungsstellen (ExecutingPosition) und Stabsstellen (AssistingPosition)<br />
unterschieden.<br />
Zwischen Stellen vorliegende Beziehungen werden durch Kantentypen modelliert. Das<br />
<strong>Referenz</strong>-Schema sieht hierzu Informationsbeziehungen (informs), Vertretungsbeziehungen<br />
Task
174 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
(substitutes) und fachliche Weisungsbeziehungen (instructs) zwischen beliebigen Stellen sowie<br />
disziplinarische Weisungsbeziehungen (leads) von Leitungsstellen zu nachgeordneten Leitungsstellen<br />
bzw. Ausführungsstellen und Stabsbeziehungen (assists) zu Stabsstellen vor. Eine ebenfalls<br />
mögliche Substrukturierung der Stabsstellen erfolgt durch delegates-Kanten. Die disziplinarischen<br />
Weisungsbeziehungen sind zyklenfrei [PDP 1]. In Abteilungen (Department)sindbeliebige<br />
Organisationseinheiten zusammengefaßt (isPartOf ). Die Strukturierung der Abteilungen<br />
ist hierbei baumartig [PDP 2]. Abteilungen werden durch mindestens eine Leitungsstelle geleitet<br />
(isHeadOf ). In Abteilungen sind nur solche Stellen zusammengefaßt, die dem Leiter dieser Abteilung<br />
(isHeadOf ) auch disziplinarisch oder weisungsbezogen unterstellt sind [PDP 3]. Stellenmehrheiten<br />
(Group) fassen ausschließlich Stellen (isMemberOf ) zusammen. Eine Leitungsstelle<br />
ist hier nicht vorgesehen.<br />
for G in PDP assert<br />
[PDP 1]:<br />
isDag eGraph Eleads [PDP 2]:<br />
[PDP 3]:<br />
end .<br />
isTree eGraph E<br />
isPartOf<br />
;<br />
d : V Department ; h : V LeadingPosition h isHeadOf<br />
;<br />
d isPartOf &Position h leads instructs £<br />
Die Verbindung zwischen der Aufbausicht und der Aufgabengliederungssicht (vgl. Kapitel 6.2)<br />
wird über das Konzept der Aufgaben (Task) hergestellt. Jeder Organisationseinheit können hierzu<br />
die von ihr zu bearbeitenden Aufgaben zugeordnet (executesTask) werden. Die Modellierung<br />
der verschiedenen Arten der Aufgabenerledigung erfolgt durch entsprechende Attributierung der<br />
executesTask-Kanten durch die jeweiligen Funktionen.<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Konkrete Beschreibungsmittel des Stellengliederungsparadigmas stellen mit Ausnahme von textuellen<br />
Stellenbeschreibungen nur einen Ausschnitt der durch das <strong>Referenz</strong>-<strong>Metaschema</strong> abgebildeten<br />
Aspekte der Aufbauorganisation dar. Die folgenden Abschnitte skizzieren die Anwendung<br />
des <strong>Referenz</strong>-<strong>Metaschema</strong>s aus Abbildung 6.3 auf wichtige Vertreter der Sprachen des<br />
Stellengliederungsparadigmas.<br />
Organigramme <strong>für</strong> Einliniensysteme. In Organigrammen zu Einlinien-Systemen, die im<br />
<strong>Metaschema</strong> DPDSingleLine formalisiert sind, werden nur disziplinarische Weisungsbeziehungen<br />
zwischen Leitungsstellen und Ausführungsstellen modelliert. Erweiterungen zu Stab-<br />
Liniensystemen umfassen auch die Zuordnung von Stabsstellen und deren Hierarchie. Abteilungen,<br />
Gruppenzugehörigkeiten sowie die restlichen durch das <strong>Referenz</strong>-Metamodell unterstützten<br />
Beziehungstypen werden nicht abgebildet [PDPSingleLine 1]. Die in solchen Einliniensystemen<br />
d ¯
6.3 <strong>Metaschema</strong>ta der Aufbausicht 175<br />
modellierten Leitungsbeziehungen folgen dem Prinzip der Einheit der Auftragserteilung und sind<br />
daher auf baumartige Strukturen [PDPSingleLine 2] eingeschränkt.<br />
PDPSingleLine isA PDP ;<br />
for G in PDPSingleLine assert<br />
[PDPSingleLine 1]:<br />
VGroup VDepartment ;<br />
Einforms Einstructs Esubstitutes ;<br />
[PDPSingleLine 2]:<br />
isTree eGraph E leads E<br />
assists E delegates<br />
end .<br />
Abteilungsorganigramme. Die Zerlegung einer Organisation in Abteilungen wird durch Abteilungsorganigramme<br />
(vgl. das <strong>Metaschema</strong> PDPDepartment in Abbildung 6.4) beschrieben.<br />
Mit diesen <strong>visuelle</strong>n Sprachen wird die Untergliederung von Abteilungen in Unter-Abteilungen<br />
und die Zuordnung von Stellen zu einzelnen Abteilungen dargestellt. Häufig bilden diese Notationsformen<br />
auch die Weisungsbeziehungen innerhalb der Abteilungen ab, die Unterscheidung<br />
verschiedener Stellentypen und weiterer Beziehungen zwischen den Stellen wird in der Regel<br />
nicht modelliert [PDPDepartment 1]. Das Konzept Position ist daher als konkret zu vereinbaren<br />
[PDPDepartment 2]. Ebenso werden Leitungs-, Weisungs-, Stellvertretungs- und Informationsbeziehungen<br />
sowie Gruppenzuteilungen nicht dargestellt [PDPDepartment 3]. In Varianten<br />
von Abteilungsorganigrammen werden die Stellen der Abteilungsleiter gegenüber den nachgeordneten<br />
Stellen optisch hervorgehoben. Zur Identifizierung dieser Leitungsstellen können die<br />
isHeadOf -Kanten des <strong>Referenz</strong>-<strong>Metaschema</strong>s herangezogen werden.<br />
OrganizationalUnit<br />
Department<br />
IsPartOf<br />
leads<br />
Position<br />
isHeadOf<br />
(isPartOf)<br />
name : string<br />
PDPDepartment isA PDP <br />
for G in PDPDepartment assert<br />
[PDPDepartment 1]:<br />
V Position V type<br />
Position <br />
[PDPDepartment 2]:<br />
overwrites [PDP-EER 2] <br />
isConcrete Position <br />
[PDPDepartment 3]:<br />
V Group <br />
end .<br />
E assists E delegates E instructs <br />
E informs E substitutes <br />
Abbildung 6.4: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas<br />
<strong>für</strong> Abteilungsorganigramme (PDPDepartment)<br />
In anderen Varianten der Abteilungsorganigramme (vgl. Abbildung 3.5e) wird auch häufig auf<br />
die Modellierung der Leitungsbeziehungen komplett verzichtet. Modelliert wird dann lediglich
176 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
das hierarchische Gefüge von Stellen und Abteilungen. Gegenüber dem <strong>Metaschema</strong> PDPDepartment<br />
sind dann auch noch die leads-Kanten auszuschließen.<br />
ARIS-Organigramme. Organigramme des Modellierungsansatzes der Architektur integrierter<br />
Informationssysteme (ARIS) [Scheer, 1994, S. 23ff] stellen beliebige Organisationseinheiten<br />
zueinander in Beziehung. Eine Unterscheidung dieser Organisationseinheiten in Abteilungen,<br />
Gruppen, Leitungsstellen, Ausführungsstellen oder Stabsstellen wird hier ebenso wenig abgebildet,<br />
wie unterschiedliche Arten struktureller Beziehungen zwischen den einzelnen Organisationseinheiten<br />
[ArisPDP 1]. Das Konzept zur Abbildung der Organisationseinheiten ist daher auch<br />
als konkret zu vereinbaren [ArisPDP 2]. ARIS-Organigramme beschreiben lediglich baumartige<br />
Unterstellungsbeziehungen zwischen einzelnen Organisationseinheiten, die im <strong>Metaschema</strong><br />
durch den zusätzlichen Kantentyp isSubordinated abgebildet werden [ArisPDP 3]. Vergleiche<br />
hierzu auch den Ausschnitt des ARIS-<strong>Metaschema</strong>s des Fachkonzepts Organisation in [Scheer,<br />
1992, S. 92].<br />
isSubordinated<br />
Organizational<br />
Unit<br />
name : string<br />
ArisPDP isA PDP <br />
for G in ArisPDP assert<br />
[ARIS-PDP 1]:<br />
V AssistingPosition V LEPosition <br />
E informs V instructs V substitutes <br />
V delegates V assists V leads <br />
[ARIS-PDP 2]:<br />
overwrites [PDP-EER 1] <br />
isConcrete OrganizationalUnit <br />
[ARIS-PDP 3]:<br />
isTree eGraph E isSubordinted<br />
end .<br />
Abbildung 6.5: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas<br />
<strong>für</strong> ARIS-Organigramme (PDPAris)<br />
Organigramme <strong>für</strong> Mehrliniensystem. Mehrliniensysteme folgen nicht dem Prinzip der Einheit<br />
der Auftragserteilung. Hier werden, wie <strong>für</strong> das <strong>Referenz</strong>-<strong>Metaschema</strong> des Stellengliederungsparadigmas<br />
gefordert, zyklenfreie Weisungs- und Leitungsbeziehungen dargestellt. Neben<br />
den disziplinarischen Weisungsbeziehungen sind im Gegensatz zu Einliniensystemen auch beliebige<br />
fachliche Weisungsbeziehungen zu beachten. Die Einschränkung gegenüber dem <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> des Stellengliederungsparadigmas im <strong>Metaschema</strong> PDPMultiLine bezieht sich<br />
folglich nur auf den Ausschluß der Konzepte Group und Department sowie der Beziehungskonzepte<br />
informs und substitutes [PDPMultiLine 1].<br />
PDPMultiLine isA PDP ;<br />
for G in PDPMultiLine assert<br />
[PDPMultiLine 1]:<br />
VGroup VDepartment ;<br />
Einforms Esubstitutes <br />
end .
6.3 <strong>Metaschema</strong>ta der Aufbausicht 177<br />
Funktionendiagramme. Funktionendiagramme beschreiben die Zuordnung von Aufgaben zu<br />
Stellen. Die Darstellung der Stellengliederung erfolgt hierbei durch die Darstellungsmittel der<br />
Einliniensysteme (s.o.). Zur Darstellung der Aufgabengliederung ist in analoger Form auf das<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Aufgabengliederungsparadigmas (vgl. Kapitel 6.2.1) zurückzugreifen.<br />
Wesentlicher Modellierungsaspekt der Funktionendiagramme ist die Rolle, in der eine Stelle<br />
eine Aufgabe bearbeitet. Diese Funktionen sind am executionRole-Attribut der entsprechenden<br />
executesTask-Kanten abzulesen.<br />
6.3.2 <strong>Metaschema</strong>ta des Komm<strong>uni</strong>kationsparadigmas<br />
Mit den Beschreibungsmitteln des Komm<strong>uni</strong>kationsparadigmas (vgl. Kapitel 3.3.2) werden die<br />
Interaktionen innerhalb einer Organisation und mit externen Partnern modelliert. Das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> des Komm<strong>uni</strong>kationsparadigmas bildet hierzu die Konzepte zur Modellierung der<br />
Komm<strong>uni</strong>kationspartner, zur quantitativen Beschreibung der Komm<strong>uni</strong>kationsbeziehungen und<br />
zur Darstellung der hierzu eingesetzten Komm<strong>uni</strong>kationsmittel ab.<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Komm<strong>uni</strong>kationsparadigmas<br />
Wie auch das <strong>Referenz</strong>-<strong>Metaschema</strong> des Stellengliederungsparadigmas (vgl. Kapitel 6.3.1) werden<br />
im <strong>Referenz</strong>-<strong>Metaschema</strong> des Komm<strong>uni</strong>kationsparadigmas (CommP) die Organisationseinheiten<br />
Stellen (Position), Abteilungen (Department) und Stellenmehrheiten (Group) im Konzept<br />
OrganizationalUnit zusammengefaßt. Komm<strong>uni</strong>kationen (Comm<strong>uni</strong>cation) zwischen organisatorischen<br />
Einheiten und externen Partnern (ExternalPartner) werden durch den Beziehungstyp<br />
comm<strong>uni</strong>cates modelliert. Die durch comm<strong>uni</strong>cates-Kanten modellierte Komm<strong>uni</strong>kation mehrerer<br />
Partner ist ungerichtet. An einer Komm<strong>uni</strong>kation sind mindestens zwei Komm<strong>uni</strong>kationspartner<br />
beteiligt. Aufgrund der Injektivität von comm<strong>uni</strong>cates sind diese Komm<strong>uni</strong>kationspartner<br />
verschieden.<br />
Comm<strong>uni</strong>cationPartner<br />
OrganizationalUnit<br />
name: string<br />
External<br />
Partner<br />
Department Group Position<br />
comesFrom<strong>Se</strong>nder<br />
(comm<strong>uni</strong>cates)<br />
comm<strong>uni</strong>cates<br />
goesToReceiver<br />
(comm<strong>uni</strong>cates)<br />
Comm<strong>uni</strong>cation<br />
frequency: float<br />
duration: float<br />
transmits<br />
Abbildung 6.6: <strong>Referenz</strong>-<strong>Metaschema</strong> des Komm<strong>uni</strong>kationsparadigmas<br />
(Comm<strong>uni</strong>cation Paradigm, CommP)<br />
>1<br />
MeansOfComm<strong>uni</strong>cation<br />
Document<br />
personal<br />
Delivery: bool<br />
Phone<br />
Fax EMail<br />
Zur Darstellung gerichteter Komm<strong>uni</strong>kationsbeziehungen werden die Beziehungstypen comes-<br />
From<strong>Se</strong>nder und goesToReceiver als Spezialisierungen des Kantentyps comm<strong>uni</strong>cates eingeführt,<br />
die den an den Interaktionen Beteiligten <strong>Se</strong>nder- und Empfängerrollen zuweisen. Gerichte-
178 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
te Komm<strong>uni</strong>kationsbeziehungen werden ausschließlich durch comesFrom<strong>Se</strong>nder- und goesToReceiver-Kanten<br />
modelliert [CommP 1].<br />
for G in CommP assert<br />
[CommP 1]:<br />
c : VComm<strong>uni</strong>cation δ<br />
comesFrom<strong>Se</strong>nder<br />
c 1 δ c<br />
goesToReceiver<br />
1 ¯<br />
δ type<br />
comm<strong>uni</strong>cates<br />
c 0<br />
end .<br />
Quantitative Komm<strong>uni</strong>kationseigenschaften wie Komm<strong>uni</strong>kationshäufigkeit und -dauer werden<br />
in den Attributen der Comm<strong>uni</strong>cation-Knoten modelliert. Jeder Komm<strong>uni</strong>kation kann darüber<br />
hinaus auch das hierzu eingesetzte Komm<strong>uni</strong>kationsmittel (MeansOfComm<strong>uni</strong>cation) zugeordnet<br />
werden. Hierbei werden Komm<strong>uni</strong>kationen durch Telefon (Phone), Fax (Fax), E-Mail<br />
(EMail) und durch Dokumentenaustausch (Document) unterschieden.<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Auch die konkreten Darstellungsmittel des Komm<strong>uni</strong>kationsparadigmas heben einzelne Modellierungsaspekte<br />
des <strong>Referenz</strong>-<strong>Metaschema</strong>s heraus und verzichten auf die Darstellung anderer.<br />
Komm<strong>uni</strong>gramme. Das <strong>Metaschema</strong> der Komm<strong>uni</strong>gramme (CommPChart) basiert auf dem<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Komm<strong>uni</strong>kationsparadigmas. Komm<strong>uni</strong>gramme beschreiben das Vorliegen<br />
von Komm<strong>uni</strong>kationsbeziehungen zwischen jeweils genau zwei Partnern [CommP-<br />
Chart 1] sowie die Häufigkeit oder die Dauer dieser Interaktionen. Zur Beschreibung der quantitativen<br />
Komm<strong>uni</strong>kationsaspekte sind die frequency- oder duration-Attributierungen der Comm<strong>uni</strong>cation-Knoten<br />
zu visualisieren. In Komm<strong>uni</strong>gramm-Varianten wie z. B. in den Abbildungen<br />
3.10, 3.11 und 3.12 wird höchstens eine Interaktionsbeziehung zwischen zwei Komm<strong>uni</strong>kationspartnern<br />
dargestellt [CommPChart 2]. Die zur Komm<strong>uni</strong>kation genutzten Hilfsmittel<br />
werden in Komm<strong>uni</strong>grammen nicht abgebildet [CommPChart 3]. Die Komm<strong>uni</strong>kationsrichtung<br />
zwischen zwei Partnern kann anhand der comesFrom<strong>Se</strong>nder- und goesToReceiver-Kanten abgelesen<br />
werden.<br />
CommPChart isA CommP ;<br />
for G in CommPChart assert<br />
[CommPChart 1]:<br />
c : VComm<strong>uni</strong>cation ¯ δ c 2;<br />
comm<strong>uni</strong>cates<br />
[CommPChart 2]:<br />
v w : V Comm<strong>uni</strong>cationPartner ¯<br />
#c : V Comm<strong>uni</strong>cation v comesFrom<strong>Se</strong>nder c goesToReceiver<br />
[CommPChart 3]:<br />
V MeansOfComm<strong>uni</strong>cation <br />
end .<br />
w 1;
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 179<br />
Kooperationsbilder. Wie auch in Komm<strong>uni</strong>kationsdiagrammen werden durch Kooperationsbilder<br />
(vgl. das <strong>Metaschema</strong> CommPPic) Komm<strong>uni</strong>kationsbeziehungen zwischen genau zwei<br />
Komm<strong>uni</strong>kationspartnern beschrieben [CommPPic 1]. Diese Komm<strong>uni</strong>kationsbeziehungen sind<br />
generell gerichtet [CommPPic 2]. Kooperationsbilder beschreiben darüber hinaus die zur Interaktion<br />
verwendeten Hilfsmittel. Im Gegensatz zu der Darstellung durch Komm<strong>uni</strong>gramme,<br />
bei denen höchstens eine Komm<strong>uni</strong>kationsbeziehung zwischen zwei Partnern dargestellt wird,<br />
können hier beliebig viele Interaktionen modelliert werden, die jedoch jeweils unterschiedliche<br />
Medien verwenden [CommPPic 3].<br />
CommPPic isA CommP ;<br />
for G in CommPPic assert<br />
[CommPPic 1]:<br />
c : VComm<strong>uni</strong>cation ¯ δ c 2;<br />
comm<strong>uni</strong>cates<br />
[CommPPic 2]:<br />
V type<br />
comm<strong>uni</strong>cates<br />
;<br />
[CommPPic 3]:<br />
c 1 c 2 : V Comm<strong>uni</strong>cation ; m 1 m 2 : V MeansOfComm<strong>uni</strong>cation c 1 c 2 <br />
c 1 comesFrom<strong>Se</strong>nder comesFrom<strong>Se</strong>nder c 2 c 1 goesToReceiver goesToReceiver c 2 <br />
m 1 transmits c 1 m 2 transmits c 2 ¯ type m 1 type m 2<br />
end .<br />
6.4 <strong>Metaschema</strong>ta der Prozeßsicht<br />
In den <strong>Metaschema</strong>ta der Ablaufsicht sind die <strong>visuelle</strong>n Sprachen zur Darstellung logischer<br />
und zeitlicher Aspekte der Aufgabenbearbeitung zusammengefaßt. Die <strong>Metaschema</strong>ta der vier<br />
Beschreibungsparadigmen der Ablaufsicht werden in den folgenden Kapiteln eingeführt. Das<br />
nach außen sichtbare Verhalten eines Systems wird mit den Sprachen des Datenflußparadigmas<br />
beschrieben. Die Sprachen des Zustandsübergangsparadigmas beschreiben das dynamische<br />
Systemverhalten aus Sicht der Veränderung von Systemzuständen. Im Netzparadigma sind die<br />
Beschreibungsmittel zusammengefaßt, die das Systemverhalten entlang der Folgebeziehungen<br />
zwischen Prozessen und/oder Ereignissen darstellen. Regulär strukturierte Kontrollflüsse dienen<br />
zur Darstellung von Prozeßabläufen im Kontrollflußparadigma.<br />
6.4.1 <strong>Metaschema</strong>ta des Datenflußparadigmas<br />
Zur Beschreibung des nach außen sichtbaren Systemverhaltens mit den Sprachen des Datenflußparadigmas<br />
wird das System als ein Netz funktionaler Komponenten aufgefaßt, die durch<br />
den Austausch von Daten oder Gegenständen miteinander interagieren (vgl. Kapitel 3.4.1). Das<br />
<strong>Metaschema</strong> des Datenflußparadigmas stellt daher Konzepte zur Modellierung dieser funktionalen<br />
Komponenten (Prozesse) und deren Interaktionsbeziehungen (Datenflüsse) bereit. Datenflußmodellierungen<br />
sind ein wesentliches Hilfmittel bei der funktionalen Zerlegung eines Systems
180 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
in Teilsysteme. Hierzu bildet das <strong>Metaschema</strong> entsprechende Konzepte zur Modellierung von<br />
Prozeßverfeinerung ab. Diverse Beschreibungsmittel des Datenflußparadigmas verwenden zur<br />
Konkretisierung der Modellierungen neben den Prozessen und Datenflüssen zusätzliche Modellierungskonstrukte,<br />
die im <strong>Referenz</strong>-<strong>Metaschema</strong> verallgemeinert abgebildet sind.<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas<br />
Abbildung 6.7 enthält den EER-Teil des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas (DFP)<br />
(vgl. auch [EIA/IS-115, 1995], [Drüke, 1996], [Winter / Ebert, 1996, S. 115], [Ebert et al.,<br />
1996b]). Die funktionalen Systemkomponenten werden durch das Konzept Process abgebildet.<br />
Interaktionsbeziehungen werden im Konzept Dataflow beschrieben. Solche Datenflüsse verbinden<br />
jeweils zwei Datenflußobjekte (DfObject) miteinander, die entweder Prozesse (Process),<br />
Speicher (Store), Schnittstellen zur Systemumwelt (Terminator) oder Kontaktpunkte in Verfeinerungen<br />
(PointOfContact) modellieren. Nicht zugelassen sind hierbei Datenflüsse ausschließlich<br />
zwischen Speichern, zwischen Schnittstellen oder zwischen Datenflußsurrogaten in Verfeinerungen<br />
(PointOfContact) [DFP 1]. Datenflußbeziehungen sind binär modelliert, so daß jeweils<br />
Quelle (dfComesFrom) und Ziel (dfGoesTo) eines Datenflusses unterschieden werden kann.<br />
Mechanism<br />
Organizational<br />
Unit<br />
Dataflow<br />
Scenario<br />
Technical<br />
Means<br />
name: string<br />
name: string<br />
isComponentIn<br />
executes<br />
Process<br />
ClassItem<br />
Atomic<br />
Class<br />
DfItem<br />
DfObject<br />
isComponentOf isComponentOf isComponentOf<br />
Alternative<br />
Class<br />
describes<br />
Terminator Store<br />
Process<br />
dfRefines<br />
PointOf<br />
Contact<br />
Iterated<br />
Class<br />
dfGoesTo<br />
dfComesFrom<br />
dfCorrespondsTo<br />
describes<br />
<strong>Se</strong>quential<br />
Class<br />
Dataflow<br />
Abbildung 6.7: <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas (Data Flow Paradigm, DFP)
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 181<br />
Sowohl Datenflüsse als auch Speicher können durch die <strong>visuelle</strong> Modellierungsprachen des Objekt-Beziehungsparadigmas<br />
(Kapitel 3.5.3) näher konkretisiert werden. Der Kantentyp describes<br />
stellt hierzu die Verbindung zwischen dem <strong>Metaschema</strong>ta des Datenflußparadigmas und des Objekt-Beziehungsparadigmas<br />
(vgl. Kapitel 6.5.3) her. In Datenflußmodellierungen erfolgt die Konkretisierung<br />
i. allg. durch regulär strukturierte Objektgeflechte, die mittels Datenlexika (vgl. auch<br />
Kapitel 6.5.3) beschrieben werden. Diese Objektstrukturen werden im <strong>Metaschema</strong> des Datenflußparadigmas<br />
durch das Konzept ClassItem abgebildet, das in Unterkonzepte zur Beschreibung<br />
atomarer Objektklassen und durch Alternativen, Iterationen oder <strong>Se</strong>quenzen konstruierte Objektklassen<br />
spezialisiert ist.<br />
In einigen Datenflußdialekten ([Ross, 1977], [Gane / Sarson, 1979]) werden Prozessen auch ihre<br />
menschlichen und technischen Handlungsträger zugeordnet. Dieses wird im <strong>Metaschema</strong> durch<br />
das Konzept Mechanism abgebildet, das durch seine Verfeinerung OrganizationalUnit auch den<br />
Querbezug zu den <strong>Metaschema</strong>ta der Aufbausicht (vgl. Kapitel 6.3) herstellt. Die Metamodellierung<br />
der <strong>Se</strong>quenzialisierungen von Datenflußdiagrammen zur Beschreibung von Anwendungsszenarien<br />
erfolgt durch das Konzept DataflowScenario, das Konzepte der Datenflußmodellierung<br />
(DfItem) zu Szenarien zusammenfaßt.<br />
Die Verfeinerung von Prozessen durch weitere Datenflußkonzepte (DfItem) wird durch den Kantentyp<br />
dfRefines modelliert. Prozesse sollten hierbei in drei bis sechs Unterprozesse untergliedert<br />
werden [DFP 2]. Das <strong>Metaschema</strong> des Datenflußparadigmas ermöglicht die mehrfache Verwendung<br />
von Prozeßverfeinerungen 1 (vgl. auch [EIA/IS-115, 1995], [Flatscher, 1998, S. 229]). Diese<br />
Verfeinerungsstruktur ist zyklenfrei [DFP 3]. Für die Mehrfachverwendung muß weiter gelten,<br />
daß die Elemente einer Datenflußbeschreibung (DfItem) die eine solche Verfeinerung bilden,<br />
auch in jeder Verfeinerung vollständig enthalten sind [DFP 4]. Datenflüsse sind ausschließlich<br />
zwischen solchen Datenflußobjekten zugelassen, die dieselben Prozesse verfeinern [DFP 5].<br />
In Verfeinerungen dienen PointOfContact-Knoten als Surrogate der Datenflüsse, die in den verfeinerten<br />
Prozeß ein- bzw. aus ihm ausgehen. Dieser Bezug wird durch dfCorrespondsTo-Kanten<br />
hergestellt [DFP 6]. Verfeinerungen müssen strukturell balanciert sein, d. h. die Verfeinerung eines<br />
Prozesses besitzt nach außen dasselbe Verhalten wie der verfeinerte Prozeß. Zu jedem in<br />
einen verfeinerten Prozeß ein- oder aus ihm ausgehenden Datenfluß existiert in der Verfeinerung<br />
genau ein PointOfContact-Knoten als Start- bzw. Endpunkt dieser Datenflüsse in der Verfeinerung<br />
[DFP 7]. Diese Kontaktpunkte sind <strong>für</strong> alle Datenflüsse eines verfeinerten Prozesses<br />
verschieden [DFP 8]. Datenflüsse sind in Verfeinerungen nur zwischen Objekten dieser Verfeinerung<br />
zugelassen, Datenflüsse zwischen Verfeinerungen sind auszuschließen [DFP 9].<br />
Ebenso muß sichergestellt sein, daß die Daten, die durch die Datenflüsse der Verfeinerung transportiert<br />
werden, mit den Daten der korrespondierenden Datenflüsse des verfeinerten Prozesses<br />
verträglich sind. In Zusicherung [DFP 10] wird dieses durch Rückgriff auf die Strukturierung<br />
der transportierten Daten spezifiziert. Analog ist auch zu fordern, daß zu Speichern adjazente<br />
Datenflüsse auch mit dem Speicherinhalt verträgliche Daten lesen bzw. schreiben [DFP 11].<br />
1 Vielfach wird in Datenflußdialekten die Mehrfachverwendung ausgeschlossen und eine baumartige Verfeinerungsstruktur<br />
gefordert. Für das <strong>Referenz</strong>-<strong>Metaschema</strong> wird jedoch nur die allgemeinere Zyklenfreiheit verlangt.
182 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
for G in DFP assert<br />
[DFP 1]:<br />
s1 s2 : VStore s1 dfComesFrom dfGoesTo s2 <br />
t1 t2 : VTerminator t1 dfComesFrom dfGoesTo t2 <br />
p1 p2 : VPointOfContact p1 dfComesFrom dfGoesTo p2 ;<br />
[DFP 2]:<br />
[DFP 3]:<br />
p : V Process δ dfRefines p 0 ¯ 3 δ dfRefines p 6;<br />
isDag eGraph E dfRefines<br />
[DFP 4]:<br />
a b : VDfItem a dfRefines dfRefines b ¯<br />
a dfRefines b dfRefines ;<br />
[DFP 5]:<br />
a b : VDfObject a dfComesFrom dfGoesTo b ¯<br />
a dfRefines b dfRefines ;<br />
[DFP 6]:<br />
[DFP 7]:<br />
[DFP 8]:<br />
[DFP 9]:<br />
;<br />
c : E ÓÖÖ×ÔÓÒ×ÌÓ ¯ p : V ÈÖÓ ×× δ dfRefines p 0 ¯<br />
ω c dfGoesTo dfComesFrom<br />
d : VDataflow ; p : VProcess δ<br />
dfRefines<br />
p 0 d dfGoesTo p ¯<br />
1 poc : VPointOfContact d dfCorresponds poc p ;<br />
dfRefines p ¯<br />
p ;<br />
poc dfComesFrom dfGoesTo dfRefines<br />
d : VDataflow ; p : VProcess δ<br />
dfRefines<br />
p 0 d dfComesFrom p ¯<br />
1 poc : VPointOfContact d dfCorresponds poc p ;<br />
dfRefines p ¯<br />
poc dfGoesTo dfComesFrom dfRefines<br />
p : V Process ; d 1 d 2 : V Dataflow ; poc 1 poc 2 : V PointOfContact <br />
d 1 d 2 <br />
d 1 dfGoesTo dfComesFrom p dfRefines poc 1 dfCorrespondsTo d 1 <br />
d 2 dfGoesTo dfComesFrom p dfRefines poc 2 dfCorrespondsTo d 2 ¯<br />
poc 1 poc 2 ;<br />
d : V Dataflow ; p : V Process d dfRefines<br />
d dfGoesTo dfComesFrom dfRefines<br />
p ¯<br />
p ;
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 183<br />
[DFP 10]:<br />
poc : V PointOfContact ¯<br />
poc dfCorrespondsTo describes<br />
£<br />
isComponentOf<br />
describes dfGoesTo dfComesFrom<br />
[DFP 11]:<br />
d : VDataflow ¯<br />
d dfGoesTo dfComesFrom &Store describes<br />
end .<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
poc ;<br />
£<br />
isComponentOf describes d<br />
Die <strong>Metaschema</strong>ta der verschiedenen Dialekte und Darstellungsvarianten des Datenflußparadigmas<br />
können ebenfalls aus dem <strong>Referenz</strong>-<strong>Metaschema</strong> abgeleitet werden.<br />
Kontextdiagramme. Kontextdiagramme (vgl. das <strong>Metaschema</strong> DFPContext) beschreiben genau<br />
einen Prozeß in seiner Systemumgebung [DFPContext 1]. Dieser Prozeß beschreibt in der<br />
Regel die Wurzel einer Verfeinerungshierarchie. Aus dem Prozeß eines Kontextdiagramms gehen<br />
folglich keine dfRefines-Kanten aus [DFPContext 2], und das Kontextdiagramm enthält keine<br />
PointOfContact-Knoten [DFPContext 3]. Auch werden in Kontextdiagrammen keine Speicher<br />
(Store), keine Szenarien (DataflowScenario) und keine Mechanismen (Mechanism) modelliert<br />
[DFPContext 3].<br />
DFPContext isA DFP ;<br />
for G in DFPContext assert<br />
[DFPContext 1]:<br />
# VProcess 1;<br />
[DFPContext 2]:<br />
p : V Process ¯ δ dfRefines p 0;<br />
[DFPContext 3]:<br />
V PointOfContact V Store V DataflowScenario V Mechanism <br />
end .<br />
Datenflußdiagramme. Datenflußdiagramme der strukturierten Analyse [DeMarco, 1978] entsprechen<br />
weitestgehend dem <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas. In diesen Datenflußdiagrammen<br />
(vgl. das <strong>Metaschema</strong> DFPdeMarco) werden lediglich keine Schnittstellen (Terminator)<br />
verwendet, die den Kontextdiagrammen vorbehalten sind. Auch werden keine Szenarien<br />
(DataflowScenario) und Mechanismen (Mechanism) abgebildet [DFPdeMarco 1]. Aufgrund<br />
der <strong>für</strong> Datenflußdiagramme geforderten Nummerierung [Yourdon, 1989, S. 165ff] sind Prozeßzerlegungen<br />
baumartig [DFPdeMarco 2].<br />
DFPdeMarco isA DFP ;
184 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
for G in DFPdeMarco assert<br />
[DFPdeMarco 1]:<br />
V Terminator V DataflowScenario V Mechanism ;<br />
[DFPdeMarco 2]:<br />
isTree eGraph EdfRefines end .<br />
Echtzeit-Datenflußdiagramme. Die Echtzeit-Erweiterung der strukturierten Analyse [Ward /<br />
Mellor, 1985] ergänzen Datenflußdiagramme nach [DeMarco, 1978] um zusätzliche Kontrollelemente.<br />
Prozesse, Datenflüsse und Speicher sind durch Kontrollprozesse (ControlProcess), durch<br />
Ereignisflüsse (EventFlow) und durch Ereignisspeicher (EventStore) zu spezialisieren.<br />
DfObject<br />
Terminator<br />
Process<br />
Control<br />
Process<br />
Event<br />
Store<br />
Store<br />
PointOf<br />
Contact<br />
dfGoesTo<br />
dfComesFrom<br />
dfCorrespondsTo<br />
Dataflow<br />
EventFlow<br />
DFPRTSA isA DFPdeMarco <br />
for G in DFPRTSA assert<br />
[DFPRTSA 1]:<br />
d V Dataflow d dfGoesTo dfComesFrom<br />
[DFPRTSA 2]:<br />
ControlProcess EventStore ¯<br />
type d EventFlow <br />
e V EventFlow ¯<br />
e dfGoesTo dfComesFrom<br />
ControlProcess EventStore <br />
end .<br />
Abbildung 6.8: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong> Echtzeit-Datenflußdiagramme<br />
(DFPRTSA)<br />
Kontrollprozesse und Ereignisspeicher sind ausschließlich zu Ereignisflüssen inzident [DFPRT-<br />
SA 1], und Ereignisflüsse sind zu mindestens einem ControlProcess oder EventStore inzident<br />
[DFPRTSA 2]. Das <strong>Metaschema</strong> der Echtzeit-Datenflußdiagramme (DFPRTSA) erweitert hierzu<br />
das <strong>Metaschema</strong> der Datenflußdiagramme DFPdeMarco.<br />
Datenflußpläne. Datenflußpläne beschreiben neben den Datenflußbeziehungen zwischen den<br />
Prozessen auch Trägermedien <strong>für</strong> den Datenaustausch und unterscheiden verschiedene Arten der<br />
Speicherung und der Prozeßbearbeitung. Zur Abbildung dieser Erweiterungen ist das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> zum <strong>Metaschema</strong> DFPFlowChart zu erweitern. In Abbildung 6.9 sind diese Spezialisierungen<br />
der Konzepte Store und Process sowie die Ergänzung der Trägermedien (Means-<br />
OfDataflow) dargestellt.<br />
In Datenflußplänen werden keine Szenarien und keine menschlichen oder technischen Handlungsträger,<br />
durch die Prozesse bearbeitet werden, modelliert [DFPFlowChart 1]. Auch kennen<br />
sie keine weitere Strukturierung der ausgetauschten Daten [DFPFlowChart 2].<br />
DFPFlowChart isA DFP ;<br />
for G in DFPFlowChart assert<br />
[DFPFlowChart 1]:<br />
V DataflowScenario V Mechanism ;
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 185<br />
DfObject<br />
Terminator<br />
Process<br />
Manual<br />
Process<br />
Store<br />
<strong>Se</strong>quential<br />
Memory<br />
Direct<br />
Access<br />
Memory<br />
PointOf<br />
Contact<br />
Core<br />
Memory<br />
dfGoesTo<br />
dfComesFrom<br />
dfCorrespondsTo<br />
Dataflow<br />
transports<br />
MeansOf<br />
Dataflow<br />
Punch<br />
Card<br />
Punch<br />
Tape<br />
Magnetic<br />
Tape<br />
Magnetic<br />
Drum<br />
Magnetic<br />
Disc<br />
Abbildung 6.9: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong> Datenflußpläne<br />
(DFPFlowChart)<br />
[DFPFlowChart 2]:<br />
VClassItem VAtomicClass end .<br />
SADT-Diagramme. Auch das <strong>Metaschema</strong> der SADT-Aktivitätsdiagramme DFPSADT in Abbildung<br />
6.10 erfordert nur eine geringe Anpassung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas.<br />
SADT unterscheidet zwischen eingehenden Datenflüssen, deren Daten im Prozeß<br />
verändert werden, und solchen Datenflüssen, die die Bearbeitung im Prozeß steuern. Diese<br />
Unterscheidung wird durch ein zusätzliches Attribut (controlsProcess) derdfGoesTo-Kanten<br />
modelliert. In SADT-Aktivitätsdiagrammen werden keine Speicher (Store) und Schnittstellen<br />
(Terminator) verwendet. Das <strong>Referenz</strong>-<strong>Metaschema</strong> ist um diese Konzepte einzuschränken<br />
[DFPSADT 1]. Prozeßzerlegungen sind auch <strong>für</strong> SADT-Aktivitätsdiagramme baumartig [DF-<br />
PSADT 2].<br />
DfObject<br />
Process<br />
PointOf<br />
Contact<br />
controlsProcess : bool<br />
dfGoesTo<br />
dfComesFrom<br />
dfCorrespondsTo<br />
Dataflow<br />
DFPSADT isA DFP <br />
for G in DFPSADT assert<br />
[DFPSADT 1]:<br />
V Store V Terminator <br />
[DFPSADT 2]:<br />
isTree eGraph E dfRefines<br />
end .<br />
Abbildung 6.10: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong><br />
SADT-Aktivitätsdiagramme (DFPSADT)<br />
Anwendungsfalldiagramme. Das <strong>Metaschema</strong> der Anwendungsfalldiagramme der Unified<br />
Modeling Language (UML) (DFPUseCase) (vgl. auch das Teil-<strong>Metaschema</strong> in [OMG, 1999,<br />
S. 2-112]) kann ebenfalls auf das <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas zurückgeführt<br />
werden. Durch Anwendungsfalldiagramme werden Systeme entlang ihrer Interaktionsbeziehungen<br />
zwischen Anwendungsfällen (Use Cases) und Akteuren beschrieben. Das System (System)<br />
selbst ist durch die hierin zusammengefaßten Anwendungsfälle bestimmt. Im <strong>Metaschema</strong> werden<br />
Anwendungsfälle durch Process- und Akteure durch Terminator-Konzepte abgebildet. Das
186 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
<strong>Metaschema</strong> der Anwendungsfalldiagramme aus Abbildung 6.11 enthält keine Konzepte zur<br />
Darstellung von Datenspeichern, Kontaktpunkten, Szenarien und Mechanismen [DFPUseCase<br />
1]. Interaktionsdiagramme beschreiben nur das Vorliegen einer Interaktionsbeziehung. Über<br />
die ausgetauschten Daten werden keine Aussagen getroffen, so daß auch keine dataflow-Knoten<br />
benötigt werden [DFPUseCase 1]. Prozeßverfeinerungen werden in Anwendungfalldiagrammen<br />
nicht abgebildet [DFPUseCase 2]. Konkretisierungen von Prozessen werden in der UML z. B.<br />
durch Aktivitätsdiagramme notiert.<br />
specializes<br />
DfObject<br />
Terminator<br />
Process<br />
extends includes<br />
alphaLimits: int int<br />
omegaLimits: int int<br />
associates<br />
isUseCaseIn<br />
System<br />
name : string<br />
DFPUseCase isA DFP <br />
for G in DFDRTSA assert<br />
[DFPUseCase 1]:<br />
V Store V PointofContact V Dataflow <br />
V DataflowScenario V Mechanism <br />
[DFPUseCase 2]:<br />
E dfRefines <br />
[DFPUseCase 3]:<br />
e E specializes ¯ type « e type e<br />
end .<br />
Abbildung 6.11: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas <strong>für</strong> Anwendungsfalldiagramme<br />
(DFPUseCase)<br />
Interaktionsbeziehungen (Assoziationen) werden durch associates-Kanten beschrieben, die auch<br />
um Kardinalitätsangaben ergänzt werden können. Die Anwendungsfälle eines Systems sind voneinander<br />
unabhängig, so daß Assoziationen nur zwischen Anwendungsfällen und Akteure zugelassen<br />
sind [Rumbaugh et al., 1999, S. 489]. Die Koordination der Anwendungsfälle eines<br />
Systems erfolgt durch die Akteure.<br />
Sowohl Anwendungsfälle als auch Akteure können spezialisiert werden (specializes). Generalisierungsbeziehungen<br />
beziehen sich jeweils ausschließlich auf Anwendungsfälle (Process) oder<br />
Akteure (Terminator) [DFPUseCase 2]. Anwendungsfälle können darüber hinaus andere Anwendungsfälle<br />
erweitern (extends) und einbinden (includes).<br />
6.4.2 <strong>Metaschema</strong>ta des Zustandsübergangsparadigmas<br />
Mit den <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Zustandsübergangsparadigmas (vgl. Kapitel 3.4.2)<br />
werden reaktive Systeme durch Zustände und Übergänge zwischen diesen modelliert. Zustandsübergänge<br />
werden durch das Eintreffen von externen oder internen Ereignissen ausgelöst. Sowohl<br />
den Zustandsübergängen als auch den Zuständen können Systemreaktionen oder Aktionen<br />
zugeordnet werden, die beim Übergang bzw. in den Zuständen bearbeitet werden. Das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> des Zustandsübergangsparadigmas bildet hierzu die Konzepte zur Beschreibung<br />
und Strukturierung von Zuständen, zur Darstellung der Zustandsübergänge und zur Modellierung<br />
der Ereignisse und Systemreaktionen ab.
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 187<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Zustandsübergangsparadigmas<br />
Der EER-Teil des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Zustandsübergangsparadigmas STP ist in Abbildung<br />
6.12 dargestellt (vgl. auch [Ebert, 1993], [Winter / Ebert, 1996, S. 114]).<br />
Zur Strukturierung des Systemzustands wird dieser in den modernen Beschreibungsmitteln des<br />
Zustandsübergangsparadigmas durch elementare und zusammengesetzte Teilzustände (Blobs)<br />
modelliert. Blobs unterscheiden sich in atomare (AtomicBlobs) inXorBlobs, zur Verfeinerung<br />
von Teilzuständen, und in AndBlobs, zur Beschreibung nebenläufiger Prozesse. Hierbei enthalten<br />
XorBlobs weitere beliebige Blobs, von denen einer durch eine startsWith-Kante als Startblob<br />
ausgezeichnet sein kann. AndBlobs enthalten mindestens zwei voneinander unabhängige Xor-<br />
Blobs. XorBlobs können zusätzlich um einen „History“-Mechanismus (Attribut history) ergänzt<br />
werden. Hierdurch wird angezeigt, daß der zuletzt besuchte Blob beim Wiederbetreten in den<br />
XorBlob als Startblob verwendet wird. Atomare Blobs sind zur Beschreibung solcher Teilzustände,<br />
aus denen keine weiteren Übergänge möglich sind, durch EndBlobs spezialisiert [STP 1]. Die<br />
Strukturierung der Blobs entlang der contains-Kanten ist baumartig [STP 2]. Die Wurzel dieses<br />
Baumes spiegelt den Zustand des gesamten Systems wider. Dieser wird durch einen XorBlob<br />
modelliert [STP 3], zu dem keine Transitionen inzident sind [STP 4] und der genau einen als<br />
Startblob ausgezeichneten Blob enthält [STP 5].<br />
Predicate<br />
name : string<br />
Transition<br />
isGuard effects triggers<br />
name: string<br />
NetObject<br />
Process Event<br />
transGoesTo<br />
transComesFrom<br />
isEntryAction<br />
isBlobAction<br />
isExitAction<br />
starts<br />
With<br />
Blob<br />
AtomicBlob<br />
End<br />
Blob<br />
Xor<br />
Blob<br />
history : bool<br />
>1<br />
And<br />
Blob<br />
Abbildung 6.12: <strong>Referenz</strong>-<strong>Metaschema</strong> des Zustandsübergangsparadigmas,<br />
State Transition Paradigm, STP)<br />
contains<br />
name: string<br />
contains<br />
Übergänge zwischen zwei Blobs werden durch Transition-Knoten modelliert. Die Richtung dieser<br />
Übergänge ist anhand der transComesFrom und transGoesTo-Kanten ablesbar. Übergänge<br />
werden durch Ereignisse (Event) ausgelöst. Durch optionale Wächter (isGuard) können diese<br />
Übergänge auch noch von zusätzlichen Prädikaten (Predicate) abhängig gemacht werden.<br />
Zustandsübergänge können Reaktionen des Systems bewirken, die im Konzept NetObject zusammengefaßt<br />
sind. Diese Systemreaktionen werden in Systemprozesse (Process) und Ereignisse<br />
(Event) unterschieden, die weitere Übergänge auslösen (Broadcast) können. Systemreaktionen
188 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
können aber auch den einzelnen Blobs zugeordnet werden. Diese werden bei Betreten des Blobs<br />
(isEntryAction), während das System in diesem Blob verweilt (isBlobAction) oder beim Verlassen<br />
des Blobs (isExitAction) ausgeführt.<br />
Übergänge sind sowohl in die Blobs eines XorBlobs alsauchindenXorBlob als Gesamtheit möglich.<br />
Geht mindestens ein Übergang in den XorBlob als Gesamtheit ein, ist festzulegen, welcher<br />
Startzustand durch den XorBlob eingenommen wird (vgl. auch [Ebert/Süttenbach, 1997a, DM7],<br />
[Süttenbach / Ebert, 1997, STD6]). Ebenso ist zu jedem XorBlob eines AndBlobs ein Startblob<br />
anzugeben [STP 6]. Solche Startblobs müssen jeweils im entsprechenden XorBlob enthalten sein<br />
[STP 7]. AndBlobs enthalten mindestens zwei voneinander unabhängige XorBlobs. Zwischen<br />
diesen verlaufen daher auch keine Übergänge [STP 8] [Ebert, 1993, constraint 1].<br />
a<br />
a<br />
a) Start Konflikt<br />
a<br />
a<br />
d) Start Konflikt<br />
(nicht deterministisch)<br />
a<br />
a<br />
b) Ziel Konflikt c) Blob Konflikt<br />
a<br />
a<br />
a<br />
e) Ziel Konflikt<br />
(nicht deterministisch)<br />
Abbildung 6.13: Konfligierende Übergänge<br />
Ereignisse lösen Übergänge zwischen Blobs aus. Hierbei muß deterministisch entschieden werden<br />
können, in welchem Folgezustand sich das System anschließend befindet. Mehrere Übergänge<br />
können hierbei aufgrund gleicher Ereignisse zu Konflikten führen. Diese Konflikte werden<br />
bereits in [Harel, 1987] durch Verbot entsprechender Modellierungen ausgeschlossen. [Ebert,<br />
1993] schlägt vor, in einigen dieser Konfliktfälle (vgl. Abbildung 6.13a–c) jeweils den innersten<br />
Übergang schalten zu lassen. Auszuschließen sind dann nur noch wenige Modellierungen wie<br />
sie in Abbildung 6.13d–e exemplarisch dargestellt sind.<br />
In Anlehnung an [Ebert, 1993, constraint 2] wird in Zusicherung [STP 9] <strong>für</strong> das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> des Zustandsübergangsparadigmas gefordert, daß ausgehend von einem korrekten<br />
Systemzustand bei Eintreffen eines Ereignisses, das mehrere Übergänge auslöst, das System auch<br />
nur in einen korrekten Systemzustand übergeht. Übergänge aufgrund desselben Ereignisses aus<br />
demselben Blob oder aus verschiedenen, zueinander parallel laufenden Blobs enden entweder in<br />
genau einem Blob oder in weiteren zueinander parallelen Blobs2 .<br />
for G in STP assert<br />
[STP 1]:<br />
e : VEndBlob ¯ δ e 0;<br />
transComesFrom<br />
a
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 189<br />
[STP 2]:<br />
[STP 3]:<br />
[STP 4]:<br />
[STP 5]:<br />
[STP 6]:<br />
[STP 7]:<br />
[STP 8]:<br />
[STP 9]:<br />
end .<br />
isTree eGraph E contains<br />
type root eGraph E contains<br />
;<br />
XorBlob ;<br />
δ transComesFrom root eGraph E contains δ transGoesTo root eGraph E contains 0;<br />
1 b : V Blob ¯ b contains root eGraph E contains startsWith<br />
x : V XorBlob δ transGoesTo x 0 x contains &AndBlob ¯<br />
δ startsWith x 1;<br />
e : E startsWith ¯ α e contains<br />
ω e ;<br />
x y : VXorBlob x contains &AndBlob contains y x y ¯<br />
x<br />
y ;<br />
£<br />
contains transComesFrom transGoesTo<br />
£<br />
contains<br />
t1 t2 : VTransition ; a b c d : VBlob t1 t2 <br />
t1 triggers &Event triggers t2 <br />
a transComesFrom t1 transGoesTo b <br />
c transComesFrom t2 transGoesTo d ¯<br />
lca a b lca c d <br />
a c <br />
a c a<br />
a<br />
b d <br />
b d b<br />
b<br />
£<br />
contains<br />
£<br />
contains &AndBlob<br />
£<br />
contains<br />
£<br />
contains &AndBlob<br />
c a<br />
£<br />
contains<br />
£<br />
contains c<br />
d b<br />
£<br />
contains<br />
£<br />
contains d<br />
2 Zusicherung [STP 9] verwendet die Funktion lca, die den kleinsten gemeinsamen Vorfahren zweier Blobs in<br />
der contains-Struktur bestimmt.<br />
lca : V Blob ¢V Blob V Blob<br />
£<br />
lca λvw : VBlob ¯ µx: VBlob ¯ v contains x<br />
y : VBlob v<br />
w <br />
£<br />
contains<br />
£<br />
contains y<br />
c <br />
d <br />
b ;<br />
£<br />
contains w ¯ x<br />
£<br />
contains y
190 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> des Zustandsübergangsparadigma kann zur Metamodellierung der<br />
Zustandsübergangsbeschreibungen der Object Modeling Technique (OMT) [Rumbaugh et al.,<br />
1991, S. 89ff] und der Unified Modeling Language (UML) [Booch et al., 1999, S. 243ff] direkt<br />
übernommen werden. Zu dem hier vorgestellten <strong>Referenz</strong>-<strong>Metaschema</strong> ähnliche <strong>Metaschema</strong>ta<br />
finden sich <strong>für</strong> OMT in [Ebert/Süttenbach, 1997a, S. 21ff] und <strong>für</strong> die UML in [OMG, 1999, S. 2-<br />
123]. Zur Metamodellierung der Zustandsübergangsbeschreibungen nach [Harel, 1987], nach<br />
[Booch, 1994], durch Zustandsautomaten und durch Zustandstabellen und -matrizen sind wenige<br />
Einschränkungen vorzunehmen.<br />
Statecharts nach [Harel, 1987]. Statecharts verwenden keine EndBlobs [STPHarel 1] und unterstützen<br />
die Modellierung von den Blobs zugeordneten Systemreaktionen nicht [STPHarel 2].<br />
Zusicherung [STP 6] des <strong>Referenz</strong>-<strong>Metaschema</strong>s ist <strong>für</strong> den Dialekt nach [Harel, 1987] zu verschäfen.<br />
XorBlobs enthalten hier generell einen Startblob [STPHarel 3].<br />
STPHarel isA STP ;<br />
for G in STPHarel assert<br />
[STPHarel 1]:<br />
V EndBlob ;<br />
[STPHarel 2]:<br />
E IsEntryAction E IsStateAction E IsExitAction ;<br />
[STPHarel 3]:<br />
x : VXorBlob ¯ δ x 1<br />
startsWith<br />
end .<br />
Zustandsübergangsdiagramme nach [Booch, 1994]. Die Zustandsübergangsbeschreibungen<br />
nach [Booch, 1994] entsprechen bis auf die Verwendung paralleler Blobs dem <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>. Zur Abbildung dieser Notationsvariante enthält das <strong>Metaschema</strong> STPBooch keine<br />
AndBlobs [STPBooch 1] (vgl. auch [Booch, 1994, S. 208]).<br />
STPBooch isA STP ;<br />
for G in STPBooch assert<br />
[STPBooch 1]:<br />
V AndBlob <br />
end .<br />
Zustandsautomaten. Die Modellierung durch Zustandsautomaten oder Zustandsübergangsdiagramme<br />
verwendet nur flache Automaten, ohne weitere Strukturierung der Blobs. Diese Automaten<br />
haben einen ausgezeichneten Anfangszustand. Aus Sicht des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
bestehen solche Modelle aus genau einem XorBlob, der den gesamten Automaten beschreibt
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 191<br />
[STPAutomaton 1]. Alle weiteren Blobs sind atomar und in diesem XorBlob enthalten [STPAutomaton<br />
2]. AndBlobs existieren in Zustandsautomaten folglich nicht [STPAutomaton 3]. Auch<br />
werden hier keine Prädikate zur Modellierung von Guards verwendet. Zustandsübergänge sind<br />
ausschließlich von Ereignissen abhängig. In Zustandsautomaten sind auch Folgezustände von<br />
Endzuständen erlaubt. Die Zusicherung [STP 1] des <strong>Referenz</strong>-<strong>Metaschema</strong>s ist daher im <strong>Metaschema</strong><br />
<strong>für</strong> Zustandsautomaten (STPAutomaton) entsprechend zu verallgemeinern [STPAutomaton<br />
4].<br />
STPAutomaton isA STP ;<br />
for G in STPAutomaton assert<br />
[STPAutomaton 1]:<br />
# VXorBlob 1;<br />
[STPAutomaton 2]:<br />
a : V AtomicBlob ¯ a contains root eGraph E contains ;<br />
[STPAutomaton 3]:<br />
V AndBlob V Predicate ;<br />
[STPAutomaton 4]:<br />
overwrites [STP 1] :<br />
e : VEndBlob ¯ δ e 0<br />
transComesFrom<br />
end .<br />
Wird der Automat als Moore-Automat aufgefaßt, sind Systemreaktionen ausschließlich an die<br />
Blobs gebunden. Aktionen beim Eintritt, während des Aufenthalts und beim Verlassen des<br />
Blobs werden nicht unterschieden. Im <strong>Metaschema</strong> der Moore-Automaten (STPMoore), das aus<br />
STPAutomaton abgeleitet werden kann, existieren somit kein effects-, isEntryAction- und isExit-<br />
Action-Kanten [STPMoore 1].<br />
STPMoore isA STPAutomaton ;<br />
for G in STPMoore assert<br />
[STPMoore 1]:<br />
E effects E isEntryAction E isExitAction <br />
end .<br />
Analog kann auch das <strong>Metaschema</strong> der Mealy-Automaten (STPMealy)ausSTPAutomaton abgeleitet<br />
werden. In Mealy-Automaten sind Aktionen ausschließlich an Zustandsübergänge gebunden;<br />
isEntryAction-, isStateAction- und isExitAction-Kanten existieren hier nicht [STPMealy 1].<br />
STPMealy isA STPAutomaton ;<br />
for G in STPMealy assert<br />
[STPMealy 1]:<br />
E isEntryAction E isStateAction E isExitAction <br />
end .
192 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Zustandsübergangsmatrizen und -tabellen. Zustandsübergangsdarstellungen durch Matrizen<br />
und Tabellen beschreiben wie Automaten ausschließlich flache Zustandsübergangsstrukturen.<br />
Da Anfangs- und Endzustände in diesen Darstellungen nicht explizit ausgezeichnet werden,<br />
kann das <strong>Metaschema</strong> STPTable aus dem <strong>Referenz</strong>-<strong>Metaschema</strong> durch Einschränkung auf ausschließlich<br />
atomare Blobs abgeleitet werden [STPTable 1].<br />
STPTable isA STP ;<br />
for G in STPMealy assert<br />
[STPTable 1]:<br />
b : VBlob ¯ type b AtomicBlob ;<br />
end .<br />
Je nach Modellierungsinhalt ist das <strong>Referenz</strong>-<strong>Metaschema</strong> STPTable um weitere Konzepte zu reduzieren.<br />
So enthält beispielsweise das <strong>Metaschema</strong> zur Darstellung der Zustandsübergangsmatrix<br />
aus Abbildung 3.20b (<strong>Se</strong>ite 69) keine Aktionen, während sie in der Zustandsübergangtabelle<br />
in Abbildung 3.20c enthalten sind.<br />
6.4.3 <strong>Metaschema</strong>ta des Netzparadigmas<br />
Mit den <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Netzparadigmas (vgl. Kapitel 3.4.3) wird die Systemdynamik<br />
entlang der Folge- und Kontrollflußbeziehungen zwischen Prozessen und/oder Ereignissen<br />
modelliert. Hierbei sind auch Verzweigungen bzw. Parallelisierungen von Kontrollflüssen<br />
und deren Zusammenführungen abzubilden. Das <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas<br />
definiert hierzu die Konzepte zur Beschreibung von Prozessen, Ereignissen und ihrer verschiedenen<br />
Folgebeziehungen.<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas<br />
Im <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas NP, dessen EER-Anteil in Abbildung 6.14 skizziert<br />
ist, werden Prozesse (Process), Ereignisse (Event) und Flußbeziehungen (Flow) unterschieden<br />
(vgl. auch die rudimentären <strong>Metaschema</strong>ta in [Scheer, 1992, S. 72] und [Winter/Ebert, 1996,<br />
S. 111f]). Prozesse und/oder Ereignisse, die mit einem Namen versehen sind, werden zu Netzobjekten<br />
(NetObject) zusammengefaßt. Durch die Beschreibungsmittel des Netzparadigmas kann<br />
auch modelliert werden, welchen Objekten oder Organisationseinheiten ein Prozeß zugeordnet<br />
ist. Diese Anknüpfungspunkte zum Stellengliederungsparadigma (vgl. Kapitel 6.3.1) und zum<br />
Objekt-Instanz-Paradigma (vgl. Kapitel 6.5.1) werden durch die Konzepte Object und OrganizationalUnit<br />
abgebildet.<br />
Flüsse (Flow) beschreiben das Aufeinanderfolgen von Prozessen und Ereignissen. Die Flußrichtung<br />
wird ähnlich zu den Datenflußbeziehungen im <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas<br />
(vgl. Kapitel 6.4.1) durch cfComesFrom- bzw.cfGoesTo-Kanten modelliert. Zur<br />
Modellierung der verschiedenen Kontrollflußbeziehungen wird zwischen elementaren (ElemenaryFlow)<br />
und Operator-Kontrollflüssen (OperatorFlow) unterschieden. Elementare Kontrollflüsse<br />
beschreiben direkte Kontrollflußbeziehungen zwischen zwei Netzelementen. Durch
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 193<br />
Object<br />
Organizational<br />
Unit<br />
name: string<br />
NetItem<br />
Flow<br />
name: string<br />
executesProcess<br />
OperatorFlow<br />
Merge<br />
Xor<br />
Merge<br />
Or<br />
Merge<br />
NetObject<br />
Process Event<br />
cfComesFrom cfGoesTo<br />
Branch<br />
Xor<br />
Branch<br />
Or<br />
Branch<br />
cfRefines<br />
Fork<br />
Join<br />
Elementary<br />
Flow<br />
Abbildung 6.14: <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas (Net Paradigm, NP)<br />
Operator-Kontrollflüsse wird die Aufspaltung bzw. Zusammenführung durch Verzweigungen<br />
oder Parallelbearbeitungen dargestellt. Die Aufteilung des Kontrollflusses in parallele Flüsse<br />
wird hierzu durch Fork-Knoten und die Zusammenführung durch Join-Knoten modelliert. Zur<br />
Darstellung von Verzweigungen und Vereinigungen werden Branch- und Merge-Knoten definiert.<br />
Je nach Art der Oder-Verzweigung oder Vereinigung werden diese in XorBranch- und<br />
OrBranch-bzw.XorMerge- und OrMerge-Knoten unterschieden.<br />
Knoten vom Typ ElemenaryFlow verbinden durch cfComesFrom- und cfGoesTo-Kanten jeweils<br />
genau ein Netzelement mit genau einem Nachfolger [NP 1]. Verzweigungen (Branch und Fork-<br />
Knoten) verbinden jeweils ein Vorgängerobjekt mit beliebig vielen Nachfolgern [NP 2] und<br />
Vereinigungen (Merge und Join-Knoten) verbinden beliebig viele Vorgänger mit genau einem<br />
Nachfolger [NP 3].<br />
Ereignisse und Prozesse können auch durch weitere Darstellungen nach dem Netzparadigma<br />
verfeinert werden. Hierzu definiert das <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas Kanten des<br />
Typs cfRefines, durch die Elemente (NetItem), die diese Verfeinerung bilden, mit dem verfeinerten<br />
Netzelement in Beziehung gesetzt werden. Wie auch die Verfeinerungsbeziehungen des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas (vgl. Kapitel 6.4.1) sind diese Verfeinerungs-
194 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
strukturen zyklenfrei [NP 4]. Verfeinerungen können in den Beschreibungsmitteln des Netzparadigmas<br />
mehrfach verwendet werden. Die Elemente, die solche Verfeinerungen bilden, sind in<br />
allen diesen Verfeinerungen enthalten [NP 5]. Kontrollflüsse sind auch hier ausschließlich zwischen<br />
Netzobjekten zugelassen, die dieselben übergeordneten Netzobjekte verfeinern [NP 6].<br />
Vergleiche hierzu auch die Zusicherungen [DFP 4] und [DFP 5] des <strong>Referenz</strong>-<strong>Metaschema</strong>s des<br />
Datenflußparadigmas.<br />
Weiter ist zuzusichern, daß die Objekte, die einen verfeinerten Prozeß ausführen, mit den Objekten,<br />
die die Verfeinerungen ausführen, verträglich sind. [NP 7] 3 .<br />
for G in NP assert<br />
[NP 1]: f : VElementaryFlow ¯ δ<br />
cfComesFrom<br />
f 1 δ<br />
cfGoesTo<br />
[NP 2]: f : V Branch V Fork ¯ δ cfComesFrom f 1 δ cfGoesTo<br />
[NP 3]: f : V Merge V Join ¯ δ cfComesFrom f 1 δ cfGoesTo<br />
[NP 4]: isDag eGraph E cfRefines ;<br />
f 1;<br />
f 1;<br />
f 1;<br />
[NP 5]: a b : V NetItem a cfRefines cfRefines b ¯ a cfRefines b cfRefines ;<br />
[NP 6]: a b : V NetObject a cfComesFrom cfGoesTo b ¯ a cfRefines b cfRefines ;<br />
[NP 7]: p 1 : V Process δ cfRefines 0 ¯<br />
p 1 executesProcess Ë p 2 : V Process p 1 cfRefines p 2 ¯ p 2 executesProcess <br />
end .<br />
Die Balancierung von Kontrollflußverzweigungen und -vereinigungen und die Vermeidung von<br />
Kontrollflüssen zwischen nebenläufigen Prozeß- bzw. Ereignisfolgen wird <strong>für</strong> die Beschreibungsmittel<br />
des Netzparadigmas i. allg. nicht gefordert. In [Booch et al., 1999, S. 264] wird<br />
dieses z. B. <strong>für</strong> Aktivitätsdiagramme und in [Staud, 1999, S. 69] <strong>für</strong> (erweiterte) Ereignisgesteuerte<br />
Prozeßketten als besserer Modellierungsstil herausgestellt. Die Modellierungstechniken<br />
und deren Werkzeugunterstützungen schließen solche unbalancierten Kontrollflußbeziehungen<br />
jedoch nicht aus, so daß <strong>für</strong> das <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas keine Einschränkungen<br />
formuliert werden.<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Die verschiedenen Notationsvarianten des Netzparadigmas unterscheiden sich insbesondere bezüglich<br />
der Verfeinerungskonzepte, der Typen der Objekte, die miteinander in eine Folgebeziehung<br />
gebracht werden und der jeweils unterstützten Operationen über dem Kontrollfluß. In den<br />
folgenden Kapiteln werden <strong>Metaschema</strong>ta <strong>für</strong> Aktivitätsdiagramme, <strong>für</strong> Vorgangskettendiagramme,<br />
<strong>für</strong> Ereignisgesteuerte Prozeßketten, <strong>für</strong> Petri-Netze und <strong>für</strong> Netzpläne aus dem <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> abgeleitet.<br />
3 Falls die organisatorischen Einheiten gemäß des <strong>Metaschema</strong>tas des Stellengliederungsparadigmas (vgl. Kapitel<br />
6.3.1) weiter strukturiert sind, ist diese Strukturierung entsprechend zu berücksichtigen.
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 195<br />
Aktivitätsdiagramme. In der Unified Modeling Language (UML) werden Aktivitätsdiagramme<br />
als eine Variante der Zustandsübergangsbeschreibungen [Rumbaugh et al., 1999, S. 135]<br />
eingeführt (vgl. auch das <strong>Metaschema</strong> in [OMG, 1999, S. 2-154]). Prozesse (oder Aktivitäten)<br />
werden hier als Zustände und Kontrollflußbeziehungen als Zustandsübergänge aufgefaßt.<br />
Neben den direkten Zustandsübergängen zwischen zwei Prozessen können in Aktivitätsdiagrammen<br />
auch Verzweigungen und Vereinigungen des Kontrollflusses dargestellt werden, so daß Aktivitätsdiagramme<br />
im Gegensatz zur Einstufung in der UML im folgenden als Beschreibungsmittel<br />
des Netzparadigmas aufgefaßt werden. Abbildung 6.15 zeigt den EER-Teil der Spezialisierung<br />
des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Aktivitätsdiagramme (NPActivity).<br />
Aufgrund der Analogie zu den Zustandsbeschreibungen werden Aktivitätsdiagramme durch ein<br />
Startereignis eingeleitet und durch mindestens ein Endereignis beendet. Zur Modellierung dieser<br />
Ereignisse wird in der Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong><br />
Aktivitätsdiagramme (NPActivity) dasEvent-Konzept durch Knoten der Typen StartEvent und<br />
EndEvent spezialisiert.<br />
objIs<br />
InstanceOf<br />
Object<br />
hasAttribute<br />
ValuePair<br />
Attribute<br />
name : string<br />
Object<br />
Class<br />
name : string<br />
Organizational<br />
Unit<br />
Attribute<br />
Value<br />
Pair<br />
Value<br />
sendsTo<br />
name: string<br />
isInputObject<br />
executes<br />
Process<br />
isOutput<br />
Object<br />
receivesFrom<br />
identifies isValue<br />
NetItem<br />
Flow<br />
OperatorFlow<br />
Merge<br />
Xor<br />
Merge<br />
Process<br />
<strong>Se</strong>nder<br />
Process<br />
Receiver<br />
Process<br />
pathCondition: string<br />
criterion : string<br />
Branch<br />
Xor<br />
Branch<br />
cfRefines<br />
sends<br />
Event<br />
receives<br />
Event<br />
restricted<br />
GoesTo<br />
(cfGoesTo)<br />
Event<br />
cfGoesTo<br />
Fork<br />
Join<br />
NetObject<br />
Start<br />
Event<br />
End<br />
Event<br />
name: string<br />
cfComesFrom<br />
Elementary<br />
Flow<br />
Abbildung 6.15: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Aktivitätsdiagramme<br />
(NPActivity)<br />
Im Vergleich zum <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas nutzen Aktivitätsdiagramme nur<br />
exklusive Verzweigungen und Vereinigungen. Die gegenüber dem <strong>Referenz</strong>-<strong>Metaschema</strong> nicht<br />
genutzten OrMerge- bzw.OrBranch-Konzepte sind daher auszuschließen [NPActivity 1]. Kon-
196 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
trollflüsse werden nur durch XorBranch, Fork, XorMerge und Join-Operatoren verzweigt bzw.<br />
vereinigt. Xor-Verzweigungen des Kontrollflusses (XorBranch) können in Aktivitätsdiagrammen<br />
durch die Verzweigungskriterien annotiert werden. Hierzu wird das Attribut criterion der Xor-<br />
Branch-Knoten verwendet. Die korrespondierenden Bedingungen der einzelnen Kontrollflußpfade<br />
werden im pathCondition-Attribut der restrictedGoesTo-Spezialisierung der cfGoesTo-Kanten<br />
notiert.<br />
Kontrollflußverzweigungen und -vereinigungen werden ausschließlich durch Kontrollflußoperatoren<br />
OperatorFlow beschrieben. Daher sind Process-Knoten auch nur zu jeweils genau einer<br />
cfComesFrom und genau einer cfGoesTo-Kante inzident [NPActivity 2]. Startereignisse sind in<br />
den modellierten Prozeß durch genau eine cfComesFrom-Kante eingebunden. Inzidenzen zu cf-<br />
GoesTo-Kanten existieren nicht. Analog gehen in Endereignisse ausschließlich cfGoesTo-Kanten<br />
ein [NPActivity 3].<br />
Durch Kontrollflüsse in Aktivitätsdiagrammen werden ausschließlich Flußbeziehungen zwischen<br />
(Teil-) Prozessen beschrieben. Mit Ausnahme der jeweiligen Start- und Endereignisse sind hier<br />
keine weiteren Ereignisse eingebunden. cfComesFrom und cfGoesTo-Kanten sind daher nicht zu<br />
Knoten des Typs Event inzident [NPActivity 4].<br />
Die Interaktion von Prozessen mit externen Objekten wird im <strong>Metaschema</strong> <strong>für</strong> Aktivitätsdiagramme<br />
durch spezielle Prozesse beschrieben, die Ereignisse von Objekten empfangen (ReceiverProcess)<br />
bzw. Ereignisse an Objekte senden (<strong>Se</strong>nderProcess). Wie auch die Start- und<br />
Endereignisse können diese Prozesse in Aktivitätsdiagrammen nicht verfeinert werden [NPActivity<br />
5] und besitzen keine Eingabe- oder Ausgabeobjekte [NPActivity 6]. Ereignisse, die zur<br />
Interaktion mit externen Objekten genutzt werden, sind ferner keine Start- oder Endereignisse<br />
[NPActivity 7]. Neben diesen Ereignissen und den Start- und Endereignissen werden in Aktivitätsdiagrammen<br />
keine weiteren Ereignisse abgebildet [NPActivity 8].<br />
Aus Analogie zu den Zustandsübergangsbeschreibungen der Unified Modeling Language beginnt<br />
jedes Aktivitätsdiagramm mit genau einem Startereignis und endet mit mindestens einem<br />
Endereignis. Eine Prozeßmodellierung durch Aktivitätsdiagramme besitzt daher genau ein<br />
Gesamt-Startereignis und mindestens ein Gesamt-Endereignis [NPActivity 9]. Ebenso existiert<br />
zu jedem verfeinerten Prozeß genau ein Startereignis und mindestens ein Endereignis [NPActivity<br />
10]. Da Prozesse in Aktivitätsdiagrammen genau zu einem eingehenden und genau zu einem<br />
ausgehenden Kontrollfluß inzident sind (vgl. auch [NPActivity 2]), nehmen das Startereignis und<br />
die Endereignisse der Verfeinerung ähnliche Funktionen ein, wie die PointOfContact-Knoten zur<br />
Modellierung der Verfeinerung im <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas (vgl. Kapitel<br />
6.4.1). Das Startereignis entspricht dem Kontaktpunkt des eingehenden Kontrollflusses und<br />
die Zusammenfassung der Endereignisse dem Kontaktpunkt des ausgehenden Kontrollflusses.<br />
Alle Prozesse und Ereignisse einer Verfeinerung bzw. des Gesamtprozesses sind von den jeweiligen<br />
Startereignissen aus erreichbar [NPActivity 11].<br />
In Aktivitätsdiagrammen können, ähnlich zu Datenflußdiagrammen, auch die Zusammenhänge<br />
zwischen Aktivitäten und deren Ein- und Ausgabeobjekten modelliert werden [Rumbaugh et<br />
al., 1999, S. 139]. Solche Objektflüsse werden im <strong>Metaschema</strong> der Aktivitätsdiagramme durch<br />
isInputObjekt bzw. isOutputObject-Kanten abgebildet. Objekte sind hierbei durch ihren Typ (ObjectClass)<br />
und durch ihren inneren Zustand (AttributValuePair) charakterisiert. Objektflüsse zwischen<br />
Aktivitäten können dadurch modelliert werden, daß Objekte von einer Aktivität erzeugt<br />
und von mindestens einer weiteren Aktivität verbraucht werden. Es ist aber auch möglich, Ob-
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 197<br />
jekte nur als Eingaben oder als Ausgaben einer Aktivität darzustellen. In Aktivitätsverfeinerungen<br />
sind diese Objektbezüge zu balancieren. Objekte, die Ein- bzw. Ausgaben einer verfeinerten<br />
Aktivität beschreiben, müssen sich in den Ein- bzw. Ausgaben der Verfeinerung wiederfinden<br />
und umgekehrt [NPActivity 12].<br />
NPActivity isA NP ;<br />
for G in NPActivity assert<br />
[NPActivity 1]:<br />
V OrMerge V OrBranch ;<br />
[NPActivity 2]:<br />
v : V Process ¯ δ cfComesFrom v δ cfGoesTo v 1;<br />
[NPActivity 3]:<br />
s : V StartEvent ¯ δ cfComesFrom s 1 δ cfGoesTo s 0;<br />
e : V EndEvent ¯ δ cfComesFrom e 0 δ cfGoesTo e 1;<br />
[NPActivity 4]:<br />
e : E cfComesFrom E cfGoesTo ¯ type ω Event ;<br />
[NPActivity 5]:<br />
r : E ʬÒ× ¯ type ω r Process ;<br />
[NPActivity 6]:<br />
e : E ×ÁÒÔÙØÇ Ø E ×ÇÙØÔÙØÇ Ø ¯<br />
type ω e Process ;<br />
[NPActivity 7]:<br />
e : E sendsEvent E receivesEvent ¯<br />
StartEvent type ω e EndEvent ;<br />
[NPActivity 8]:<br />
e : V Event ¯ type e StartEvent type e EndEvent <br />
δ sendsEvent receivesEvent 1;<br />
[NPActivity 9]:<br />
1 s : V StartEvent ¯ δ cfRefines s 0;<br />
e : V EndEvent ¯ δ cfRefines 0;<br />
[NPActivity 10]:<br />
p : V Process δ cfRefines p 0 ¯<br />
1 s : VStartEvent ¯ s cfRefines p <br />
e : VEndEvent ¯ e cfRefines p ;
198 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
[NPActivity 11]:<br />
s : V StartEvent ; v : V NetItem δ cfRefines s 0 δ cfRefines v ¯<br />
s cfComesFrom cfGoesTo £ v ;<br />
p : V Process ; v : V NetItem v cfRefines<br />
p ¯<br />
p cfRefines &StartEvent cfComesFrom cfGoesTo £ v ;<br />
[NPActivity 12]:<br />
p 1 : V Process δ cfRefines p 1 0 ¯<br />
end .<br />
p 1 isInputObject p 2 : V Process p 2 cfRefines p 1 ¯ p 2 isInputObject <br />
p 1 isOutputObject p 2 : V Process p 2 cfRefines p 1 ¯ p 2 isOutputObject <br />
Vorgangskettendiagramme. Vorgangskettendiagramme und erweiterte Ereignisgesteuerte<br />
Prozeßketten ergänzen (reine) Prozeßdarstellungen um Querbezüge zur Beschreibung von technischen<br />
und maschinellen Handlungsträgern und um Mittel zur Darstellung, der bei der Aufgabenerledigung<br />
benötigten bzw. erzeugten Objekte.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas ist hierzu um zusätzliche Bezüge zwischen Netzelementen<br />
und Objekten, durch die Handlungsträger und Daten modelliert werden, zu ergänzen.<br />
Der Bezug zu den Handlungsträgern wird wie im <strong>Referenz</strong>-<strong>Metaschema</strong> durch Kanten des Typs<br />
executesProcess hergestellt. Durch requires-Kanten werden den Teilprozessen die benötigten<br />
Daten und durch delivers die erzeugten Daten zugeordnet (vgl. [Staud, 1999, S. 51]). Querbezüge<br />
zwischen dem modellierten Gesamtprozeß und den hierin berechneten Daten werden in<br />
Vorgangskettendiagrammen auch entlang der Ereignisse beschrieben. Ereignisse symbolisieren<br />
hierbei das Vorliegen dieser Datenobjekte (vgl. [Scheer, 1992]). Dieser Zusammenhang wird<br />
durch represents-Kanten zwischen Event- und Object-Knoten modelliert.<br />
Neben den aus dem <strong>Referenz</strong>-<strong>Metaschema</strong> bekannten Operatoren können in Vorgangskettendiagrammen<br />
auch kombinierte Kontrollflußoperatoren verwendet werden. Diese vereinigen eingehende<br />
Kontrollflüsse und teilen ausgehende Kontrollflüsse auf. Hierzu wird ein weiterer Kontrollflußoperator<br />
ComposedOperatorFlow eingeführt, dessen Attribute joinType und forkType die<br />
verschiedenen Arten der Kontrollflußvereinigung und -verzweigung abbilden.<br />
Der EER-Teil der Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s zur Beschreibung von Vorgangskettendiagramme<br />
(NPVKD) ist in Abbildung 6.16 dargestellt.<br />
Prozeßketten werden in Vorgangskettendiagrammen durch zusammenhängende [NPVKD 1], alternierende<br />
Folgen von Prozessen und Ereignissen modelliert. Für sämtliche Kontrollflußoperatoren<br />
(Flow) ist zu daher fordern, daß hierdurch nicht gleichartige Netzelemente miteinander verknüpft<br />
werden [NPVKD 2]. In Anlehnung an die Beispiel-Kontrollflüsse in [Scheer, 1994, S. 50]<br />
[IDS, 1995, S. 4-120ff] und [Staud, 1999, S. 63ff] sind hierbei diejenigen Kontrollflüsse auszuschließen,<br />
die ein Ereignis mit mehreren alternativen Prozessen verbinden [NPVKD 3]. Wie<br />
auch in Aktivitätsdiagrammen, werden Kontrollflüsse ausschließlich durch Kontrollflußoperatoren<br />
verzweigt und/oder vereinigt, so daß Process- und Event-Knoten jeweils zu höchstens einer<br />
cfComesFrom bzw. einer cfGoesTo-Kante inzident sind [NPVKD 4]. Begrenzt werden Ereignisgesteuerte<br />
Prozeßketten durch genau ein Startereignis und genau ein Endereignis [NPVKD 5].
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 199<br />
Object<br />
Organizational<br />
Unit<br />
name: string<br />
NetItem<br />
Flow<br />
represents<br />
executesProcess<br />
delivers<br />
requires<br />
OperatorFlow<br />
Merge<br />
Xor<br />
Merge<br />
Or<br />
Merge<br />
Branch<br />
Xor<br />
Branch<br />
Or<br />
Branch<br />
not_rigid<br />
Process Event<br />
NetObject<br />
cfRefines<br />
cfComesFrom cfGoesTo<br />
Fork<br />
Join<br />
name: string<br />
Composed<br />
Operator<br />
Flow<br />
joinType :<br />
{xor, or, and}<br />
forkType :<br />
{xor, or, and}<br />
cfCorrespondsTo<br />
Elementary<br />
Flow<br />
Abbildung 6.16: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Vorgangskettendiagramme<br />
(NPVKD)<br />
Anforderungen an Verfeinerungen von Prozessen oder Ereignissen in Vorgangskettendiagrammen<br />
werden in [Keller et al., 1992], [Scheer, 1992] und [Scheer, 1994] nicht formuliert. Auch<br />
erlaubt das ARIS-Toolset [IDS, 1995] zur Modellierung von Prozeßfolgen nahezu beliebige Verfeinerungen<br />
von Prozessen oder Ereignissen. Rudimentäre Regeln zur Verfeinerung von Prozeßketten<br />
werden in [Staud, 1999, S. 71ff] vorgeschlagen. In Anlehnung an diese Regeln werden<br />
in Prozeßketten ausschließlich Prozesse verfeinert. Mehrfachverwendungen von Verfeinerungen<br />
sind ebenfalls möglich.<br />
Die Balancierung der Prozeßverfeinerungen mit den verfeinerten Prozessen erfolgt entlang der<br />
Vor- und Nachereignisse der Prozesse. cfCorrespondsTo-Kanten verbinden hierzu die Ereignisse<br />
zu einem verfeinerten Prozeß mit ihren Surrogaten in der Verfeinerung [NPVKD 6]. Zu jedem<br />
Ereignis, das zu einem verfeinerten Prozeß adjazent ist, existiert in der Verfeinerung genau ein<br />
Surrogatereignis. Diese Surrogatereignisse beschreiben in der Verfeinerung <strong>für</strong> Vorereignisse des<br />
verfeinerten Prozesses Startereignisse und <strong>für</strong> die Nachereignisse Endereignisse [NPVKD 7].<br />
Zu einem verfeinerten Prozeß sind diese Surrogate <strong>für</strong> alle Ereignisse eindeutig [NPVKD 8].<br />
Schließlich ist noch zuzusichern, daß die in der Verfeinerung benötigten bzw. erzeugten Objekte<br />
auch mit den entsprechenden Objekten des verfeinerten Prozesses verträglich sind [NPVKD 9].
200 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
NPVKD isA NP ;<br />
for G in NPVKD assert<br />
[NPVKD 1]:<br />
isConnected eGraph EcfComesFrom EcfComesFrom [NPVKD 2]:<br />
v w : V NetObject v cfComesFrom cfGoesTo<br />
;<br />
w ¯ type v type w ;<br />
[NPVKD 3]:<br />
e : E cfComesFrom type ω e Event ¯<br />
type α e XorBranch type α e OrBranch <br />
type α e ComposedOperatorFlow α e forktype and ;<br />
[NPVKD 4]:<br />
v : V NetObject ¯ δ cfComesFrom v 1 δ cfGoesTo v 1;<br />
[NPVKD 5]:<br />
1 e : V Event ¯ δ cfRefines e 0 δ cfGoesTo e 0;<br />
1 e : V Event ¯ δ cfRefines e 0 δ cfComesFrom e 0;<br />
[NPVKD 6]:<br />
c : E cfCorrespondsTo ¯<br />
1 p : V Process δ cfRefines p 0 α c cfRefines<br />
p ¯<br />
ω c cfComesFrom cfGoesTo cfGoesTo cfComesFrom<br />
[NPVKD 7]:<br />
p : VProcess ; e : VEvent δ<br />
cfRefines<br />
p 0 e cfComesFrom cfGoesTo<br />
1 s : VEvent p cfRefines s cfCorrespondsTo e ¯ δcfGoesTo s 0;<br />
p : VProcess ; e : VEvent δ<br />
cfRefines<br />
p 0 e cfGoesTo cfComesFrom p ¯<br />
1 s : VEvent p cfRefines s cfCorrespondsTo e ¯ δcfComesFrom s 0;<br />
[NPVKD 8]:<br />
p : V Process ; e 1 e 2 s 1 s 2 : V Event e 1 e 2 <br />
e1 cfComesFrom cfGoesTo cfGoesTo cfComesFrom<br />
p cfRefines s1 cfCorrespondsTo e1 <br />
e2 cfComesFrom cfGoesTo cfGoesTo cfComesFrom<br />
p cfRefines s2 cfCorrespondsTo e2 ¯<br />
s1 s2 ;<br />
[NPVKD 9]:<br />
p 1 : V Process δ cfRefines 0 ¯<br />
end .<br />
p <br />
p <br />
p 1 requires Ë p 2 : V Process p 1 cfRefines p 2 ¯ p 2 requires <br />
p 1 delivers Ë p 2 : V Process p 1 cfRefines p 2 ¯ p 2 delivers <br />
p ;<br />
p ¯
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 201<br />
Ereignisgesteuerte Prozeßketten. Aus dem <strong>Metaschema</strong> der Vorgangskettendiagramme (NP-<br />
VKD) kann das <strong>Metaschema</strong> der Ereignisgesteuerten Prozeßketten (NPEPK) abgeleitet werden.<br />
Gegenüber Vorgangskettendiagrammen und erweiterten Ereignisgesteuerten Prozeßketten ist in<br />
Ereignisgesteuerten Prozeßketten die Prozeßmodellierung ausschließlich auf die Folgebeziehungen<br />
von (Teil-) Prozessen und Ereignissen beschränkt. Querbezüge zu Handlungsträgern und<br />
Datenobjekten werden hier nicht modelliert. Objekt-Knoten sind im <strong>Metaschema</strong> der Ereignisgesteuerten<br />
Prozeßketten daher ausgeblendet [NPEPK 1].<br />
NPEPK isA NPVKN ;<br />
for G in NPEPK assert<br />
[NPEPK 1]:<br />
V Object <br />
end .<br />
Petri-Netze. Prozeßmodellierungen durch Petri-Netze beschreiben ebenfalls Flüsse zwischen<br />
Prozessen (Transitionen) und Ereignissen (Stellen). Operatoren über Flüsse werden in Petri-<br />
Netzen nicht modelliert. Im Gegensatz zu Aktivitätsdiagrammen, Vorgangskettendiagrammen<br />
und Ereignisgesteuerten Prozeßketten erfolgt die Modellierung der Nebenläufigkeit in Petri-<br />
Netzen ausschließlich durch elementare Flüsse, die genau zwei Netzelemente miteinander verbinden.<br />
Auf ein Ereignis bzw. auf einen Prozeß können jedoch beliebig viele Prozesse oder<br />
Ereignisse folgen.<br />
NetItem<br />
name: string<br />
NetObject<br />
cfRefines<br />
Process Event<br />
cfComesFrom cfGoesTo<br />
Elementary<br />
Flow<br />
weight : int<br />
marking : int<br />
capacity : int<br />
Abbildung 6.17: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Petri-Netze<br />
(NPPetri)
202 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Zur Ableitung des <strong>Metaschema</strong>s <strong>für</strong> Petrinetze (NPPetri, vgl. Abbildung 6.17) ist das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> des Netzparadigmas daher um die Kontrollflußoperatoren einzuschränken. Ebenso<br />
werden in Petri-Netzen keine Objektbezüge modelliert. [NPPetri 1]<br />
Die Markierung von Petri-Netzen erfordert die Ergänzung zusätzlicher Attribute. Für einfache<br />
Netzklassen wie z. B. <strong>für</strong> Stellen-Transitions-Netze reicht die Ergänzung der Event-Knoten um<br />
Attribute zur Beschreibung der aktuellen Markierung einer Stelle (marking) und ihrer Kapazität<br />
(capacity). Hierbei genügt die Markierung einer Stelle ihrer Kapazität [NPPetri 2]. Das Gewicht<br />
der Flußbeziehungen, durch das die in einem Schaltvorgang maximal übertragbaren Markierungen<br />
notiert werden, wird durch das weight-Attribut abgebildet.<br />
Petri-Netze beschreiben Flußbeziehungen durch bipartite Graphen, bei denen auf Prozesse jeweils<br />
Ereignisse und auf Ereignisse jeweils Prozesse folgen. Diese Eigenschaft wird durch<br />
[NPPetri 3] zugesichert.<br />
Petri-Netze erlauben sowohl die Verfeinerung von Ereignissen (Stellen) als auch von Prozessen<br />
(Transitionen). Hierzu werden in Anlehnung an [Baumgarten, 1996, S. 62] Stellen durch<br />
stellenberandete Netze und Transitionen durch transitionenberandete Netze verfeinert. In Verfeinerungen<br />
von Transitionen sind somit ausschließlich solche Stellen zugelassen, die Transitionen<br />
miteinander verbinden [NPPetri 4]. Eine entsprechende Zusicherung gilt <strong>für</strong> die Transitionen in<br />
Stellenverfeinerungen [NPPetri 5].<br />
Weitere Forderungen, insbesondere hinsichtlich der Einbettung einer Verfeinerung in das übergeordnete<br />
Netz werden hier nicht erhoben, da in Petri-Netz-Verfeinerung i. allg. von diesen<br />
Aspekten abstrahiert wird (vgl. auch [Baumgarten, 1996, S. 60]). Die Umgebung, in der eine<br />
Transitions- oder Stellenverfeinerung ausgeführt wird, ist nicht Bestandteil der Verfeinerung.<br />
NPPetri isA NP ;<br />
for G in NPPetri assert<br />
[NPPetri 1]:<br />
V Object V OperatorFlow ;<br />
[NPPetri 2]:<br />
e : V Event ¯ emarking ecapacity ;<br />
[NPPetri 3]:<br />
v w : V NetObject v cfComesFrom cfGoesTo<br />
w ¯ type v type w ;<br />
[NPPetri 4]:<br />
s : V Event s cfRefines &Process ¯ δ cfComesFrom s 0 δ cfGoesTo s 0;<br />
[NPPetri 5]:<br />
t : VProcess t cfRefines &Event<br />
end .<br />
¯ δ t<br />
cfComesFrom<br />
0 δ t<br />
cfGoesTo<br />
0<br />
Aufbauend auf diesem einfachen <strong>Metaschema</strong> <strong>für</strong> Petri-Netze können weitere Anforderungen<br />
an Netze und (statische) Netzeigenschaften definiert werden. Zu einem gegebenen Petri-Netz<br />
inklusive seiner Markierung können beispielsweise alle aktiven Transitionen angegeben werden.
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 203<br />
Eine Transition (Process) ist genau dann aktiv, wenn die Stellen (Event) in ihrem Vorbereich<br />
ausreichend markiert sind und die Stellen im Nachbereich ausreichende Kapazitäten haben.<br />
for G in NPPetri define<br />
isActive : È VProcess where<br />
end .<br />
t : VProcess ¯ isActive t<br />
s : VEvent ; f : VElementaryFlow s cfComesFrom f cfGoesTo t ¯<br />
smarking f weight <br />
s : VEvent ; f : VElementaryFlow t cfComesFrom f cfGoesTo s ¯<br />
smarking f weight scapacity<br />
Durch Einschränkungen und Ergänzungen des <strong>Metaschema</strong>s <strong>für</strong> Petri-Netze können auch <strong>Metaschema</strong>ta<br />
<strong>für</strong> weitere Netzklassen abgeleitet werden.<br />
In Bedingungs/Ereignis-Netzen (condition event nets) [Baumgarten, 1996, S. 111] wird <strong>für</strong> alle<br />
Stellen eine Kapazität von 1 gefordert. Das <strong>Metaschema</strong> <strong>für</strong> Bedingungs/Ereignis-Netze (NPPetriCE)<br />
ergänzt das <strong>Metaschema</strong> der Petri-Netze um diese Forderung.<br />
NPPetriCE isA NPPetri ;<br />
for G in NPPetriCE assert<br />
[NPPetriCE 1]:<br />
s : VEvent ¯ scapacity 1<br />
end .<br />
Die in Abbildung 3.24 (<strong>Se</strong>ite 78) zur Modellierung der radiologischen Untersuchung verwendete<br />
Netzklasse erfordert eine Erweiterung des <strong>Metaschema</strong>s NPPetriCE um ein Attribut der<br />
ElementaryFlow-Knoten zur Modellierung der Schalt-Vorbedingungen (Guards).<br />
In Zustandsmaschinen [Baumgarten, 1996, S. 72] sind alle Transitionen unverzweigt und liegen<br />
nicht am Rand des Netzes. Transitionen in Zustandsmaschinen besitzen daher jeweils genau eine<br />
Stelle in ihrem Vorbereich und genau eine Stelle in ihrem Nachbereich. Das <strong>Metaschema</strong> der Zustandsmaschinen<br />
NPStateMachine ergänzt das <strong>Metaschema</strong> der Petri-Netze um diese Forderung.<br />
NPStateMachine isA NPPetri ;<br />
for G in NPStateMachine assert<br />
[NPStateMachine 1]:<br />
t : VProcess ¯ δ t 1 δ t<br />
cfComesFrom cfGoesTo<br />
end .<br />
Analog kann das <strong>Metaschema</strong> der Synchronisationsgraphen [Baumgarten, 1996, S. 72] aus dem<br />
<strong>Metaschema</strong> der Petri-Netze abgeleitet werden. In dieser Netzklasse sind die Stellen unverzweigt<br />
und liegen nicht am Rand des Netzes.<br />
Für Free-Choice-Netze [Baumgarten, 1996, S. 74] wird gefordert, daß die Zieltransitionen vorwärtsverzweigter<br />
Stellen nicht rückwärtsverzweigt sind. Zur Beschreibung des <strong>Metaschema</strong>s
204 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Free-Choice-Netze (NPFreeChoice) ist das <strong>Metaschema</strong> der Petri-Netze um die Forderung zur<br />
ergänzen, daß zu allen Transitionen, die zu einer vorwärtsverzweigten Stelle vorwärtsadjazent<br />
sind, keine weiteren Stellen vorwärtsadjazent sind.<br />
NPFreeChoice isA NPPetri ;<br />
for G in NPFreeChoice assert<br />
[NPFreeChoice 1]:<br />
s : VEvent ; t : VProcess s cfGoesTo cfComesFrom t δ cfGoesTo<br />
s 0 ¯<br />
δ t<br />
cfGoesTo<br />
1<br />
end .<br />
Höhere Petri-Netze erfordern analog zu den Attributierungen im <strong>Metaschema</strong> NPPetri weitere<br />
Attribute zur Abbildung der in diesen Netzklassen verwendeten Markentypen und deren Kapazitäten.<br />
Netzpläne. Ablaufbeschreibungen werden in der Netzplantechnik zur Planung, Steuerung und<br />
Überwachung von Prozeßabläufen verwendet. Die Prozeßmodellierung durch Netzpläne kann<br />
ebenfalls auf einer Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas aufbauen.<br />
Diese <strong>Metaschema</strong>ta der Netzplantechnik bilden auch die Grundlage zur Spezifikation der Methoden<br />
zur Analyse von Netzplänen.<br />
Abbildung 6.18 zeigt die Ableitung des <strong>Metaschema</strong>s <strong>für</strong> Vorgangsknotennetzpläne aus dem<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas. Elementare Folgebeziehungen (ElementaryFlow)<br />
werden hier ausschließlich zwischen Prozessen (Process) dargestellt. Weitere Konzepte werden<br />
hier nicht verwendet [NPVKN1].<br />
Process<br />
name : string<br />
duration : float<br />
cfComesFrom cfGoesTo<br />
Elementary<br />
Flow<br />
delay : float<br />
flowType :<br />
{es, ss, ee, se}<br />
NPVKN isA NP <br />
for G in NPVKN assert<br />
[NPVKN 1]:<br />
V Object V Event V OperatorFlow <br />
E cfRefines <br />
[NPVKN 2]:<br />
isDag<br />
end .<br />
Abbildung 6.18: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong> Vorgangsknotennetzpläne<br />
(NPVKN)<br />
Zur Analyse und Berechnung der zeitlichen Einordnung der Prozeßfolge sind die Prozesse mit<br />
ihrer Bearbeitungsdauer (duration) und die Flüsse mit evtl. zu modellierenden Wartezeiten beim
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 205<br />
Transport oder zur Zwischenlagerung (delay) attributiert. Die verschiedenen Folgebeziehungen<br />
zwischen Prozessen werden durch das Attribut flowType unterschieden. Normalfolgen werden<br />
durch es, Anfangsfolgen durch ss, Endfolgen durch ee und Sprungfolgen durch se ausgewiesen.<br />
Die Zeitanalyse der Netzplantechnik basiert auf zyklenfreien Prozeßbeschreibungen [NPV-<br />
KN 2]. Hierzu werden in Vorgangsknotennetzplänen <strong>für</strong> Prozesse u. a. früheste Anfangs- und<br />
Endzeitpunkte, späteste Anfangs- und Endzeitpunkte und Pufferzeiten berechnet. Diese Methoden<br />
können auf Basis des <strong>Metaschema</strong>s der Vorgangsknotennetzpläne spezifiziert werden.<br />
Der früheste Anfangszeitpunkt (earliest start time ES) eines Prozesses bestimmt sich aus den<br />
frühesten Zeitpunkten der Vorgängerprozesse. Ein Prozeß kann frühestens dann beginnen, wenn<br />
der letzte Vorgängerprozeß beendet ist und evtl. eingeplante Wartezeiten verstrichen sind. Für die<br />
Anfangsprozesse wird der Anfangszeitpunkt 0 angenommen. Bei der Berechnung dieser Zeitpunkte<br />
sind auch die verschiedenen Folgebeziehungen zu berücksichtigen (vgl. auch [Schwarze,<br />
1994, S. 154]). Der früheste Endzeitpunkt (earliest end time EF) eines Prozesses errechnet sich<br />
aus dem frühesten Anfangszeitpunkt und der Prozeßdauer.<br />
for G in NPVKN define<br />
ES : VProcess float;<br />
EF : VProcess float<br />
where<br />
end .<br />
ES λ p : V ÈÖÓ ×× ¯<br />
ÑÜ 0 <br />
q : Process; f : ElementaryFlow <br />
q cfComesFrom f cfGoesTo p f flowType es ¯<br />
ES q qduration f delay <br />
q : Process; f : ElementaryFlow <br />
q cfComesFrom f cfGoesTo p f flowType ss ¯<br />
ES q f delay <br />
q : Process; f : ElementaryFlow <br />
q cfComesFrom f cfGoesTo p f flowType ee ¯<br />
ES q qduration f delay pduration <br />
q : Process; f : ElementaryFlow <br />
q cfComesFrom f cfGoesTo p f flowType se ¯<br />
ES q f delay pduration ;<br />
EF λ p : V ÈÖÓ ×× ¯ ES p pduration<br />
In ähnlicher Weise sind auch die spätesten Zeitpunkte definiert. Ein Prozeß muß spätestens zu<br />
dem Zeitpunkt beendet sein (latest finish time, LF), wenn unter Berücksichtigung der Wartezeiten<br />
der früheste seiner Nachfolgerprozesse spätestens beginnen muß, um den vorgegebenen<br />
Endzeitpunkt des gesamten Prozesses einzuhalten. Dieser Endzeitpunkt des gesamten Prozesses<br />
wird hierzu auf den frühesten Endzeitpunkt des letzten Prozesses gesetzt. Der späteste Anfangszeitpunkt<br />
eines Prozesses (latest start time LS) entspricht dem spätesten Endzeitpunkt abzüglich<br />
der Prozeßdauer.
206 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
for G in NPVKN define<br />
LF : VProcess float;<br />
LS : VProcess float<br />
where<br />
end .<br />
LF λ p : V ÈÖÓ ×× ¯<br />
ÑÒ ÑÜ q : Process δ cfComesFrom q 0 ¯ EF q <br />
q : Process; f : ElementaryFlow <br />
p cfComesFrom f cfGoesTo q f flowType es ¯<br />
LF q qduration f delay <br />
q : Process; f : ElementaryFlow <br />
p cfComesFrom f cfGoesTo q f flowType ss ¯<br />
LF q qduration f delay pduration <br />
q : Process; f : ElementaryFlow <br />
p cfComesFrom f cfGoesTo q f flowType ee ¯<br />
LF q f delay pduration <br />
q : Process; f : ElementaryFlow <br />
p cfComesFrom f cfGoesTo q f flowType se ¯<br />
LF q f delay pduration ;<br />
LS λ p : V ÈÖÓ ×× ¯ LF p pduration<br />
Die Pufferzeit (total float TF), um die die Bearbeitung eines Prozesses verzögert werden kann,<br />
ohne die Einhaltung des Endtermins des Gesamtprozesses zu gefährden, bestimmt sich aus der<br />
Differenz der spätesten und frühesten Termine.<br />
for G in NPVKN define<br />
TF : VProcess float<br />
where<br />
end .<br />
TF λ p : V ÈÖÓ ×× ¯ LS p ES p<br />
Die kritischen Prozesse, deren Zeitplanung genau eingehalten werden muß um das angestrebte<br />
Prozeßende zu erreichen, sind dann diejenigen Prozesse mit einer Pufferzeit von 0.<br />
for G in NPVKN define<br />
isCriticalProcess : È VProcess where<br />
end .<br />
isCriticalProcess p : V Process TF p 0
6.4 <strong>Metaschema</strong>ta der Prozeßsicht 207<br />
Für die weiteren Netzplanklassen können analog Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
des Netzparadigmas abgeleitet und hierauf aufbauend diverse Analysemethoden spezifiziert werden.<br />
Für Ereignisknotennetzpläne entspricht das <strong>Metaschema</strong> nahezu dem <strong>Metaschema</strong> der Vorgangsknotennetze<br />
(NPVKN), bei dem die Flußbeziehungen jedoch ausschließlich zwischen Ereignissen<br />
verlaufen.<br />
6.4.4 <strong>Metaschema</strong>ta des Kontrollflußparadigmas<br />
Durch die <strong>visuelle</strong>n Sprachen des Kontrollflußparadigmas (vgl. Kapitel 3.4.4) werden Prozesse<br />
ebenfalls durch Folgen von Teilprozessen beschrieben. Die Beschreibungsmittel des Kontrollflußparadigmas<br />
verwenden im Gegensatz zu den Beschreibungsmittel des Netzparadigmas<br />
jedoch ausschließlich reguläre Folgestrukturen. Konzepte zur Abbildung von sequenziellen, parallelen,<br />
iterierten und alternativen Prozeßfolgen werden durch das <strong>Referenz</strong>-<strong>Metaschema</strong> des<br />
Kontrollflußparadigmas bereitgestellt.<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Kontrollflußparadigmas<br />
Zur Modellierung dieser regulären Folgestrukturen wird im <strong>Referenz</strong>-<strong>Metaschema</strong> des Kontrollflußparadigmas<br />
CP (vgl. auch [Winter / Ebert, 1996, S.112f]) zwischen atomaren Prozessen<br />
(AtomicProcess) und zusammengesetzten Prozessen unterschieden.<br />
Process<br />
Atomic<br />
Process<br />
name : string<br />
<strong>Se</strong>quence Parallel<br />
isSubprocess<br />
isSubprocess<br />
isSubprocess<br />
controls<br />
Iteration Alternative<br />
Predicate<br />
name : string<br />
Case<br />
CP-EER 1<br />
isAlternative isSubprocess<br />
controls<br />
Abbildung 6.19: <strong>Referenz</strong>-<strong>Metaschema</strong> des Kontrollflußparadigmas<br />
(Control Flow Paradigm,CP)<br />
CP-EER 2<br />
Direkt aufeinander folgende Prozesse werden in <strong>Se</strong>quenzen (<strong>Se</strong>quence) zusammengefaßt. Parallel-Knoten<br />
bündeln nebenläufige Prozesse. Zu wiederholende Prozesse werden gemeinsam mit<br />
dem Iterationskriterium, das durch ein Prädikat (Predicate) abgebildet wird, in Iteration-Knoten<br />
zusammenfaßt. Die Metamodellierung von Alternativen erfolgt durch Alternative-Knoten, in denen<br />
die alternativen Fälle (Case) gruppiert werden. Diese Fälle fassen je ein Prädikat (Predicate)<br />
zur Festlegung der jeweiligen Alternative und einen auszuführenden Prozeß zusammen. Die<br />
Komposition von Teilprozessen, die selbst durch reguläre Strukturen untergliedert sein können,
208 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
erfolgt durch isSubprocess-Kanten. Diese Zerlegungen in Teilprozesse entlang der isSubprocessund<br />
die isAlternative-Kanten sind zyklenfrei 4 [CP 1].<br />
for G in CP assert<br />
[CP 1]: isDag eGraph EisSubprocess EisAlternative end .<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Die in Kapitel 3.4.4 aufgeführten Beschreibungsmittel des Kontrollflußparadigmas können durch<br />
marginal angepaßte Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Kontrollflußparadigmas<br />
abgebildet werden. Das <strong>Referenz</strong>-<strong>Metaschema</strong> kann unverändert zur Metamodellierung von<br />
Nassi-Shneiderman-Diagrammen und von Darstellungen in Pseudo-Code, wie er beispielsweise<br />
in Abbildung 3.29a (<strong>Se</strong>ite 85) genutzt wurde, verwendet werden. Diese Darstellungsmittel unterstützen<br />
die reguläre Prozeßzerlegung durch <strong>Se</strong>quenzen, Parallelbearbeitungen, Iterationen und<br />
Alternativen. Pseudo-Code Varianten sind gelegentlich aber auch nur auf einzelne dieser Strukturierungsmittel<br />
begrenzt, so daß in diesen Fällen Einschränkungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
erforderlich werden.<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Kontrollflußparadigmas zur Abbildung von<br />
Jackson-Diagramme, Warnier-Orr-Diagramme und Entscheidungstabellen werden in den folgenden<br />
Abschnitten skizziert.<br />
Jackson-Diagramme und Warnier-Orr-Diagramme. In Jackson-Diagrammen und Warnier-<br />
Orr-Diagrammen werden Prozesse ausschließlich durch <strong>Se</strong>quenzen, Iterationen und Alternativen<br />
strukturiert. Zur Darstellung von nebenläufigen Prozessen existieren hier keine Darstellungsmittel.<br />
Parallel-Knoten sind daher in der Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> Jackson-<br />
Diagramme und Warnier-Orr-Diagramme (CPJWO) auszuschließen [CPJWO 1].<br />
CPJWO isA CP ;<br />
for G in CPJWO assert<br />
[CPJWO 1]:<br />
V Parallel <br />
end .<br />
Entscheidungstabellen. Entscheidungstabellen beschreiben ausschließlich alternative Prozeßfolgen.<br />
Strukturierungen durch <strong>Se</strong>quenzen, Parallelbearbeitungen und Iterationen werden in Entscheidungstabellen<br />
nicht abgebildet.<br />
Die Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Kontrollflußparadigmas zur Abbildung von<br />
Entscheidungstabellen (CPTable) schließt daher die Konzepte <strong>Se</strong>quence, Parallel und Iteration<br />
aus [CPTable 1]. Eine Entscheidungstabelle besteht aus genau einer Alternativen [CPTable 2],<br />
4 In den konkreten Notationen des Kontrollflußparadigmas werden diese zyklenfreien Strukturen i. allg. durch<br />
Duplizieren mehrfach genutzter Prozesse auf baumartige Strukturen abgebildet.
6.5 <strong>Metaschema</strong>ta der Objektsicht 209<br />
die alle Prozesse in alternativen Fällen zusammenfaßt [CPTable 3]. Im Gegensatz zum <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> des Kontrollflußparadigmas können die einzelnen Fälle hierbei beliebig viele Prozesse<br />
enthalten. Die Kardinalitätsanforderung des EER-Teils an isSubprocess-Kanten ist daher<br />
durch [CPTable 4] zu überschreiben.<br />
CPTable isA CP ;<br />
for G in CPTable assert<br />
[CPTable 1]:<br />
V <strong>Se</strong>quence V Parallel V Iteration ;<br />
[CPTable 2]:<br />
# V Alternative 1;<br />
[CPTable 3]:<br />
1 a : V Alternative ¯<br />
p : V AtomicProcess ¯<br />
p isSubprocess isAlternative<br />
[CPTable 4]:<br />
overwrites [CP-EER 1]:<br />
c : V Case ¯ 1 δ isSubprocess c<br />
end .<br />
a ;<br />
6.5 <strong>Metaschema</strong>ta der Objektsicht<br />
Visuelle <strong>Modellierungssprachen</strong> zur Darstellung von Systemstrukturen durch Objekte und deren<br />
Beziehungen sind in den <strong>Metaschema</strong>ta der Objektsicht zusammengefaßt. Hierbei werden Sprachen<br />
zur Modellierung dieser Objekt-Beziehungszusammenhänge auf Instanz- und auf Schema-<br />
Ebene unterschieden. Die Darstellung exemplarischer Systemstrukturen entlang konkreter oder<br />
abstrakter Objekte erfolgt durch die Sprachen des Objekt-Instanzparadigmas. Interaktionsbeziehungen<br />
zwischen Objekten zur Darstellung dynamischer Aspekte des Objektverhaltens werden<br />
durch die Beschreibungsmittel des Objekt-Interaktionsparadigmas beschrieben. Mit den Sprachen<br />
des Objekt-Beziehungsparadigmas werden Objekt-Beziehungsgeflechte schematisch dargestellt.<br />
6.5.1 <strong>Metaschema</strong>ta des Objekt-Instanzparadigmas<br />
Die <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> des Objekt-Instanzparadigmas stellen statische Systemzusammenhänge<br />
exemplarisch dar. Hierzu werden mögliche strukturelle Beziehungsgeflechte zwischen<br />
Objekten beschrieben. Das <strong>Referenz</strong>-<strong>Metaschema</strong>ta stellt Konzepte zur Darstellung dieser<br />
Objekte und den hierzwischen vorliegenden Beziehungen bereit. Ebenso beschreibt es Attributstrukturen<br />
zur Konkretisierung von Objekten und Beziehungen.
210 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Instanzparadigmas<br />
Wesentliche Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Instanzparadigmas sind Objekte<br />
(Object) und hierzwischen vorliegenden Beziehungen (Relationship), die zu Instanzobjekten<br />
(InstanceItem) zusammengefaßt sind. Im <strong>Referenz</strong>-<strong>Metaschema</strong> werden Beziehungen zwischen<br />
Objekten als binär aufgefaßt. Ein Relationship-Knoten ist hierzu über abstrakte iRelates-Kanten<br />
mit genau zwei Objekten verbunden. Zur Modellierung von reflexiven Beziehungen (Schlingen)<br />
sind diese Kanten nicht injektiv. Beziehungen werden auch hier als gerichtet aufgefaßt. Die Ausrichtung<br />
der Beziehungen wird durch iComesFrom- und iGoesTo-Kanten abgebildet.<br />
Object<br />
Class<br />
name : string<br />
Relationship<br />
Class<br />
name : string<br />
objIsInstanceOf<br />
OIP-EER 1<br />
OIP-EER 2<br />
relIsInstanceOf<br />
InstanceItem<br />
Object<br />
=2<br />
iGoesTo iComesFrom<br />
(iRelates)<br />
iRelates<br />
(iRelates)<br />
Relationship<br />
order : int<br />
hasAttribute<br />
ValuePair<br />
identifies<br />
name : string<br />
Abbildung 6.20: <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Instanzparadigmas<br />
(Object Instance Paradigm, OIP)<br />
Attribute<br />
Value<br />
Pair<br />
Attribute<br />
isValue<br />
valIsInstanceOf<br />
hasDomain<br />
Value<br />
Domain<br />
name : string name : string<br />
Zusätzlich können sowohl Objekte als auch Beziehungen attributiert werden. Hierzu werden ihnen<br />
Attribut-Wert-Paare (AttributeValuePair) zugeordnet, die Attribute (Attribute) und ihre Werte<br />
(Value) zusammenfassen. Den Attributen wird durch vaiIsInstanceOf -Kanten ihr Wertebereich<br />
Domain zugeordnet. Die Typisierung von Objekten (Object) und Beziehungen (Relationship)<br />
erfolgt durch objIsInstanceOf bzw. relIsInstanceOf -Kanten zu Objekt- und Beziehungsklassen<br />
(ObjectClass bzw. RelationshipClass).<br />
Der EER-Teil des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Instanzparadigmas (OIP) wird in Abbildung<br />
6.20 definiert. Zusätzliche textuelle Zusicherungen werden zur Abbildung der Anordnung<br />
der modellierten Beziehungen nötig. Die Anordnung einer Beziehung relativ zu einem Objekt,<br />
kann am order-Attribut der iRelates-Kanten abgelesen werden. Hierbei ist zuzusichern, daß diese<br />
Ordnung <strong>für</strong> alle iRelates-Kanten, die zu einem Objekt inzident sind, einen Wert zwischen 1 und<br />
dem Eingangsgrad dieses Objekts annimmt [OIP 1], und daß dieser Wert <strong>für</strong> alle zu diesem Objekt<br />
inzidenten iRelates-Kanten identifizierend ist [OIP 2]. Für die Attributwerte ist zuzusichern,<br />
daß diese dem Wertebereich des Attributs entsprechen [OIP 3].<br />
for G in OIP assert<br />
[OIP 1]:<br />
e : EiRelates ¯ 1 eorder δ ω e ;<br />
iRelates
6.5 <strong>Metaschema</strong>ta der Objektsicht 211<br />
[OIP 2]:<br />
[OIP 3]:<br />
end .<br />
e 1 e 2 : E iRelates e 1 e 2 ω e 1 ω e 2 ¯ e 1 order e 2 order ;<br />
a : VAttribute ; v : VValue a identifies isValue v ¯<br />
a hasDomain valIsInstanceOf v<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Die Objektdiagramme des EER/GRAL-Ansatzes (vgl. auch Abbildung 3.30, S. 87) folgen dem<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Instanzparadigmas. Diese graphbasierten Darstellungsmittel<br />
verwenden, wie im <strong>Referenz</strong>-<strong>Metaschema</strong> definiert, endliche, gerichtete, typisierte, attributierte,<br />
angeordnete Graphen. Relationen sind hier ausschließlich binär.<br />
Für die <strong>Metaschema</strong>ta der Instanzdarstellungen der Object Modeling Technique und der Unified<br />
Modeling Language ist das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Instanzparadigmas leicht zu<br />
erweitern.<br />
Objektdiagramme der Object Modeling Technique und der Unified Modeling Language.<br />
Objektdiagramme der Object Modeling Technique [Rumbaugh et al., 1991] und der Unified Modeling<br />
Language [Booch et al., 1999] erlauben auch Beziehungen beliebiger Arität. Zur Abbildung<br />
dieser Anforderungen ist die Kardinalität der iRelates-Kanten nach oben unbeschränkt.<br />
Die Kardinalitätsanforderungen des EER-Teils des <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> iRelates-Kanten<br />
ist daher zu überschreiben [OIPOO 1]. Da Beziehungen in diesen Dialekten generell als ungerichtet<br />
aufgefaßt werden, kann hier auch auf die spezialisierten iComesFrom- und iGoesTo-<br />
Kanten verzichtet werden [OIPOO 2]. Die im <strong>Referenz</strong>-<strong>Metaschema</strong> als abstrakt formalisierte<br />
iRelates-Kanten sind daher auch als konkret zu vereinbaren [OIPOO 3]. Die Spezialisierung des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Instanzparadigmas zur Modellierung dieser Beschreibungsmittel<br />
ist im <strong>Metaschema</strong> OIPOO zusammengefaßt. Neben diesen Anforderungen unterstützen<br />
die Objektdiagramme der Object Modeling Technique und der Unified Modeling Language die<br />
Anordnung der Beziehungen nicht. Das Attribut order der iRelates-Kanten bleibt folglich unberücksichtigt<br />
[OIPOO 4].<br />
OIPOO isA OIP ;<br />
for G in OIPOO assert<br />
[OIPOO 1]:<br />
overwrites [OIP-EER 1]:<br />
r : Relationship ¯ 2 δ r ;<br />
iRelates<br />
[OIPOO 2]:<br />
E iComesFrom E iGoesTo ;<br />
[OIPOO 3]:<br />
overwrites [OIP-EER 2]:<br />
isConcrete iRelates ;
212 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
[OIPOO 4]:<br />
i : E iRelates ¯ iorder <br />
end .<br />
6.5.2 <strong>Metaschema</strong>ta des Objekt-Interaktionsparadigmas<br />
Zur Darstellung des inneren Verhaltens von Systemen werden die <strong>visuelle</strong>n Sprachen des Objekt-<br />
Interaktionsparadigmas (vgl. Kapitel 3.5.2) verwendet. Dieses dynamische Verhalten von Objektgeflechten<br />
wird exemplarisch entlang des Nachrichtenaustauschs zwischen den Objekten des<br />
Systems notiert. Im <strong>Metaschema</strong> des Objekt-Interaktionsparadigmas sind daher die Konzepte zur<br />
Modellierung von Objekten, Nachrichten und deren Querbezüge abzubilden.<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Interaktionsparadigmas<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Interaktionsparadigmas IAP ist in seinem EER-Teil in<br />
Abbildung 6.21 dargestellt. Zentrale Konzepte des Objekt-Interaktionsparadigmas sind Objekte<br />
(Object) und hierzwischen ausgetauschte Nachrichten (Message). Objekte werden hierbei<br />
als Instanzen einer Objektklasse (ObjectClass) aufgefaßt. Die Beschreibungsmittel des Objekt-<br />
Interaktionsparadigmas beschreiben exemplarische Szenarien der Objektinteraktion. Die in einem<br />
solchen Szenario verschickten Nachrichten werden in einem Interaktions-Szenario (InteractionScenario)<br />
zusammengefaßt.<br />
Object<br />
Class<br />
name: string<br />
Object<br />
name: string<br />
objIsInstanceOf<br />
msgComesFrom<br />
msgGoesTo<br />
isInputParameter<br />
isReturnParameter<br />
Message<br />
Call<br />
Create<br />
Call<br />
isMsgIn<br />
Interaction<br />
Scenario<br />
msgCorrespondsTo<br />
Destroy<br />
Call<br />
Method<br />
name : string<br />
callsMethod<br />
isGuard<br />
Predicate<br />
name: string<br />
Return<br />
Abbildung 6.21: <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Interaktionsparadigmas<br />
(Interaction Paradigm, IAP)<br />
iteration : string<br />
duration : int<br />
FlatFlow<br />
OfControl<br />
AsynchronousFlow<br />
OfControl
6.5 <strong>Metaschema</strong>ta der Objektsicht 213<br />
Im <strong>Referenz</strong>-<strong>Metaschema</strong> werden Nachrichtentypen zur Modellierung von Methodenaufrufen<br />
(Call), von Rückgabenachrichten (Return), von synchronen und von asynchronen Nachrichten<br />
zur Weitergabe der Systemkontrolle an andere Objekte (FlatFlowOfControl, Asynchronous-<br />
FlowOfControl) unterschieden (vgl. auch [Rumbaugh et al., 1999, S. 336]). Gegenüber dem Teil-<br />
<strong>Metaschema</strong> des Kollaborationspakets der Unified Modeling Language [OMG, 1999, S. 100] bildet<br />
das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Interaktionsparadigmas somit auch die in der UML üblichen<br />
Nachrichtentypen ab. Rückgabe-Nachrichten beziehen sich hierbei jeweils auf einen (zuvor<br />
erfolgen) Methodenaufruf (msgCorrespondsTo). Korrespondierende Methodenaufrufe und<br />
Rückgaben werden zwischen den selben Objekten ausgetauscht [IAP 1].<br />
Aufgerufene Methoden (Method) werden durch Kanten des Typs callsMethod der Nachricht<br />
zugeordnet. Spezielle Methodenaufrufe zur Objektkonstruktion (CreateCall) und zur Objektzerstörung<br />
(DestroyCall) und zur Wertrückgabe mit anschließender Objektzerstörung sind als<br />
Spezialisierungen der Call-Nachrichten modelliert. Beim Austausch von Nachrichten zum Methodenaufruf<br />
können Parameter übergeben werden (isInputParameter und isReturnParameter),<br />
die wieder durch Objekte modelliert sind. Nachrichten werden nach dem <strong>Referenz</strong>-<strong>Metaschema</strong><br />
gerichtet zwischen Objekten ausgetauscht. <strong>Se</strong>nder und Empfänger sind anhand der msgComes-<br />
From- und msgGoesTo-Kanten erkennbar. Die Reihenfolge der ausgetauschten Nachrichten ist<br />
durch die Anordnung der Inzidenzen der isMsgIn-Kanten zu InteractionScenario-Knoten modelliert.<br />
Hierbei ist sicherzustellen, daß Nachrichten zur Wertrückgabe zeitlich nach dem Methodenaufruf<br />
erfolgen [IAP 2], und daß von dem Aufruferobjekt erst nach Erhalt der Rückgabenachricht<br />
weitere Nachrichten versendet oder empfangen werden [IAP 3] [Rumbaugh et al., 1999, S. 336].<br />
for G in IAP assert<br />
[IAP 1]:<br />
c : VCall ; r : VReturn r msgCorrespondsTo c ¯<br />
c msgComesFrom r msgGoesTo c msgGoesTo r msgComesFrom ;<br />
[IAP 2]:<br />
[IAP 3]:<br />
end .<br />
e 1 e 2 : E isMsgIn ω e 1 ω e 2 α e 1 msgCorrespondsTo α e 2 ¯<br />
order isMsgIn e 1 ω e 1 order isMsgIn e 2 ω e 2 ;<br />
e1 e2 : EisMsgIn ω e1 ω e2 α e1 msgCorrespondsTo α e2 ¯<br />
e3 : EisMsgIn ω e1 ω e2 ω e3 <br />
orderisMsgIn e1 ω e1 orderisMsgIn e3 ω e3 <br />
orderisMsgIn e2 ω e2 ¯<br />
α e 1 msgComesFrom msgComesFrom msgGoesTo α e 3<br />
Der Nachrichtenaustausch zwischen Objekten kann durch Prädikate (Predicate) überwacht werden.<br />
Nachrichten werden nur dann verschickt, wenn diese Wächter erfüllt sind. Auch können<br />
Nachrichten iteriert verschickt werden. Das Iterationskriterium ist im Metamodell als Attribut<br />
iteration der Nachrichten modelliert. Der Zeitbedarf zum Nachrichtenaustausch zwischen Objekten<br />
wird durch das duration-Attribut modelliert.
214 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
<strong>Se</strong>quenz- oder Ereignispfaddiagramme und Kollaborations- oder Ereignisflußdiagramme, wie<br />
sie in der Unified Modeling Language (UML) [Rumbaugh et al., 1999], bei [Booch, 1994]<br />
oder bei [Rumbaugh et al., 1991] verwendet werden, entsprechen weitestgehend dem <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> IAP. Das <strong>Se</strong>quenz- und Kollaborationsdiagramme semantisch äquivalente Informationen<br />
darstellen, basieren sie auf dem gleichen <strong>Metaschema</strong>. Für die Diagramme der UML<br />
kann das <strong>Metaschema</strong> unverändert übernommen werden, die Notationen von [Booch, 1994] oder<br />
[Rumbaugh et al., 1991] erfordern minimale Ergänzungungen bzw. Einschränkungen.<br />
Objekt- und Interaktionsdiagramme. Neben den im <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Interaktionsparadigmas<br />
vorgesehenen Nachrichtenarten unterscheidet [Booch, 1994] weitere Typen.<br />
Zusätzlich sieht er noch Nachrichten vor, die durch das Empfängerobjekt zurückgewiesen<br />
werden können (balking) oder die mit einer Zeitschranke (timeout) versehen sind. Zur Beschreibung<br />
des <strong>Metaschema</strong>s sind diese Nachrichtentypen als weitere Spezialisierung der calls zu ergänzen.<br />
Ein entsprechendes <strong>Metaschema</strong> der Objekt- und Interaktionsdiagramme nach [Booch,<br />
1994] wird in [Süttenbach / Ebert, 1997, S. 32] dargestellt.<br />
Ereignispfad- und Ereignisflußdiagramme. Der in der Objekt Modeling Technique (OMT)<br />
[Rumbaugh et al., 1991] verwendete Dialekt der Ereignispfad- und Ereignisflußdiagramme beschreibt<br />
nur die Interaktionen zwischen Objekten durch einfachen Nachrichtenaustausch. Verschiedene<br />
Nachrichtentypen werden hier nicht unterschieden [IAPOMT 1].<br />
IAPRumbaugh isA IAP ;<br />
for G in DFPContext assert<br />
[IAPOMT 1]:<br />
V Call V Return V FlatFlowOfControl V AsynchronousFlowOfControl <br />
end .<br />
6.5.3 <strong>Metaschema</strong>ta des Objekt-Beziehungsparadigmas<br />
Im Gegensatz zu dem Beschreibungsmitteln des Objekt-Instanzparadigmas, durch die Objektzusammenhänge<br />
aus Sicht konkreter Instanzen beschrieben werden, werden durch die <strong>visuelle</strong>n<br />
Modellierunssprachen des Objekt-Beziehungsparadigmas Objekt- und Datenstrukturen dargestellt.<br />
Objektklassen beschreiben Mengen oder Klassen gleichartiger Objekte, die auf Schemaebene<br />
zueinander in Beziehung gesetzt werden. Mengen gleichartiger Beziehungen, die zwischen<br />
Objekten konkreter Objektklassen vorliegen, werden durch Beziehungsklassen dargestellt. Zur<br />
Abbildung der Sprachen des Objekt-Beziehungsparadigmas werden im <strong>Referenz</strong>-<strong>Metaschema</strong><br />
des Objekt-Beziehungsparadigmas Konzepte zur Beschreibung von Objektklassen und Beziehungsklassen,<br />
deren Attributstrukturen und deren Querbezüge definiert. Zusätzlich bieten die<br />
moderneren Ansätze zur Objekt-Beziehungsmodellierung Mittel zur Strukturierung von Objektzusammenhängen<br />
durch Generalisierung, Aggregation und Gruppierung an. Diese Strukturierungsmittel<br />
werden im <strong>Referenz</strong>-<strong>Metaschema</strong> ebenfalls abgebildet.
6.5 <strong>Metaschema</strong>ta der Objektsicht 215<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas<br />
Der EER-Teil des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas (ORP) istinAbbildung<br />
6.22 dargestellt (vgl. hierzu auch die <strong>Metaschema</strong>ta in [Winter / Ebert, 1996, S. 116ff],<br />
[Dahm et al., 1998b] und [Ebert et al., 1999a]).<br />
Objekt- und Beziehungsklassen werden durch die Konzepte ObjectClass und RelationshipClass,<br />
die im Konzept ClassItem zusammengefaßt sind, modelliert. Passend zu den Beziehungen des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Instanzparadigmas modellieren die Beziehungsklassen des<br />
Objekt-Beziehungsparadigmas Klassen gerichteter, binärer Beziehungen. Der Bezug zwischen<br />
der Beziehungsklasse und den beiden in Beziehung gesetzten Objektklassen wird hierzu durch<br />
(abstrakte) cRelates-Kanten hergestellt, die zur Modellierung der Ausrichtung durch cComes-<br />
From- und cGoesTo-Kanten spezialisiert sind. Da Objektklassen auch zu sich selbst in Beziehung<br />
gesetzt werden können, sind die cRelates-Kanten als nicht injektiv zu vereinbaren.<br />
objClsIsA<br />
(isA)<br />
ORP-EER 1<br />
ORP-EER 2<br />
isA<br />
relClsIsA<br />
(isA)<br />
ClassItem<br />
=2<br />
cComes<br />
From<br />
cRelates<br />
(cRelates)<br />
Object<br />
Class<br />
RelationshipClass<br />
Aggregation<br />
Class<br />
dir: bool<br />
cGoesTo<br />
(cRelates)<br />
ORP-EER 3<br />
limits : int int<br />
injective: bool<br />
name : string<br />
abstract : bool<br />
hasAttribute<br />
Abbildung 6.22: <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas<br />
(Object-Relationship Paradigm, ORP)<br />
Domain<br />
name : string<br />
Attribute<br />
has<br />
Domain<br />
name : string<br />
Die Kardinalitäten der Beziehungsklassen werden durch die limits-Attribute der cRelates-Kanten<br />
festgelegt. In limits können in Anlehnung an die Min/Max-Notation, die Mindest- und Maximalanzahl<br />
der Beziehungen notiert werden, die Instanzen der beteiligten Objektklassen eingehen<br />
können. Klassen injektiver Beziehungen werden durch das Attribut injective der entsprechenden<br />
RelationshipClass-Knoten ausgezeichnet. Durch das Attribut abstract können sowohl Objektals<br />
auch Beziehungsklassen als abstrakte Klassen markiert werden.<br />
Objekte und Beziehungen können durch Attribut-Werte-Paare näher konkretisiert werden. Zur<br />
Festlegung dieser Attributstrukturen werden Objekt- und Beziehungsklassen um Attribute (Attribute)<br />
einschließlich deren (optionalen) Wertebereiche (Domain) ergänzt.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas unterstützt neben diesen Grundformen<br />
der Objekt-Beziehungsmodellierung auch die Modellierungskonstrukte der erweiterten<br />
Objekt-Beziehungsmodellierung. Generalisierungen sowohl von Objekt- als auch von Beziehungsklassen<br />
werden durch (abstrakte) isA-Kanten bzw. durch deren Spezialisierungen model-
216 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
liert. Durch objClsIsA- bzw.relClsIsA-Kanten werden jeweils ausschließlich Objekt- oder Beziehungsklassen<br />
generalisiert.<br />
Für die Spezialisierung von Beziehungsklassen ist darüber hinaus zu fordern, daß die Ziel- und<br />
Endklassen der Spezialisierungen auch mit den Ziel- und Endklassen der Generalisierung verträglich<br />
sind [ORP 1]. Kardinalitätsangaben dürfen durch Spezialisierungen von Beziehungsklassen<br />
nur eingeschränkt werden [ORP 2] um den in der Generalisierung definierten Kardinalitäten<br />
zu genügen. Durch [ORP 3] wird schließlich gefordert, daß es zu abstrakten Objekt- oder<br />
Beziehungsklassen in der Vererbungshierarchie auch konkrete Spezialisierungen geben muß.<br />
for G in ORP assert<br />
[ORP 1]:<br />
e f : VRelationshipClass ; a b c d : VObjectClass e relClsIsA f <br />
a cComesFrom e cGoesTo b c cComesFrom f cGoesTo d ¯<br />
a c b d ;<br />
£<br />
objClsIsA<br />
£<br />
objClsIsA<br />
[ORP 2]:<br />
e f : EcRelates α e relClsIsA α f ω e<br />
£<br />
objClsIsA ω f ¯<br />
first elimits first f limits second elimits second f limits ;<br />
[ORP 3]:<br />
end .<br />
t1 : ÎClassItem t1abstract true ¯<br />
t2 : ÎClassItem t2 isA t1 ¯ t2abstract false<br />
Gruppierungen und Aggregationen werden als spezielle Beziehungen (AggregationClass) aufgefaßt.<br />
Für diese Beziehungen werden Kardinalitätsinformationen analog zu den Relationship-<br />
Class-Kanten abgebildet, so daß im <strong>Metaschema</strong> eine Sonderbehandlung <strong>für</strong> Gruppierungen entfallen<br />
kann. Durch cComesFrom- und cGoesTo-Kanten wird <strong>für</strong> AggregationClass-Beziehungen<br />
Aggregat und Aggregation unterschieden. Die cComesFrom-Kanten zeigen jeweils zum Aggregat<br />
und die cGoesTo-Kante zur Aggregation. Die Ausrichtung der eigentlichen vom Aggregat zur<br />
Aggregation bzw. von der Aggregation zum Aggregat wird durch das dir-Attribut5 modelliert.<br />
Objekt-Beziehungsmodellierungen durch EER/GRAL-Klassendiagramme genügen dem zuvor<br />
vorgestellten <strong>Referenz</strong>-<strong>Metaschema</strong>. Das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas<br />
definiert somit auch das <strong>Metaschema</strong> aller in dieser Arbeit notierten <strong>Metaschema</strong>ta und kann<br />
somit als Meta-<strong>Metaschema</strong> zur Modellierung der Beschreibungsmittel <strong>für</strong> Organisationen und<br />
Softwaresysteme eingeordnet werden. Die Z -Spezifikation des EER/GRAL-Ansatzes in Kapitel<br />
5.2 und das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas lassen sich ineinander<br />
überführen. Die Menge der Typbezeichner des EER-Schemas (types) ist hierzu auf die Extension<br />
des Konzepts ClassItem abzubilden. Ebenso entsprechen die Mengen des EER-Schemas<br />
(EERSchema) zur Formalisierung der Knotentypbezeichner (entityTypes), der Beziehungstypbezeichner<br />
(relationshipTypes), der Rollentypbezeichner (roleTypes) und der Attributbezeichner<br />
(AttrId) den Extensionen von ObjectClass, RelationshipClass, AggregationClass und Attribute.<br />
Die Relationen und Mengen des EERSchema zur Spezifikation des Typsystems (TypeSystem),<br />
5 Für dir true zeigt die Aggregationskante parallel zur Ausrichtung der cComesFrom- und cGoesTo-Kanten zur<br />
Aggregation, andernfalls zum Aggregat.
6.5 <strong>Metaschema</strong>ta der Objektsicht 217<br />
des Inzidenzsystems (IncidenceSystem) und des Invariantensystems (InvariantSystem) finden ihre<br />
Entsprechungen in den Beziehungstypen und Attributstrukturen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
des Objekt-Beziehungsparadigmas.<br />
Spezialisierungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
<strong>Metaschema</strong>ta weiterer Beschreibungsmittel des Objekt-Beziehungsparadigmas lassen sich<br />
ebenfalls durch kleinere Anpassungen aus diesem <strong>Referenz</strong>-<strong>Metaschema</strong> ableiten.<br />
Datenlexika. Durch Datenlexika werden Objektstrukturen entlang regulärer Strukturen durch<br />
Objektsequenzen, -alternativen und -iterationen beschrieben (vgl. auch die Metamodellierung<br />
des Konzepts ObjectClass im <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas in Abbildung<br />
6.7; <strong>Se</strong>ite 180). Dieses <strong>Metaschema</strong> kann auf das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-<br />
Beziehungsparadigmas zurückgeführt werden, indem <strong>Se</strong>quenzen als Aggregationen, Alternativen<br />
als Generalisierungen und Iterationen als Gruppierungen aufgefaßt werden.<br />
Abbildung 6.23 skizziert das <strong>Metaschema</strong> <strong>für</strong> Datenlexika (ORPDD). Aggregationen und Gruppierungen<br />
werden konzeptionell unterschieden. Das <strong>Metaschema</strong> <strong>für</strong> Datenlexika sieht daher <strong>für</strong><br />
Gruppierungen (GroupingClass) und Aggregationen (AggregationClass) eigene Konzepte vor.<br />
Die Kardinalitäten dieser Gruppierungs- und Aggregationsbeziehungen sind in Datenlexika auf<br />
der Instanzebene festgelegt. Gruppierungen sind beliebig viele Komponenten-Objekte zugeordnet<br />
[ORPDD 1] und Aggregationen in jeder Rolle genau ein Aggregat [ORPDD 2]. Komponenten<br />
bzw. Aggregate können jedoch an beliebig vielen Gruppierungen oder Aggregationen beteiligt<br />
sein.<br />
objClsIsA<br />
(isA)<br />
isA<br />
ClassItem<br />
=2<br />
cComes<br />
From<br />
cRelates<br />
(cRelates)<br />
Object<br />
Class<br />
RelationshipClass<br />
Aggregation<br />
Class<br />
cGoesTo<br />
(cRelates)<br />
Grouping<br />
Class<br />
limits : int int<br />
name : string<br />
hasAttribute<br />
Domain<br />
name : string<br />
Attribute<br />
name : string<br />
has<br />
Domain<br />
Abbildung 6.23: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Datenlexika (ORPDD)
218 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Für Gruppierungen sind auch Kardinalitätseinschränkungen auf der Metaebene zu fordern. Einer<br />
Objektklasse, die eine Gruppierung beschreibt, ist genau eine Objektklasse zur Abbildung der<br />
Komponenten zugeordnet. Weitere gruppierte oder aggregierte Komponenten sind <strong>für</strong> Gruppierungen<br />
auszuschließen [ORPDD 3].<br />
Beziehungsklassen werden in Datenlexika nicht dargestellt, so daß im <strong>Metaschema</strong> die RelationshipClass-Knoten<br />
als abstrakt vereinbart werden. Auch können Beziehungsklassen nicht generalisiert<br />
werden [ORPDD 4]. Ebenso werden die in Datenlexika definierten Objekt- und Beziehungsklassen<br />
generell als konkret und Beziehungsklassen als injektiv angenommen [ORPDD 5].<br />
ORPDD isA ORP ;<br />
for G in ORPDD assert<br />
[ORPDD 1]:<br />
c : EcComesFrom type α c GroupingClass ¯<br />
first climits 0 second climits ∞ ;<br />
g : E cGoesTo type α g GroupingClass ¯<br />
first glimits 0 second glimits ∞ ;<br />
[ORPDD 2]:<br />
c : E cComesFrom type α c AggregationClass ¯<br />
first climits 1 second climits 1;<br />
g : E cGoesTo type α g AggregationClass ¯<br />
first glimits 0 second glimits ∞ ;<br />
[ORPDD 3]:<br />
o : V ObjectClass o cGoesTo &GroupingClass ¯<br />
δ cGoesTo 1;<br />
[ORPDD 4]:<br />
E relClsIsA ;<br />
[ORPDD 5]:<br />
i : V ClassItem ¯ iabstract false ;<br />
end .<br />
r : V RelationshipClass ¯ rinjective true<br />
Diesem <strong>Metaschema</strong> <strong>für</strong> Datenlexika ORPDD genügen auch Beschreibungen zur Objektmodellierung<br />
durch Jackson-Bäume und Warnier-Orr-Diagramme, die ebenfalls auf der Modellierung<br />
durch reguläre Strukturen basieren.<br />
Entity-Relationshipdiagramme. Entity-Relationshipdiagramme sind die klassische Form der<br />
Objekt-Beziehungsmodellierung. Die Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-<br />
Beziehungsparadigmas <strong>für</strong> Entity-Relationship-Diagramme (ORPER) in einer heute gebräuchlichen<br />
Form (vgl. z. B. [Vossen, 1994, S. 70ff], [Scheer, 1992], [Elmasri / Navathe, 2000]) ist in<br />
Abbildung 6.24 dargestellt.
6.5 <strong>Metaschema</strong>ta der Objektsicht 219<br />
objClsIsA<br />
(isA)<br />
isA<br />
ClassItem<br />
cRelates<br />
Object<br />
Class<br />
RelationshipClass<br />
Aggregation<br />
Class<br />
limits : int int<br />
name : string<br />
hasAttribute<br />
Domain<br />
name : string<br />
Attribute<br />
has<br />
Domain<br />
name : string<br />
ORPER isA ORP <br />
for G in ORPER assert<br />
[ORPER 1]:<br />
E relClsIsA <br />
[ORPER 2]:<br />
overwrites [ORP-EER 1]:<br />
r V Relationship ¯<br />
Æ cRelates r <br />
[ORPER 3]:<br />
E cComesFrom E cGoesTo <br />
[ORPER 4]:<br />
overwrites [ORP-EER 2]:<br />
isConcrete cRelates <br />
[ORPER 5]:<br />
c VClassItem ¯ c.abstract false <br />
r VRelationship ¯ r.injective true<br />
end .<br />
Abbildung 6.24: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Entity-Relationship-Diagramme (ORPER)<br />
In diesen Dialekten wird die Generalisierung von Beziehungstypen nicht unterstützt [ORPER 1].<br />
Entity-Relationshipdiagramme erlauben gegenüber dem <strong>Referenz</strong>-<strong>Metaschema</strong> auch Beziehungen<br />
beliebiger Arität. Die Begrenzung der Kardinalitäten der cRelates-Kanten nach oben ist<br />
daher aufgehoben [ORPER 2]. Da Beziehungen in diesen Dialekten als ungerichtet aufgefaßt<br />
werden, sind die cComesFrom und cGoesTo-Kanten überflüssig [ORPER 3], und die cRelates-<br />
Kanten sind als konkret zu vereinbaren [ORPER 4]. Graphischen Beschreibungsmittel zur Unterscheidung<br />
injektiver bzw. nicht injektiver Beziehungsklassen und abstrakter bzw. konkreter<br />
Objekt- und Beziehungsklassen werden in diesen Dialekten nicht graphisch unterschieden. Auch<br />
hier wird generell von konkreten Klassen und injektiven Beziehungsklassen ausgegangen [OR-<br />
PER 5].<br />
Der in [Chen, 1976] eingeführte ursprüngliche Dialekt zur Entity-Relationship-Modellierung<br />
kann auf das <strong>Metaschema</strong> ORPER zurückgeführt werden. In dieser Notation konnten noch keine<br />
Generalisierungen, Aggregationen und Attributstrukturen [ERChen 1] modelliert werden.<br />
ClassItem<br />
cRelates<br />
Object<br />
Class<br />
Relationship<br />
Class<br />
limits : int int<br />
name : string<br />
ORPChen isA ORPER <br />
for G in ORPChen assert<br />
[ORPChen 1]:<br />
V AggregationClass <br />
V Attribute V Domain <br />
E isA <br />
[ORPChen 2]:<br />
c E cRelates ¯<br />
first c.limits <br />
second c.limits <br />
second c.limits <br />
end .<br />
Abbildung 6.25: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Entity-Relationshipdiagramme nach [Chen, 1976] (ORPChen)
220 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die Kardinalitäten der Beziehungen werden in Entity-Relationshipdiagrammen i. allg. in der Å :<br />
Æ -Notation angegeben. Hierzu werden nur ÐÑØ×-Paare der Form 01 (entspricht 1) und 0∞<br />
(entspricht Å oder Æ ) zugelassen [ERChen 2].<br />
NIAM-Informationsstruktur-Diagramme. Eine Variante der Entity-Relationshipdiagramme,<br />
die ausschließlich binäre Beziehungen zwischen Objekten nutzen, sind NIAM-Informationsstruktur-Diagramme.<br />
Beziehungen werden in NIAM ausgehend von den Rollen, die die Objekte<br />
in der Beziehung einnehmen, modelliert. Die Bezeichner dieser beiden Rollen benennen die<br />
gesamte Beziehung. In NIAM können mit graphischen Mitteln Zusicherungen über den Objektmengen,<br />
die an einer Beziehung beteiligt sind, dargestellt werden. In der Spezialisierung<br />
des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas <strong>für</strong> NIAM-Informationsstruktur-<br />
Diagramme ORPNiam (vgl. Abbildung 6.26) werden diese Rollen daher durch die Knotentypen<br />
RoleComesFrom und RoleGoesTo modelliert. Diese ersetzen die cRelates-Kanten des <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>s [ORPNiam 1].<br />
objClsIsA<br />
(isA)<br />
isA<br />
ClassItem<br />
hasAs<br />
DestinationCF<br />
Role<br />
Role<br />
ComesFrom<br />
hasAs<br />
OriginCF<br />
ObjectClass<br />
Domain<br />
Relationship<br />
Class<br />
hasAs<br />
DestinationGT<br />
Role<br />
GoesTo<br />
hasAs<br />
OriginGT<br />
name : string<br />
roleAssociation : string<br />
relatesRole<br />
limits : int int<br />
name : string<br />
ORPNiam isA ORP <br />
for G in ORPNiam assert<br />
[ORPNiam 1]:<br />
E cRelates <br />
[ORPNiam 2]:<br />
V AggregationClass <br />
[ORPNiam 3]:<br />
c E cRelates ¯<br />
first c.limits <br />
second c.limits <br />
second c.limits <br />
[ORPNiam 4]:<br />
V Attributes <br />
[ORPNiam 5]:<br />
E relClsIsA <br />
[ORPNiam 6]:<br />
c V ClassItem ¯<br />
c.abstract false <br />
r V Relationsship ¯<br />
end .<br />
r.injective true<br />
Abbildung 6.26: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> NIAM-Informationsstruktur-Diagramme (ORPNiam)<br />
Eine Beziehung entspricht dann der Aggregation einer RoleComesFrom- und einer RoleGoesTo-<br />
Rolle, denen jeweils die in Beziehung gesetzten Objektklassen (ObjectClass) zugeordnet sind.<br />
Die Beziehungen zwischen den Rollen werden durch relatesRole-Kanten beschrieben, die mit<br />
der Art der jeweiligen Beziehung attributiert sind. Durch diese Beziehungen kann auch die Aggregation<br />
modelliert werden, so daß auch die AggregationClass-Spezialisierung der Beziehungsklassen<br />
im <strong>Metaschema</strong> entfallen kann [ORPNiam 2]. Kardinalitäten der Beziehungen werden<br />
in NIAM analog zu den Entity-Relationshipdiagrammen in einer graphischen Form der Å : Æ -
6.5 <strong>Metaschema</strong>ta der Objektsicht 221<br />
Notation dargestellt [ORPNiam 3]. Diese Kardinalitätsangaben werden im <strong>Metaschema</strong> ebenfalls<br />
an den Role-Knoten abgetragen.<br />
Wertebereiche von Attributen und Objektklassen werden in NIAM nicht unterschieden. Sowohl<br />
Attributzuordnungen als auch Beziehungen werden entlang des RelationshipClass-Konzepts<br />
modelliert. Jede Beziehung kann als Attributzuordnung aufgefaßt werden, so daß im NIAM-<br />
<strong>Metaschema</strong> gegenüber dem <strong>Referenz</strong>-<strong>Metaschema</strong> das Attributkonzept entfällt [ORPNiam 4].<br />
Die Wertebereiche der Attribute (domain) des <strong>Referenz</strong>-<strong>Metaschema</strong>s werden im NIAM-<br />
<strong>Metaschema</strong> als Spezialisierung der Objektklassen ObjectClass aufgefaßt. Diese Attributwertebereiche<br />
umfassen ausschließlich druckbare Standardtypen.<br />
Generalisierungen werden in NIAM nur zwischen Objektklassen zugelassen. Das <strong>Metaschema</strong><br />
der NIAM-Informationsstrukturdiagramme enthält daher auch keine relClsIsA-Kanten [ORP-<br />
Niam 5]. Abstrakte Klassen und nicht-injektive Beziehungsklassen werden auch in NIAM nicht<br />
berücksichtigt [ORPNiam 6].<br />
Generische <strong>Se</strong>mantische Modelle. In Dialekt der Generischen <strong>Se</strong>mantischen Modelle werden<br />
gerichtete Beziehungen beliebiger Arität unterstützt. Die Richtung der Beziehungen wird<br />
auch hier durch die cComesFrom- und cGoesTo-Kanten abgebildet. Zur Modellierung beliebiger<br />
Aritäten sind in der Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> Generische <strong>Se</strong>mantische<br />
Modelle (ORPGSM) in Abbildung 6.27 die Kardinalitäten der cRelates-Kanten anzupassen.<br />
objClsIsA<br />
(isA)<br />
isA<br />
ClassItem<br />
ObjectClass<br />
Domain<br />
cComes<br />
From<br />
cRelates<br />
(cRelates)<br />
Aggregation<br />
Class<br />
RelationshipClass<br />
Grouping<br />
Class<br />
name : string<br />
cGoesTo<br />
(cRelates)<br />
ORPGSM isA ORP <br />
for G in ORPDD assert<br />
[ORPGSM 1]:<br />
overwrites [ORP-EER 1]:<br />
r V Relationship ¯ Æ cRelates r <br />
overwrites [ORP-EER 3]:<br />
r V Relationship ¯ Æ cComesFrom r <br />
[ORPGSM 2]:<br />
E relClsIsA <br />
Æ cGoesTo r <br />
[ORPGSM 3]:<br />
c E cComesFrom type « c GroupingClass ¯<br />
first c.limits second c.limits <br />
g E cGoesTo type « g GroupingClass ¯<br />
first g.limits second g.limits <br />
[ORPGSM 4]:<br />
c E cComesFrom type « c AggregationClass ¯<br />
first c.limits second c.limits <br />
g E cGoesTo type « g AggregationClass ¯<br />
first g.limits second g.limits <br />
[ORPGSM 5]:<br />
o V ObjectClass o cGoesTo GroupingClass ¯<br />
Æ cGoesTo o <br />
[ORPGSM 6]:<br />
V Attribute <br />
[ORPGSM 7]:<br />
c VClassItem ¯ c.abstract false <br />
r VRelationsship ¯ r.injective true<br />
end .<br />
Abbildung 6.27: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Generische <strong>Se</strong>mantische Modelle (ORPGSM)
222 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Jeder Beziehungsklasse (RelationshipClass) ist mindestens eine cComesFrom- und cGoesTo-<br />
Kante zugeordnet. Die Anzahl der Objektklassen, die über diese Kanten zu einer Beziehungsklasse<br />
adjazent sind, ist jedoch nach oben unbeschränkt [ORPGSM 1]. Generalisierungen [OR-<br />
PGSM 2] und Kardinalitäten der Beziehungsklassen werden in Generischen <strong>Se</strong>mantischen Modellen<br />
nicht unterstützt.<br />
Wie auch in Datenlexika wird in Generischen <strong>Se</strong>mantischen Modellen deutlich zwischen der<br />
Aggregation und der Gruppierung unterschieden. Zur Metamodellierung von Aggregationen und<br />
Gruppierungen wird auch hier das Konzept der RelationshipClass durch AggregationClass und<br />
GroupingClass spezialisiert. Die Kardinalitäten dieser speziellen Beziehungen sind durch die<br />
Zusicherungen [ORPGSM 3] und [ORPGSM 4] festgelegt. Für Gruppierungen ist darüber hinaus<br />
noch zu fordern, daß hierdurch genau eine Objektklasse gruppiert wird [ORPGSM 5].<br />
Generische <strong>Se</strong>mantische Modelle bilden Attributzuordnungen analog zu NIAM-Informationsstruktur-Diagrammen<br />
durch Beziehungstypen ab. Das Konzept Domain faßt auch hier die<br />
druckbaren Objektklassen in einer Spezialisierung von ObjectClass zusammen. Gegenüber dem<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas sind im <strong>Metaschema</strong> <strong>für</strong> Generische<br />
<strong>Se</strong>mantische Modelle ebenfalls die Attribut-Knoten auszublenden [ORPGSM 6]. Abstrakte<br />
Objekt- und Beziehungsklassen bzw. nicht-injektive Beziehungsklassen werden auch hier nicht<br />
herausgestellt [ORPGSM 7].<br />
UML-Klassendiagramme. Auch die Klassendiagramme der Unified Modeling Language<br />
(UML) können auf eine Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
zurückgeführt werden. Gegenüber dem <strong>Referenz</strong>-<strong>Metaschema</strong> ist das <strong>Metaschema</strong> der<br />
UML-Klassendiagramme (ORPUML) um Konzepte zur Modellierung des nach außen sichtbaren<br />
Verhaltens der Objektklassen zu ergänzen (vgl. Abbildung 6.28). Objektklassen werden hierzu<br />
Methoden (Method) zugeordnet, die durch ihre Signaturen (Signature) konkretisiert werden<br />
können. Signaturen spezifizieren hierbei die Sorten (Sort) des Vorbereichs (isInputSort) und des<br />
Nachbereichs (isReturnSort), die sowohl durch Objektklassen (ObjectClass) als auch durch die<br />
Attributwertebereiche6 (Domain) gebildet werden können. Die Implementation dieser Methoden<br />
durch Prozesse (Process) kann mit den Beschreibungsmitteln der Prozeßsicht (vgl. Kapitel 6.4)<br />
dargestellt werden.<br />
In den Klassendiagrammen der UML werden verschiedene Beziehungsarten unterschieden, die<br />
im <strong>Metaschema</strong> als Spezialisierungen der RelationshipClass abgebildet werden. Klassen strukturierter<br />
Beziehungen zwischen Objekten werden durch Assoziationen (Association) modelliert. In<br />
UML-Klassendiagrammen können sowohl binäre, gerichtete Beziehungen als auch n-äre, ungerichtete<br />
Beziehungen notiert werden. Die Metamodellierung gerichteter, binärer Beziehungsklassen<br />
erfolgt entlang der cComesFrom- und cGoesTo-Kanten. Zur Beschreibung der n-ären, ungerichteten<br />
Beziehungen dienen die cRelates-Kanten, deren Kardinalität nach oben unbeschränkt<br />
ist [ORPUML 1], und die gegenüber den <strong>Referenz</strong>-<strong>Metaschema</strong> konkret sind [ORPUML 2]. Da<br />
Beziehungen entweder gerichtet oder ungerichtet sind, werden cRelates und cComesFrom-bzw.<br />
cGoesTo-Kanten nicht kombiniert [ORPUML 3].<br />
6 Je nach Implementationsunterstützung können hier unterschiedliche Standarddatentypen (bool, int, float, string)<br />
und Typkonstruktoren durch Mengen-, Multimengen oder Tupelbildung unterschieden werden (vgl. hierzu auch<br />
[Dahm et al., 1998a, Anhang A].
6.5 <strong>Metaschema</strong>ta der Objektsicht 223<br />
Process<br />
objClsIsA<br />
(isA)<br />
isA<br />
relClsIsA<br />
(isA)<br />
implements<br />
visibility : string<br />
hasOperation<br />
ClassItem<br />
(cRelates)<br />
RelationshipClass<br />
Association<br />
DependencyClass<br />
Method<br />
Object<br />
Class<br />
cComes<br />
From<br />
cRelates<br />
type : string<br />
name : string<br />
isSignature<br />
cGoesTo<br />
(cRelates)<br />
Aggregation<br />
Class<br />
CompositionClass<br />
isInput<br />
Sort<br />
visibility : string<br />
hasAttribute<br />
limits : int int<br />
role : string<br />
visibility : string<br />
Signature<br />
Sort<br />
isReturn<br />
Sort<br />
Attribute<br />
isAssociated<br />
name : string<br />
abstract : bool<br />
hasDomain<br />
Domain<br />
name : string name : string<br />
Abbildung 6.28: Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> UML-Klassendiagramme (ORPUML)<br />
Abhängigkeitsbeziehungen (DependencyClass) beschreiben Benutzt-Beziehungen zwischen<br />
zwei Objektklassen. Diese Beziehungen sind generell binär und gerichtet [ORPUML 4]. Die<br />
verschiedenen Arten der Abhängigkeiten7 werden durch das type-Attribut modelliert.<br />
Aggregationen und Gruppierungen werden auch in UML-Klassendiagrammen durch ein gemeinsames<br />
Konzept beschrieben. Durch entsprechende Kardinalitätsangaben werden die Gruppierungen,<br />
wie im <strong>Referenz</strong>-<strong>Metaschema</strong> abgebildet, auf Aggregationen (AggregationClass) zurückge-<br />
7 [Booch et al., 1999, S. 137] unterscheidet die Stereotypen bind, derive, friend, instanceOf, instanciate, powertype,<br />
refine, use, access, import, extend, include, become, call, copy, send und trace.
224 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
führt. Die gerichteten Beziehungen zwischen Aggregaten und Aggregationen werden auch hier<br />
durch die cComesFrom- bzw.cGoesTo-Kanten dargestellt, cRelates-Kanten sind an Aggregationsbeziehungen<br />
nicht beteiligt [ORPUML 4]. In UML-Klassendiagrammen werden zwei Varianten<br />
der Aggregation unterstützt. Während die (generelle) Aggregation (AggregationClass) nur<br />
Teil-Ganzes-Beziehungen abbildet, beschreiben Kompositionen (CompositionClass) solche Aggregationen,<br />
bei denen die Existenz der Aggregate an die Existenz der Aggregation gebunden<br />
ist. Für die Komponenten einer Komposition ist daher zu fordern, daß sie genau einmal zu genau<br />
einer Komposition gehören [ORPUML 5].<br />
Beziehungsklassen können in UML-Klassendiagrammen nicht direkt attributiert werden. Die<br />
Modellierung von Attributen und Methoden zu Assoziationen und Aggregationen erfolgt in UML<br />
durch eine assoziierte Objektklasse (isAssociated). Abhängigkeitsbeziehungen werden in UML<br />
auch nicht durch eine solche Uminterpretation von Objektklassen attributiert [ORPUML 6].<br />
Kardinalitätsangaben zu Assoziationen und Aggregationen werden durch die Min/Max-Notation<br />
dargestellt. Im <strong>Metaschema</strong> wird dieses durch die limits-Attribute der cRelates-Kanten abgebildet.<br />
Rollen, die Objekte in Beziehungen einnehmen, können in UML-Klassendiagrammen<br />
ebenfalls modelliert werden. Die cRelates-Kanten werden hierzu um das Attribut role erweitert.<br />
Für Abhängigkeitsbeziehungen (DependencyClass) werden diese Attribute nicht unterstützt<br />
[ORPUML 7].<br />
Wie im <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas vorgesehen, können Generalisierungen<br />
in UML-Klassendiagrammen sowohl zwischen Objektklassen als auch zwischen Beziehungsklassen<br />
modelliert werden. Abstrakte und konkrete Objekt- und Beziehungsklassen werden<br />
in UML-Klassendiagrammen unterschieden. Beziehungen werden hierbei aber auch generell<br />
als injektiv aufgefaßt [ORPUML 8].<br />
UML-Klassendiagramme erlauben zusätzlich Angaben über die Sichtbarkeit von Objekten auf<br />
Beziehungen, Attribute und Methoden. Im <strong>Metaschema</strong> der UML-Klassendiagramme erhalten<br />
hierzu die cRelates- diehasAttributes- und die hasOperation-Kanten das visibility-Attribut, das<br />
u. a. die Werte public, protected und private annehmen kann.<br />
ORPUML isA ORP ;<br />
for G in ORPUML assert<br />
[ORPUML 1]:<br />
overwrites [ORP-EER 1]:<br />
r : VRelationship ¯ 2 δ r ;<br />
cRelates<br />
[ORPUML 2]:<br />
overwrites [ORP-EER 2]:<br />
isConcrete cRelates ;<br />
[ORPUML 3]:<br />
r : V RelationshipClass δ cRelates r 0 ¯ δ cComesFrom r 0 δ cGoesTo r ;<br />
r : V RelationshipClass δ cComesFrom r 1 δ cGoesTo r 1 ¯ δ type<br />
[ORPUML 4]:<br />
a : V AggregationClass V DependencyClass ¯ δ type<br />
cRelates<br />
a 0;<br />
cRelates<br />
r 0;
6.6 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> 225<br />
[ORPUML 5]:<br />
g : E cGoesTo type ω g CompositionClass ¯<br />
first glimits 1 second glimits 1;<br />
[ORPUML 6]:<br />
a : E isAssociated ¯ type ω a DependencyClass ;<br />
[ORPUML 7]:<br />
r : V cRelates type ω r DependencyClass ¯<br />
glimits grole ;<br />
[ORPUML 8]:<br />
r : VRelationsship ¯ rinjective<br />
end .<br />
Vergleichbare <strong>Metaschema</strong>ta <strong>für</strong> Klassendiagramme der Object Modeling Method [Rumbaugh<br />
et al., 1991] oder der Booch-Methode [Booch, 1994] werden u. a. in [Ebert / Süttenbach, 1997a,<br />
S. 6ff] und [Süttenbach / Ebert, 1997, S. 8ff] vorgestellt.<br />
6.6 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die in den Kapiteln 6.2.1 bis 6.5.3 entwickelten <strong>Referenz</strong>-<strong>Metaschema</strong>ta der zehn grundlegenden<br />
Beschreibungsparadigmen werden im folgenden zum integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> der<br />
Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme zusammengefaßt.<br />
Hierzu werden zunächst in Kapitel 6.6.1 die <strong>Referenz</strong>-<strong>Metaschema</strong>ta der Beschreibungsparadigmen<br />
integriert und an das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> angepaßt. Zusätzliche GRAL -Zusicherungen,<br />
die die paradigmenübergreifende Konsistenz des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
sicherstellen, werden in Kapitel 6.6.2 formuliert.<br />
6.6.1 Integration der <strong>Referenz</strong>-<strong>Metaschema</strong>ta<br />
Das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme<br />
faßt die wesentlichen Konzepte der zur Modellierung eingesetzten Beschreibungsmittel<br />
in einem gemeinsamen EER/GRAL-Konzeptmodell zusammen. Dieses Modell inkludiert<br />
hierzu die <strong>Metaschema</strong>ta des Aufgabengliederungspardigmas TDP (vgl. Kapitel 6.2.1), des Stellengliederungsparadigmas<br />
PDP (vgl. Kapitel 6.3.1), des Komm<strong>uni</strong>kationsparadigmas PDP (vgl.<br />
Kapitel 6.3.2), des Datenflußparadigmas DFD (vgl. Kapitel 6.4.1), des Zustandsübergangsparadigmas<br />
STP (vgl. Kapitel 6.4.2), des Netzparadigmas NP (vgl. Kapitel 6.4.3), des Kontrollflußparadigmas<br />
CP (vgl. Kapitel 6.4.4), des Objekt-Instanzparadigmas OIP (vgl. Kapitel 6.5.1), des<br />
Objekt-Interaktionsparadigmas IAP (vgl. Kapitel 6.5.2) und des Objekt-Beziehungsparadigmas<br />
ORP (vgl. Kapitel 6.5.3).
226 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
for G in RMS include<br />
TDP; [Aufgabengliederungsparadigma]<br />
PDP; [Stellengliederungsparadigma]<br />
CommP; [Komm<strong>uni</strong>kationsparadigma]<br />
DFP; [Datenflußparadigma]<br />
STP; [Zustandsübergangsparadigma]<br />
NP; [Netzparadigma]<br />
CP; [Kontrollflußparadigma]<br />
OIP; [Objekt-Instanzparadigma]<br />
IAP; [Objekt-Interaktionsparadigma]<br />
ORP<br />
end .<br />
[Objekt-Beziehungsparadigma]<br />
Die Integration der einzelnen <strong>Metaschema</strong>ta erfolgt entlang der Konzepte, die in mehreren Paradigmen<br />
dargestellt werden. Einen Überblick über diese gemeinsamen Konzepte und die Beschreibungsparadigmen,<br />
in den sie dargestellt werden, gibt Abbildung 6.29.<br />
In den <strong>Referenz</strong>-<strong>Metaschema</strong>ta der einzelnen Beschreibungsmittel wurden bereits die Schnittstellen<br />
zu den angrenzenden Paradigmen berücksichtigt. Durch Zusammenfassen der Eigenschaften<br />
dieser gemeinsamen Konzepte, die durch ihre Attributstrukturen und ihre inzidenten<br />
Beziehungstypen charakterisiert sind, werden die Teilschemata integriert. Das resultierende<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme (RMS)<br />
ist in seinem EER-Teil in Abbildung 6.30 dargestellt.<br />
Konzept<br />
ParadigmaAufgabengliederungsparadigmaStellengliederungsparadigma<br />
Komm<strong>uni</strong>kationsparadigmaDatenflußparadigmaZustandübergangsparadigmaNetzparadigma<br />
Kontrollflußparadigma<br />
Objekt-<br />
Instanzparadigma<br />
Objekt-<br />
Interaktionsparadigma<br />
Objekt-<br />
Beziehungsparadigma<br />
Task<br />
Organizational<br />
Unit<br />
Process<br />
Event<br />
Domain<br />
Object<br />
Object<br />
Class<br />
Abbildung 6.29: Gemeinsame Konzepte der Paradigmen<br />
Relationship<br />
Class<br />
Attribute<br />
Paradigma<br />
enthält Konzept
6.6 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> 227<br />
MeansOfComm<strong>uni</strong>cation<br />
Document<br />
personal Phone<br />
Delivery:bool<br />
iteration : string<br />
duration : int<br />
Message msgCorrespondsTo<br />
msgComesFrom<br />
Comm<strong>uni</strong>cation<br />
frequency:float<br />
duration:float<br />
FlatFlow<br />
OfControl<br />
Attribute<br />
Value<br />
Pair<br />
isValue<br />
valIsInstanceOf<br />
Call<br />
Create<br />
Call<br />
Value<br />
transmits<br />
msgGoesTo<br />
AsynchronousFlow<br />
OfControl<br />
Return<br />
Destroy<br />
Call<br />
isInputParameter<br />
Fax EMail<br />
identifies isReturnParameter<br />
comm<strong>uni</strong>cates<br />
name:string<br />
Attribute<br />
has<br />
Domain<br />
name:string<br />
Domain<br />
comesFrom<strong>Se</strong>nder<br />
(comm<strong>uni</strong>cates)<br />
goesToReceiver<br />
(comm<strong>uni</strong>cates)<br />
isMsgIn<br />
callsMethod<br />
isGuard<br />
hasAttribute<br />
ValuePair<br />
name:string<br />
>1<br />
hasAttribute<br />
Comm<strong>uni</strong>cationPartner<br />
isMemberOf informs<br />
Interaction<br />
Scenario<br />
name : string<br />
Method<br />
name : string<br />
Predicate<br />
name : string<br />
OrganizationalUnit<br />
Instance<br />
Item<br />
name : string<br />
abstract : bool<br />
objIsInstanceOf<br />
(isInstanceOf)<br />
ClassItem<br />
Object<br />
Class<br />
=2<br />
External<br />
Partner<br />
LEPosition<br />
assists Leading Executing<br />
Position Position<br />
Position<br />
Object<br />
objClsIsA<br />
(isA)<br />
Group<br />
Assisting<br />
Position<br />
=2<br />
iRelates<br />
iGoesTo iComesFrom<br />
(iRelates)<br />
(iRelates)<br />
limits : int int<br />
Department<br />
isInstanceOf<br />
cGoesTo<br />
(cRelates)<br />
cRelates<br />
cComes<br />
From<br />
isA (cRelates)<br />
leads<br />
isHeadOf<br />
(isPartOf)<br />
delegates<br />
injective:bool<br />
order : int<br />
Relationship<br />
relIsInstanceOf<br />
(isInstanceOf)<br />
RelationshipClass<br />
AggregationClass<br />
dir: bool<br />
relClsIsA<br />
(isA)<br />
IsPartOf instructs substitutes<br />
rank : string<br />
competence: string<br />
qualification : string<br />
capacity : int<br />
Mechanism<br />
Technical<br />
Means<br />
describes<br />
describes<br />
executesTask<br />
isObject<br />
Component<br />
executesProcess<br />
name:string<br />
executionRole : string<br />
TaskDecomposition<br />
isDecomposedIn<br />
Process<br />
Atomic<br />
Process <strong>Se</strong>quence Parallel<br />
name:string<br />
DfItem<br />
DfObject<br />
criterion:<br />
{process, object}<br />
connection:<br />
{and,or}<br />
isProcess<br />
Component<br />
Iteration Alternative<br />
dfRefines<br />
isSubtask<br />
Task<br />
name : string<br />
location : string<br />
duration : float<br />
time : date<br />
resources:string<br />
dfGoesTo<br />
Store<br />
isSubprocess<br />
controls<br />
Dataflow<br />
isSubprocess<br />
isSubprocess<br />
Terminator<br />
isAlternative isSubprocess<br />
dfComesFrom<br />
isExecutionTask (isSubtask)<br />
isLeadingTask (isSubtask)<br />
isPlanningTask (isSubtask)<br />
isControllingTask (isSubtask)<br />
isAdministrativeTask(isSubtask)<br />
Abbildung 6.30: Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen<br />
und Softwaresysteme (RMS)<br />
dfCorrespondsTo<br />
PointOf<br />
Contact<br />
Transition<br />
Case<br />
Predicate<br />
name:string<br />
controls<br />
cfRefines<br />
isComponentIn<br />
transComesFrom transGoesTo<br />
isGuard<br />
triggers<br />
effects<br />
NetItem<br />
name:string<br />
Blob<br />
AtomicBlob<br />
NetObject<br />
name:string<br />
Dataflow<br />
Scenario<br />
End<br />
Blob<br />
isEntryAction<br />
isBlobAction<br />
isExitAction<br />
Event<br />
contains<br />
Xor<br />
Blob<br />
history:bool<br />
>1<br />
cfComesFrom cfGoesTo<br />
starts<br />
With<br />
contains<br />
Flow<br />
OperatorFlow<br />
Merge Branch<br />
And<br />
Blob<br />
Elementary<br />
Flow<br />
Fork<br />
Xor<br />
Branch<br />
Xor<br />
Merge<br />
Join<br />
Or<br />
Branch<br />
Or<br />
Merge
228 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel der Aufgabensicht (Aufgabengliederungsparadigma)<br />
findet sich rechts in der Mitte. Rechts oben sind die <strong>Referenz</strong>-<strong>Metaschema</strong>ta der<br />
Aufbausicht (Stellengliederungsparadigma und Komm<strong>uni</strong>katationsparadigma) dargestellt. Die<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>ta der Prozeßsicht (Datenflußparadigma, Zustandsübergangsparadigma,<br />
Netzparadigma und Kontrollflußparadigma) sind im unteren Teil von Abbildung 6.30 aufgeführt.<br />
Im linken, oberen Teil sind die Teil-<strong>Metaschema</strong>ta der Objektsicht (Objekt-Instanzparadigma,<br />
Objekt-Interaktionsparadigma und Objekt-Beziehungsparadigma) dargestellt.<br />
Die Integration zum <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen und<br />
Softwaresysteme erfordert kleinere Anpassungen bei der Zusammenfassung der gemeinsamen<br />
Konzepte der <strong>Referenz</strong>-<strong>Metaschema</strong>ta der einzelnen Beschreibungsparadigmen. Diese werden<br />
im folgenden entlang der zentralen Konzepte der Modellierungssichten kurz skizziert.<br />
Aufgabensicht:<br />
Die Einbettung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Aufgabengliederungsparadigmas aus der<br />
Aufgabensicht in das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> erfolgt unverändert.<br />
Über das zentrale Konzept der Aufgaben (Task) werden die Beziehungen zu den restlichen<br />
Sichten hergestellt. Die zentralen Konzepte der Prozeßsicht (Process) und der Objektsicht<br />
(Object) werden in der Aufgabensicht als essenzielle Komponenten der Aufgaben abgebildet.<br />
Organisationseinheiten (OrganizationalUnit) der Aufbausicht werden den Aufgaben<br />
als Aufgabenträger zugeordnet.<br />
Aufbausicht:<br />
Entlang der organisatorischen Einheiten (OrganizationalUnit) erfolgt auch die Integration<br />
der <strong>Referenz</strong>-<strong>Metaschema</strong>ta der Aufbausicht. Die Konzepte der OrganizationalUnit des<br />
Stellengliederungsparadigmas und des Komm<strong>uni</strong>kationsparadigmas beschreiben denselben<br />
Sachverhalt, so daß diese miteinander verschmolzen werden können.<br />
Der Querbezug zu dem <strong>Referenz</strong>metaschema der Aufgabensicht erfolgt über den Beziehungstyp<br />
executesTask, durch Organisationseinheiten mit den von ihnen auszuführenden<br />
Aufgaben verbinden. Organisationseinheiten spezialisieren darüber hinaus auch das<br />
Objekt-Konzept (Object) der Objektsicht (vgl. das <strong>Referenz</strong>-<strong>Metaschema</strong> des Netzparadigmas<br />
in Kapitel 6.4.3), das wiederum das Mechanismus-Konzept (Mechanism)derProzeßsicht<br />
(vgl. das <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas in Kapitel 6.4.1) spezialisiert.<br />
Hierdurch können organisatorische Einheiten einerseits als Objekte betrachtet<br />
werden und andererseits über das Mechanismus-Konzept den zu bearbeitenden Prozessen<br />
zugeordnet werden.<br />
Prozeßsicht:<br />
Das zentrale Konzept der Prozeßsicht ist der Prozeß (Process), das in den <strong>Metaschema</strong>ta<br />
des Datenflußparadigmas, desZustandsübergangsparadigmas, desNetzparadigmas und<br />
des Kontrollflußparadigmas (vgl. Kapitel 6.4.4) abgebildet wird. Neben der Prozeßspezialisierung<br />
durch regulär strukturierte Prozesse des Kontrollflußparadigmas sind <strong>für</strong> die anderen<br />
Paradigmen der Prozeßsicht solche Prozesse abzubilden, die nicht notwendig regulär<br />
strukturiert sind. Gegenüber dem Prozeßkonzept des Kontrollflußparadigmas ist das Prozeßkonzept<br />
des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s daher konkret. Zur Abbildung der Be-
6.6 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> 229<br />
schreibungsmittel des Zustandsübergangsparadigmas, des Netzparadigmas und des Kontrollflußparadigmas<br />
spezialisieren diese Prozesse auch die Konzepte der Datenflußobjekte<br />
(DfObject) und der Netzobjekte (NetObject).<br />
Im <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas werden die Daten, die in Speichern<br />
(Store) gehalten bzw. durch Datenflüsse (Dataflow) ausgetauscht werden, durch regulär<br />
strukturierte Datenstrukturen (ClassItem) modelliert. Da die Beschreibungsmittel des<br />
Objekt-Beziehungsparadigmas durch Generalisierung und Aggregation ebenfalls regulär<br />
strukturierte Daten darstellen können (vgl. Kapitel 6.5.3), werden die Daten des Datenflußparadigmas<br />
durch das ClassItem-Konzept des Objekt-Beziehungsparadigmas beschrieben.<br />
Objektsicht:<br />
Die Integration der <strong>Referenz</strong>-<strong>Metaschema</strong>ta der Objektsicht erfolgt entlang des hier zentralen<br />
Konzepts der Objekte (Object). Neben der Darstellung der Objekte und Beziehungen<br />
auf Instanzebene durch die Beschreibungsmittel des Objekt-Instanzparadigmas und des<br />
Objekt-Interaktionsparadigmas werden Objekt- und Beziehungsinstanzen durch die Beschreibungsmittel<br />
des Objekt-Beziehungsparadigmas zu Objektklassen (ObjectClass) und<br />
zu Beziehungsklassen (RelationshipClass) zusammengefaßt.<br />
Die Integration der einzelnen <strong>Referenz</strong>-<strong>Metaschema</strong>ta der Beschreibungsparadigmen erfordert<br />
auch kleinere Anpassungen der GRAL-Zusicherungen. Datenbezüge des Datenflußparadigmas<br />
werden im integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> durch Rückgriff auf das <strong>Referenz</strong>-<strong>Metaschema</strong> des<br />
Objekt-Beziehungsparadigmas beschrieben. Die Zusicherungen an das <strong>Referenz</strong>-<strong>Metaschema</strong><br />
des Datenflußparadigmas (vgl. Kapitel 6.4.1) [DFP 10] und [DFP 11] sind daher an die Strukturierung<br />
des Konzepts ClassItem des Objekt-Beziehungsparadigmas anzupassen. Ebenso werden<br />
die Konzepte AtomicClass, AlternativeClass, IteratedClass und <strong>Se</strong>quentialClass des <strong>Metaschema</strong>s<br />
des Datenflußparadigmas zur Beschreibung regulär strukturierter Datenzusammenhänge<br />
nicht verwendet [RMS-DFP 12].<br />
for G in RMS assert<br />
[RMS-DFP 10]:<br />
overwrites [DFP 10] :<br />
poc : VPointOfContact ¯<br />
poc dfCorrespondsTo describes<br />
isA cGoesTo &AggregationClass cComesFrom £<br />
describes dfGoesTo dfComesFrom<br />
poc ;<br />
[RMS-DFP 11]:<br />
overwrites [DFP 11] :<br />
d : V Dataflow ¯<br />
d dfGoesTo dfComesFrom &Store describes<br />
isA cGoesTo &AggregationClass cComesFrom £<br />
describes<br />
[RMS-DFP 12]:<br />
V AtomicClass V AlternativeClass V IteratedClass V <strong>Se</strong>quentialClass <br />
end .<br />
d ;
230 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Im <strong>Referenz</strong>-<strong>Metaschema</strong> des Kontrollflußparadigmas ist das Process-Konzept als abstrakt vereinbart.<br />
Aufgrund der Zusammenfassung der Process-Konzepte des Datenflußparadigmas, des<br />
Zustandsübergangsparadigmas und des Netzparadigmas ist diese Anforderung im integrierten<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> aufzugeben [RMS-CP 2].<br />
for G in RMS assert<br />
[RMS-CP 2]:<br />
overwrites [CP-EER 2] :<br />
isConcrete Process<br />
end .<br />
Die Zusicherungen des Aufgabengliederungsparadigmas, des Stellengliederungsparadigmas, des<br />
Komm<strong>uni</strong>kationsparadigmas, des Zustandsübergangsparadigmas, des Netzparadigmas, des Objekt-Instanzparadigmas,<br />
des Objekt-Interaktionsparadigmas und des Objekt-Beziehungsparadigmas<br />
werden hierbei unverändert übernommen. In Anhang A sind diese Zusicherungen <strong>für</strong> die<br />
einzelnen Paradigmen noch einmal zusammenfassend dargestellt.<br />
6.6.2 Paradigmenübergeifende GRAL-Zusicherungen<br />
In multiperspektivischen Modellierungen werden Organisationen bzw. Softwaresysteme durch<br />
mehrere Teilmodelle dargestellt. Diese Teilmodelle, die in unterschiedlichen Beschreibungssprachen<br />
notiert werden, müssen zueinander konsistent sein.<br />
Die Formalisierung dieser paradigmenübergreifenden Konzistenzbedingungen erfolgt durch weitere<br />
GRAL-Zusicherungen. Hierbei werden zunächst die Konsistenzbedingungen zwischen den<br />
verschiedenen Paradigmen einzelner Sichten betrachtet. Anschließend werden die sichtenübergreifenden<br />
Zusicherungen formuliert.<br />
Die Konsistenz der Darstellungsmittel der Aufgabensicht ist bereits durch das <strong>Referenz</strong>-<br />
<strong>Metaschema</strong> des Aufgabengliederungsparadigmas definiert. Im <strong>Metaschema</strong> des Stellengliederungsparadigmas<br />
und im <strong>Metaschema</strong> des Komm<strong>uni</strong>kationsparadigmas ist das Konzept der Organisationseinheiten<br />
vollständig enthalten, so daß keine weiteren Zusicherungen zur paradigmenübergreifenden<br />
Konsistenzsicherung der Beschreibungsmittel der Aufbausicht nötig werden.<br />
Der Zusammenhang zwischen den Beschreibungen der Aufgaben- und Aufbausicht bzw.<br />
zwischen der Aufgaben- und der Objektsicht wird durch die Darstellungsmittel des Aufgabengliederungsparadigmas<br />
hergestellt. Das <strong>Metaschema</strong> des Aufgabengliederungsparadigmas umfaßt<br />
daher auch die hier nötigen Zusicherungen. In ähnlicher Form ist auch die Konsistenz der<br />
Darstellungen der Prozeß- und Objektsicht in den <strong>Metaschema</strong>ta des Datenflußparadigmas und<br />
des Netzparadigmas formalisiert.<br />
Die noch nötigen paradigmen- und sichtenübergreifenden Zusicherungen beziehen sich folglich<br />
auf die Betrachtung der verschiedenen Paradigmen der Prozeß- und Objektsicht und auf die<br />
Querbezüge zwischen Aufgaben- und Prozeßsicht, Aufbau- und Prozeßsicht und Aufbau- und<br />
Objektsicht.
6.6 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> 231<br />
Paradigmenübergeifende Zusicherungen der Prozeßsicht<br />
Prozeßzerlegungen werden sowohl mit den Beschreibungsmitteln des Datenflußparadigmas, des<br />
Netzparadigmas und des Kontrollflußparadigmas beschrieben. Wird die Zerlegung desselben<br />
Prozesses entlang unterschiedlicher Beschreibungsparadigmen dargestellt, müssen diese Zerlegungen<br />
miteinander verträglich sein. Jede dieser Prozeßzerlegungen untergliedert den betrachteten<br />
Prozeß in dieselben Teilprozesse [RMS-Process 1].<br />
for G in RMS assert<br />
[RMS-Process 1]:<br />
p : VProcess ¯<br />
[Datenfluß- und Netzparadigma]<br />
δ p 0 δ p<br />
dfRefines cfRefines<br />
end .<br />
p dfRefines &Process p cfRefines &Process <br />
[Datenfluß- und Kontrollflußparadigma]<br />
δ dfRefines p 0 type p <strong>Se</strong>quence Parallel Iteration Alternative<br />
p dfRefines &Process p isAlternative ℄ isSubprocess <br />
[Netz- und Kontrollflußparadigma]<br />
δ cfRefines p 0 type p <strong>Se</strong>quence Parallel Iteration Alternative<br />
p cfRefines &Process p isAlternative ℄ isSubprocess<br />
Im Zusammenspiel mit Zusicherung [DFP 2] des Datenflußparadigmas impliziert [RMS-<br />
Process 1], daß Prozesse in Darstellungen des Netzparadigmas oder in Darstellungen des Kontrollflußparadigmas,<br />
die auch in einer Datenflußbeschreibung verfeinert wurden, zwischen drei<br />
und sechs Teilprozesse besitzen.<br />
Paradigmenübergeifende Zusicherungen der Objektsicht<br />
Die paradigmenübergreifenden Zusicherungen an die Darstellungsmittel der Objektsicht beziehen<br />
sich auf die Konsistenzsicherung zwischen Darstellungen schematischer Objektzusammenhänge<br />
des Objekt-Beziehungsparadigmas und den Darstellungen auf Instanzebene durch die Beschreibungsmittel<br />
des Objekt-Instanzparadigmas (vgl. hierzu auch die Definition der Relation<br />
EERSchema in Kapitel 5.2.2).<br />
In Instanzdarstellungen müssen die Typen der zu einem Knoten inzidenten Kanten mit den<br />
Inzidenz-Definitionen auf Scheme-Ebene übereinstimmen [RMS-Object 1]. Die Inzidenzen<br />
in Instanzbeschreibungen müssen ebenfalls den Kardinalitäten der Schemadefinition genügen<br />
[RMS-Object 2]. In beiden Zusicherungen sind auch die in der Schemadefinition festgelegten<br />
Kantenrichtungen zu berücksichtigen.<br />
Die Attributstruktur von Objekten (Object) und Beziehungen (Relationship) wird durch die Definition<br />
der Objekt- (ObjectClass) und Beziehungsklassen (RelationshipClass) definiert. Objekte<br />
und Beziehungen können nur solche Attribute besitzen, die <strong>für</strong> ihren Typ bzw. deren Supertypen<br />
erlaubt sind [RMS-Object 3].
232 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Schließlich müssen die Instanzdarstellungen den in Schemadefinitionen festgelegten Forderungen<br />
nach abstrakten Objekt- und Beziehungsklassen [RMS-Object 4] und nach injektiven Beziehungsklassen<br />
[RMS-Object 5] genügen.<br />
for G in RMS assert<br />
[RMS-Object 1]:<br />
v : VObject ; e : VRelationship v iComesFrom e ¯<br />
v objIsInstanceOf<br />
£<br />
objClsIsA cComesFrom<br />
v : V Object ; e : V Relationship v iGoesTo<br />
v objIsInstanceOf<br />
£<br />
objClsIsA cGoesTo<br />
£<br />
relClsIsA relIsInstanceOf<br />
e ¯<br />
£<br />
relClsIsA relIsInstanceOf<br />
[RMS-Object 2]:<br />
v : VObject ; e : EcComesFrom v objIsInstanceOf<br />
£<br />
objClsIsA ω e ¯<br />
first elimits # r : EiComesFrom ω r v <br />
α r relIsInstanceOf<br />
second elimits ;<br />
v : VObject ; e : EcGoesTo v objIsInstanceOf<br />
£<br />
objClsIsA ω e ¯<br />
first elimits # r : EiGoesTo ω r v <br />
α r relIsInstanceOf<br />
second elimits ;<br />
[RMS-Object 3]:<br />
i : VInstanceItem ; c : VClassItem i IsInstanceOf c ¯<br />
i hasAttributeValuePair identifies c<br />
£<br />
IsA hasAttribute ;<br />
[RMS-Object 4]:<br />
c : V ClassItem cabstract ¯ c IsInstanceOf<br />
;<br />
e ;<br />
e ;<br />
£<br />
relClsIsA<br />
£<br />
relClsIsA<br />
α e <br />
α e <br />
[RMS-Object 5]:<br />
rc : V RelationshipClass ; r 1 r 2 : V Relationship <br />
rcinjective r 1 relIsInstanceOf rc relIsInstanceOf r 2 r 1 r 2 ¯<br />
r 1 iGoesTo r 2 iGoesTo r 1 iComesFrom r 2 iComesFrom<br />
end .<br />
Paradigmenübergeifende Zusicherungen der Aufgaben- und Prozeßsicht<br />
Zwischen Prozeßdarstellungen und Aufgabengliederungen sind die Aufgaben- bzw. Prozeßgliederungen,<br />
die in Aufgaben bzw. in Prozessen betrachteten Objekte und die mit der Ausführung<br />
betrauten Prozeß- bzw. Aufgabenträger zu synchronisieren.<br />
Die Zerlegung von Aufgaben in Teilaufgaben muß sich hierbei in der Zerlegung der Prozeßkomponenten<br />
der Aufgabe, die mit den Beschreibungsmitteln des Datenflußparadigmas,<br />
des Netzparadigmas oder des Kontrollflußparadigmas modelliert wurden, widerspiegeln [RMS-<br />
TaskProcess 1].<br />
Bezüge zwischen Objekten und Aufgaben bzw. zwischen Objekten und Prozessen werden im<br />
Aufgabengliederungsparadigma und im Datenflußparadigma beschrieben. In den durch Daten-
6.6 Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong> 233<br />
flußbeschreibungen modellierten Prozeßkomponenten einer Aufgabe wird hierbei die Objektkomponente<br />
bearbeitet. Je nach Festlegung der Objektkomponente, ausgehend von den in der<br />
Aufgabe bearbeiteten Objekten oder ausgehend von den produzierten Objekten, findet sich die<br />
Objekt-Komponente in den eingehenden oder ausgehenden Datenflüssen zur jeweiligen Prozeßkomponente<br />
[RMS-TaskProcess 2].<br />
Organisationseinheiten, die Aufgaben bzw. Prozesse ausführen, werden durch die Beschreibungsmittel<br />
der Aufgabensicht Aufgaben und durch die Beschreibungsmittel der Prozeßsicht<br />
Prozessen zugeordnet. Diese Organisationseinheiten müssen <strong>für</strong> Aufgaben und ihre Prozeßkomponenten<br />
übereinstimmen [RMS-TaskProcess 3].<br />
for G in RMS assert<br />
[RMS-TaskProcess 1]:<br />
p : VProcess ; t : VTask p<br />
[Datenflußparadigma]<br />
isProcessComponent t ¯<br />
δ p<br />
dfRefines<br />
0 δ t<br />
isDecomposedIn<br />
0<br />
p dfRefines &Process t isDecomposedIn isSubtask isProcessComponent <br />
[Netzparadigma]<br />
δ cfRefines p 0 δ isDecomposedIn t 0<br />
p cfRefines &Process t isDecomposedIn isSubtask isProcessComponent <br />
[Kontrollflußparadigma]<br />
type p <strong>Se</strong>quence Parallel Iteration Alternative δ isDecomposedIn t 0<br />
p isAlternative ℄ isSubprocess <br />
t isDecomposedIn isSubtask isProcessComponent ;<br />
[RMS-TaskProcess 2]:<br />
p : VProcess ; t : VTask p isProcessComponent t <br />
p dfComesFrom dfGoesTo describes ¯<br />
t isObjectComponent p dfComesFrom dfGoesTo describes ;<br />
[RMS-TaskProcess 3]:<br />
p : VProcess ; t : VTask p isProcessComponent t ¯<br />
end .<br />
t executesTask p executesProcess &OrganizationalUnit<br />
Paradigmenübergeifende Zusicherungen der Aufbau- und Prozeßsicht<br />
Modellierungen nach dem Datenflußparadigma beschreiben indirekt auch Komm<strong>uni</strong>kationsbeziehungen<br />
zwischen Organisationseinheiten. Besteht eine Datenflußbeziehung zwischen zwei<br />
Prozessen, die durch verschiedene Organisationseinheiten ausgeführt werden, impliziert dieses<br />
auch eine Komm<strong>uni</strong>kationsbeziehung zwischen den beteiligten Organisationseinheiten. Dieser<br />
Querbezug wird in [RMS-PositionProcess 1] zugesichert.
234 <strong>Referenz</strong>-<strong>Metaschema</strong><br />
for G in RMS assert<br />
[RMS-PositionProcess 1]:<br />
p1 p2 : VProcess ; s1 s2 : VOrganizationalUnit s1 s2 <br />
s1 executesProcess p1 s2 executesProcess p2 ¯<br />
p1 dfComesFrom dfGoesTo p2 s1 comm<strong>uni</strong>cates comm<strong>uni</strong>cates s2 end .<br />
Paradigmenübergeifende Zusicherungen der Aufbau- und Objektsicht<br />
Mit den Beschreibungsmitteln des Objekt-Interaktionsparadigmas wird die Interaktion zwischen<br />
Objekten modelliert. Beschreiben solche, über Nachrichten interagierende, Objekte organisatorische<br />
Einheiten, liegt zwischen diesen ebenfalls eine Komm<strong>uni</strong>kationsbeziehung vor [RMS-<br />
PositionObject 1].<br />
for G in RMS assert<br />
[RMS-PositionObject 1]:<br />
s1 s2 : VOrganizationalUnit ¯<br />
s1 msgComesFrom msgGoesTo s2 s1 comm<strong>uni</strong>cates comm<strong>uni</strong>cates s2 end .<br />
6.7 Zusammenfassung<br />
Entlang der Klassifikation der Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme aus<br />
Kapitel 3.1 wurden <strong>für</strong> die grundlegenden Beschreibungsparadigen EER/GRAL-Konzeptmodelle<br />
entwickelt. Diese Konzeptmodelle beschreiben <strong>Referenz</strong>-<strong>Metaschema</strong>ta der einzelnen Beschreibungsparadigmen.<br />
Aus diesen <strong>Referenz</strong>-<strong>Metaschema</strong>ta wurden <strong>Metaschema</strong>ta der wesentlichen Notationsformen<br />
der jeweils betrachteten Paradigmen durch marginale Einschränkungen und Ergänzungen abgeleitet.<br />
Hierdurch konnte die <strong>Referenz</strong>-Eigenschaft dieser paradigmenbezogenen <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>ta nachgewiesen werden.<br />
Die paradigmenbezogenen <strong>Referenz</strong>-<strong>Metaschema</strong>ta wurden entlang der gemeinsamen Konzepte<br />
der einzelnen Pardigmen zum integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong><br />
Organisationen und Softwaresysteme zusammengefaßt. Einen Überblick über die vollständige<br />
Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s gibt Anhang A.<br />
In Teil III wird dieses integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> zur Betrachtung der Beschreibungsmittel<br />
konkreter Modellierungsmethoden und zur Entwicklung eines Softwarewerkzeugs zur Modellierungsunterstützung<br />
angewandt.
Teil III<br />
Anwendung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Das in Kapitel 6 vorgestellte <strong>Referenz</strong>-<strong>Metaschema</strong> zielt auf eine möglichst umfassende konzeptionelle<br />
Abbildung aller wesentlichen <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> <strong>für</strong> Organisationen<br />
und Softwaresysteme. Im Vergleich zu <strong>Metaschema</strong>ta wesentlicher Ansätze zur Organisationsund<br />
Softwaremodellierung bezieht sich dieses <strong>Referenz</strong>-<strong>Metaschema</strong> nicht auf wenige konkrete<br />
Sprachen, sondern es berücksichtigt auch die konzeptionellen Unterschiede verschiedener Dialekte<br />
einzelner Modellierungstechniken.<br />
Die <strong>Metaschema</strong>ta der Beschreibungsmittel der Architektur integrierter Informationssysteme<br />
(ARIS) [Scheer, 1992] oder der Unified Modeling Language (UML) [OMG, 1999] können als<br />
mögliche Spezialisierungen des hier eingeführten integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s aufgefaßt<br />
werden. <strong>Metaschema</strong>ta zu ARIS (vgl. Kapitel 7) und UML (vgl. Kapitel 8) werden im folgenden<br />
fallstudienartig vom <strong>Referenz</strong>-<strong>Metaschema</strong> der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> abgeleitet.<br />
Aufgrund des durchgängigen EER/GRAL-Ansatzes zur graphbasierten Modellierung und Implementierung<br />
beschreibt das in Kapitel 6 eingeführte <strong>Referenz</strong>-<strong>Metaschema</strong>ta auch Repository-<br />
Strukturen <strong>für</strong> Modellierungswerkzeuge. Repository-Strukturen <strong>für</strong> Werkzeuge zur Unterstützung<br />
konkreter Modellierungsmethoden können daher auch durch Spezialisierungen des integrierten<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s definiert werden. In Kapitel 9 wird die Anwendung des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s bei der Entwicklung von Modellierungswerkzeugen am Beispiel eines<br />
Werkzeugs zur Software-Evaluation skizziert.
7 Architektur integrierter<br />
Informationssysteme<br />
Die Architektur integrierter Informationssysteme (ARIS) [Scheer, 1992], [Scheer, 1994, Teil A],<br />
[IDS, 1995] stellt ein Rahmenwerk zur Modellierung und Entwicklung betrieblicher Informationssysteme<br />
bereit. Die Organisationsmodellierung erfolgt in ARIS entlang der Geschäftsprozesse<br />
der betrachteten Organisation. Ausgehend von diesen Prozessen wird die Organisation aus<br />
Datensicht, zur Beschreibung der benötigten und erzeugten Daten, aus Funktionssicht, zur Beschreibung<br />
der auszuführenden Funktionen und aus Organisationssicht, zur Beschreibung der<br />
Aufbauorganisation, betrachtet. Teilmodelle dieser drei Sichten werden in der Steuerungssicht<br />
miteinander integriert. Die Darstellungsmittel der Steuerungssicht stellen hierbei die Modellierungsinhalte<br />
der Datensicht, der Funktionssicht und der Organisationssicht zueinander in Beziehung<br />
(vgl. auch die Einordnung des ARIS-Ansatzes als Metamodell in Kapitel 4.3.1, S. 121).<br />
Die Organisationsmodellierung zur Entwicklung von Informationssystemen erfolgt mit ARIS<br />
auf der Ebene des Fachkonzepts, des DV-Konzepts und des Implementationskonzepts. Diese<br />
Konzepte werden jeweils aus Datensicht, aus Funktionssicht, aus Organisationssicht und aus<br />
Steuerungssicht beschrieben. Der Schwerpunkt der Organisationsmodellierung mit dem ARIS-<br />
Ansatz liegt jedoch auf der Erstellung des Fachkonzepts (vgl. auch [Scheer, 1994, S. 16]).<br />
Das zentrale Beschreibungsmittel des ARIS-Ansatzes sind Ereignisgesteuerte Prozeßketten zur<br />
Modellierung der Geschäftsprozesse der betrachteten Organisation aus Funktionssicht. Ergänzt<br />
wird die Darstellung um Funktionsbäume zur Beschreibung von Aufgabengliederungen und um<br />
Nassi-Shneiderman-Diagramme zur Modellierung von Prozeßausführungen. Die Beschreibung<br />
der Fachkonzepte aus Datensicht erfolgt durch Objekt-Beziehungsdiagramme. Aufbauorganisatorische<br />
Aspekte der Organisationssicht werden durch einfache Organigramme dargestellt. Zur<br />
Integration dieser Teilmodelle in der Steuerungssicht finden erweiterte Ereignisgesteuerte Prozeßketten<br />
und Vorgangsketten-Diagramme Anwendung.<br />
[Scheer, 1992] und [Scheer, 1994, Teil A] diskutieren weitere <strong>visuelle</strong> <strong>Modellierungssprachen</strong><br />
der einzelnen Sichten, wie Stellenbeschreibungen, Netzpläne, Datenflußdiagramme und Entscheidungstabellen,<br />
die neben weiteren Beschreibungsmitteln auch durch das ARIS-Toolset unterstützt<br />
werden. In Anwendungen des ARIS-Ansatzes zur Darstellung von Fachkonzepten <strong>für</strong><br />
industrielle Geschäftsprozesse (vgl. z. B. [Scheer, 1994]) zur Darstellung von Krankenhausinformationssystemen<br />
(vgl. z. B. [Imhoff et al., 1996]) oder zur Darstellung der Fachkonzepte<br />
betriebswirtschaftlicher Standardsoftware (vgl. z. B. [Staud, 1999]) werden i. allg. ausschließlich<br />
(erweiterte) Ereignisgesteuerte Prozeßketten, Vorgangskettendiagramme, Funktionsbäume,<br />
Objekt-Beziehungsdiagramme und Organigramme verwendet. Die Konzepte dieser Beschrei-
238 Architektur integrierter Informationssysteme<br />
bungsmittel werden im <strong>Metaschema</strong> des ARIS-Ansatzes abgebildet, das im folgenden aus dem<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme abgeleitet<br />
wird.<br />
7.1 Integration der <strong>Metaschema</strong>ta der ARIS-<br />
Beschreibungsmittel<br />
Zur Modellierung nach dem ARIS-Ansatz werden Sprachen des Aufgabengliederungsparadigmas,<br />
des Stellengliederungsparadigmas, des Netzparadigmas, des Kontrollflußparadigmas und<br />
des Objekt-Beziehungspardigmas verwendet. Die <strong>Referenz</strong>-<strong>Metaschema</strong>ta dieser Paradigmen<br />
sind jeweils an die konkreten Anforderungen der ARIS-Sprachmittel anzupassen und zum integrierten<br />
<strong>Metaschema</strong> des ARIS-Ansatzes zusammenzufassen.<br />
Die Struktur der ARIS-Funktionsbäume wird durch die Spezialisierung TDPAris des <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>s des Aufgabengliederungsparadigmas modelliert (vgl. Kapitel 6.2.1). Im ARIS-<br />
Ansatz werden nur sehr einfache Organigramme zur Beschreibung der Aufbaustrukturen der betrachteten<br />
Organisation verwendet. Diese Organigramme folgen der Spezialisierung PDPAris des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas PDP (vgl. Kapitel 6.3.1). Zur Darstellung<br />
der Geschäftsprozesse einer Organisation werden (erweiterte) Ereignisgesteuerte Prozeßketten<br />
und Vorgangskettendiagramme verwendet. Diese Beschreibungsmittel genügen der in<br />
Kapitel 6.4.3 vorgestellten Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas <strong>für</strong><br />
Vorgangskettendiagramme (NPVKD) bzw. dem hieraus abgeleiteten <strong>Metaschema</strong> der Ereignisgesteuerten<br />
Prozeßkette (NPEPK). Die in ARIS zur Beschreibung regulär strukturierter Prozeßfolgen<br />
verwendeten Nassi-Shneiderman-Diagramme entsprechen dem in Kapitel 6.4.4 eingeführten<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> des Kontrollflußparadigmas (CP). Aus dem <strong>Referenz</strong>-<strong>Metaschema</strong> des<br />
Objekt-Beziehungsparadigmas wurde in Kapitel 6.5.3 auch eine Spezialisierung <strong>für</strong> einen heute<br />
üblichen Dialekt der Entity-Relationshipdiagramme abgeleitet. Die im ARIS-Ansatz verwendeten<br />
Beschreibungsmittel zur Modellierung des Fachkonzepts der Datensicht entsprechen diesem<br />
<strong>Metaschema</strong> ORPER.<br />
Diese fünf <strong>Metaschema</strong>ta bilden das <strong>Metaschema</strong> der Beschreibungsmittel zur Organisationsmodellierung<br />
entlang des ARIS-Ansatzes (ARIS). Abbildung 7.1 stellt den EER-Teil des resultierenden<br />
ARIS-<strong>Metaschema</strong>s dar.<br />
for G in ARIS include<br />
TDPAris; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Aufgabengliederungsparadigmas<br />
<strong>für</strong> Funktionsbäume]<br />
PDPAris; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas<br />
<strong>für</strong> ARIS-Organigramme]<br />
NPVKD; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas<br />
<strong>für</strong> Vorgangskettendiagramme]<br />
CP; [<strong>Referenz</strong>-<strong>Metaschema</strong>s des Kontrollflußparadigmas]<br />
ORPER; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> Entity-Relationshipdiagramme]<br />
end .
7.2 Paradigmenübergreifende GRAL-Zusicherungen 239<br />
objClsIsA<br />
(isA)<br />
isA<br />
cRelates<br />
name : string<br />
abstract : bool<br />
ClassItem<br />
RelationshipClass<br />
injective: bool<br />
AggregationClass<br />
dir:bool<br />
Domain<br />
name:string<br />
Object<br />
Class<br />
has<br />
Domain<br />
limits : int int<br />
hasAttribute<br />
Attribute<br />
name:string<br />
objIsInstanceOf<br />
(isInstanceOf)<br />
NetItem<br />
Flow<br />
OperatorFlow<br />
Merge<br />
Xor<br />
Merge<br />
Or<br />
Merge<br />
requires<br />
Process<br />
Atomic<br />
Process<br />
name:string<br />
<strong>Se</strong>quence Parallel<br />
cfRefines<br />
NetObject<br />
Event<br />
cfComesFrom cfGoesTo<br />
Branch<br />
Xor<br />
Branch<br />
Or<br />
Branch<br />
Fork<br />
Join<br />
delivers<br />
represents isSubprocess isSubprocess isSubprocess<br />
controls<br />
name: string<br />
Object<br />
Composed<br />
Operator<br />
Flow<br />
Mechanism<br />
cfCorrespondsTo<br />
executesProcess<br />
Iteration Alternative<br />
Predicate<br />
name:string<br />
joinType :<br />
{xor, or, and}<br />
forkType :<br />
{xor, or, and}<br />
isAlternative<br />
controls<br />
Elementary<br />
Flow<br />
Case<br />
isObject<br />
Component<br />
isProcess<br />
Component<br />
isSubprocess<br />
isSubtask<br />
Organizational<br />
Unit<br />
name:string<br />
isSubordinated<br />
Task<br />
name:string<br />
Task<br />
Dekomposition<br />
executesTask<br />
isDecomposedIn<br />
Abbildung 7.1: Spezialisierung des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> die Beschreibungsmittel<br />
des ARIS-Ansatzes (ARIS)<br />
Aufgrund der Verschmelzung der Process-Konzepte der <strong>Metaschema</strong>ta der Prozeßsicht durch<br />
Vorgangskettendiagramme und Nassi-Shneiderman-Diagramme ist analog zum integrierten<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> das Process-Konzept auch im ARIS-<strong>Metaschema</strong> als konkret zu vereinbaren<br />
[ARIS-CP 1].<br />
for G in ARIS assert<br />
[ARIS-CP 1]:<br />
overwrites [CP-EER 2] :<br />
isConcrete Process<br />
end .<br />
7.2 Paradigmenübergreifende GRAL-Zusicherungen<br />
Auch <strong>für</strong> das ARIS-<strong>Metaschema</strong> sind paradigmenübergreifende Zusicherungen zu fordern. Wie<br />
<strong>für</strong> das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> (vgl. Kapitel 6.6) werden diese entlang der Beschreibungssichten<br />
eingeführt.<br />
Da das ARIS-<strong>Metaschema</strong> nur jeweils ein Beschreibungsparadigma der Aufgabensicht, der<br />
Aufbausicht und der Objektsicht verwendet, sind innerhalb dieser Sichten keine paradigmen-
240 Architektur integrierter Informationssysteme<br />
übergreifenden Zusicherungen nötig. Die Zusammenhänge zwischen Beschreibungsmitteln der<br />
Aufgaben- und Aufbausicht bzw. der Aufgaben- und Objektsicht sind analog zum integrierten<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> vollständig in den jeweiligen <strong>Metaschema</strong>ta berücksichtigt. Zusätzliche<br />
Anforderungen an die Querbezüge zwischen Aufbau- und Prozeßsicht bzw. zwischen Aufbauund<br />
Objektsicht sind <strong>für</strong> das ARIS-<strong>Metaschema</strong> ebenfalls nicht zu fordern. Komm<strong>uni</strong>kationsbeziehungen,<br />
die diese Zusammenhänge herstellen, werden mit den betrachteten ARIS-Mitteln<br />
nicht dargestellt.<br />
Paradigmenübergreifende Zusicherungen <strong>für</strong> das ARIS-<strong>Metaschema</strong> beziehen sich daher ausschließlich<br />
auf Zusicherungen innerhalb der Prozeßsicht und auf Zusicherungen zwischen der<br />
Aufgaben- und der Prozeßsicht.<br />
7.2.1 Paradigmenübergreifende Zusicherungen der Prozeßsicht<br />
Prozesse werden in ARIS sowohl durch Vorgangskettendiagramme und (erweiterte) Ereignisgesteuerte<br />
Prozeßketten des Netzparadigmas als auch durch Nassi-Shneiderman-Diagramme<br />
des Kontrollflußparadigmas beschrieben. Beide Beschreibungsformen unterstützen die Verfeinerung<br />
von Prozessen in Teilprozesse. Werden diese Beschreibungsmittel zur Darstellung derselben<br />
Prozesse verwendet, müssen diese Prozeßzerlegungen miteinander verträglich sein [ARIS-<br />
Process 1] (vgl. auch Zusicherung [RMS-Process 1] des <strong>Referenz</strong>-<strong>Metaschema</strong>s).<br />
for G in ARIS assert<br />
[ARIS-Process 1]:<br />
p : V Process ¯<br />
δ cfRefines p 0 type p <strong>Se</strong>quence Parallel Iteration Alternative<br />
p cfRefines &Process p isAlternative ℄ isSubprocess<br />
end .<br />
7.2.2 Paradigmenübergreifende Zusicherungen der Aufgaben- und<br />
Prozeßsicht<br />
Durch Darstellungen der Aufgaben- und der Prozeßsicht werden in ARIS u. a. auch Aufgabenbzw.<br />
Prozeßgliederungen, die jeweils bearbeiteten Objekte und die mit der Aufgabe bzw. Prozeßbearbeitung<br />
betrauten Organisationseinheiten betrachtet. Diese Bezüge sind in den entsprechenden<br />
ARIS-Teilmodellen zueinander verträglich darzustellen.<br />
Die Gliederung der Organisationsaufgaben in Funktionsbäumen ist hierzu mit der Prozeßverfeinerung<br />
in Prozeßkettendarstellungen und in Kontrollflußdarstellungen zu synchonisieren [ARIS-<br />
TaskProcess 1] (vgl. auch [RMS-TaskProcess 1]). Die Beschreibungsmittel des Netzparadigmas,<br />
wie sie im ARIS-Ansatz verwendet werden, ermöglichen auch die Modellierung der Objekte, die<br />
durch Prozesse benötigt (requires) bzw. erzeugt (delivers) werden. Die Strukturen dieser Objekte<br />
müssen mit der Objektkomponente der dem Prozeß entsprechenden Aufgabe verträglich sein<br />
[ARIS-TaskProcess 2]. Wie auch <strong>für</strong> das intergierte <strong>Referenz</strong>-<strong>Metaschema</strong> sind Aufgaben- und<br />
Prozeßdarstellungen über die Organisationseinheiten zu synchronisieren, die die Aufgaben oder<br />
Prozesse ausführen [ARIS-TaskProcess 3] (vgl. auch [RMS-TaskProcess 3]).
7.3 Anwendung des ARIS-<strong>Metaschema</strong>s 241<br />
for G in ARIS assert<br />
[ARIS-TaskProcess 1]:<br />
p : VProcess ; t : VTask p<br />
[Netzparadigma]<br />
isProcessComponent t ¯<br />
δ p<br />
cfRefines<br />
0 δ t<br />
isDecomposedIn<br />
0<br />
p cfRefines &Process t isDecomposed isSubtask isProcessComponent <br />
[Kontrollflußparadigma]<br />
type p <strong>Se</strong>quence Parallel Iteration Alternative <br />
δ isDecomposedIn t 0<br />
p isAlternative ℄ isSubprocess t isDecomposed isSubtask isProcessComponent ;<br />
[ARIS-TaskProcess 2]:<br />
p : VProcess ; t : VTask p isProcessComponent t ¯<br />
t isObjectComponent p requires delivers objIsInstanceOf ;<br />
[ARIS-TaskProcess 3]:<br />
p : VProcess ; t : VTask p isProcessComponent t ¯<br />
end .<br />
t executesTask p executesProcess &OrganizationalUnit<br />
7.3 Anwendung des ARIS-<strong>Metaschema</strong>s<br />
Das hier vorgestellte ARIS-<strong>Metaschema</strong> bildet die Konzepte der Modellierungsmittel des ARIS-<br />
Ansatzes ab. Gegenüber dem <strong>Metaschema</strong> des ARIS-Ansatzes in [Scheer, 1992] ist das <strong>Metaschema</strong><br />
ARIS auf die wesentlichen Sprachmittel zur Organisationsmodellierung auf Fachkonzeptebene<br />
eingeschränkt.<br />
Eingesetzt werden kann dieses <strong>Metaschema</strong> u. a. zur Einführung und Schulung der ARIS-<br />
Modellierungskonzepte, zur Entwicklung von Werkzeugen zur Modellierung nach dem ARIS-<br />
Ansatz (vgl. zur Entwicklung von Werkzeugen auf Basis von <strong>Metaschema</strong>ta auch Kapitel 9)<br />
oder zum Vergleich mit anderen Modellierungsansätzen z. B. mit den Sprachmitteln der Unified<br />
Modeling Language (vgl. das UML-<strong>Metaschema</strong> in Kapitel 8).
8 Unified Modeling Language<br />
In den späten 80er und frühen 90er Jahren wurden mehr als 60 objektorientierte Modellierungsmethoden<br />
entwickelt (vgl. z. B. [Partsch, 1998], [Süttenbach, 2000]), die sich in Modellierungstechniken<br />
und Vorgehensweisen unterscheiden. Übersichten zu objektorientierten Modellierungsmethoden<br />
finden sich z. B. in [Graham, 1994], [Frank, 1997b] und [Wieringa, 1998].<br />
Mit der Unified Modeling Language (UML) [Booch et al., 1999], [Rumbaugh et al., 1999] wurde,<br />
ausgehend von den Methoden Object Modeling Technique (OMT) [Rumbaugh et al., 1991], Object<br />
Oriented Design (OOD) [Booch, 1994] und Object Oriented Software Engineering (OOSE)<br />
[Jacobson et al., 1993], ein Notationsstandard <strong>für</strong> objektorientierte Modellierungsmittel geschaffen,<br />
der im November 1997 durch die Object Management Group akzeptiert wurde (vgl. auch<br />
die Einordnung des UML-<strong>Metaschema</strong>s in Kapitel 4.3.1, S. 129).<br />
UML wird in [Booch et al., 1999, S. xv], [Rumbaugh et al., 1999, S. 3] als allgemeine Modellierungssprache<br />
zur Beschreibung, Visualisierung, Konstruktion und Dokumentation von Softwaresystemen<br />
eingeführt. Neben der Beschreibung von Softwaresystemen wird die UML aber<br />
auch zur Beschreibung von Organisations- und Geschäftsprozeßmodellen eingesetzt (vgl. z. B.<br />
[Oestereich, 1998], [Versteegen, 1998]). Die UML stellt somit einen Satz standardisierter Beschreibungsmittel<br />
zur Modellierung von Organisationen und Softwaresystemen bereit.<br />
Zur Einordnung der Modellierungsmittel unterscheidet die UML Beschreibungsmittel zur Darstellung<br />
struktureller und dynamischer Systemaspekte, die zu modellierende Systeme aus verschiedenen<br />
Sichten beschreiben (vgl. [Rumbaugh et al., 1999, S. 23ff]). Strukturelle Systemeigenschaften<br />
werden aus statischer Sicht und aus Anwendungsfall-Sicht notiert. Wie generell in<br />
objektorientierten Modellierungsansätzen, sind auch in der Unified Modeling Language Klassendiagramme<br />
das zentrale Beschreibungsmittel der statischen Sicht. Hierdurch werden die wesentlichen<br />
Konzepte des zu modellierenden Systems und deren Beziehungen auf Schemaebene<br />
modelliert. Zur exemplarischen Darstellung dieser Zusammenhänge werden darüber hinaus Objektdiagramme<br />
angeboten. Die Funktionalität des Systems aus Sicht der Systemverwendung wird<br />
durch Anwendungsfalldiagramme modelliert. Anwendungsfalldiagramme dienen zur Identifizierung<br />
der Anwendungsfälle, die das System unterstützt, und zur Darstellung der Akteure, die mit<br />
dem System interagieren. Die Modellierung dynamischer Systemaspekte hat die Darstellung des<br />
Systemverhaltens in der Zeit zum Ziel. Hierzu bietet die UML Notationen zur Modellierung des<br />
Systems aus Zustandssicht, aus Aktivitätssicht und aus Interaktionssicht. Zur Beschreibung aus<br />
Zustandssicht werden Statecharts verwendet, die die Zustände der Systemobjekte und deren Veränderungen<br />
abbilden. Dynamische Ablauffolgen in Software- und Geschäftsprozessen werden<br />
aus Aktivitätssicht mit Hilfe von Aktivitätsdiagrammen dargestellt und zur Beschreibung der Interaktion<br />
einzelner Systemkomponenten aus Interaktionssicht werden <strong>Se</strong>quenzdiagramme und<br />
Kollaborationsdiagramme eingesetzt. Das aus dem <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungs-
244 Unified Modeling Language<br />
mittel <strong>für</strong> Organisationen und Softwaresysteme hergeleitete <strong>Metaschema</strong> der Unified Modeling<br />
Language, integriert die Konzepte dieser Beschreibungsmittel.<br />
8.1 Integration der <strong>Metaschema</strong>ta der<br />
UML-Beschreibungsmittel<br />
Die Beschreibungsmittel der UML umfassen Notationen des Datenflußparadigmas, des Zustandsübergangsparadigmas,<br />
des Netzparadigmas, des Objekt-Instanzparadigmas, des Objekt-<br />
Interaktionsparadigmas und des Objekt-Beziehungsparadigmas. Das <strong>Metaschema</strong> der UML integriert<br />
daher die <strong>Referenz</strong>-<strong>Metaschema</strong>ta dieser Paradigmen bzw. deren Spezialisierungen <strong>für</strong><br />
die konkreten Notationen der UML.<br />
Die Konzepte der Anwendungsfalldiagramme der UML werden durch die Spezialisierung DFD-<br />
UseCase des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas abgebildet (vgl. Kapitel 6.4.1).<br />
UML verwendet zur Darstellung von Zustandsübergangsbeschreibungen Statecharts, deren<br />
Struktur bereits durch das <strong>Referenz</strong>-<strong>Metaschema</strong> des Zustandsübergangsparadigmas STP formalisiert<br />
ist (vgl. Kapitel 6.4.2). Im Gegensatz zum Metamodell der UML in [OMG, 1999] werden<br />
Aktivitätsdiagramme im <strong>Referenz</strong>-<strong>Metaschema</strong> nicht als Darstellungsmittel des Zustandsübergangsparadigmas<br />
sondern als Beschreibungsmittel des Netzparadigmas aufgefaßt (vgl. hierzu<br />
auch Kapitel 6.4.3, <strong>Se</strong>ite 195). Im hier vorgestellten <strong>Metaschema</strong> der UML werden Aktivitätsdiagramme<br />
daher durch die Spezialisierung NPActivty des Netzparadigmas modelliert.<br />
Die in der UML verwendete Notation <strong>für</strong> Objektdiagramme entspricht der Spezialisierung<br />
des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Instanzparadigmas OIPOO (vgl. Kapitel 6.5.1) <strong>für</strong> Objektdiagramme<br />
objektorientierter Methoden. <strong>Se</strong>quenzdiagramme und Kollaborationsdiagramme<br />
zur Modellierung der Objektinteraktion werden durch das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-<br />
Interaktionsparadigmas IAP direkt abgebildet (vgl. Kapitel 6.5.2). Zur Abbildung des <strong>Metaschema</strong>s<br />
der UML-Klassendiagramme ist auf die UML-Spezialisierung ORPUML des <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas aus Kapitel 6.5.3 zurückzugreifen.<br />
Das resultierende <strong>Metaschema</strong> der UML inkludiert diese sechs Teil-<strong>Metaschema</strong>ta. Der EER-<br />
Teil des UML-<strong>Metaschema</strong>s UML ist in Abbildung 8.1 skizziert.<br />
for G in UML include<br />
DFPUseCase; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Datenflußparadigmas<br />
<strong>für</strong> Anwendungsfalldiagramme]<br />
STP; [<strong>Referenz</strong>-<strong>Metaschema</strong> des Zustandsübergangsparadigma]<br />
NPActivty; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Netzparadigmas<br />
<strong>für</strong> Aktivitätsdiagramme]<br />
OIPOO; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Instanzparadigmas<br />
<strong>für</strong> Objektdiagramme objektorientierter Methoden]<br />
IAP; [<strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Interaktionsparadigmas]<br />
ORPUML; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Objekt-Beziehungsparadigmas<br />
<strong>für</strong> UML-Klassendiagramme]<br />
end .
8.2 Paradigmenübergreifende GRAL-Zusicherungen 245<br />
Signature<br />
isSignature<br />
Method<br />
name:string<br />
visibility : string<br />
implements<br />
Domain<br />
name:string<br />
isInputSort<br />
isReturnSort<br />
objClsIsA<br />
(isA)<br />
has<br />
Operation<br />
isA<br />
relClsIsA<br />
(isA)<br />
Sort<br />
isValue<br />
ClassItem<br />
objIsInstanceOf<br />
Object<br />
Class<br />
(isInstanceOf)<br />
limits:int int<br />
cComes<br />
role:string<br />
visibility:string<br />
From<br />
(cRelates) cRelates cGoesTo<br />
(cRelates)<br />
RelationshipClass<br />
Aggregation<br />
isInstanceOf<br />
isAssociated<br />
Association<br />
DependencyClass<br />
type:string<br />
Class<br />
CompositionClass<br />
relIsInstanceOf<br />
(isInstanceOf)<br />
name : string<br />
abstract : bool<br />
name:string<br />
DfItem<br />
specializes<br />
valIs<br />
InstanceOf<br />
DfObject<br />
Terminator<br />
Value<br />
has<br />
Domain<br />
Attribute<br />
identifies<br />
name : string<br />
visibility : string<br />
has<br />
Attribute<br />
callsMethod<br />
extends includes<br />
alphaLimits: IN<br />
IN<br />
omegaLimits: IN<br />
IN<br />
associates<br />
System<br />
name:string<br />
isUseCaseIn<br />
Attribute<br />
Value<br />
Pair<br />
has<br />
Attribute<br />
ValuePair<br />
Instance<br />
Item<br />
NetItem<br />
name:string NetObject<br />
Flow<br />
OperatorFlow<br />
Merge<br />
cfGoesTo<br />
Xor<br />
Merge<br />
isInput<br />
Object<br />
Process<br />
<strong>Se</strong>nder<br />
Process<br />
Event<br />
Object<br />
Organizational<br />
Unit<br />
Start<br />
Event<br />
cfComes<br />
From<br />
criterion:string<br />
Branch<br />
sendsTo<br />
receives<br />
From<br />
Xor<br />
Branch<br />
iRelates<br />
msgComesFrom<br />
msgGoesTo<br />
isInputParameter<br />
isReturnParameter<br />
sendsEvent receivesEvent<br />
End<br />
Event<br />
restricted<br />
GoesTo<br />
(cfGoesTo)<br />
pathCondition:string<br />
Fork<br />
Join<br />
isOutput<br />
Object<br />
Receiver<br />
Process<br />
name:string<br />
Elementary<br />
Flow<br />
Message msgCorrespondsTo<br />
Call<br />
Create<br />
Call<br />
Mechanism<br />
executes<br />
Process<br />
cfRefines<br />
Destroy<br />
Call<br />
isGuard isMsgIn<br />
isGuard<br />
effects<br />
triggers<br />
isEntryAction<br />
isBlobAction<br />
isExitAction<br />
starts<br />
With<br />
Transition<br />
Return<br />
Predicate Interaction<br />
name:string<br />
Scenario<br />
name:string<br />
trans<br />
Comes<br />
From<br />
Blob<br />
AtomicBlob<br />
End<br />
Blob<br />
Xor<br />
Blob<br />
history:bool<br />
>1<br />
And<br />
Blob<br />
name:string<br />
not_rigid<br />
iteration:string<br />
duration:int<br />
contains<br />
FlatFlow<br />
OfControl<br />
AsynchronousFlow<br />
OfControl<br />
Abbildung 8.1: Spezialisierung des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> die Beschreibungsmittel<br />
der Unified Modeling Language (UML)<br />
Da in den Anwendungsfalldiagrammen des Datenflußparadigmas keine Datenbezüge modelliert<br />
werden und in allen <strong>Metaschema</strong>ta der in UML berücksichtigten Beschreibungsmitteln<br />
der Prozeßsicht (Anwendungsfalldiagramme, Aktivitätdiagramme und Statecharts) Prozesse bereits<br />
als konkret vereinbart sind, sind <strong>für</strong> das UML-<strong>Metaschema</strong> keine Anpassungen der GRAL-<br />
Zusicherungen der inkludierten <strong>Metaschema</strong>ta erforderlich.<br />
Relationship<br />
8.2 Paradigmenübergreifende GRAL-Zusicherungen<br />
Mit den im UML-<strong>Metaschema</strong> zusammengefaßten Beschreibungsmitteln werden zu modellierende<br />
Systeme aus Prozeß- und aus Objektsicht modelliert. Die Konsistenz dieser Teilmodelle<br />
zueinander muß auch hier durch weitere GRAL-Zusicherungen formalisiert werden.<br />
trans<br />
GoesTo<br />
contains
246 Unified Modeling Language<br />
Zusicherungen <strong>für</strong> die Beschreibungsmittel der Prozeßsicht beziehen sich <strong>für</strong> das integrierte<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> (vgl. Kapitel 6.6) und <strong>für</strong> das ARIS-<strong>Metaschema</strong> (vgl. Kapitel 7) auf<br />
die Balancierung der verschiedenen darstellbaren Prozeßzerlegungen. Prozeßzerlegungen werden<br />
mit den Sprachen der UML nur durch Aktivitätsdiagramme modelliert. Anwendungsfalldiagramme<br />
und Statecharts sehen hier<strong>für</strong> keine Konzepte vor, so daß <strong>für</strong> die Integration der<br />
UML-Beschreibungsmittel der Prozeßsicht keine zusätzlichen GRAL-Prädikate nötig werden.<br />
Sichten- und paradigmenübergreifende Zusicherungen des UML-<strong>Metaschema</strong>s beziehen sich auf<br />
die Abstimmung der Darstellungen von instanz- und schemaartigen Objekt-Beschreibungen und<br />
auf die Objektverwendung in Prozeßdarstellungen.<br />
8.2.1 Paradigmenübergreifende Zusicherungen der Objektsicht<br />
Objektzusammenhänge auf Instanzebene werden durch die Beschreibungsmittel des Objekt-<br />
Instanzparadigmas und des Objekt-Interaktionsparadigmas dargestellt. Diese strukturellen bzw.<br />
interaktionsbezogenen Objektdarstellungen sind mit den in Klassendiagrammen festgelegten Definitionen<br />
der entsprechenden Objekt- und Beziehungsklassen abzustimmen.<br />
Die Inzidenz- und Attribut-Eigenschaften der Objekte in Objekt-, <strong>Se</strong>quenz- und Kollaborationsdiagrammen<br />
können analog zum <strong>Referenz</strong>-<strong>Metaschema</strong> (vgl. S. 231) mit den Definitionen<br />
aus Klassendiagrammen abgestimmt werden. Da UML-Modellierungen Beziehungen beliebiger<br />
Arität zulassen, sind hierbei kleinere Anpassungen erforderlich.<br />
Die Knotentypen der Inzidenzen in Objektdiagrammen müssen mit den Definitionen der Beziehungsklassen<br />
übereinstimmen [UML-Object 1]. Ebenso müssen diese Inzidenzen den Kardinalitätsanforderungen<br />
des zugehörigen Klassendiagramms entsprechen [UML-Object 2]. Gegenüber<br />
den Zusicherung [RMS-Object 1] und [RMS-Object 2] des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
ist <strong>für</strong> das UML-<strong>Metaschema</strong> die Ausrichtung der Kanten unerheblich, da Objektdiagramme<br />
Objektzusammenhänge ausschließlich durch ungerichtete Graphen darstellen. Die Zusicherungen<br />
zu verträglichen Attributstrukturen [UML-Object 3] und zur Berücksichtigung abstrakter<br />
Klassen [UML-Object 4] entsprechen den Zusicherungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s. Da in<br />
UML-Klassendiagrammen Beziehungen generell als injektiv angenommen werden (vgl. Zusicherung<br />
[ORPUML 8]), sind in UML-Objektdiagrammen keine Mehrfachkanten gleichen Typs<br />
zugelassen [UML-Object 5].<br />
Durch den Austausch von Nachrichten wird in <strong>Se</strong>quenz- und Kollaborationsdiagrammen das Interaktionsverhalten<br />
der Objekte modelliert. Durch Nachrichten können hierbei Methoden der<br />
Empfängerobjekte aufgerufen werden. Zur Konsistenzsicherung zwischen den Darstellungen<br />
des Objekt-Interaktionsparadigmas und den Darstellungen des Objekt-Beziehungsparadigmas<br />
ist sicherzustellen, daß nur solche Methoden aufgerufen werden, die der Klassendefinition des<br />
Empfängerobjekts entsprechen [UML-Object 6]. Für diese Nachrichten ist ebenfalls zu fordern,<br />
daß ihre Ein- und Ausgabeparameter der entsprechenden Methodensignatur genügen [UML-<br />
Object 7].
8.2 Paradigmenübergreifende GRAL-Zusicherungen 247<br />
for G in UML assert<br />
[UML-Object 1]:<br />
v : VObject ; e : VRelationship v iRelates e ¯<br />
v objIsInstanceOf<br />
£<br />
objClsIsA cRelates<br />
[UML-Object 2]:<br />
v : VObject ; e : EcRelates v objIsInstanceOf<br />
first elimits <br />
# r : EiRelates ω r v <br />
α r<br />
second elimits ;<br />
relIsInstanceOf<br />
£<br />
relClsIsA relIsInstanceOf<br />
£<br />
objClsIsA<br />
£<br />
relClsIsA<br />
[UML-Object 3]:<br />
i : VInstanceItem ; c : VClassItem i IsInstanceOf c ¯<br />
i hasAttributeValuePair identifies c<br />
£<br />
IsA hasAttribute ;<br />
[UML-Object 4]:<br />
c : V ClassItem cabstract ¯ c IsInstanceOf<br />
;<br />
[UML-Object 5]:<br />
rc : V RelationshipClass ; r 1 r 2 : V Relationship <br />
r 1 relIsInstanceOf rc relIsInstanceOf r 2 r 1 r 2 ¯<br />
r 1 iRelates r 2 iRelates ;<br />
ω e ¯<br />
e ;<br />
α e <br />
[UML-Object 6]:<br />
o : VObject ; oc : VObjectClass ; o objIsInstanceOf oc ¯<br />
o msgGoesTo &Call callsMethod oc<br />
£<br />
objClsIsA hasOperation ;<br />
[UML-Object 7]:<br />
o : VObject ; c : VCall ; o isInputParameter c ¯<br />
end .<br />
o objIsInstanceOf<br />
£<br />
objClsIsA isInputSort isSignature callsMethod<br />
o : V Object ; c : V Call ; o isOutputParameter<br />
o objIsInstanceOf<br />
c ¯<br />
c ;<br />
£<br />
objClsIsA isOutputSort isSignature callsMethod c<br />
8.2.2 Paradigmenübergreifende Zusicherungen der Prozeß- und<br />
Objektsicht<br />
In Aktivitätsdiagrammen kann der Objektfluß zwischen Prozessen modelliert werden. Implementieren<br />
diese Prozesse Methoden, so müssen die eingehenden bzw. ausgehenden Objekte auch mit<br />
der im Klassendiagramm notierten Methodensignatur bezüglich der Parametertypen als auch deren<br />
Reihenfolge verträglich sein [UML-ProcessObject 1].
248 Unified Modeling Language<br />
for G in UML assert<br />
[UML-ProcessObject 1]:<br />
p : VProcess ; m : VMethod ; s : VSignature ; p implements m isSignature s ¯<br />
p isInputObject objIsInstanceOf s isInputSort <br />
io : EisInputObject ω io p ¯<br />
is : EisInputSort ω is s α io objIsInstanceOf α is ¯<br />
orderisInputObject io Ô orderisInputSort is × ;<br />
end .<br />
p : VProcess ; m : VMethod ; s : VSignature ; p implements m isSignature s ¯<br />
p isOutputObject objIsInstanceOf s isOutputSort <br />
oo : EisOutputObject ω oo p ¯<br />
os : EisOutputSort ω os s α oo objIsInstanceOf α os ¯<br />
orderisOutputObject oo Ô orderisOutputSort os ×<br />
8.3 Anwendung des UML-<strong>Metaschema</strong>s<br />
Die Konzepte der wesentlichen UML-Modellierungsmittel werden im hier vorgestellten UML-<br />
<strong>Metaschema</strong> integriert abgebildet. Im Vergleich zum UML-<strong>Metaschema</strong> der Object Management<br />
Group [OMG, 1999] ist dieses Modell deutlicher von den Konzepten der einzelnen Beschreibungsmittel<br />
geprägt. Während im <strong>Metaschema</strong> der OMG ähnliche Konzepte in verschiedenen<br />
Vorkommen kaum unterschieden werden, sind die Konzepte einzelner Beschreibungsmittel<br />
im <strong>Metaschema</strong> UML eher auf ihren Anwendungsbezug im jeweiligen Modellierungskontext<br />
gerichtet. Die Integration der Teilschemata der einzelnen Modellierungsparadigmen stellt<br />
anschließend die Querbezüge der jeweiligen Konzepte her. Hierdurch wirkt das resultierende<br />
UML-<strong>Metaschema</strong> weniger abstrakt.<br />
Wie auch das ARIS-<strong>Metaschema</strong> kann das UML-<strong>Metaschema</strong> u. a. zur Einführung und Schulung<br />
der UML-Sprachmittel, zur Entwicklung von Werkzeugen zur Modellierung mit der UML1 (vgl. auch Kapitel 9) oder zum Vergleich der Modellierungsmächtigkeit mit Sprachmitteln anderer<br />
Modellierungsansätze z. B. mit den Sprachmitteln des ARIS-Ansatzes (vgl. das ARIS-<br />
<strong>Metaschema</strong> in Kapitel 7) eingesetzt werden.<br />
1 Auf Basis eines solchen <strong>Metaschema</strong>s <strong>für</strong> Klassendiagramme der UML wurde mit dem Meta-CASE-Werkzeug<br />
KOGGE ein Werkzeug zur Erstellung von UML-Klassendiagrammen und zum Roundtrip Engineering<br />
von JAVA-Programmen erstellt (vgl. http://www.<strong>uni</strong>-koblenz.de/case/kogge4/anleitungen/UML/<br />
UML.html; 02.11.1999).
9 Software-Evaluation<br />
Zur Unterstützung der vielfältigen Aufgaben und Geschäftsprozesse von Organisationen bietet<br />
der Markt eine große Anzahl unterschiedlicher Softwarewerkzeuge. Die Einschätzung und Auswahl<br />
der jeweils am besten geeigneten Lösung zum Einsatz in der Organisation erfordert eine<br />
tiefgehende Untersuchung des Leistungsspektrums der angebotenen Produkte, des Zusammenwirkens<br />
der Software mit vorhandenen bzw. zusätzlichen Produkten und der Einbindung der<br />
Software in die vorhandene organisatorische und technische Umgebung.<br />
Mit Software-Evaluation bezeichnet man das strukturierte Vorgehen zur Analyse und Bewertung<br />
vorhandener Softwaresysteme <strong>für</strong> den Einsatz in einem fest umrissenen Anwendungsbereich<br />
[Franzke / Winter, 1996]. Ein Vorgehensmodell zur Software-Evaluation wurde in [Dumslaff et<br />
al., 1994] entwickelt und u. a. zur Evaluation von Branchenlösungen <strong>für</strong> das Handwerk [Dumslaff<br />
et al., 1992], von Branchenlösungen <strong>für</strong> die keramische Industrie [Franzke / Zenz, 1995] und<br />
von Branchenlösungen <strong>für</strong> Krankenhausinformationssysteme [Schumm et al., 1995] angewandt.<br />
Dieses Vorgehensmodell zur Softwareevaluation basiert auf einer umfassenden Anforderungsanalyse<br />
und Modellierung des Einsatzbereichs der Software. Das hierbei resultierende Organisationsmodell<br />
dient als werkzeugunabhängiger Vergleichsmaßstab, entlang dessen die angebotenen<br />
Softwareprodukte untersucht werden können.<br />
Schwerpunkt der Organisationsmodellierung zur Software-Evaluation sind die zu unterstützenden<br />
Geschäftsprozesse. Diese werden mit den Mitteln der Datenflußmodellierung beschrieben.<br />
Zentrale Geschäftsprozesse werden zunächst durch ein Kontextdiagramm in ihrer Systemumgebung<br />
dargestellt und anschließend durch weitere Datenflußdiagramme verfeinert. Die hierbei<br />
gewonnene Verfeinerungshierarchie wird durch Aufgabengliederungspläne abgebildet und<br />
liefert somit eine vollständige Liste der zu unterstützenden Funktionen. Die datenbezogene<br />
Interaktion dieser Funktionen wird in den Datenflußmodellen abgebildet. Zur Modellierung<br />
der in den Geschäftsprozessen benötigten bzw. erzeugten Daten und Objekte werden Objekt-<br />
Beziehungsdiagramme verwendet. Die Einbettung der Geschäftsprozesse in die Organisationsstruktur<br />
erfolgt durch Organigramme. Diese beschreiben die aufbauorganisatorische Struktur der<br />
Organisation und definieren die Zuständigkeiten zur Bearbeitung einzelner Aufgaben und Teilprozesse.<br />
In [Löcher/Pühler, 1997] wurde ein Werkzeug zur Unterstützung der Software-Evaluation (SET-<br />
KOGGE) entwickelt. Dieses Werkzeug erlaubt sowohl die Erstellung von integrierten Organisationsmodellen<br />
mit Hilfe von Datenflußdiagrammen, Aufgabengliederungsplänen, Objekt-<br />
Beziehungsdiagrammen und Organigrammen als auch die Dokumentation von Evaluationsergebnissen<br />
in der Form von Modellannotationen. Dieses Werkzeug wurde mit Hilfe des Meta-<br />
CASE-Werkzeugs KOGGE (Koblenzer Generator <strong>für</strong> graphische Entwurfsumgebungen) [Ebert
250 Software-Evaluation<br />
et al., 1997b] realisiert. Die Entwicklung eines KOGGE-Werkzeugs erfolgt durch Erstellen einer<br />
Werkzeugbeschreibung, die ein Konzeptmodell der verwendeten Modellierungstechniken,<br />
die Definition der Menüstruktur des Werkzeugs und die Festlegung der Interaktion mit dem Benutzer<br />
umfaßt. Diese Werkzeugbeschreibung wird durch das KOGGE-Basissystem interpretiert<br />
(vgl. zu KOGGE auch die Einordnung der KOGGE-Modelle als Metamodell in Kapitel 4.3.1,<br />
S. 128). Das diesem Werkzeug zugrunde liegende Konzeptmodell der verwendeten Modellierungstechniken<br />
wurde aus dem <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen<br />
und Softwaresysteme abgeleitet. Dieses <strong>Metaschema</strong> integriert die Konzepte von Aufgabengliederungsplänen,<br />
Organigrammen, Kontextdiagrammen, Datenflußdiagrammen und Objekt-<br />
Beziehungsdiagrammen.<br />
9.1 Integration der <strong>Metaschema</strong>ta zur Software-Evaluation<br />
Das <strong>Metaschema</strong> des Werkzeugs zur Unterstützung der Organisationsmodellierung innerhalb der<br />
Software-Evaluation enthält die <strong>Referenz</strong>-<strong>Metaschema</strong>ta des Aufgabengliederungsparadigmas,<br />
des Stellengliederungsparadigmas, des Datenflußparadigmas und des Objekt-Beziehungsparadigmas<br />
bzw. Spezialisierungen dieser <strong>Referenz</strong>-<strong>Metaschema</strong>ta.<br />
Durch die SET-KOGGE wird die Modellierung mit einfachen Aufgabengliederungsplänen unterstützt,<br />
wie sie auch im ARIS-Ansatz Verwendung finden. Hierbei wird lediglich die Zerlegung<br />
von Aufgaben in Teilaufgaben beschrieben. Unterschiedliche Aufgabentypen werden nicht berücksichtigt.<br />
Diese Aufgabengliederungspläne (Funktionsbäume) werden durch die Spezialisierung<br />
TDPAris des Aufgabengliederungsparadigmas (vgl. Kapitel 6.2.1) definiert. Aufbaustrukturen<br />
werden durch Abteilungsorganigramme dargestellt, die neben der Untergliederung der Organisation<br />
in Abteilungen und Stellen auch die Leitungsbeziehungen zwischen den Stellen abbilden.<br />
Solche Organigramme entsprechen der Spezialisierung PDPDepartment des <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>s des Stellengliederungsparadigmas (vgl. Kapitel 6.3.1). Zur Modellierung der Organisation<br />
aus Prozeßsicht bietet die SET-KOGGE Kontextdiagramme und Datenflußdiagramme<br />
des Datenflußparadigmas. Neben den aus der strukturierten Modellierung bekannten Modellierungskonzepten<br />
wird auch die Modellierung der Aufgabenträger einzelner Prozesse und die<br />
Darstellung von Anwendungsszenarien zur Konkretisierung einzelner Geschäftsprozesse unterstützt.<br />
Diese Beschreibungsmittel werden durch das <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas<br />
DFP abgebildet (vgl. Kapitel 6.4.1). Die Modellierung von Daten- und Objektstrukturen<br />
erfolgt durch Objekt-Beziehungsdiagramme des EER/GRAL-Ansatzes, deren <strong>Metaschema</strong><br />
durch das <strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas ORP definiert ist (vgl. Kapitel<br />
6.5.3).<br />
Der zur Organisationsmodellierung in der SET-KOGGE benötigte Anteil des Konzeptmodells<br />
integriert diese vier <strong>Metaschema</strong>ta.<br />
for G in SET include<br />
TDPAris; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Aufgabengliederungsparadigmas<br />
<strong>für</strong> Funktionsbäume]<br />
PDPDepartment; [Spezialisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s des Stellengliederungsparadigmas<br />
<strong>für</strong> Abteilungsorganigramme]
9.1 Integration der <strong>Metaschema</strong>ta zur Software-Evaluation 251<br />
end .<br />
DFP; [<strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas]<br />
ORP; [<strong>Referenz</strong>-<strong>Metaschema</strong> des Objekt-Beziehungsparadigmas]<br />
Abbildung 9.1 bilden den EER-Teil des resultierenden <strong>Metaschema</strong>s ab. Die Integration der vier<br />
<strong>Metaschema</strong>ta erfolgt analog zur Definition des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s entlang der<br />
gemeinsamen Konzepte der Teilschemata. Neben diesen Konzepten des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
enthält das <strong>Metaschema</strong> der SET-KOGGE exemplarisch noch einige Konzepte (Evaluation, EvaluationEntry,<br />
Product, SoftwareEvaluation) zur Dokumentation der Software-Evaluation entlang<br />
der modellierten Aufgaben.<br />
name:string<br />
DfItem<br />
objClsIsA<br />
(isA)<br />
DfObject<br />
Terminator<br />
describes<br />
name : string<br />
abstract : bool<br />
ClassItem<br />
=2 limits : int int<br />
cComes<br />
From<br />
cGoesTo<br />
isA (cRelates) cRelates (cRelates)<br />
relClsIsA<br />
(isA)<br />
Domain<br />
name:string<br />
Store<br />
PointOf<br />
Contact<br />
Object<br />
Class<br />
has<br />
Domain<br />
RelationshipClass<br />
Aggregation<br />
Class<br />
dir: bool<br />
hasAttribute<br />
dfGoesTo<br />
dfComesFrom<br />
describes<br />
dfCorrespondsTo<br />
Attribute<br />
name:string<br />
injective: bool<br />
Dataflow<br />
Dataflow<br />
Scenario<br />
dfRefines<br />
isComponentIn<br />
Mechanism<br />
Technical<br />
Means<br />
Process<br />
executesProcess<br />
OrganizationalUnit<br />
Department<br />
isObject<br />
Component<br />
isProcess<br />
Component<br />
Product<br />
name:string<br />
IsPartOf<br />
leads<br />
Position<br />
isHeadOf<br />
(isPartOf)<br />
name:string<br />
executesTask<br />
isSubtask<br />
Task<br />
isDecomposedIn<br />
name:string<br />
is<br />
Evaluated supports<br />
Evaluation<br />
Entry<br />
Software<br />
Evaluation<br />
definesCriterion<br />
isEntryIn<br />
Support<br />
Task<br />
Dekomposition<br />
Abbildung 9.1: Spezialisierung des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s <strong>für</strong> die Beschreibungsmittel<br />
zur Software-Evaluation (SET)<br />
Das SET-KOGGE-<strong>Metaschema</strong> integriert das <strong>Referenz</strong>-<strong>Metaschema</strong> des Datenflußparadigmas<br />
und des Objekt-Beziehungsparadigmas. Datenbezüge in Datenflußdiagrammen werden somit<br />
durch die Konzepte des Objektbeziehungsparadigmas abgebildet. Die Zusicherungen des Datenflußparadigmas<br />
mit Bezug zur Daten- und Objektmodellierung ([DFP 10] und [DFP 11]) sind<br />
daher analog zum integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> anzupassen [SET 1]–[SET 3].
252 Software-Evaluation<br />
for G in SET assert<br />
[SET 1]:<br />
overwrites [DFP 10] :<br />
poc : VPointOfContact ¯<br />
poc dfCorrespondsTo describes<br />
[SET 2]:<br />
[SET 3]:<br />
end .<br />
isA cGoesTo &AggregationClass cComesFrom £<br />
describes dfGoesTo dfComesFrom<br />
poc ;<br />
overwrites [DFP 11] :<br />
d : VDataflow ¯<br />
d dfGoesTo dfComesFrom &Store describes<br />
isA cGoesTo &AggregationClass cComesFrom £<br />
d ;<br />
describes<br />
V AtomicClass V AlternativeClass V IteratedClass V <strong>Se</strong>quentialClass <br />
9.2 Paradigmenübergreifende GRAL-Zusicherungen<br />
Für die vier Modellierungssichten, Aufgabensicht, Aufbausicht, Prozeßsicht und Objektsicht,<br />
inkludiert das SET-KOGGE-<strong>Metaschema</strong> jeweils ein Teil-<strong>Metaschema</strong>. Zusicherungen zur Abstimmung<br />
verschiedener Beschreibungparadigmen innerhalb einer Sicht sind daher nicht erforderlich.<br />
Die direkten Querbezüge zwischen den Darstellungen durch Aufgabengliederungspläne,<br />
Organigramme, Datenflußdiagramme und Objekt-Beziehungsdiagramme wurden bereits entlang<br />
der gemeinsamen Konzepte in den Teilmetaschemata hergestellt.<br />
Abzugleichen sind noch die Darstellungen der Prozeßsicht mit den Beschreibungen der Aufgabensicht<br />
bezüglich der Verfeinerungsstrukturen, der verwendeten Objekte und der mit der Aufgabenerledigung<br />
betrauten Organisationseinheiten.<br />
9.2.1 Paradigmenübergreifende Zusicherungen der Aufgaben- und<br />
Prozeßsicht<br />
In Aufgabengliederungsplänen und Datenflußdiagrammen werden Prozesse bzw. Aufgaben<br />
in Teilprozesse und -aufgaben zerlegt. Die Aufgabengliederung muß hierbei mit der Gliederung<br />
der entsprechenden Prozeßkomponenten der modellierten Aufgaben übereinstimmen<br />
[SET-TaskProcess 1]. Ebenso werden Aufgaben in Aufgabengliederungsplänen Objektkomponenten<br />
zugeordnet. Diese Objektkomponenten müssen sich in den Ein- bzw. Ausgabedatenflüssen<br />
der Datenflußmodellierung der entsprechenden Prozeßkomponente wiederfinden [SET-<br />
TaskProcess 2]. Bezüge zu Aufgaben- bzw. Prozeßträgern können sowohl in Aufgabengliederungsplänen<br />
als auch in Datenflußdiagrammen hergestellt werden. Auch hier müssen Aufgabenträger<br />
der Aufgaben mit denen ihrer Prozeßkomponenten übereinstimmen [SET-TaskProcess 3].
9.3 Anwendung des <strong>Metaschema</strong>s zur Software-Evaluation 253<br />
Vergleiche hierzu auch die Zusicherungen [RMS-TaskProcess 1] bis [RMS-TaskProcess 3] des<br />
integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s.<br />
for G in SET assert<br />
[SET-TaskProcess 1]:<br />
p : VProcess ; t : VTask p isProcessComponent t ¯<br />
δ p<br />
dfRefines<br />
0 δ t<br />
isDecomposedIn<br />
0<br />
p dfRefines &Process t isDecomposedIn isSubtask isProcessComponent ;<br />
[SET-TaskProcess 2]:<br />
p : VProcess ; t : VTask p isProcessComponent t ¯<br />
t isObjectComponent p dfComesFrom dfGoesTo describes ;<br />
[SET-TaskProcess 3]:<br />
p : VProcess ; t : VTask p isProcessComponent t ¯<br />
end .<br />
t executesTask p executesProcess &OrganizationalUnit<br />
9.3 Anwendung des <strong>Metaschema</strong>s zur Software-Evaluation<br />
Das <strong>Metaschema</strong> SET ist ein Teil der Werkzeugbeschreibung des KOGGE-Werkzeugs SET-<br />
KOGGE [Löcher / Pühler, 1997]. Dieses <strong>Metaschema</strong> legt die Datenstruktur des Werkzeugs zur<br />
Speicherung der Organisationsmodelle und der notwendigen Modellannotationen fest und definiert<br />
die vom Werkzeug überprüften Regeln zur Konsistenzsicherung der Teilmodelle.<br />
Abbildung 9.2 zeigt einen Bildschirmabzug der SET-KOGGE zur Evaluation von Branchenlösungen<br />
zur Unterstützung von Krankenhausinformationssystemen. Abgebildet sind hier Teile eines<br />
Aufgabengliederungsplans, eines Organigramms, eines Kontextdiagramms und eines Editors zur<br />
Erfassung angebotener Softwareunterstützung zu einer Aufgabe.
254 Software-Evaluation<br />
Abbildung 9.2: SET-KOGGE
10 Zusammenfassung und Ausblick<br />
Die Modellierung von Organisationen und Softwaresystemen basiert heute auf multiperspektivischen<br />
Darstellungen, in denen Teilmodelle unterschiedlicher Sichten miteinander kombiniert<br />
werden. Zur Darstellung dieser Teilmodelle verwenden die Methoden der Organisations- und<br />
Softwaretechnik eine kaum überschaubare Vielzahl unterschiedlicher <strong>visuelle</strong>r <strong>Modellierungssprachen</strong>,<br />
die sich sowohl in ihren konkreten Notationen als auch in den jeweils dargestellten<br />
Systemkonzepten und deren Beziehungen zueinander unterscheiden. Modelle konkreter Organisationen<br />
oder Softwaresysteme, die entlang solcher Methoden erstellt werden, bestehen aus<br />
mehreren Teilmodellen, die jeweils unterschiedliche Systemaspekte besonders herausstellen. Sowohl<br />
zur Sicherstellung der Konsistenz der einzelnen Teilmodelle zueinander als auch zur Entwicklung<br />
von Modellierungswerkzeugen sind die jeweils in den Methoden zusammengefaßten<br />
Beschreibungsmittel zu definieren und die Querbezüge zwischen den beschriebenen Konzepten<br />
festzulegen.<br />
Bezüglich der Vorgehensweisen und der eingesetzten Modellierungsmittel weisen die Modellierung<br />
und die Gestaltung von Organisationen und Softwaresystemen große Ähnlichkeiten auf.<br />
Auch bedingen sich Organisationsentwicklung und Softwareentwicklung gegenseitig. Gestaltungsmaßnahmen<br />
innerhalb einer Organisation werden einerseits durch die vorhandenen Softwaresysteme<br />
beeinflußt, wirken anderseits aber auch auf die Entwicklung bzw. die Anpassung<br />
dieser Softwaresysteme zurück. In ähnlicher Weise wird die Entwicklung von Softwaresystemen<br />
durch die Organisation beeinflußt und wirkt ihrerseits wieder auf die Organisation, die i. allg.<br />
<strong>für</strong> den bestmöglichen Einsatz der Software anzupassen ist. Vor dem Hintergrund einer durchgängigen<br />
Modellierung von Organisationen und Softwaresystemen bietet sich daher auch eine<br />
gemeinsame Betrachtung der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> der Organisations- und Softwaretechnik<br />
an.<br />
In dieser Arbeit wurde daher ein Klassifikationsschema der Beschreibungsmittel der Organisations-<br />
und Softwaretechnik entwickelt und ein integriertes <strong>Metaschema</strong> erstellt, das die konzeptionellen<br />
Grundlagen und Zusammenhänge dieser <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> definiert<br />
und als <strong>Referenz</strong> u. a. zur Auswahl und Einordnung von Beschreibungsmitteln in Modellierungsmethoden<br />
und zur Entwicklung von Modellierungswerkzeugen dienen kann.<br />
Klassifikation der Beschreibungsmittel<br />
Zur Einordnung und Strukturierung der Beschreibungsmittel der Organisations- und Softwaretechnik<br />
wurde ein Klassifikationsschema entwickelt. Ausgehend von den wesentlichen, zur Modellierung<br />
von Organisationen und Softwaresystemen betrachteten Aspekten wurden die zentralen<br />
Modellierungssichten Aufgabensicht, Aufbausicht, Prozeßsicht und Objektsicht eingeführt.
256 Zusammenfassung und Ausblick<br />
Beschreibungsmittel dieser Sichten stellen jeweils die Konzepte Aufgabe, Organisationseinheit,<br />
Prozeß bzw. Objekt besonders heraus. Zur Beschreibung von Organisationen und Softwaresystemen<br />
aus diesen Sichten wurden verschiedene Beschreibungsparadigmen identifiziert, die unterschiedliche<br />
Beziehungsgeflechte zwischen den jeweils modellierten Konzepten betonen.<br />
Das dieser Arbeit zugrunde liegende Klassifikationsschema strukturiert die zur Modellierung von<br />
Organisationen und Softwaresystemen eingesetzten Beschreibungsmittel entlang dieser Sichten<br />
und Paradigmen.<br />
Durch Abstraktion von konkreten Notationen der einzelnen Beschreibungsmittel erlaubt dieses<br />
Klassifikationsschema eine sprachunabhängige Untersuchung und Darstellung der in dieser Arbeit<br />
behandelten <strong>visuelle</strong>n <strong>Modellierungssprachen</strong>. Die Darstellung und Einordnung dieser Beschreibungsmittel<br />
erfolgte entlang der in den Paradigmen zusammengefaßten Modellierungskonzepte<br />
und deren Beziehungen. Das Klassifikationsschema hat sich in dieser Arbeit sowohl<br />
zur Einführung diverser Beschreibungsmittel als auch zur strukturierten Entwicklung des integrierten<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s als umfassendes und valides Hilfsmittel erwiesen.<br />
Integriertes <strong>Referenz</strong>-<strong>Metaschema</strong><br />
Die Definition des integrierten <strong>Referenz</strong>-<strong>Metaschema</strong>s der <strong>visuelle</strong>n <strong>Modellierungssprachen</strong> <strong>für</strong><br />
Organisationen und Softwaresysteme erfolgte mit den Mitteln der graphbasierten Konzeptmodellierung<br />
entlang der Beschreibungsparadigmen des Klassifikationsschemas. Zu jedem Beschreibungsparadigma<br />
wurde ein <strong>Referenz</strong>-<strong>Metaschema</strong> entwickelt, das die wesentlichen von ihm betrachteten<br />
Modellierungskonzepte und deren Beziehungen abbildet.<br />
Die <strong>Referenz</strong>-Eigenschaft dieser paradigmenbezogenen <strong>Metaschema</strong>ta wurde durch Ableitung<br />
von <strong>Metaschema</strong>ta konkreter Beschreibungsmittel der jeweils betrachteten Paradigmen nachgewiesen.<br />
Die <strong>Metaschema</strong>ta der wesentlichen Vertreter der einzelnen Paradigmen konnten durch<br />
minimale Einschränkungen und Ergänzungen aus dem entsprechenden <strong>Referenz</strong>-<strong>Metaschema</strong><br />
entwickelt werden.<br />
Diese paradigmenbezogenen <strong>Metaschema</strong>ta besitzen bereits die Eigenschaften von <strong>Referenz</strong>modellen.<br />
Sie sind einerseits so allgemeingültig, daß die Ableitung spezialisierter <strong>Metaschema</strong>ta<br />
leicht möglich ist. Anderseits sind sie aber auch so konkret und vollständig, daß diese Ableitungen<br />
nur marginale Anpassungen der <strong>Referenz</strong>-<strong>Metaschema</strong>ta erfordern. Analog zum Nachweis<br />
der Anwendbarkeit von Entwurfsmustern wurden zu jedem <strong>Referenz</strong>-<strong>Metaschema</strong> mehrere<br />
konkrete Anwendungen aufgeführt, die in Einzelfällen bereits den <strong>Metaschema</strong>ta konkreter Beschreibungsmittel<br />
entsprachen. Die Erweiterbarkeit der <strong>Referenz</strong>-<strong>Metaschema</strong>ta wird durch den<br />
verwendeten Modellierungsansatz EER/GRAL sichergestellt. Da die Ableitung mehrerer spezialisierter<br />
<strong>Metaschema</strong>ta aus den <strong>Referenz</strong>-<strong>Metaschema</strong>ta leicht möglich war, kann auch davon<br />
ausgegangen werden, daß Spezialisierungen <strong>für</strong> hier nicht berücksichtigte konkrete Modellierungsmittel<br />
durch einfache Anpassungen möglich sind.<br />
Die Integrationsfähigkeit der paradigmenbezogenen <strong>Referenz</strong>-<strong>Metaschema</strong>ta wurde bei der Zusammenfassung<br />
zum integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen<br />
und Softwaresysteme gezeigt. Entlang der Modellierungskonzepte, die in den verschiedenen<br />
Paradigmen gemeinsam abgebildet werden, wurden die einzelnen <strong>Referenz</strong>-<strong>Metaschema</strong>ta
Zusammenfassung und Ausblick 257<br />
vereinigt. Dieses integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> definiert die zentralen, heute zur Modellierung<br />
von Organisationen und Softwaresystemen dargestellten Konzepte und deren Beziehungen<br />
in ihrem multiperspektivischen Kontext.<br />
Das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> wurde zur Ableitung spezialisierter, integrierter <strong>Metaschema</strong>ta<br />
konkreter Modellierungsmethoden und -sprachen zur Organisations- und Softwaremodellierung<br />
eingesetzt. So wurden hieraus exemplarisch <strong>Metaschema</strong>ta zur Definition der Beschreibungskonzepte<br />
des ARIS-Ansatzes, der Unified Modeling Language und der Organisationsmodellierung<br />
im Rahmen der Software-Evaluation abgeleitet. Auch diese Spezialisierungen des integrierten<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s erforderten nur geringfügige Anpassungen der hierbei eingebundenen<br />
paradigmenbezogenen <strong>Referenz</strong>-<strong>Metaschema</strong>ta und der zur Integration erforderlichen<br />
Zusicherungen. In ähnlicher Weise können aus dem integrierten <strong>Referenz</strong>-<strong>Metaschema</strong> auch <strong>Metaschema</strong>ta<br />
anderer Ansätze und Sprachen zur Modellierung von Organisationen und Softwaresystemen<br />
abgeleitet werden.<br />
Neben der zuvor skizzierten Verwendung der <strong>Referenz</strong>-<strong>Metaschema</strong>ta als Modellierungsmittel<br />
zur Erstellung spezialisierter <strong>Metaschema</strong>ta konkreter Methoden und Techniken erlaubt das integrierte<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> die konzeptbasierte Beschreibung und Untersuchung von Modellierungsmethoden.<br />
Unabhängig von konkreten Notationen kann die Schulung von Modellierungsmethoden<br />
entlang der darzustellenden Konzepte und deren Beziehungen erfolgen. Das integrierte<br />
<strong>Referenz</strong>-<strong>Metaschema</strong> stellt die Modellierungskonzepte in ihrem sichtenübergreifenden<br />
Zusammenhang dar. Daher eignet es sich auch zur Festlegung einer einheitlichen und methodenübergreifenden<br />
Terminologie der insgesamt im Rahmen der Organisations- und Softwaremodellierung<br />
zu beschreibenden Konzepte. Ebenso bietet das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> einen<br />
von konkreten Modellierungsmethoden unabhängigen Maßstab zum Vergleich und zur Diskussion<br />
unterschiedlicher Modellierungsansätze. Insbesondere die Betrachtung der Abweichungen<br />
der <strong>Metaschema</strong>ta konkreter Modellierungsansätze vom <strong>Referenz</strong>-<strong>Metaschema</strong> ermöglicht Aussagen<br />
über die Mächtigkeit der zu vergleichenden Ansätze hinsichtlich der Unterstützung der<br />
multiperspektivischen Modellierung aus den vier Modellierungssichten und den hierbei verwendeten<br />
Modellierungsparadigmen.<br />
Das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> liefert darüber hinaus auch einen wesentlichen Beitrag<br />
zur Erstellung von Softwarewerkzeugen zur Unterstützung der Modellierung von Organisationen<br />
und Softwaresystemen. Das <strong>Referenz</strong>-<strong>Metaschema</strong> definiert hierzu die Repository-Struktur<br />
zur internen Verwaltung der Modelldaten und formalisiert die Konsistenz der Teilmodelle unterschiedlicher<br />
Beschreibungsparadigmen zueinander. Die Anwendung des integrierten <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>s zur Entwicklung von Modellierungswerkzeugen wurde anhand eines Werkzeugs<br />
zur Unterstützung der Softwareevaluation gezeigt. Auf Basis des KOGGE Meta-CASE-Ansatzes<br />
können in ähnlicher Weise Modellierungswerkzeuge zur Unterstützung weiterer Ansätze zur Organisations-<br />
und Softwaremodellierung erstellt werden.<br />
Ausblick<br />
Neben den Anwendungsbereichen, die in der vorliegenden Arbeit diskutiert wurden, eröffnen<br />
sowohl das hier entwickelte <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel <strong>für</strong> Organisationen<br />
und Softwaresysteme als auch der hierzu verwendete Ansatz zur <strong>Referenz</strong>-Metamodellierung<br />
weitergehende Anwendungsbereiche im Method-Engineering und im Werkzeugbau.
258 Zusammenfassung und Ausblick<br />
Auf syntaktischer Ebene dient das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> u. a. zur Konsolidierung des<br />
Method-Engineerings, und es erlaubt damit die sichten- und paradigmenübergreifende Integration<br />
der Modellierungsmethoden der Organisations- und Softwaretechnik. Es bildet die Grundlage<br />
zur Unterstützung der Interoperabilität von Modellierungswerkzeugen und definiert eine Basis<br />
zur Formalisierung der <strong>Se</strong>mantik von <strong>Modellierungssprachen</strong>.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> legt die Konzepte und Beziehungen der zur Modellierung verwendeten<br />
<strong>visuelle</strong>n Sprachen fest und dient hiermit zur Konsolidierung der Methoden und Techniken<br />
in Organisations- und Softwaretechnik.<br />
Die abstrakte Syntax der Modellierungsmittel wird durch das <strong>Referenz</strong>-<strong>Metaschema</strong>, unabhängig<br />
von konkreten Notationen, in einer allgemeingültigen Form beschrieben. Durch die Berücksichtigung<br />
der heute zur Modellierung von Organisationen und Softwaresystemen verwendeten<br />
Beschreibungsmitteln repräsentiert es den aktuellen Stand dieser Modellierungsmittel auf Ebene<br />
der abstrakten Syntax.<br />
Wird das hier vorgeschlagene <strong>Metaschema</strong> als allgemeingültiges <strong>Referenz</strong>-<strong>Metaschema</strong> der zur<br />
Modellierung eingesetzten Notationen akzeptiert, kann es aufgrund des damit verbundenen normativen<br />
Charakters als ein stabiles Fundament zur Entwicklung neuer Beschreibungsformen dienen.<br />
Mit Ausnahme weniger, marginaler Anpassungen des <strong>Referenz</strong>-<strong>Metaschema</strong>s kann sich die<br />
Gestaltung neuer Modellierungsnotationen auf die Entwicklung ergonomischer und an den Modellierungskontext<br />
angepaßter konkreter Notationen und auf die Formalisierung der <strong>Se</strong>mantik<br />
dieser <strong>Modellierungssprachen</strong> konzentrieren.<br />
Die Modellierungsansätze der Organisationstechnik und der Softwaretechnik wurden bislang<br />
eher unabhängig voneinander betrachtet. Durch das hier entwickelte <strong>Referenz</strong>-<strong>Metaschema</strong> wird<br />
ein Beitrag zur Integration dieser Techniken geleistet.<br />
Diese unabhängige Betrachtung von Organisationen und Softwaresystemen hatte u. a. zur Folge,<br />
daß bei der Übertragung von Organisationsmodellen in Softwaremodelle bzw. von Softwaremodellen<br />
in Organisationsmodelle weitreichende Überarbeitungen nötig wurden. Auch wenn zur<br />
Organisationsmodellierung und zur Softwaremodellierung weiterhin unterschiedliche Notationen<br />
verwendet werden, können diese Darstellungen aufgrund der integrativen Ausrichtung des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s auf einem gemeinsamen <strong>Metaschema</strong> basieren.<br />
Das hier vorgeschlagene <strong>Referenz</strong>-<strong>Metaschema</strong> faßt die Konzepte der <strong>visuelle</strong>n Modellierungsprachen<br />
der Organisationstechnik und die Konzepte der <strong>visuelle</strong>n Modellierungsprachen der<br />
Softwaretechnik in einem gemeinsamen Modell zusammen. Hierdurch werden insbesondere die<br />
Querbezüge zwischen Modellen aus Sicht der Organisation i. e. S. und Modellen aus Sicht der<br />
Softwaresysteme i. e. S. spezifiziert. Das integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> bietet hierdurch eine<br />
Grundlage zur Vereinigung der Organisations- und Softwaremodelle und verwischt die Grenzen<br />
zwischen Organisations- und Softwaretechnik auf notationeller Ebene.<br />
Zur Modellierung von Organisationen und von Softwaresystemen existiert ein weites Spektrum<br />
verschiedener Softwarewerkzeuge, die unterschiedliche Modellierungsmethoden und Notationen<br />
unterstützen. Die Übernahme von vorhandenen Modellen in Werkzeuge, die erweiterte Funktionalitäten<br />
anbieten oder modernere Notationen bereitstellen, ist kaum möglich, da es z. Z. keinen<br />
allgemein akzeptierten Mechanismus zur Interoperabilität von unterschiedlichen Modellierungswerkzeugen<br />
gibt. Das <strong>Referenz</strong>-<strong>Metaschema</strong> kann jedoch als Grundlage dienen, die Interoperabilität<br />
dieser Werkzeuge zu ermöglichen.
Zusammenfassung und Ausblick 259<br />
Die Kombination verschiedener Modellierungswerkzeuge setzt insbesondere Kenntnis der durch<br />
diese Werkzeuge abgebildeten Modellierungskonzepte voraus. Die Interoperabilität zwischen<br />
Modellierungswerkzeugen erfordert eine Einigung über die jeweils in den Werkzeugen verwendeten<br />
<strong>Metaschema</strong>ta und über die <strong>Metaschema</strong>ta, die die gemeinsame Nutzung der Modelldaten<br />
ermöglichen. Durch das <strong>Referenz</strong>-<strong>Metaschema</strong> wird sowohl eine Unterstützung zur Ableitung<br />
der individuellen <strong>Metaschema</strong>ta der einzelnen Werkzeuge geboten, als auch die Festlegung eines<br />
den aktuellen Interoperabilitätskontext beschreibenden <strong>Metaschema</strong>s ermöglicht.<br />
Auf Basis dieser <strong>Metaschema</strong>ta können, mit Hilfe entsprechender Mechanismen zur Schematransformation,<br />
Überführungsfunktionen zur Unterstützung der Datenmigration zwischen unterschiedlichen<br />
Modellierungswerkzeugen in konkreten Interoperabilitätsszenarien abgeleitet werden.<br />
Der Austausch von Modelldaten zwischen unterschiedlichen Werkzeugen erfordert, neben<br />
den Modelldaten selbst, auch die schematische Beschreibung dieser Daten durch ein <strong>Metaschema</strong>.<br />
Zum gemeinsamen Austausch von Schemainformationen und Modelldaten wurde in [Ebert<br />
et al., 1999a] das GraX-Austauschformat (graph exchange format) im Kontext der Interoperabilität<br />
von Software-Reengineering-Werkzeugen vorgestellt. In analoger Form können hiermit auch<br />
Organisations- und Softwaremodelle, einschließlich der zugehörigen <strong>Metaschema</strong>ta, zwischen<br />
Modellierungswerkzeugen ausgetauscht werden.<br />
Die Betrachtungen der Modellierungsmittel in dieser Arbeit bezogen sich ausschließlich auf syntaktische<br />
und notationelle Aspekte. Nicht betrachtet wurde die <strong>Se</strong>mantik dieser Beschreibungsmittel.<br />
Durch die in dieser Arbeit definierten bzw. abgeleiteten <strong>Metaschema</strong>ta wurde lediglich die<br />
syntaktische Korrektheit der hierdurch abgebildeten Modelle festgelegt. Die Bedeutung dieser<br />
Modelle wurde nur soweit berücksichtigt, wie es <strong>für</strong> ein intuitives Verstehen der Darstellungstechniken<br />
und der Festlegung der abgebildeten Konzepte und deren Beziehungen notwendig war.<br />
Das <strong>Referenz</strong>-<strong>Metaschema</strong> bietet jedoch auch die Grundlage zur Formalisierung der <strong>Se</strong>mantik<br />
dieser Beschreibungsmittel. In [Ebert / Süttenbach, 1997b], [Süttenbach, 1998], [Süttenbach,<br />
2000] wird ein Ansatz zur operationalen Definition der <strong>Se</strong>mantik <strong>visuelle</strong>r Sprachen objektorientierter<br />
Methoden vorgestellt, der auf <strong>Metaschema</strong>ta dieser Sprachen basiert.<br />
Ebenso erlaubt der in dieser Arbeit vorgestellte und verwendete Ansatz zur <strong>Referenz</strong>-Metamodellierung<br />
auch die Anwendung in anderen Bereichen der Softwaretechnik, z. B. im Software-<br />
Reengineering, und eröffnet vielfältige Möglichkeiten zur Weiterentwicklung der Metatechnologie.<br />
Die Methoden und Techniken des Software-Reengineerings untersuchen Softwaresysteme aus<br />
unterschiedlichen Sichten. Hierbei ist ein weites Spektrum zwischen sehr grobgranularen Softwarerepräsentationen<br />
zur Analyse auf der Ebene der Softwarearchitektur und sehr feingranularen<br />
Betrachtungen zur Analyse von Daten- und Kontrollflußabhängigkeiten auf Ebene abstrakter<br />
Syntaxbäume abzubilden. Ebenso sind auch Softwaresysteme unterschiedlicher Programmiersprachen,<br />
Datenbanksprachen und Job-Control-Sprachen, die auch kombiniert eingesetzt werden,<br />
zu berücksichtigen.<br />
Mit Hilfe des in dieser Arbeit verwendeten Modellierungsansatzes können auch <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>ta <strong>für</strong> ausgewählte Anwendungsszenarien des Software-Reengineerings entwickelt<br />
werden. Im GUPRO-Projekt (vgl. u. a. [Ebert et al., 1998], [Kullbach et al., 1998], [Kullbach /<br />
Winter, 1999]) wurden bereits solche EER/GRAL-<strong>Metaschema</strong> <strong>für</strong> integrierte Softwaresysteme<br />
auf Architekturebene und <strong>für</strong> feingranulare Daten- und Kontrollflußanalysen entwickelt. Die-
260 Zusammenfassung und Ausblick<br />
se <strong>Metaschema</strong>ta können als Ausgangspunkt zur Entwicklung von <strong>Referenz</strong>-<strong>Metaschema</strong>ta des<br />
Software-Reengineerings dienen.<br />
Auch der in dieser Arbeit verwendete EER/GRAL-Ansatz zur graphbasierten Konzeptmodellierung<br />
bietet noch umfangreichen Spielraum zur Weiterentwicklung der hier zur Modellierung<br />
bereitgestellten Metatechnologie.<br />
Während die Ableitung spezieller Metamodelle in dieser Arbeit eher intuitiv erfolgte, könnte<br />
durch die Formalisierung von Operationen auf <strong>Metaschema</strong>ta die Spezialisierung von <strong>Referenz</strong>-<br />
<strong>Metaschema</strong>ta deutlicher strukturiert und vereinfacht werden. Beispielsweise könnten, ausgehend<br />
von <strong>Referenz</strong>-<strong>Metaschema</strong>ta und zugehörigen Ableitungsfunktionen zur Spezialisierung,<br />
auf Basis von Schema-Algebren, Transformationsfunktionen zur Migration von Modelldaten unterschiedlicher<br />
Schemata generiert werden. Solche Mechanismen könnten insbesondere im Rahmen<br />
der Re-Technologien zur Transformation von Modellen und Programmsystemen eingesetzt<br />
werden.<br />
Mit dem in dieser Arbeit vorgestellten und validierten <strong>Referenz</strong>-<strong>Metaschema</strong> der Beschreibungsmittel<br />
<strong>für</strong> Organisationen und Softwaresysteme wurde ein Beitrag zur Konsolidierung und Stabilisierung<br />
des aktuellen Standes des Method-Engineerings im Kontext der integrierten Modellierung<br />
von Organisationen und Softwaresystemen auf notationeller Basis geleistet. Sowohl dieses<br />
integrierte <strong>Referenz</strong>-<strong>Metaschema</strong> als auch der zu seiner Erstellung verwendete EER/GRAL-<br />
Ansatz erlauben, über diese Arbeit hinaus, eine weitergehende Anwendung in der Organisationsund<br />
Softwaretechnik.
A Formalisierung des<br />
<strong>Referenz</strong>-<strong>Metaschema</strong>s der<br />
Beschreibungsmittel <strong>für</strong><br />
Organisationen und Softwaresysteme<br />
(zusammenfassende Darstellung)<br />
In den folgenden Kapiteln wird die Definition des <strong>Referenz</strong>-<strong>Metaschema</strong>s der Beschreibungsmittel<br />
<strong>für</strong> Organisationen und Software-Systeme zusammengefaßt dargestellt. Auf das EER-<br />
Diagramm in Kapitel A.1 folgen in Kapitel A.2 bis A.6 die GRAL-Zusicherungen der Einzelparadigmen<br />
und die paradigmenübergreifenden Zusicherungen.
262 Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
A.1 EER-Modell<br />
MeansOfComm<strong>uni</strong>cation<br />
Document<br />
personal Phone<br />
Delivery:bool<br />
iteration : string<br />
duration : int<br />
Message msgCorrespondsTo<br />
msgComesFrom<br />
Comm<strong>uni</strong>cation<br />
frequency:float<br />
duration:float<br />
FlatFlow<br />
OfControl<br />
Attribute<br />
Value<br />
Pair<br />
isValue<br />
valIsInstanceOf<br />
Call<br />
Create<br />
Call<br />
Value<br />
transmits<br />
msgGoesTo<br />
AsynchronousFlow<br />
OfControl<br />
Return<br />
Destroy<br />
Call<br />
isInputParameter<br />
Fax EMail<br />
identifies isReturnParameter<br />
comm<strong>uni</strong>cates<br />
name:string<br />
Attribute<br />
has<br />
Domain<br />
name:string<br />
Domain<br />
comesFrom<strong>Se</strong>nder<br />
(comm<strong>uni</strong>cates)<br />
goesToReceiver<br />
(comm<strong>uni</strong>cates)<br />
isMsgIn<br />
callsMethod<br />
isGuard<br />
hasAttribute<br />
ValuePair<br />
name:string<br />
>1<br />
hasAttribute<br />
Comm<strong>uni</strong>cationPartner<br />
isMemberOf informs<br />
Interaction<br />
Scenario<br />
name : string<br />
Method<br />
name : string<br />
Predicate<br />
name : string<br />
OrganizationalUnit<br />
Instance<br />
Item<br />
name : string<br />
abstract : bool<br />
objIsInstanceOf<br />
(isInstanceOf)<br />
ClassItem<br />
Object<br />
Class<br />
=2<br />
External<br />
Partner<br />
LEPosition<br />
assists Leading Executing<br />
Position Position<br />
Position<br />
Object<br />
objClsIsA<br />
(isA)<br />
Group<br />
Assisting<br />
Position<br />
=2<br />
iRelates<br />
iGoesTo iComesFrom<br />
(iRelates)<br />
(iRelates)<br />
limits : int int<br />
Department<br />
isInstanceOf<br />
cGoesTo<br />
(cRelates)<br />
cRelates<br />
cComes<br />
From<br />
isA (cRelates)<br />
leads<br />
isHeadOf<br />
(isPartOf)<br />
delegates<br />
injective:bool<br />
order : int<br />
Relationship<br />
relIsInstanceOf<br />
(isInstanceOf)<br />
RelationshipClass<br />
AggregationClass<br />
dir: bool<br />
relClsIsA<br />
(isA)<br />
IsPartOf instructs substitutes<br />
rank : string<br />
competence: string<br />
qualification : string<br />
capacity : int<br />
Mechanism<br />
Technical<br />
Means<br />
describes<br />
describes<br />
executesTask<br />
isObject<br />
Component<br />
executesProcess<br />
name:string<br />
executionRole : string<br />
TaskDecomposition<br />
isDecomposedIn<br />
Process<br />
Atomic<br />
Process <strong>Se</strong>quence Parallel<br />
name:string<br />
DfItem<br />
DfObject<br />
criterion:<br />
{process, object}<br />
connection:<br />
{and,or}<br />
isProcess<br />
Component<br />
Iteration Alternative<br />
dfRefines<br />
isSubtask<br />
Task<br />
name : string<br />
location : string<br />
duration : float<br />
time : date<br />
resources:string<br />
dfGoesTo<br />
Store<br />
isSubprocess<br />
controls<br />
Dataflow<br />
isSubprocess<br />
isSubprocess<br />
Terminator<br />
isAlternative isSubprocess<br />
dfComesFrom<br />
isExecutionTask (isSubtask)<br />
isLeadingTask (isSubtask)<br />
isPlanningTask (isSubtask)<br />
isControllingTask (isSubtask)<br />
isAdministrativeTask(isSubtask)<br />
dfCorrespondsTo<br />
PointOf<br />
Contact<br />
Transition<br />
Case<br />
Predicate<br />
name:string<br />
controls<br />
cfRefines<br />
isComponentIn<br />
transComesFrom transGoesTo<br />
isGuard<br />
triggers<br />
effects<br />
NetItem<br />
name:string<br />
Blob<br />
AtomicBlob<br />
NetObject<br />
name:string<br />
Dataflow<br />
Scenario<br />
End<br />
Blob<br />
isEntryAction<br />
isBlobAction<br />
isExitAction<br />
Event<br />
contains<br />
Xor<br />
Blob<br />
history:bool<br />
>1<br />
cfComesFrom cfGoesTo<br />
starts<br />
With<br />
contains<br />
Flow<br />
OperatorFlow<br />
Merge Branch<br />
And<br />
Blob<br />
Elementary<br />
Flow<br />
Fork<br />
Xor<br />
Branch<br />
Xor<br />
Merge<br />
Join<br />
Or<br />
Branch<br />
Or<br />
Merge
A.2 GRAL-Zusicherungen der Aufgabensicht 263<br />
A.2 GRAL-Zusicherungen der Aufgabensicht<br />
A.2.1 GRAL-Zusicherungen des Aufgabengliederungsparadigmas<br />
for G in RMS assert<br />
[RMS-TDP 1]:<br />
isTree eGraph EisDecomposedIn E isSubtask<br />
end .<br />
for G in RMS define<br />
mainTask : VTask where<br />
end .<br />
mainTask root eGraph E isDecomposedIn E<br />
isSubtask<br />
A.3 GRAL-Zusicherungen der Aufbausicht<br />
A.3.1 GRAL-Zusicherungen des Stellengliederungsparadigmas<br />
for G in RMS assert<br />
[RMS-PDP 1]:<br />
isDag eGraph Eleads ;<br />
isDag eGraph Einstructs ;<br />
isDag eGraph Esubstitutes ;<br />
isDag eGraph Edelegates ;<br />
[RMS-PDP 2]:<br />
isTree eGraph E<br />
isPartOf<br />
[RMS-PDP 3]:<br />
d : VDepartment ; h : VLeadingPosition h isHeadOf<br />
end .<br />
;<br />
d isPartOf &Position h leads instructs £<br />
d ¯
264 Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
A.3.2 GRAL-Zusicherungen des Komm<strong>uni</strong>kationsparadigmas<br />
for G in RMS assert<br />
[RMS-CommP 1]:<br />
c : VComm<strong>uni</strong>cation δ<br />
comesFrom<strong>Se</strong>nder<br />
c 1 δ c<br />
goesToReceiver<br />
1 ¯<br />
δ type<br />
comm<strong>uni</strong>cates<br />
c 0<br />
end .<br />
A.4 GRAL-Zusicherungen der Prozeßsicht<br />
A.4.1 GRAL-Zusicherungen des Datenflußpardigmas<br />
for G in RMS assert<br />
[RMS-DFP 1]:<br />
s1 s2 : VStore s1 dfComesFrom dfGoesTo s2 <br />
t1 t2 : VTerminator t1 dfComesFrom dfGoesTo t2 <br />
p1 p2 : VPointOfContact p1 dfComesFrom dfGoesTo p2 ;<br />
[RMS-DFP 2]:<br />
p : V Process δ dfRefines p 0 ¯ 3 δ dfRefines p 6;<br />
[RMS-DFP 3]:<br />
isDag eGraph E dfRefines<br />
[RMS-DFP 4]:<br />
a b : VDfItem a dfRefines dfRefines b ¯<br />
a dfRefines b dfRefines ;<br />
[RMS-DFP 5]:<br />
a b : VDfObject a dfComesFrom dfGoesTo b ¯<br />
a dfRefines b dfRefines ;<br />
[RMS-DFP 6]:<br />
c : E ÓÖÖ×ÔÓÒ×ÌÓ ¯ p : V ÈÖÓ ×× δ dfRefines p 0 ¯<br />
ω c dfGoesTo dfComesFrom<br />
;<br />
[RMS-DFP 7]:<br />
d : VDataflow ; p : VProcess δ<br />
dfRefines<br />
p 0 d dfGoesTo p ¯<br />
1 poc : VPointOfContact d dfCorresponds poc p ;<br />
dfRefines p ¯<br />
p ;<br />
poc dfComesFrom dfGoesTo dfRefines
A.4 GRAL-Zusicherungen der Prozeßsicht 265<br />
d : VDataflow ; p : VProcess δ<br />
dfRefines<br />
p 0 d dfComesFrom p ¯<br />
1 poc : VPointOfContact d dfCorresponds poc p ;<br />
dfRefines p ¯<br />
poc dfGoesTo dfComesFrom dfRefines<br />
[RMS-DFP 8]:<br />
p : V Process ; d 1 d 2 : V Dataflow ; poc 1 poc 2 : V PointOfContact <br />
d 1 d 2 d 1 dfGoesTo dfComesFrom p dfRefines poc 1 dfCorrespondsTo d 1 <br />
d 2 dfGoesTo dfComesFrom p dfRefines poc 2 dfCorrespondsTo d 2 ¯<br />
poc 1 poc 2 ;<br />
[RMS-DFP 9]:<br />
d : VDataflow ; p : VProcess d dfRefines p ¯<br />
p ;<br />
d dfGoesTo dfComesFrom dfRefines<br />
[RMS-DFP 10]:<br />
poc : V PointOfContact ¯<br />
poc dfCorrespondsTo describes<br />
isA cGoesTo &AggregationClass cComesFrom £<br />
describes dfGoesTo dfComesFrom<br />
poc ;<br />
[RMS-DFP 11]:<br />
d : V Dataflow ¯<br />
d dfGoesTo dfComesFrom &Store describes<br />
isA cGoesTo &AggregationClass cComesFrom £<br />
end .<br />
describes d<br />
A.4.2 GRAL-Zusicherungen des Zustandsübergangsparadigmas<br />
for G in RMS assert<br />
[RMS-STP 1]:<br />
e : VEndBlob ¯ δ e 0;<br />
transComesFrom<br />
[RMS-STP 2]:<br />
isTree eGraph E contains<br />
[RMS-STP 3]:<br />
type root eGraph E contains<br />
;<br />
XorBlob ;<br />
[RMS-STP 4]:<br />
δ transComesFrom root eGraph E contains δ transGoesTo root eGraph E contains 0;<br />
[RMS-STP 5]:<br />
1 b : V Blob ¯ b contains root eGraph E contains startsWith<br />
b ;
266 Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
[RMS-STP 6]:<br />
x : V XorBlob δ transGoesTo x 0 x contains &AndBlob ¯<br />
δ startsWith x 1;<br />
[RMS-STP 7]:<br />
e : E startsWith ¯ α e contains<br />
ω e ;<br />
[RMS-STP 8]:<br />
x y : VXorBlob x contains &AndBlob contains y x y ¯<br />
x<br />
y ;<br />
£<br />
contains transComesFrom transGoesTo<br />
£<br />
contains<br />
[RMS-STP 9]:<br />
t1 t2 : VTransition ; a b c d : VBlob t1 t2 <br />
t1 triggers &Event triggers t2 <br />
a transComesFrom t1 transGoesTo b <br />
c transComesFrom t2 transGoesTo d ¯<br />
lca a b lca c d <br />
a c <br />
a c a<br />
a<br />
£<br />
contains c a<br />
£<br />
contains c <br />
end .<br />
hierbei gilt:<br />
b d <br />
b d b<br />
b<br />
lca : V Blob ¢V Blob V Blob<br />
£<br />
contains &AndBlob<br />
£<br />
contains<br />
£<br />
contains &AndBlob<br />
£<br />
lca λvw : VBlob ¯ µx: VBlob ¯ v contains x<br />
y : VBlob v<br />
£<br />
contains c<br />
d b<br />
£<br />
contains<br />
£<br />
contains d<br />
w <br />
£<br />
contains<br />
£<br />
contains y<br />
A.4.3 GRAL-Zusicherungen des Netzparadigmas<br />
d <br />
£<br />
contains w ¯ x<br />
for G in RMS assert<br />
[RMS-NP 1]:<br />
f : VElementaryFlow ¯ δ<br />
cfComesFrom<br />
f 1 δ<br />
cfGoesTo<br />
f 1;<br />
[RMS-NP 2]:<br />
f : V Branch V Fork ¯ δ cfComesFrom f 1 δ cfGoesTo<br />
[RMS-NP 3]:<br />
f : V Merge V Join ¯ δ cfComesFrom f 1 δ cfGoesTo<br />
f 1;<br />
f 1;<br />
£<br />
contains y
A.5 GRAL-Zusicherungen der Objektsicht 267<br />
[RMS-NP 4]:<br />
isDag eGraph E cfRefines<br />
;<br />
[RMS-NP 5]:<br />
a b : V NetItem a cfRefines cfRefines b ¯ a cfRefines b cfRefines ;<br />
[RMS-NP 6]:<br />
a b : V NetObject a cfComesFrom cfGoesTo b ¯ a cfRefines b cfRefines ;<br />
[RMS-NP 7]:<br />
p 1 : V Process δ cfRefines 0 ¯<br />
end .<br />
p 1 executesProcess Ë p 2 : V Process p 1 cfRefines p 2 ¯ p 2 executesProcess <br />
A.4.4 GRAL-Zusicherungen des Kontrollflußparadigmas<br />
for G in RMS assert<br />
[RMS-CP 8]:<br />
isDag eGraph EisSubprocess EisAlternative end .<br />
A.5 GRAL-Zusicherungen der Objektsicht<br />
A.5.1 GRAL-Zusicherungen des Objekt-Instanzpardigmas<br />
for G in RMS assert<br />
[RMS-OIP 1]:<br />
e : EiRelates ¯ 1 eorder δ ω e ;<br />
iRelates<br />
[RMS-OIP 2]:<br />
e 1 e 2 : E iRelates e 1 e 2 ω e 1 ω e 2 ¯ e 1 order e 2 order ;<br />
[RMS-OIP 3]:<br />
a : VAttribute ; v : VValue a identifies isValue v ¯<br />
a hasDomain valIsInstanceOf v<br />
end .<br />
A.5.2 GRAL-Zusicherungen des Objekt-Interaktionsparadigmas<br />
for G in RMS assert<br />
[RMS-IAP 1]:<br />
c : VCall ; r : VReturn r msgCorrespondsTo c ¯<br />
c msgComesFrom r msgGoesTo c msgGoesTo r msgComesFrom ;
268 Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
[RMS-IAP 2]:<br />
e 1 e 2 : E isMsgIn ω e 1 ω e 2 α e 1 msgCorrespondsTo α e 2 ¯<br />
order isMsgIn e 1 ω e 1 order isMsgIn e 2 ω e 2 ;<br />
[RMS-IAP 3]:<br />
e1 e2 : EisMsgIn ω e1 ω e2 α e1 msgCorrespondsTo α e2 ¯<br />
e3 : EisMsgIn ω e1 ω e2 ω e3 <br />
orderisMsgIn e1 ω e1 orderisMsgIn e3 ω e3 <br />
orderisMsgIn e2 ω e2 ¯<br />
end .<br />
α e 1 msgComesFrom msgComesFrom msgGoesTo α e 3<br />
A.5.3 GRAL-Zusicherungen des Objekt-Beziehungsparadigmas<br />
for G in RMS assert<br />
[RMS-ORP 1]:<br />
e f : VRelationshipClass ; a b c d : VObjectClass e relClsIsA f <br />
a cComesFrom e cGoesTo b c cComesFrom f cGoesTo d ¯<br />
a c b d ;<br />
£<br />
objClsIsA<br />
£<br />
objClsIsA<br />
[RMS-ORP 2]:<br />
e f : EcRelates α e relClsIsA α f ω e<br />
£<br />
objClsIsA ω f ¯<br />
first elimits first f limits second elimits second f limits ;<br />
[RMS-ORP 3]:<br />
t1 : ÎClassItem t1abstract true ¯<br />
t2 : ÎClassItem t2 isA t1 ¯ t2abstract false<br />
end .<br />
A.6 Sichten- und Paradigmenübergreifende<br />
GRAL-Zusicherungen<br />
Paradigmenübergeifende Zusicherungen der Prozeßsicht<br />
for G in RMS assert<br />
[RMS-Process 1]:<br />
p : VProcess ¯<br />
[Datenfluß- und Netzparadigma]<br />
δ p 0 δ p<br />
dfRefines cfRefines<br />
p dfRefines &Process p cfRefines &Process
A.6 Sichten- und Paradigmenübergreifende GRAL-Zusicherungen 269<br />
end .<br />
[Datenfluß- und Kontrollflußparadigma]<br />
δ dfRefines p 0 type p <strong>Se</strong>quence Parallel Iteration Alternative<br />
p dfRefines &Process p isAlternative ℄ isSubprocess <br />
[Netz- und Kontrollflußparadigma]<br />
δ cfRefines p 0 type p <strong>Se</strong>quence Parallel Iteration Alternative<br />
p cfRefines &Process p isAlternative ℄ isSubprocess<br />
Paradigmenübergeifende Zusicherungen der Objektsicht<br />
for G in RMS assert<br />
[RMS-Object 1]:<br />
v : VObject ; e : VRelationship v iComesFrom e ¯<br />
v objIsInstanceOf<br />
£<br />
objClsIsA cComesFrom<br />
v : V Object ; e : V Relationship v iGoesTo<br />
v objIsInstanceOf<br />
£<br />
objClsIsA cGoesTo<br />
£<br />
relClsIsA relIsInstanceOf<br />
e ¯<br />
£<br />
relClsIsA relIsInstanceOf<br />
[RMS-Object 2]:<br />
v : VObject ; e : EcComesFrom v objIsInstanceOf<br />
£<br />
objClsIsA ω e ¯<br />
first elimits # r : EiComesFrom ω r v <br />
α r relIsInstanceOf<br />
second elimits ;<br />
v : VObject ; e : EcGoesTo v objIsInstanceOf<br />
£<br />
objClsIsA ω e ¯<br />
first elimits # r : EiGoesTo ω r v <br />
α r relIsInstanceOf<br />
second elimits ;<br />
[RMS-Object 3]:<br />
i : VInstanceItem ; c : VClassItem i IsInstanceOf c ¯<br />
i hasAttributeValuePair identifies c<br />
£<br />
IsA hasAttribute ;<br />
[RMS-Object 4]:<br />
c : V ClassItem cabstract ¯ c IsInstanceOf<br />
;<br />
e ;<br />
e ;<br />
£<br />
relClsIsA<br />
£<br />
relClsIsA<br />
α e <br />
α e <br />
[RMS-Object 5]:<br />
rc : V RelationshipClass ; r 1 r 1 : V Relationship <br />
rcinjective r 1 relIsInstanceOf rc relIsInstanceOf r 2 r 1 r 2 ¯<br />
r 1 iGoesTo r 2 iGoesTo r 1 iComesFrom r 2 iComesFrom<br />
end .
270 Formalisierung des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Paradigmenübergeifende Zusicherungen der Aufgaben- und Prozeßsicht<br />
for G in RMS assert<br />
[RMS-TaskProcess 1]:<br />
p : VProcess ; t : VTask p<br />
[Datenflußparadigma]<br />
isProcessComponent t ¯<br />
δ p<br />
dfRefines<br />
0 δ t<br />
isDecomposedIn<br />
0<br />
p dfRefines &Process t isDecomposedIn isSubtask isProcessComponent <br />
[Netzparadigma]<br />
δ cfRefines p 0 δ isDecomposedIn t 0<br />
p cfRefines &Process t isDecomposedIn isSubtask isProcessComponent <br />
[Kontrollflußparadigma]<br />
type p <strong>Se</strong>quence Parallel Iteration Alternative <br />
δ isDecomposedIn t 0<br />
p isAlternative ℄ isSubprocess <br />
t isDecomposedIn isSubtask isProcessComponent ;<br />
[RMS-TaskProcess 2]:<br />
p : VProcess ; t : VTask p isProcessComponent t <br />
p dfComesFrom dfGoesTo describes ¯<br />
t isObjectComponent p dfComesFrom dfGoesTo describes ;<br />
[RMS-TaskProcess 3]:<br />
p : VProcess ; t : VTask p isProcessComponent t ¯<br />
end .<br />
t executesTask p executesProcess &OrganizationalUnit<br />
Paradigmenübergeifende Zusicherungen der Aufbau- und Prozeßsicht<br />
for G in RMS assert<br />
[RMS-PositionProcess 1]:<br />
p1 p2 : VProcess ; s1 s2 : VOrganizationalUnit s1 s2 <br />
s1 executesProcess p1 s2 executesProcess p2 ¯<br />
p1 dfComesFrom dfGoesTo p2 s1 comm<strong>uni</strong>cates comm<strong>uni</strong>cates s2 end .<br />
Paradigmenübergeifende Zusicherungen der Aufbau- und Objektsicht<br />
for G in RMS assert<br />
[RMS-PositionObject 1]:<br />
s1 s2 : VOrganizationalUnit ¯<br />
s1 msgComesFrom msgGoesTo s2 s1 comm<strong>uni</strong>cates comm<strong>uni</strong>cates s2 end .
B Glossar<br />
B.1 Grundlegende Definitionen<br />
Konzeptmodellierung<br />
Modell<br />
Abstraktion der Realität durch mentale Reprä- Zielgerichtetes Abbild eines Systems, das zum<br />
sentationen (Konzepte) realen oder abstrakten einen ähnliche Beobachtungen und Aussagen<br />
Dinge der zu modellierenden Diskurswelt und ermöglicht wie dieses System, zum anderen<br />
den hierzwischen bestehenden Beziehungen. diese Realität durch Abstraktion auf die jeweils<br />
Die Konzepte werden in einer symbolischen<br />
Form notiert.<br />
Metaaktivitätsmodell<br />
relevanten Aspekte vereinfacht.<br />
Organisation<br />
Teil eines Metamodells, durch den das Mo- 1. System formaler Regeln, das als Instrudellierungsvorgehen<br />
beschrieben wird.<br />
ment zur Steuerung sozio-technischer<br />
Systeme dient (organisatatorische Struk-<br />
Metamodell<br />
tur).<br />
Konzeptionelle Beschreibung einer Modellie- 2. Organisatatorische Struktur und deren<br />
rung, die sowohl die verwendeten Modellie- Einbettung in das umgebende soziorungskonzepte<br />
als auch ihre Verwendung verdeutlicht.<br />
Hierbei wird die Vorgehensweise der<br />
Modellierung in einem Metaaktivitätsmodell<br />
technische System.<br />
und die Modellierungsmittel durch ihre abstrakte<br />
Syntax in einem <strong>Metaschema</strong> be-<br />
Organisationstechnik<br />
schrieben.<br />
1. Entwicklung von Prinzipien, Methoden,<br />
<strong>Metaschema</strong><br />
und Werkzeugen zur Organisationsgestaltung.<br />
Teil eines Metamodells, durch den die zur<br />
Modellierung verwendeten Sprachmittel, unabhängig<br />
von ihrer konkreten Notation, durch ihre<br />
abstrakte Syntax beschrieben werden.<br />
2. Anwendung dieser Mittel zur Durchführung<br />
gezielter organisatorischer Änderungen<br />
und zum Betrieb diese Organisationen.
272 Glossar<br />
<strong>Referenz</strong>modell<br />
Ausgewiesenes Modell, das charakteristische<br />
Eigenschaften einer Klasse gleichartiger Systeme<br />
beschreibt und als Bezugspunkt <strong>für</strong> spezielle<br />
Modelle dient.<br />
Softwaretechnik<br />
1. Entwicklung von Prinzpien, Methoden<br />
und Techniken zur Software-Erstellung.<br />
2. Anwendung dieser Mittel zur Erstellung,<br />
zum Betrieb und zur Wartung von umfangreichen<br />
Softwareprodukten.<br />
B.2 Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
Visuelle <strong>Modellierungssprachen</strong> des Requirements-Engineering<br />
der Organisationstechnik:<br />
Hilfsmittel zur Erhebung und Beschreibung<br />
organisatorischer Zusammenhänge<br />
bezogen auf die statische und dynamische<br />
Organisationsstruktur und das umgebende<br />
sozio-technische System.<br />
der Softwaretechnik:<br />
Hilfsmittel zur Erhebung und Beschreibung<br />
von Softwaresystemen bezogen auf<br />
ihre statische und dynamische Struktur<br />
und das umgebende Anwendungssystem.<br />
Das folgende graphische Glossar stellt die objektartigen Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s<br />
der Beschreibungsmittel <strong>für</strong> Organisationen und Softwaresysteme in ihrem Schemakontext dar,<br />
und definiert somit die Einbettung der durch diese Konzepte modellierten Begriffe in ihr Begriffsumfeld.<br />
AggregationClass<br />
Alternative<br />
AndBlob<br />
RelationshipClass<br />
Process<br />
Alternative<br />
isAlternative<br />
Case<br />
Blob<br />
Xor<br />
Blob<br />
history : bool<br />
>1<br />
contains<br />
And<br />
Blob<br />
AssistingPosition<br />
Position<br />
Assisting<br />
Position<br />
delegates<br />
assists Leading<br />
Position<br />
AsynchroneousFlowOfControl<br />
Message<br />
AtomicProcess<br />
Process<br />
AtomicBlob<br />
Blob
B.2 Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s 273<br />
Attribute<br />
Domain<br />
name:string<br />
has<br />
Domain<br />
hasAttribute<br />
AttributeValuePair<br />
Blob<br />
NetObject<br />
Branch<br />
Attribute<br />
name:string<br />
Value<br />
identifies<br />
isEntryAction<br />
isBlobAction<br />
isExitAction<br />
starts<br />
With<br />
Attribute<br />
name:string<br />
ClassItem<br />
isValue<br />
End<br />
Blob<br />
identifies<br />
Attribute<br />
Value<br />
Pair<br />
Instance<br />
Item<br />
Transition<br />
Blob<br />
AtomicBlob<br />
Xor<br />
Blob<br />
history:bool<br />
>1<br />
And<br />
Blob<br />
contains<br />
isValue<br />
Value<br />
hasAttribute<br />
ValuePair<br />
transComesFrom transGoesTo<br />
OperatorFlow<br />
Branch<br />
Xor<br />
Branch<br />
Or<br />
Branch<br />
Attribute<br />
Value<br />
Pair<br />
name:string<br />
contains<br />
Call<br />
Object<br />
Case<br />
ClassItem<br />
isA<br />
isInputParameter<br />
isReturnParameter<br />
ClassItem<br />
cComes<br />
From<br />
(cRelates)<br />
Predicate<br />
name:string<br />
Process<br />
Message msgCorrespondsTo<br />
Call<br />
Alternative<br />
Create<br />
Call<br />
Case<br />
Method<br />
name:string<br />
Destroy<br />
Call<br />
callsMethod<br />
isAlternative isSubprocess<br />
controls<br />
hasAttribute<br />
Object<br />
Class<br />
=2<br />
cRelates<br />
describes<br />
Attribute<br />
RelationshipClass<br />
Aggregation<br />
Class<br />
dir:bool<br />
DFItem<br />
limits : int int<br />
cGoesTo<br />
(cRelates)<br />
injective:bool<br />
name : string<br />
abstract : bool<br />
isInstanceOf<br />
Return<br />
Instance<br />
Item
274 Glossar<br />
Comm<strong>uni</strong>cation<br />
comesFrom<strong>Se</strong>nder<br />
(comm<strong>uni</strong>cates)<br />
Comm<strong>uni</strong>Comm<strong>uni</strong>-<br />
>1<br />
cationcation<br />
comm<strong>uni</strong>cates<br />
Partner<br />
frequency: float<br />
duration: float<br />
goesToReceiver<br />
(comm<strong>uni</strong>cates)<br />
Comm<strong>uni</strong>cationPartner<br />
isMemberOf<br />
Group<br />
Department<br />
IsPartOf<br />
Position<br />
CreateCall<br />
Call<br />
Dataflow<br />
Assisting<br />
Position<br />
delegates<br />
informs<br />
Comm<strong>uni</strong>cation<br />
frequency: float<br />
duration: float<br />
>1<br />
transmits<br />
goesToReceiver<br />
comm<strong>uni</strong>cates<br />
comesFrom<strong>Se</strong>nder<br />
(comm<strong>uni</strong>cates) (comm<strong>uni</strong>cates)<br />
DfItem<br />
DfObject<br />
PointOf<br />
Contact<br />
DataflowScenario<br />
Department<br />
Dataflow<br />
Scenario<br />
instructs substitutes<br />
OrganizationalUnit<br />
assists<br />
LEPosition<br />
Leading Executing<br />
Position Position<br />
isHeadOf<br />
(isPartOf)<br />
OrganizationalUnit<br />
Department<br />
IsPartOf<br />
leads<br />
dfGoesTo<br />
Dataflow<br />
dfComesFrom<br />
dfCorrespondsTo<br />
isComponentIn<br />
isHeadOf<br />
(isPartOf)<br />
DfItem<br />
Leading<br />
Position<br />
MeansOf<br />
Comm<strong>uni</strong>cation<br />
Comm<strong>uni</strong>cationPartner<br />
rank : string<br />
competence: string<br />
qualification : string<br />
capacity : int<br />
name: string<br />
External<br />
Partner<br />
DestroyCall<br />
DfItem<br />
DfItem<br />
DfObject<br />
Terminator<br />
Scenario<br />
DfObject<br />
Call<br />
Store<br />
isComponentIn<br />
DfObject<br />
Terminator<br />
Process<br />
PointOf<br />
Contact<br />
dfGoesTo<br />
dfComesFrom<br />
dfCorrespondsTo<br />
Store<br />
PointOf<br />
Contact<br />
Dataflow<br />
name:string<br />
dfGoesTo<br />
dfComesFrom<br />
Document<br />
MeansOfComm<strong>uni</strong>cation<br />
Domain<br />
EMail<br />
Domain<br />
name:string<br />
valIsInstanceOf<br />
has<br />
Domain<br />
value<br />
Attribute<br />
name:string<br />
MeansOfComm<strong>uni</strong>cation<br />
EndBlob<br />
Blob<br />
ElementaryFlow<br />
Flow<br />
dfRefines<br />
Dataflow<br />
Process
B.2 Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s 275<br />
Event<br />
NetObject<br />
Event<br />
ExecutingPosition<br />
LEPosition<br />
triggers<br />
Transition<br />
ExternalPartner<br />
Comm<strong>uni</strong>cationPartner<br />
Fax<br />
MeansOfComm<strong>uni</strong>cation<br />
FlatFlowOfControl<br />
Message<br />
Flow<br />
Fork<br />
Group<br />
NetObject<br />
OperatorFlow<br />
Group<br />
isMemberOf<br />
OrganizationalUnit<br />
Position<br />
InstanceItem<br />
Instance<br />
Item<br />
Object<br />
ClassItem<br />
isInstanceOf<br />
iGoesTo<br />
(iRelates)<br />
=2<br />
iRelates<br />
InteractionScenario<br />
Iteration<br />
Join<br />
Interaction<br />
Scenario<br />
Process<br />
Iteration<br />
isMsgIn<br />
Relationship<br />
Message<br />
Predicate<br />
controls name:string<br />
isSubprocess<br />
OperatorFlow<br />
MeansOfComm<strong>uni</strong>cation<br />
Comm<strong>uni</strong>cation<br />
frequency: float<br />
duration: float<br />
Mechanism<br />
Mechanism<br />
Object<br />
LEPosition<br />
transmits<br />
Technical<br />
Means<br />
LEPosition<br />
Leading<br />
Position<br />
name:string<br />
iComesFrom<br />
(iRelates)<br />
order : int<br />
MeansOfComm<strong>uni</strong>cation<br />
Document<br />
personal Phone<br />
Delivery:bool<br />
Fax EMail<br />
executesProcess<br />
leads<br />
Executing<br />
Position<br />
Process
276 Glossar<br />
LeadingPosition<br />
Department<br />
Merge<br />
Message<br />
Object<br />
Method<br />
msgComes<br />
From<br />
msg<br />
GoesTo<br />
Assisting<br />
Position<br />
isHeadOf<br />
(isPartOf)<br />
Call<br />
assists<br />
OperatorFlow<br />
Merge<br />
Create<br />
Call<br />
Xor<br />
Merge<br />
Or<br />
Merge<br />
Destroy<br />
Call<br />
Position<br />
LEPosition<br />
Leading<br />
Position<br />
Message msgCorrespondsTo<br />
isGuard isMsgIn<br />
Predicate Interaction<br />
name:string<br />
Scenario<br />
Method<br />
name:string<br />
NetItem<br />
NetObject<br />
callsMethod<br />
Return<br />
Call<br />
leads<br />
Executing<br />
Position<br />
FlatFlow<br />
OfControl<br />
AsynchronousFlowOf<br />
Control<br />
iteration : string<br />
duration : int<br />
NetObject<br />
NetItem<br />
name: string<br />
Xor<br />
Merge<br />
Or<br />
Merge<br />
NetObject<br />
Process<br />
Xor<br />
Branch<br />
Or<br />
Branch<br />
cfRefines<br />
cfComesFrom cfGoesTo<br />
Flow<br />
OperatorFlow<br />
Merge Branch<br />
Object<br />
Object<br />
Class<br />
ObjectClass<br />
objClsIsA<br />
(isA)<br />
Event<br />
Fork<br />
Join<br />
Relationship<br />
Elementary<br />
Flow<br />
msgComesFrom isReturnParameter<br />
objIsInstanceOf<br />
Instance<br />
(isInstanceOf)<br />
Item<br />
Object<br />
ClassItem<br />
msgGoesTo<br />
iGoesTo<br />
(iRelates)<br />
Object<br />
Class<br />
=2<br />
cComes<br />
From<br />
(cRelates) cRelates<br />
Relationship<br />
Class<br />
Message<br />
Call<br />
=2<br />
iRelates<br />
limits : int int<br />
cGoesTo<br />
(cRelates)<br />
isInputParameter<br />
iComesFrom<br />
(iRelates)<br />
order : int<br />
effects<br />
triggers<br />
isEntryAction<br />
isBlobAction<br />
isExitAction<br />
objIsInstanceOf<br />
(isInstanceOf)<br />
isObject<br />
Component<br />
Mechanism<br />
Transition<br />
Blob<br />
Organizational<br />
Unit<br />
Object<br />
Task<br />
name: string<br />
location: string<br />
duration: float<br />
time: date<br />
resources: string
B.2 Konzepte des <strong>Referenz</strong>-<strong>Metaschema</strong>s 277<br />
OperatorFlow<br />
Flow<br />
OperatorFlow<br />
Merge Branch<br />
Xor<br />
Merge<br />
Or<br />
Merge<br />
Xor<br />
Branch<br />
Or<br />
Branch<br />
OrganizationalUnit<br />
Object<br />
OrBranch<br />
isMemberOf<br />
Group<br />
Department<br />
Branch<br />
OrMerge<br />
Merge<br />
Parallel<br />
IsPartOf<br />
Position<br />
Process<br />
Assisting<br />
Position<br />
delegates<br />
Parallel<br />
isSubprocess<br />
informs<br />
executionRole : string<br />
Fork<br />
Join<br />
instructs substitutes<br />
executesTask<br />
Task<br />
name: string<br />
location: string<br />
duration: float<br />
time: date<br />
resources: string<br />
Elementary<br />
Flow<br />
OrganizationalUnit<br />
assists<br />
LEPosition<br />
Leading Executing<br />
Position Position<br />
isHeadOf<br />
(isPartOf)<br />
Phone<br />
MeansOfComm<strong>uni</strong>cation<br />
PointOfContact<br />
DfObject<br />
PointOf<br />
Contact<br />
dfCorrespondsTo<br />
Dataflow<br />
leads<br />
rank : string<br />
competence: string<br />
qualification : string<br />
capacity : int<br />
Position<br />
isMemberOf informs<br />
Group<br />
Predicate<br />
Message<br />
Process<br />
DfItem<br />
DfObject<br />
isGuard<br />
dfRefines<br />
isSubprocess<br />
Position<br />
Assisting<br />
Position<br />
delegates<br />
OrganizationalUnit<br />
assists<br />
LEPosition<br />
Leading Executing<br />
Position Position<br />
leads<br />
instructs substitutes<br />
Iteration<br />
Predicate<br />
controls<br />
name:string<br />
Process<br />
Atomic<br />
Process<br />
name:string<br />
<strong>Se</strong>quence Parallel<br />
Relationship<br />
NetObject<br />
isSubprocess<br />
RelationshipClass<br />
relIsInstanceOf<br />
(isInstanceOf)<br />
Case<br />
controls<br />
isGuard<br />
Iteration Alternative<br />
isSubprocess<br />
controls<br />
Instance<br />
Item<br />
iGoesTo<br />
(iRelates)<br />
executesProcess<br />
Predicate<br />
name:string<br />
Mechanism<br />
Case<br />
rank : string<br />
competence: string<br />
qualification : string<br />
capacity : int<br />
Transition<br />
isAlternative isSubprocess<br />
controls<br />
Object<br />
=2<br />
iRelates<br />
Relationship<br />
isProcess<br />
Component<br />
iComesFrom<br />
(iRelates)<br />
order : int<br />
Task
278 Glossar<br />
RelationshipClass<br />
relClsIsA<br />
(isA)<br />
Return<br />
ClassItem<br />
cComes<br />
From<br />
(cRelates)<br />
<strong>Se</strong>quence<br />
Store<br />
Task<br />
Object<br />
Class<br />
name:string<br />
Process<br />
name:string<br />
Object<br />
Class<br />
=2<br />
cRelates<br />
RelationshipClass<br />
Aggregation<br />
Class<br />
dir: bool<br />
isObject<br />
Component<br />
isProcess<br />
Component<br />
DfObject<br />
Message<br />
Store<br />
limits : int int<br />
cGoesTo<br />
(cRelates)<br />
injective: bool<br />
msgCorrespondsTo<br />
Call Return<br />
Process<br />
<strong>Se</strong>quence<br />
isSubprocess<br />
Organizational<br />
Unit<br />
Task<br />
name: string<br />
location: string<br />
duration: float<br />
time: date<br />
resources: string<br />
describes<br />
relIsInstanceOf<br />
(isInstanceOf)<br />
ClassItem<br />
executesTask<br />
executionRole : string<br />
isDecomposedIn<br />
isSubtask<br />
isExecutionTask (isSubtask)<br />
isLeadingTask (isSubtask)<br />
isPlanningTask (isSubtask)<br />
isControllingTask (isSubtask)<br />
isAdministrativeTask(isSubtask)<br />
Relationship<br />
TaskDecomposition<br />
criterion:<br />
{process, object}<br />
connection:<br />
{and,or}<br />
TaskDecomposition<br />
Task<br />
name: string<br />
location: string<br />
duration: float<br />
time: date<br />
resources: string<br />
TechnicalMeans<br />
Mechanism<br />
Terminator<br />
DfObject<br />
Transition<br />
Value<br />
NetObject<br />
Process<br />
Domain<br />
name:string<br />
XorBlob<br />
Predicate<br />
isDecomposedIn<br />
isSubtask<br />
isExecutionTask (isSubtask)<br />
isLeadingTask (isSubtask)<br />
isPlanningTask (isSubtask)<br />
isControllingTask (isSubtask)<br />
isAdministrativeTask(isSubtask)<br />
Event<br />
isGuard<br />
valIsInstanceOf<br />
starts<br />
With<br />
XorBranch<br />
Branch<br />
XorMerge<br />
Merge<br />
effects<br />
triggers<br />
Value<br />
Blob<br />
Xor<br />
Blob<br />
history : bool<br />
>1<br />
And<br />
Blob<br />
Transition<br />
contains<br />
isValue<br />
TaskDecomposition<br />
criterion:<br />
{process, object}<br />
connection:<br />
{and,or}<br />
trans<br />
Comes<br />
From<br />
Blob<br />
contains<br />
trans<br />
Goes<br />
To<br />
Attribute<br />
Value<br />
Pair
Literaturverzeichnis<br />
[Acker, 1973] H. B. Acker. Organisationsanalyse, Verfahren und Techniken praktischer Organisationsarbeit.<br />
Gehlen, Baden-Baden, 9. Auflage, 1973.<br />
[Andersen et al., 1991] R. Andersen, J. A. Bubenko, A. Sølvberg (eds.). Advanced Information<br />
Systems Engineering, Third International Conference CAiSE’91, Trondheim, Norway, May<br />
1991, Proceedings, LNCS 498. Springer, Berlin, 1991.<br />
[ANSI/IEEE Std. 729, 1983] IEEE Standard Glossary of Software Engineering Terminology<br />
(ANSI/IEEE Std. 729-1983). The Institute of Electrical and Electronics Engineering, New<br />
York, Spring 1983.<br />
[Apostel, 1960] L. Apostel. Towards the formal study of models in a non formal science. Synthese,<br />
12:125–161, 1960.<br />
[Arnold, 1993a] R. S. Arnold. A Roadmap Guide to Software Reengineering Technology. in<br />
[Arnold, 1993b], 3–22. 1993.<br />
[Arnold, 1993b] R. S. Arnold (ed.). Software Reengineering. IEEE Computer Society Press,<br />
Los Alamitos, 2. edition, 1993.<br />
[Arthur Young International, 1988] Information Engineering, Computer System Methodology:<br />
Planning, June 1988.<br />
[Auramäki et al., 1987] E. Auramäki, M. Leppänen, V. Savolainen. Universal Framework for<br />
Information Activities. Data Base, 11–20, Fall/Spring 1987.<br />
[Balzert / Balzert, 1994] H. Balzert, H. Balzert. Werkzeuge <strong>für</strong> die objektorientierte Softwareentwicklung.<br />
CD-ROM in [Balzert, 1994], 1994.<br />
[Balzert, 1988] H. Balzert. Die Entwicklung von Software–Systemen, Prinzipien, Methoden,<br />
Sprachen, Werkzeuge. Bibliographisches Institut, Zürich, 1988.<br />
[Balzert, 1993] H. Balzert (Hrsg.). CASE Systeme und Werkzeuge. BI Wissenschaftsverlag,<br />
Mannheim, 5. Auflage, 1993.<br />
[Balzert, 1994] H. Balzert. Methoden der objektorientierten Systemanalyse. Bibliographisches<br />
Institut, Mannheim, 1994.<br />
[Balzert, 1996a] H. Balzert. Lehrbuch der Softwaretechnik, Softwareentwicklung, Band 1.<br />
Spektrum, Heidelberg, 1996.
280 Literaturverzeichnis<br />
[Balzert, 1996b] H. Balzert. SWT CD ROM. CD-ROM in [Balzert, 1996a], 1996.<br />
[Balzert, 1998a] H. Balzert. Lehrbuch der Softwaretechnik, Software-Management, Software-<br />
Qualitätssicherung, Unternehmensmodellierung, Band 2. Spektrum, Heidelberg, 1998.<br />
[Balzert, 1998b] H. Balzert. SWT 2 CD ROM V1.0. CD-ROM in [Balzert, 1998a], 1998.<br />
[Batini et al., 1992] C. Batini, S. Ceri, S. B. Navathe. Conceptual Database Design. Benjamin/Cummings,<br />
Redwood City, 1992.<br />
[Bauer, 1993] F. L. Bauer. Software Engineering, Wie es begann. Informatik Spektrum,<br />
16(5):259–260, Oktober 1993.<br />
[Baumgarten, 1996] B. Baumgarten. Petri-Netze, Grundlagen und Anwendungen. Spektrum,<br />
Heidelberg, 2. Auflage, 1996.<br />
[Becker / Schütte, 1997] J. Becker, R. Schütte. <strong>Referenz</strong>-Informationsmodelle <strong>für</strong> den Handel:<br />
Begriff, Nutzen und Empfehlung <strong>für</strong> die Gestaltung und unternehmensspezifische Adaption<br />
von <strong>Referenz</strong>modellen. in [Krallmann, 1997], 427–448. 1997.<br />
[Becker / Vossen, 1996a] J. Becker, G. Vossen. Geschäftsprozeßmodellierung und Workflow-<br />
Management: Eine Einführung. in [Becker / Vossen, 1996b], 17–26. 1996.<br />
[Becker / Vossen, 1996b] J. Becker, G. Vossen (Hrsg.). Geschäftsprozeßmodellierung und Workflows,<br />
Modelle, Methoden, Werkzeuge. Thomson, Bonn, 1996.<br />
[Becker et al., 1995] J. Becker, M. Rosemann, R. Schütte. Grundsätze ordnungsmäßiger Modellierung.<br />
Wirtschaftsinformatik, 37(5):435–445, 1995.<br />
[Becker et al., 1997] J. Becker, M. Rosemann, R. Schütte (Hrsg.). Entwicklungsstand und Entwicklungsperspektiven<br />
der <strong>Referenz</strong>modellierung, Münster, März 1997. Westfälische Wilhelms<br />
Universität, Münster, Institut <strong>für</strong> Wirtschaftsinformatik.<br />
[Berge, 1976] C. Berge. Graphs and Hypergraphs. North-Holland, Amsterdam, 2. edition, 1976.<br />
[Bernus et al., 1998] P. Bernus, K. Mertins, G. Schmidt (eds.). Handbook on Architectures of<br />
Information Systems, in: International Handbooks of Information Systems. Springer, Berlin,<br />
1998.<br />
[Berztiss / Matjasko, 1995] A. T. Berztiss, K. J. Matjasko. Queries and the Incremental Construction<br />
of Conceptual Models. in [Kangassalo et al., 1995], 175–185. 1995.<br />
[Bihr / <strong>Se</strong>elos, 1997] H. Bihr, H.-J. <strong>Se</strong>elos. Entwicklung eines <strong>Referenz</strong>datenmodells <strong>für</strong> Krankenhäuser.<br />
Wirtschaftsinformatik, 39(4):367–371, August 1997.<br />
[Blaha, 1992] M. Blaha. Models of models. Journal of Object-Oriented Programming, 5(5):13–<br />
18, <strong>Se</strong>ptember 1992.<br />
[Blum, 1980a] E. Blum. Möglichkeit und Grenzen des Organigramms unter besonderer Berücksichtigung<br />
großbetrieblicher und mehrdimensionaler Organisationsstrukturen, Teil 1: Konventionelle<br />
Organigramme. Zeitschrift <strong>für</strong> Organisation, (1):42–51, 1980.
Literaturverzeichnis 281<br />
[Blum, 1980b] E. Blum. Möglichkeit und Grenzen des Organigramms unter besonderer Berücksichtigung<br />
großbetrieblicher und mehrdimensionaler Organisationsstrukturen, Teil 2: Organigramme<br />
<strong>für</strong> mehrdimensionale Organisationsstrukturen. Zeitschrift <strong>für</strong> Organisation, 84–91,<br />
1980.<br />
[Blum, 1991] E. Blum. Betriebsorganisation, Methoden und Techniken, Organisation als Gestaltungsprozeß,<br />
Erhebungs- und Darstellungstechniken, Problemanalyse/Alternativensuche,<br />
interne Kontrolle. Gabler, Wiesbaden, 3. Auflage, 1991.<br />
[Boehm, 1976] B. W. Boehm. Software Engineering. IEEE Transactions on Computers,<br />
25(12):1226–1241, December 1976.<br />
[Boehm, 1979] B. W. Boehm. Guidelines for Verifying and Validating Software Requirements<br />
and Design Specifications. in [Samet, 1979], 711–719. 1979.<br />
[Boehm, 1981] B. W. Boehm. Software Engineering Economics. Prentice Hall, Englewood<br />
Cliffs, 1981.<br />
[Boehm, 1988] B. W. Boehm. A Spiral Model of Software Development and Enhancement.<br />
IEEE Computer, 21(5):61–72, 1988.<br />
[Booch et al., 1999] G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language User<br />
Guide. Addison Wesley, Reading, 1999.<br />
[Booch, 1994] G. Booch. Object Oriented Design with Applications. Benjamin/Cummings,<br />
Redwood City, 2. edition, 1994.<br />
[Booch, 1996] G. Booch. Konsolidierung der Methoden. Object Spectrum, (4):57 – 60, Juli/August<br />
1996.<br />
[Bosch / Mitchel, 1997] J. Bosch, S. Mitchel (eds.). Object-Oriented Technology, ECOOP’97-<br />
Workshop Reader, LNCS 1357. Springer, Berlin, 1997.<br />
[Braek / Haugen, 1993] R. Braek, O. Haugen. Engineering Real Time Systems. Prentice-Hall,<br />
Englewood Cliffs, 1993.<br />
[Brinkkemper et al., 1989] S. Brinkkemper, M. Geruts, I. van de Kamp, J. Acohen. On a Formal<br />
Approach to the Methodology of Information Planning. Technical Report 89-12, University<br />
of Nijmegen, Department of Informatics, Nijmegen, August 1989.<br />
[Brinkkemper et al., 1990] S. Brinkkemper, M. de Lange, R. Looman, F. H. G. C. van der Steen.<br />
On the Derivation of Method Comparison by Meta-Modeling. ACM SIGSOFT Software<br />
Engineering Notes, 15(1):49–58, 1990.<br />
[Brinkkemper et al., 1996] S. Brinkkemper, K. Lyytinen, R. Welke (eds.). Proceedings of the<br />
IFIP TC8 Working Conference on Method Engineering: Principles of Method Construction<br />
and Tool Support. Chapman & Hall, 1996.<br />
[Brinkkemper, 1990] S. Brinkkemper. Formalisation of Information Systems Modeling. Thesis<br />
Publishers, Amsterdam, 1990.
282 Literaturverzeichnis<br />
[Brinkkemper, 1996] S. Brinkkemper. Method Engineering: Engineering of Information Systems<br />
Developement Methods and Tools. Information & Software Technology, 38(4):275–<br />
280, 1996.<br />
[Brodie et al., 1986] M. Brodie, J. Mylopoulos, J. W. Schmidt (eds.). On Conceptual Modeling,<br />
Perspectives from Artificial Intelligence, Databases and Programming Languages. Springer,<br />
New York, 2. edition, 1986.<br />
[Brombacher, 1991] R. Brombacher. Effizientes Informationsmanagement, Die Herausforderung<br />
von Gegenwart und Zukunft. Schriften zur Unternehmensführung, 44:111–134, 1991.<br />
[Büchli / Chrobok, 1997] R. Büchli, R. Chrobok. Organisations- und Planungstechniken im Unternehmen,<br />
Methoden, Instrumente und Handlungsempfehlungen nach dem ganzheitlichen<br />
Organisationsmodell GOM. Schäffer Poeschel, Stuttgart, 2. Auflage, 1997.<br />
[Bußmann, 1990] H. Bußmann. Lexikon der Sprachwissenschaft. Kröner, Stuttgart, 2. Auflage,<br />
1990.<br />
[Capellmann / Franzke, 1991] C. Capellmann, A. Franzke. GRAL Eine Sprache <strong>für</strong> die graphbasierte<br />
Modellierung. Diplomarbeit D 143, Universität Koblenz-Landau, Fachbereich Informatik,<br />
Koblenz, 1991.<br />
[Carnap, 1968] R. Carnap. Logische Syntax der Sprache. Springer, Wien, 2. Auflage, 1968.<br />
[Carstensen et al., 1994] M. Carstensen, J. Ebert, A. Winter. Deklarative Beschreibung von Graphsprachen<br />
(Erweiterte Kurzfassung). in [Simon, 1994]. 1994.<br />
[Carstensen, 1996] M. Carstensen. Konzept eines Generators <strong>für</strong> CASE-Umgebungen. Manuskript,<br />
August 1996.<br />
[Chapin, 1970] N. Chapin. Flowcharting with the ANSI Standard: A Tutorial. ACM Computing<br />
Surveys, 2:119–146, 1970.<br />
[Chen, 1976] P. P. Chen. The Entity–Relationship Model, Toward a Unified View of Data. ACM<br />
Transactions on Database Systems, 1(1):9–36, March 1976.<br />
[Chen, 1983] P. P. Chen (ed.). Entity-Relationship Approach to Information Modeling. Elsevier,<br />
Amsterdam, 1983.<br />
[Coad / Yourdon, 1991] P. Coad, E. Yourdon. Object-Oriented Analysis. Yourdon Press, Englewood<br />
Ciffs, 2. edition, 1991.<br />
[Coleman et al., 1994] D. Coleman, P. Arnold, S. Bodoff, C. Dollin, H. Gilchrist, F. Hayes, P. Jeremaes.<br />
Object-Oriented Development, The Fusion Method. Prentice Hall, London, 1994.<br />
[Constantopoulos et al., 1996] P. Constantopoulos, J. Mylopoulos, Y. Vassiliou, (eds.). Advanced<br />
Inforamtion Systems Engineering, 8th International Confernce, CAiSE’96, Heraklion,<br />
LNCS 1080. Springer, Berlin, 1996.<br />
[Cook / Daniels, 1994] S. Cook, J. Daniels. Designing Object Systems: Object Modeling with<br />
Syntropy. Prentice Hall, 1994.
Literaturverzeichnis 283<br />
[Coy, 1989] W. Coy. Brauchen wir eine Theorie der Informatik? Informatik-Spektrum,<br />
12(5):256–266, Oktober 1989.<br />
[Dahm / Widmann, 1998] P. Dahm, F. Widmann. Das Graphenlabor, Version 4.2. Fachbericht<br />
Informatik 11/98, Universität Koblenz-Landau, Institut <strong>für</strong> Informatik, Koblenz, 1998.<br />
[Dahm et al., 1998a] P. Dahm, J. Ebert, A. Franzke, M. Kamp, A. Winter. TGraphen und EER-<br />
Schemata, Formale Grundlagen. in [Ebert et al., 1998], 51–65. 1998.<br />
[Dahm et al., 1998b] P. Dahm, M. Kamp, F. Moskopp. Das Schemamodul, Schnittstellenbeschreibung.<br />
Projektbericht 1/98, Universität Koblenz-Landau, Institut <strong>für</strong> Softwaretechnik,<br />
Koblenz, 1998.<br />
[Davenport, 1993] T. H. Davenport. Process Innovation, Reengineering Work through Information<br />
Technologie. Harvard Business School Press, Boston, 1993.<br />
[Day / Zimmermann, 1983] J. D. Day, H. Zimmermann. The OSI Reference Model. Proceedings<br />
of the IEEE, 71:1334–1340, December 1983.<br />
[DeMarco, 1978] T. DeMarco. Structured Analysis and System Specification. Yourdon Inc.,<br />
New York, 1978.<br />
[Denert, 1991] E. Denert. Software Engineering. Springer, Heidelberg, 1991.<br />
[Derungs et al., 1996] M. Derungs, P. Vogler, H. Österle. Metamodell Workflow. Version 1.5.<br />
Bericht IM HSG/CC PSI/3, Institut <strong>für</strong> Wirtschaftsinformatik, Universität St. Gallen, 24. Mai<br />
1996.<br />
[Dijkstra, 1968] E. W. Dijkstra. Go To Statement Considererd Harmfull. Comm<strong>uni</strong>cation of the<br />
ACM, 11(3):147–148, March 1968.<br />
[Diller, 1990] A. Diller. Z, An Introduction to Formal Methods. Wiley, 1990.<br />
[DIN 2330, 1993] Begriffe und Benennungen, Allgemeine Grundsätze. Beuth, Berlin, Dezember<br />
1993.<br />
[DIN 66001, 1983] Sinnbilder und ihre Anwendung. Beuth, Berlin, Dezember 1983.<br />
[DIN 66261, 1985] Sinnbilder <strong>für</strong> Struktogramme nach Nassi-Shneiderman. Beuth, Berlin, November<br />
1985.<br />
[DIN 69900, 1987] Netzplantechnik. Beuth, Berlin, August 1987.<br />
[DIVO, 1966] DIVO (Hrsg.). MPM: Die Metra-Potential-Methode, in: DIVO Information, Reihe<br />
2, Sonderheft 1. DIVO Institut <strong>für</strong> Wirtschaftsforschung, Sozialforschung und angewandte<br />
Mathematik, 2. Auflage, Januar 1966.<br />
[Dörner, 1993] D. Dörner. Modellbildung und Simulation. in [Roth, 1993], 327–340. 1993.<br />
[Drüke, 1996] M. Drüke. Dokumentation <strong>für</strong> den Datenflußdiagramm-Editor. Studienarbeit<br />
S 429, Universität Koblenz-Landau, Fachbereich Informatik, Koblenz, Mai 1996.
284 Literaturverzeichnis<br />
[Dumslaff et al., 1992] U. Dumslaff, M. Mertesacker, A. Winter. Konzeptualisierung und<br />
Durchführung der Branchensoftwareanalyse. in [Ebert et al., 1992], 235–333. 1992.<br />
[Dumslaff et al., 1994] U. Dumslaff, J. Ebert, M. Mertesacker, A. Winter. Ein Vorgehensmodell<br />
zur Software-Evaluation. HMD, 31(175):89–105, Januar 1994.<br />
[Ebert / Engels, 1994] J. Ebert, G. Engels. Design Representation. in [Marciniak, 1994], 382–<br />
394. 1994.<br />
[Ebert / Franzke, 1995] J. Ebert, A. Franzke. A Declarative Approach to Graph Based Modeling.<br />
in [Mayr et al., 1995], 38–50. 1995.<br />
[Ebert / Süttenbach, 1997a] J. Ebert, R. Süttenbach. An OMT Metamodel. Fachbericht Informatik<br />
13/97, Universität Koblenz-Landau, Institut <strong>für</strong> Informatik, Koblenz, 1997.<br />
[Ebert / Süttenbach, 1997b] J. Ebert, R. Süttenbach. Integration of Z-based <strong>Se</strong>mantics of OO-<br />
Notations. in [Bosch / Mitchel, 1997]. 1997.<br />
[Ebert et al., 1992] J. Ebert, D. Euler, M. Twardy (Hrsg.). Computerunterstützte Auftragsabwicklung<br />
im Handwerk, Untersuchung von Problemfeldern und Konzeptualisierung von Bildungsmaßnahmen<br />
<strong>für</strong> die Bereiche der Energie- und Fertigungstechnik. Carl, Laasphe, 1992.<br />
[Ebert et al., 1996a] J. Ebert, R. Gimnich, A. Winter. Wartungsunterstützung in heterogenen<br />
Sprachumgebungen, Ein Überblick zum Projekt GUPRO. in [Lehner, 1996], 263–275. 1996.<br />
[Ebert et al., 1996b] J. Ebert, A. Winter, P. Dahm, A. Franzke, R. Süttenbach. Graph Based<br />
Modeling and Implementation with EER/GRAL . in [Thalheim, 1996], 163–178. 1996.<br />
[Ebert et al., 1997a] J. Ebert, A. Franzke, M. Kamp, D. Polock, F. Widmann. TGREP – Graphklasse<br />
zur Repräsentation von TGraph–bezogenen Ausdrücken und Prädikaten. Projektbericht<br />
12/97, Universität Koblenz-Landau, Institut <strong>für</strong> Softwaretechnik, Koblenz, 1997.<br />
[Ebert et al., 1997b] J. Ebert, R. Süttenbach, I. Uhe. Meta-CASE in Practice: a Case for KOG-<br />
GE. in [Olivé / Pastor, 1997], 203–216. 1997.<br />
[Ebert et al., 1998] J. Ebert, R. Gimnich, H. H. Stasch, A. Winter (Hrsg.). GUPRO, Generische<br />
Umgebung zum Programmverstehen. Fölbach, Koblenz, 1998.<br />
[Ebert et al., 1999a] J. Ebert, B. Kullbach, A. Winter. GraX – An Interchange Format for Reengineering<br />
Tools. in [WCRE, 1999], 89–98. 1999.<br />
[Ebert et al., 1999b] J. Ebert, R. Süttenbach, I. Uhe. JKogge: a Component-Based Approach for<br />
Tools in the Internet. in [STJA, 1999]. 1999.<br />
[Ebert, 1981] J. Ebert. Effiziente Graphenalgorithmen. Akademische Verlagsgesellschaft, 1981.<br />
[Ebert, 1993] J. Ebert. Efficient Interpretation of State Charts. in [Ésik, 1993], 121–221. 1993.<br />
[Ebert, 1997] J. Ebert. MetaCASE: Generierung und Anpassung von CASE-Werkzeugen. in<br />
[Gens, 1997], 191–196. 1997.
Literaturverzeichnis 285<br />
[ECMA, 1991] A Reference Model for Computer Assisted Software Engineering Environments<br />
Frameworks. Technical Report TR/55, European Computer Manufacturers Association, 111<br />
Rue du Rhône, CH-1204 Genf, 1991.<br />
[Ehrig / Mahr, 1985] H. Ehrig, B. Mahr. Fundamentals of Algebraic Specification. Springer,<br />
Berlin, 1985.<br />
[Ehrig et al., 1991] H. Ehrig, H.-J. Kreowski, G. Rozenberg (eds.). Graph Grammars and their<br />
Application to Computer Science, LNCS 532. Springer, Berlin, 1991.<br />
[EIA/IS-107, 1994] CDIF Framework for Modeling and Extensibility. (Extract of Interim Standard)<br />
http://www.eigroup.org/cdif/how-to-obtain-standards.html (20.08.1999)<br />
EIA/IS-107, Electronic Industries Association, Arlington, January 1994.<br />
[EIA/IS-108, 1994] CDIF Transfer Format – General Rules for Syntaxes and Encodings.<br />
(Extract of Interim Standard) http://www.eigroup.org/cdif/how-to-obtainstandards.html<br />
(20.08.1999) EIA/IS-108, Electronic Industries Association, Arlington, January<br />
1994.<br />
[EIA/IS-109, 1994] CDIF Transfer Format – Transfer Format Syntax SYNTAX.1. (Extract<br />
of Interim Standard) http://www.eigroup.org/cdif/how-to-obtain-standards.html<br />
(20.08.1999) EIA/IS-109, Electronic Industries Association, Arlington, January 1994.<br />
[EIA/IS-110, 1994] CDIF Transfer Format – Transfer Format Encoding ENCODING.1. (Extract<br />
of Interim Standard) http://www.eigroup.org/cdif/how-to-obtain-standards.html<br />
(20.08.1999) EIA/IS-110, Electronic Industries Association, Arlington, January 1994.<br />
[EIA/IS-111, 1994] CDIF Integrated Meta-model, Foundation Subject Area. (Extract of Interim<br />
Standard) http://www.eigroup.org/cdif/how-to-obtain-standards.html (20.<br />
08.1999) EIA/IS-111, Electronic Industries Association, Arlington, January 1994.<br />
[EIA/IS-112, 1995] CDIF Integrated Meta-model, Common Subject Area. (Extract of Interim<br />
Standard) http://www.eigroup.org/cdif/how-to-obtain-standards.html (20.<br />
08.1999) EIA/IS-112, Electronic Industries Association, Arlington, December 1995.<br />
[EIA/IS-113, 1994] CDIF Integrated Meta-model, Data Modeling Subject Area. (Extract of Interim<br />
Standard) http://www.eigroup.org/cdif/how-to-obtain-standards.html (20.<br />
08.1999) EIA/IS-113, Electronic Industries Association, Arlington, December 1994.<br />
[EIA/IS-115, 1995] CDIF Integrated Meta-model Data Flow Model, Subject Area. (Extract<br />
of Interim Standard) http://www.eigroup.org/cdif/how-to-obtain-standards.html<br />
(20.08.1999) EIA/IS-115, Electronic Industries Association, Arlington, December 1995.<br />
[Elmasri / Navathe, 2000] R. A. Elmasri, S. B. Navathe. Fundamentals of Database Systems.<br />
Addison Wesley, Reading, 3. edition, 2000.<br />
[Elmasri / Wiederhold, 1983] R. A. Elmasri, G. Wiederhold. GORDAS: A formal high-level<br />
Query Language for the Entity-Relationship Model. in [Chen, 1983], 49–72. 1983.
286 Literaturverzeichnis<br />
[Elmasri et al., 1993] R. A. Elmasri, V. Kouramajian, B. Thalheim (eds.). Entity-Relationship<br />
Approach, ER’93. 12th International Conference on the Entity-Relationship Approach, Arlington,<br />
Texas, LNCS 823. Springer, Berlin, December 1993.<br />
[Embley / Goldstein, 1997] D. W. Embley, R. C. Goldstein (eds.). Conceptual Modeling, ER’97,<br />
LNCS 1331. Springer, Berlin, 1997.<br />
[Engel, 1993] A. Engel. Organisationsforschung und Informatik. Vorlesungsskript, Institut <strong>für</strong><br />
Sozialwissenschaftliche Informatik, Universität Koblenz-Landau, August 1993.<br />
[Engel, 1995] A. Engel. Vorgangsbearbeitung im Informationsverbund. in [Huber-Wäschle et<br />
al., 1995], 118–126. 1995.<br />
[Engel, 1996] A. Engel. Verwaltungsreorganisation mit <strong>Referenz</strong>modellen. Ein Beitrag zur Konzeption<br />
einer Vorgangsunterstützungsumgebung <strong>für</strong> die Öffentliche Verwaltung. in [Scheer,<br />
1996], 457–483. 1996.<br />
[Engels et al., 1992] G. Engels, C. Lewerentz, M. Nagl, W. Schäfer, A. Schürr. Building Integrated<br />
Software Development Environments. Part 1: Tool Specification. ACM Transactions<br />
on Software Engineering and Methodology, 1(2):135–167, 1992.<br />
[Ernst and Young, 1990] NAVIGATOR System <strong>Se</strong>ries, Reference Manual, Analysis Phase Manual,<br />
Release 1.0. 1990.<br />
[Ernst, 1997] J. Ernst. Introduction to CDIF. http://www.eigroup.org/cdif/intro.html<br />
(19.07.1999), <strong>Se</strong>ptember 1997.<br />
[Ésik, 1993] Z. Ésik (eds.). Fundamentals of Computation Theory, 9th International Conference<br />
FCT’93, Szeded, Hungary, 23–27 August, 1993, LNCS 710. Spinger, Berlin, 1993.<br />
[Euler, 1989] D. Euler. Gestaltung von computerunterstützten Informationssystemen: von der<br />
bildungspolitischen Programmatik zur didaktischen Konzeption. Kölner Zeitschrift <strong>für</strong> Wirtschaft<br />
und Pädagogik, (7):63–107, November 1989.<br />
[Even, 1979] S. Even. Graph Algorithms. Pitman, Maryland, 1979.<br />
[Eversheim, 1996] W. Eversheim (Hrsg.). Prozeßorientierte Unternehmensorganisation: Konzepte<br />
und Methoden zur Gestaltung schlanker Organisationen. Springer, Berlin, 2. Auflage,<br />
1996.<br />
[Falkenberg et al., 1995] E. D. Falkenberg, W. Hesse, A. Olivé (eds.). Information System Concepts,<br />
Towards a Consolidation of Views. London, 1995.<br />
[Falkenberg et al., 1998] E. D. Falkenberg, W. Hesse, P. Lindgreen, B. E. Nilsson, J. L. H. Oei,<br />
C. Rolland, R. K. Stamper, F. J. M. van Assche, A. A. Verrijn-Stuart, K. Voss. FRISCO, A<br />
Framework of Information System Concepts, The FRISCO Report (Web edition). Department<br />
of Computer Science, University of Leiden, ftp://ftp.leiden<strong>uni</strong>v.nl/pub/rul/<br />
fri-full.zip (15.11.1999), 1998.<br />
[Färberböck et al., 1991] H. Färberböck, T. Gutzwiller, M. Heym. Ein Vergleich von Requirements<br />
Engineering Methoden auf Metamodell-Basis. in [Timm, 1991], 40–66. 1991.
Literaturverzeichnis 287<br />
[Fayol, 1919] H. Fayol. Allgemeine und industrielle Verwaltung. München, 1919.<br />
[Ferstl / Sinz, 1996] O. K. Ferstl, E. J. Sinz. Geschäftsprozeßmodellierung im Rahmen des <strong>Se</strong>mantischen<br />
Objektmodells. in [Becker / Vossen, 1996b], 47–61. 1996.<br />
[Flatscher, 1996] R. G. Flatscher. An Overview of the Architecture of EIA’a CASE Data Interchange<br />
Format (CDIF). Rundbrief des GI-Fachausschuß 5.2 http://www.eigroup.org<br />
/cdif/online.html (19.07.1999), 3(1):26–30, Sommer 1996.<br />
[Flatscher, 1998] R. G. Flatscher. Meta-Modellierung in EIA/CDIF. ADV-Verlag, Wien, 1998.<br />
[Floyd et al., 1997] C. Floyd, A. Krabbel, S. Ratuski, I. Wetzel. Zur Evolution der evolutionären<br />
Systementwicklung: Erfahrungen aus einem Krankenhausprojekt. Informatik Spektrum,<br />
20(1):13–20, Februar 1997.<br />
[Fowler / Scott, 1998] M. Fowler, K. Scott. UML konzentriert, Die neue Standard-Objektmodellierungssprache<br />
anwenden. Addison Wesley, Bonn, 1998.<br />
[Frank / Prasse, 1997a] U. Frank, M. Prasse. Ein Bezugsrahmen zur Beurteilung objektorientierter<br />
<strong>Modellierungssprachen</strong> – Veranschaulicht am Beispiel von OML und UML. Arbeitsbericht<br />
6, Institut <strong>für</strong> Wirtschaftsinformatik, Universität Koblenz-Landau, <strong>Se</strong>ptember 1997.<br />
[Frank / Prasse, 1997b] U. Frank, M. Prasse. Zur Standardisierung objektorientierter <strong>Modellierungssprachen</strong>:<br />
Eine kritische Betrachtung des State of the Art am Beispiel der Unified<br />
Modeling Language. Rundbrief des GI-Fachausschußes 5.2, 4(1), <strong>Se</strong>ptember 1997.<br />
[Frank, 1994] U. Frank. Multiperspektivische Unternehmensmodellierung. Theoretischer Hintergrund<br />
und Entwurf einer objektorientierten Entwurfsumgebung. Bericht 225, GMD, München/Wien,<br />
1994.<br />
[Frank, 1997a] U. Frank. Enriching Object-Oriented Methods with Domain Specific Knowledge:<br />
Outline of a Method for Enterprise Modeling. Arbeitsbericht 4, Institut <strong>für</strong> Wirtschaftsinformatik,<br />
Universität Koblenz-Landau, Koblenz, Juli 1997.<br />
[Frank, 1997b] U. Frank. Towards a Standardization of Object-Oriented Modeling Languages.<br />
Arbeitsbericht 3, Institut <strong>für</strong> Wirtschaftsinformatik, Universität Koblenz-Landau, Koblenz,<br />
Mai 1997.<br />
[Frank, 1998] U. Frank. The MEMO Object Modeling Language (MEMO-OML). Arbeitsbericht<br />
10, Institut <strong>für</strong> Wirtschaftsinformatik, Universität Koblenz-Landau, J<strong>uni</strong> 1998.<br />
[Franzke / Winter, 1996] A. Franzke, A. Winter. Softwareevaluation mit Mitteln des RequirementsEngineering.<br />
EMISA FORUM, (1):71–74, 1996.<br />
[Franzke / Zenz, 1995] A. Franzke, I. Zenz. Studie: Auswahl eines Standardsoftwarepakets <strong>für</strong><br />
die keramische Industrie. Projektbericht, Institut <strong>für</strong> Softwaretechnik, Universität Koblenz-<br />
Landau, J<strong>uni</strong> 1995.<br />
[Franzke, 1997] A. Franzke. GRAL: A Reference Manual. Fachbericht Informatik 3/97, Universität<br />
Koblenz-Landau, Fachbereich Informatik, Koblenz, 1997.
288 Literaturverzeichnis<br />
[Frege, 1891] G. Frege. Funktion und Begriff. Vortrag, gehalten in der Sitzung vom 9.1.1891 in<br />
der Jenaischen Gesellschaft <strong>für</strong> Medizin und Naturwissenschaft (in [Frege, 1994][S. 18–39]),<br />
1891.<br />
[Frege, 1994] G. Frege. Funktion, Begriff, Bedeutung. Vandenhoeck & Ruprecht, Göttingen,<br />
7. Auflage, 1994.<br />
[Gaitanides et al., 1994a] M. Gaitanides, R. Scholz, A. Vrohlings. Prozeßmanagement, Grundlagen<br />
und Zielsetzungen. in [Gaitanides et al., 1994b], 1–19. 1994.<br />
[Gaitanides et al., 1994b] M. Gaitanides, R. Scholz, A. Vrohlings, M. Raster (Hrsg.). Prozeßmanagement:<br />
Konzepte, Umsetzungen und Erfahrungen des Reengineering. Hanser, München,<br />
1994.<br />
[Gaitanides, 1983] M. Gaitanides. Prozeßorganisation, Entwicklung, Ansätze und Programme<br />
prozeßorientierter Organisationsgestaltung. Vahlen, München, 1983.<br />
[Gamma et al., 1994] E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns. Elements<br />
of Reusable Object-Oriented Software. Addison-Wesley, Reading, 1994.<br />
[Gamma, 1996] E. Gamma. Java und Design Patterns, Eine vielversprechende Kombination.<br />
Java Spektrum, 19–24, <strong>Se</strong>ptember/Oktober 1996.<br />
[Gane / Sarson, 1979] C. Gane, T. Sarson. Structured Systems Analysis, Tools & Techniques.<br />
Prentice-Hall, Englewood Cliffs, 1979.<br />
[Gane, 1990] C. Gane. Computer Aided Software Engineering. The Methodologies, the Products,<br />
and the Future. Prentice Hall, Englewood Cliffs, 1990.<br />
[Genrich / Lautenbach, 1981] H. J. Genrich, K. Lautenbach. System Modeling with High-Level<br />
Petri Nets. Theoretical Computer Science, 13:109–136, 1981.<br />
[Gens, 1997] W. Gens (Hrsg.). STJA’97, Smalltalk und Java in Industrie und Ausbildung. Technische<br />
Universität Illmenau, Illmenau, 10.-11. <strong>Se</strong>ptember 1997.<br />
[Gigch, 1991] J. P. van Gigch. System Design, Modeling and Metamodeling. Plenum Press,<br />
New York, 1991.<br />
[Göhner, 1984] P. Göhner. Methoden zur Entwicklung von Realzeitsystemen und ihre praktische<br />
Anwendung in EPOS. in [Trauboth / Jaeschke, 1984], 325–335. 1984.<br />
[Goor et al., 1992] G. van den Goor, S. Hong, S. Brinkkemper. A Comparison of Six Object-<br />
Oriented Analysis and Design Methods. Technical report, Method Engineering Institute, University<br />
of Twente, 1992.<br />
[Göttler, 1988] H. Göttler. Graph Grammars used in Software Engineering, IFB 178. Springer,<br />
Berlin, 1988.<br />
[Graham, 1994] I. Graham. Object-Oriented Methods. Addison-Wessley, Wokingham, 2. edition,<br />
1994.
Literaturverzeichnis 289<br />
[Grochla, 1974] E. Grochla. Integrierte Gesamtmodelle der Datenverarbeitung, Entwicklung<br />
und Anwendung des Kölner Integrationsmodells (KIM), in: Reihe Betriebsinformatik. Hanser,<br />
München, Wien, 1974.<br />
[Grochla, 1978] E. Grochla. Einführung in die Organisationstheorie. Poeschel, Stuttgart, 1978.<br />
[Grochla, 1980] E. Grochla (Hrsg.). Handwörterbuch der Organisation. Poeschel, Stuttgart,<br />
2. Auflage, 1980.<br />
[Grochla, 1982] E. Grochla. Grundlagen der organisatorischen Gestaltung. Poeschel, Stuttgart,<br />
1982.<br />
[Grupp, 1990] B. Grupp. Darstellungstechniken <strong>für</strong> Organisatoren, Programmierer, EDV-<br />
Anwender, Revisoren. Forkel, Wiesbaden, 1990.<br />
[Gutzwiller, 1994] T. A. Gutzwiller. Das CC RIM-<strong>Referenz</strong>modell <strong>für</strong> den Entwurf von betrieblichen,<br />
transaktionsorientierten Informationssystemen, in: Betriebs- und Wirtschaftsinformatik.<br />
Physika, Heidelberg, 1994.<br />
[Haines, 1996] M. N. Haines. Ein <strong>Referenz</strong>modell <strong>für</strong> Krankenhausinformationssysteme. Diplomarbeit,<br />
Institut <strong>für</strong> Informatik, Universität Koblenz-Landau, Koblenz, <strong>Se</strong>ptember 1996.<br />
[Hammer / Champy, 1996] M. Hammer, J. Champy. Business Reengineering, Die Radikalkur<br />
<strong>für</strong> das Unternehmen. Campus, Frankfurt, 6. Auflage, 1996.<br />
[Harary, 1976] F. Harary. Graphentheorie. Oldenburger, München, 1976.<br />
[Harel, 1987] D. Harel. Statecharts: A Visual Formalism for Complex Systems. Science of<br />
Computer Programming, 8:231–274, 1987.<br />
[Harel, 1988] D. Harel. On Visual Formalisms. Comm<strong>uni</strong>cation of the ACM, 31(5):514–530,<br />
May 1988.<br />
[Hars, 1994] A. Hars. <strong>Referenz</strong>datenmodelle: Grundlagen effizienter Datenmodellierung. Gabler,<br />
Wiesbaden, 1994.<br />
[Hasselbring, 1997] W. Hasselbring (Hrsg.). Erfolgsfaktor Softwaretechnik <strong>für</strong> die Entwicklung<br />
von Krankenhausinformationssystemen, in: Informatik <strong>für</strong> Systementwickler, Band 4. Krehl,<br />
Münster, 1997.<br />
[Haux et al., 1998] R. Haux, A. Lagemann, P. Knaup, P. Schmücker, A. Winter. Management<br />
von Informationssystemen, Analyse, Bewertung, Auswahl, Bereitstellung und Einführung von<br />
Informationssystemkomponenten am Beispiel von Krankenhausinformationssystemen. Teubner,<br />
Stuttgart, 1998.<br />
[Heinrich, 1997] L. J. Heinrich. Grundlagen der Wirtschaftsinformatik. in [Rechenberg / Pomberger,<br />
1997], 859–874. 1997.<br />
[Hess et al., 1995] T. Hess, L. Brecht, H. Österle. Metamodell Prozessentwurf. Version 1.5.<br />
Bericht IM HSG/CC PRO/13, Institut <strong>für</strong> Wirtschaftsinformatik, Hochschule St. Gallen, 18.<br />
April 1995.
290 Literaturverzeichnis<br />
[Hesse et al., 1984] W. Hesse, H. Keutgen, A. Luft, D. Rombach. Ein Begriffssystem <strong>für</strong> die<br />
Softwaretechnik, Vorschlag zur Terminologie. Informatik Spektrum, 7:200–213, 1984.<br />
[Heym / Österle, 1993] M. Heym, H. Österle. Computer-aided Methodology Engineering. Information<br />
and Software Technology, 35(6/7):345–354, June/July 1993.<br />
[Heym, 1995] M. Heym. Prozeß- und Methodenmanagement <strong>für</strong> Informationssysteme. Überblick<br />
und <strong>Referenz</strong>modell. Springer, Berlin, 1995.<br />
[Hill et al., 1994] W. Hill, R. Fehlbaum, P. Ulrich. Organiationslehre 1, Ziele, Instrumente und<br />
Bedingungen der Organisation sozialer Systeme. Haupt, Bern, 5. Auflage, 1994.<br />
[Hoffmann, 1980] F. Hoffmann. Begriff der Organisation. in [Grochla, 1980], 1425–1431. 1980.<br />
[Hollingsworth, 1994] D. Hollingsworth. The Workflow Reference Model. Technical Report<br />
TC00-1003, Workflow Management Coalition, Brussels, 29. November 1994.<br />
[Hopcroft / Ullmann, 1979] J.E. Hopcroft, J.D. Ullmann. Introduction to Automata Theory, Languages<br />
and Computation. Addison Wessley, Reading, Massachusets, 1979.<br />
[Hoppen, 1992] D. Hoppen. Organisation und Informationstechnologie, Grundlagen <strong>für</strong> ein<br />
Konzept zur Organisationsgestaltung. Dr. Kovač, Hamburg, 1992.<br />
[Hub / Fischer, 1977] H. Hub, W. Fischer. Techniken der Aufbauorganisation. W. Kohlhammer,<br />
Stuttgart, 1977.<br />
[Huber-Wäschle et al., 1995] F. Huber-Wäschle, H. Schauer, P. Widmayer (Hrsg.). GISI 95,<br />
Herausforderungen eines globalen Informationsverbundes <strong>für</strong> die Informatik, in: Informatik<br />
aktuell. Springer, Berlin, 1995.<br />
[Hull / King, 1987] R. Hull, R. King. <strong>Se</strong>mantic Database Modeling: Survey, Applications, and<br />
Research Issues. ACM Computing Surveys, 19(3):201–260, <strong>Se</strong>ptember 1987.<br />
[Hunt, 1999] J. Hunt. Product Roundup, Mad About Modeling. Application Development<br />
http://www.appdevadvisor.com/html/prd roundup/index.shtml, (22.06.1999), May<br />
1999.<br />
[IDS, 1995] ARIS Methoden. Handbuch, IDS Prof. Scheer GmbH, Saarbrücken, April 1995.<br />
[IDS, 1998] ARIS Toolset 4.0, Whitepaper. http://www.ids-scheer.de/support.htm (25.<br />
06.1999), IDS Prof. Scheer GmbH, 20. Juli 1998.<br />
[Imhoff / Paczkowski, 1997] B. Imhoff, J. Paczkowski. Erstellung und Validierung eines <strong>Referenz</strong>modells<br />
<strong>für</strong> Krankenhausinformationssysteme. in [Hasselbring, 1997], 55–63. 1997.<br />
[Imhoff et al., 1996] B. Imhoff, C. Jostes, G. Mies. Datenmodell Bundeswehrkrankenhaus, Studienergebnis.<br />
Abschlußbericht, Sanitätsamt der Bundeswehr, Abteilung IV, Medizinische Informatik<br />
und Informationstechnik, Bonn, Oktober 1996.<br />
[ISG, 1999] OEW-Handbuch. Programmdokumentation, Object Engineering Workbench Version<br />
3.0.3, Demo Version, Innovative Software GmbH, Frankfurt, 1999.
Literaturverzeichnis 291<br />
[ISO/IEC DIS 15474, 1998] Information Technology, Software Engineering Data Definition<br />
and Interchange, Overview and Framework. Technical Report DIS 15475, 1998.<br />
[ISO/IEC DIS 15475, 1998] Information Technology – Software Engineering Data Definition<br />
and Interchange – Transfer Format. Technical Report DIS 15475, 1998.<br />
[ISO/IEC DIS 15476, 1998] Information Technology – Software Engineering Data Definition<br />
and Interchange – Integrated Meta-model. Technical Report DIS 15476, 1998.<br />
[ITU, 1988] ITU-T Recommendation B.17: Adoption of the CCITT Specification and description<br />
Language (SDL). ITU, 1988.<br />
[ITU, 1996] ITU-TS Recommendation Z.120: Message <strong>Se</strong>quence Chart (MSC). ITU, Geneva,<br />
1996.<br />
[Jablonski / Bussler, 1996] S. Jablonski, C. Bussler. Workflow-Management: Modeling Concepts,<br />
Architectures and Implementation. International Thomson Computer Press, London,<br />
1996.<br />
[Jablonski et al., 1997] S. Jablonski, M. Böhm, W. Schulze (Hrsg.). Workflow-Management,<br />
Entwicklung von Anwendungen und Systemen, Facetten einer neuen Technologie. dpunkt,<br />
Heidelberg, 1997.<br />
[Jackson, 1975] M. A. Jackson. Principles of Program Design. Academic Press, London, 1975.<br />
[Jackson, 1983] M. A. Jackson. System Developement. Prentice Hall, Englewood Cliffs, 1983.<br />
[Jacobson et al., 1993] I. Jacobson, M. Christerson, P. Jonsson, G. Övergaard. Object-Oriented<br />
Software Engineering, A Use Case Driven Approach. Addison Wessley, Wokingham, 4. edition,<br />
1993.<br />
[Jacobson et al., 1994] I. Jacobson, M. Ericsson, A. Jacobson. The Object Advantage, Business<br />
Process Reengineering with Object Technology. Addison Wesley, Wokingham, 1994.<br />
[James Martin Associates, 1987] ISP - Information Strategie Planing Handbook. Dublin, 1987.<br />
[James Martin Associates, 1989] Business Area Analysis Handbook. Ashford, 1989.<br />
[Jarke et al., 1995] M. Jarke, R. Gallersdörfer, M. A. Jeusfeld, M. Staudt, S. Eherer. Concept-<br />
Base, a Deductive Object Base for Meta Data Management. Journal of intelligent Information<br />
Systems, Special Issue on Advances in Deductive Object-Oriented Databases, 4(2):167–192,<br />
1995.<br />
[Jensen, 1998] K. Jensen. An Introduction to the Practical Use of Coloured Petri Nets. in [Reisig<br />
/ Rozenberg, 1998], 237–292. 1998.<br />
[Johansson et al., 1993] H. Johansson, P. McHugh, J. Pendlebury, W. Wheeler. Business Process<br />
Reengineering, Breakpoint Strategies for Market Dominance. Wiley, Chichester, 1993.<br />
[Jones, 1990] C. B. Jones. Systematic Software Development Using VDM. Prentice-Hall, Hempel<br />
Hempstead, 2. edition, 1990.
292 Literaturverzeichnis<br />
[Jordt / Gscheidle, (o.J.)] A. Jordt, K. Gscheidle. Fernkurs <strong>für</strong> Organisation, Lehrbriefe 1–6.<br />
Gabler, Wiesbaden, (o.J.).<br />
[Joschke, 1980] H. K. Joschke. Darstellungstechniken. in [Grochla, 1980], 431–462. 1980.<br />
[Kamp, 1998] M. Kamp. GReQL, Eine Anfragesprache <strong>für</strong> das GUPRO-Repository, Sprachbeschreibung<br />
(Version 1.2). in [Ebert et al., 1998], 173–202. 1998.<br />
[Kangassalo et al., 1995] H. Kangassalo, H. Jaakkola, S. Ohsuga, B. Wangler (eds.). Information<br />
Modeling and Knowledge Bases VI, in: Frontiers in Artificial Intelligence and Applications,<br />
Volume 26. IOS Press, Amsterdam, 1995.<br />
[Kaucky, 1988] G. Kaucky. Informationstechnologie und organisatorische Änderungen. Deutscher<br />
Universitäts-Verlag, Wiesbaden 1988, 1988.<br />
[Keller et al., 1992] G. Keller, M. Nüttgens, A.-W. Scheer. <strong>Se</strong>mantische Prozeßmodellierung<br />
auf der Grundlage „Ereignisgesteuerter Prozeßketten“ (EPK). IWi-Heft Heft 89, Institut <strong>für</strong><br />
Wirtschaftsinformatik, Saarbrücken, Januar 1992.<br />
[Kelley, 1961] J.E. Kelley. Critical-Path Planning and Scheduling: Mathematical Basis. Operations<br />
Research, 9:296–320, 1961.<br />
[Kelter, 1988] U. Kelter. PCTE, Weiterentwicklung und Standardisierung. Softwaretechnik-<br />
Trends, 8(1):33–42, August 1988.<br />
[Kelter, 1989] U. Kelter. PCTE. Informatik Spektrum, 12(3):165–166, J<strong>uni</strong> 1989.<br />
[Kelly et al., 1996] S. Kelly, K. Lyytinen, M. Rossi. MetaEdit+, A Fully Configurable Multi-<br />
User and Multi-Tool CASE and CAME Environment. in [Constantopoulos et al., 1996], 1–21.<br />
1996.<br />
[KGSt, 1995] Kommunales Informationsmodell KIM. Bericht 12/1995, Kommunale Gemeinschaftsstelle<br />
(KGSt), Köln, Dezember 1995.<br />
[Kieser / Kubicek, 1992] A. Kieser, H. Kubicek. Organisation. Walter de Gruyter, Berlin, New<br />
York, 3. Auflage, 1992.<br />
[King et al., 1988] S. King, I. H. Sørensen, J. Woodcock. Z: Grammar and Concrete and Abstract<br />
Syntaxes, Version 2.0. Technical Monograph PRG-68, Oxford University Compution<br />
Labaratory, Programming Research Group, Oxford, July 1988.<br />
[Kling, 1993] R. Kling. Organizational Analysis in Computer Science. The Information Society,<br />
9(2):71–87, March-May 1993.<br />
[KnowledgeWare, 1987] Information Engineering Workbench: Planning, Analysis and Design<br />
Workstation Guide, ESP release 4.0, 1987.<br />
[Knuth, 1974] D. E. Knuth. Structured Programming with go to Statements. Computing Surverys,<br />
6(4):261–301, December 1974.
Literaturverzeichnis 293<br />
[Kölzer / Uhe, 1997] A. Kölzer, I. Uhe. Benutzerhandbuch <strong>für</strong> das KOGGE-Tool BONsai, Version<br />
3.0. Projektbericht 2/97, Universität Koblenz-Landau, Institut <strong>für</strong> Softwaretechnik, Koblenz,<br />
1997.<br />
[KoopA ADV, 1997] Handlungsleitfaden „IT-gestützte Vorgangsbearbeitung“. Schriftenreihe<br />
der KBST 35, Bundesministerium des Innern, Arbeitsgruppe O I 3 (KBSt), Kooperationsausschuß<br />
ADV, Arbeitsgruppe IT-gestützte Vorgangsbearbeitung, Redaktion: A. Engel, Forschungsstelle<br />
<strong>für</strong> Verwaltungsinformatik, Universität Koblenz-Landau, 1997.<br />
[Kornwachs, 1997] K. Kornwachs. Um wirklich Informatiker zu sein, genügt es nicht, Informatiker<br />
zu sein. Informatik Spektrum, 20(2):79–87, April 1997.<br />
[Kosiol, 1976] E. Kosiol. Organisation der Unternehmung. Th. Gabler, Wiesbaden, 2. Auflage,<br />
1976.<br />
[Krabbel et al., 1996] A. Krabbel, I. Wetzel, S. Ratuski. Objektorientierte Analysetechniken <strong>für</strong><br />
übergreifende Aufgaben. Softwaretechnik-Trends, 16(3):65–72, <strong>Se</strong>ptember 1996.<br />
[Krabbel et al., 1997] A. Krabbel, I. Wetzel, S. Ratuski. Anforderungsermittlung <strong>für</strong> Krankenhausinformationssysteme:<br />
Definition von Kernsystem und Ausbaustufen. in [Hasselbring,<br />
1997], 1–8. 1997.<br />
[Krallmann / Wood, 1998] H. Krallmann, G. Wood. Bonapart. in [Bernus et al., 1998], 568–587.<br />
1998.<br />
[Krallmann, 1997] H. Krallmann (Hrsg.). Wirtschaftsinformatik ’97. Heidelberg, 1997.<br />
[Krogstie et al., 1995] J. Krogstie, O. I. Lindland, G. Sindre. Defining Quality Aspects for Conceptual<br />
Models. in [Falkenberg et al., 1995], 216–231. 1995.<br />
[Krüger, 1981] Wilfried Krüger. Aufgabenanalyse: Renaissance einer Organisationstechnik.<br />
Zeitschrift <strong>für</strong> Organisation, (4):185–198, 1981.<br />
[Kuhn, 1979] T. S. Kuhn. Die Struktur wissenschaftlicher Revolutionen. Suhrkamp, Frankfurt,<br />
4. Auflage, 1979.<br />
[Kullbach / Winter, 1999] B. Kullbach, A. Winter. Querying as an Enabling Technology in Software<br />
Reengineering. in [Nesi / Verhoef, 1999], 42–50. 1999.<br />
[Kullbach et al., 1998] B. Kullbach, A. Winter, P. Dahm, J. Ebert. Program Comprehension in<br />
Multi-Language Systems. in [WCRE, 1998], 135–143. 1998.<br />
[Laender / Flynn, 1993] A. H. Laender, D. J. Flynn. A semantic Comparison of the Modeling<br />
Capabilities of the ER and NIAM Models. in [Elmasri et al., 1993], 242–256. 1993.<br />
[Langer et al., 1997] P. Langer, C. Schneider, J. Wehler. Prozeßmodellierung mit Ereignisgesteuerten<br />
Prozeßketten (EPKs) und Petri-Netzen. Wirtschaftsinformatik, 39(5):479–489,<br />
1997.<br />
[Leavitt / Bahrami, 1988] H. J. Leavitt, H. Bahrami. Managerial Psychology. The University of<br />
Chicago Press, Chicago, 5. edition, 1988.
294 Literaturverzeichnis<br />
[Leavitt, 1965] H. J. Leavitt. Applied Organizational Change in Industry: Structural, Technological<br />
and Humanistic Approaches. in [March, 1965], 1144–1170. 1965.<br />
[Lehner et al., 1991] F. Lehner, W. Auer-Rizzi, R. Bauer, K. Breit, J. Lehner, G. Reber. Organisationslehre<br />
<strong>für</strong> Wirtschaftsinformatiker. Hanser, München, Wien, 1991.<br />
[Lehner et al., 1995] F. Lehner, R. Maier, K. Hildebrand. Wirtschaftsinformatik. Theoretische<br />
Grundlagen. Hanser, München, 1995.<br />
[Lehner, 1995] F. Lehner. Modelle und Modellierung. in [Lehner et al., 1995], 73–164. 1995.<br />
[Lehner, 1996] F. Lehner (Hrsg.). Softwarewartung und Reengineering, Erfahrungen und Entwicklungen.<br />
Gabler, Wiesbaden, 1996.<br />
[Lindland et al., 1994] O. I. Lindland, G. Sindre, A. Sølvberg. Understanding Quality in Conceptual<br />
Modeling. IEEE Software, (2):42–49, March 1994.<br />
[Ling et al., 1998] T. W. Ling, S. Ram, M. L. Lee (eds.). Conceptual Modeling, ER’98, LN-<br />
CS 1507. Springer, Berlin, 1998.<br />
[Löcher / Pühler, 1997] M. Löcher, T. Pühler. Entwicklung eines Softwareevaluationstools. Studienarbeit,<br />
Universität Koblenz-Landau, Fachbereich Informatik, Koblenz, Juli 1997.<br />
[Longworth / Nicholls, 1986] G. Longworth, D. Nicholls. SSADM Manual. NCC Publications,<br />
Manchester, 1986.<br />
[Loucopoulos / Zicari, 1992] P. Loucopoulos, R. Zicari (eds.). Conceptual Modeling, Databases,<br />
and CASE. Wiley, New York, 1992.<br />
[Loucopoulos, 1992] P. Loucopoulos. Conceptual Modeling. in [Loucopoulos / Zicari, 1992],<br />
1–26. 1992.<br />
[Loucopoulos, 1994] P. Loucopoulos (eds.). Entity-Relationship Approach, ER’94. Business<br />
Modeling and Re-Engineering. 13th International Conference on the Entity-Relationship Approach,<br />
LNCS 881. Springer, Berlin, 13.-16. December 1994.<br />
[Lyytinen / Tahvanainen, 1992] K. Lyytinen, V.-P. Tahvanainen (eds.). Next Generation CASE<br />
Tools. IOS Press, Amsterdam, 1992.<br />
[Malcolm et al., 1959] D. G. Malcolm, J. H. Roseboom, C. E. Clark, W. Fazar. Application of a<br />
Technique for Resarch and Development Program Evaluation. Operations Research, 7:646–<br />
669, 1959.<br />
[Marca / McGowan, 1988] D. A. Marca, C. L. McGowan. SADT, Structured Analysis and Design<br />
Technique. McGraw Hill, New York, 1988.<br />
[March, 1965] J. G. March (ed.). Handbook of Organizations. Chicago, 1965.<br />
[Marciniak, 1994] J. J. Marciniak (ed.). Encyclopedia of Software Engineering. Wiley, New<br />
York, 1994.
Literaturverzeichnis 295<br />
[Marent, 1995] C. Marent. Branchenspezifische <strong>Referenz</strong>modelle <strong>für</strong> betriebswirtschaftliche IV-<br />
Anwendungsbereiche. Wirtschaftsinformatik, 37(3):303–313, 1995.<br />
[Martin / McClure, 1985a] J. Martin, C. McClure. Diagramming Techniques for Analysts and<br />
Programmers. Prentice Hall, Englewood Cliffs, 1985.<br />
[Martin / McClure, 1985b] J. Martin, C. McClure. Structured Techniques for Computing. Prentice<br />
Hall, Englewood Cliffs, 1985.<br />
[Martin / Odell, 1992] J. Martin, J. J. Odell. Object-Oriented Analysis and Design. Prentice<br />
Hall, Englewood Cliffs, 1992.<br />
[Martin, 1982] J. Martin. Strategic Data Planning. Prentice Hall, Englewood Cliffs, 1982.<br />
[Marx, 1998] T. Marx. NetCase, Softwareentwurf und Workflow-Modellierung mit Petri-<br />
Netzen. Shaker, Aachen, 1998.<br />
[Mayntz, 1985] R. Mayntz. Soziologie der öffentlichen Verwaltung. Müller, Heidelberg, 3. Auflage,<br />
1985.<br />
[Mayr et al., 1995] E. Mayr, G. Schmidt, G. Tinhofer (eds.). Graphtheoretic Concepts in Computer<br />
Science, LNCS 903. Springer, Berlin, 1995.<br />
[McDermid / Rook, 1991] J. A. McDermid, P. Rook. Software Development Process Models. in<br />
[McDermid, 1991], 15/1–15/36. 1991.<br />
[McDermid, 1991] J. A. McDermid. Software Engineer’s Reference Book. Butterworth-<br />
Heinemann, Oxford, 1991.<br />
[Mehlhorn, 1984] K. Mehlhorn. Graph Algorithms and NP-Completeness, in: Data structures<br />
and algorithms, Volume 2. Springer, Berlin, 1984.<br />
[Menzel / Mayer, 1998] C. Menzel, R. J. Mayer. The IDEF Family of Languages. in [Bernus et<br />
al., 1998], 208–241. 1998.<br />
[Menzl / Nauer, 1974] A. Menzl, E. Nauer. Das Funktionendiagramm, ein flexibles Organisations-<br />
und Führungsmittel. Paul Haupt, Bern, 2. Auflage, 1974.<br />
[Miˇsić / Moser, 1997] V. B. Miˇsić, S. Moser. Formal Approach to Metamodeling: A Generic<br />
Object-Oriented Perspective. in [Embley / Goldstein, 1997], 243–256. 1997.<br />
[Micro Tool, 1997] case/4/0/ im Überblick. http://www.microTool.de/prod.d/pdf/case<br />
40/faltblatt42.pdf (24.06.1999), Micro Tool GmbH, Berlin, 1997.<br />
[Micro Tool, 1998] case/4/0/ Quicktour. http://www.microTool.de/prod.d/pdf/case40/<br />
quicktour43.pdf (24.06.1999), Micro Tool GmbH, Berlin, 1998.<br />
[Microsoft, 1998] PROJECT-98, Das Handbuch. Microsoft Press, Redmond, 1998.<br />
[Miller, 1956] G. A. Miller. The magical Number <strong>Se</strong>ven, plus or minus two: Some Limits on<br />
our Capacity for processing Information. Psychology Review, 63(2):81–97, March 1956.
296 Literaturverzeichnis<br />
[Mittelstraß, 1984] J. Mittelstraß (Hrsg.). Enzyklopädie Philosophie und Wissenschaftstheorie.<br />
Bibliographisches Institut, Mannheim, 1984.<br />
[Moody / Shanks, 1994] D. L. Moody, G. G. Shanks. What Makes a Good Data Model? Evaluating<br />
the Quality of Entity Relationship Models. in [Loucopoulos, 1994], 94–111. 1994.<br />
[Münch et al., 1998] M. Münch, A. Schürr, A. J. Winter. Integrity Constraints in the Multiparadigm<br />
Language PROGRES. Technical Report DSSE-TR-98-2, Department of Electronics<br />
and Computer Science, University of Southampton, Southampton, February 1998.<br />
[Mylopoulos / Levesque, 1996] J. Mylopoulos, H. J. Levesque. An Overview of Knowledge<br />
Representation. in [Brodie et al., 1986], 3–17. 1996.<br />
[Mylopoulos et al., 1990] J. Mylopoulos, A. Borgida, M. Jarke, M. Koubarkis. Telos: Representing<br />
Knowledge About Information Systems. ACM Transactions on Information Systems,<br />
8(4):325–262, October 1990.<br />
[Mylopoulos, 1992] J. Mylopoulos. Conceptual Modeling with TELOS. in [Loucopoulos / Zicari,<br />
1992], 49–68. 1992.<br />
[Nagl, 1979] M. Nagl. Graph-Grammatiken, Theorie, Implementierung, Anwendung. Vieweg,<br />
Braunschweig, 1979.<br />
[Nagle et al., 1992] T. Nagle, J. Nagle, L. Gerholz, P. Eklund (eds.). Conceptual Structures:<br />
Current Research and Practice. Ellis, Horwood, 1992.<br />
[Nassi / Shneiderman, 1973] I. Nassi, B. Shneiderman. Flowchart Techniques for Structured Programming.<br />
ACM SIGPLAN Notices, (8):12–26, 1973.<br />
[Naur / Randell, 1969] P. Naur, B. Randell (eds.). Software Engineering, Report on a Conference<br />
sponsored by the NATO Science Committee, Garmisch, Germany, October 7-11, 1968.<br />
Scientific Affairs Division NATO, Brussels, January 1969.<br />
[Nesi / Verhoef, 1999] P. Nesi, C. Verhoef (eds.). Proceedings of the 3nd European Conference<br />
on Software Maintenance and Reengineering. IEEE Computer Society, Los Alamitos, 1999.<br />
[Nordsieck, 1962] F. Nordsieck. Die schaubildliche Erfassung und Untersuchung der Betriebsorganisation.<br />
Poeschel, Stuttgart, 6. Auflage, 1962.<br />
[Nordsieck, 1972] F. Nordsieck. Betriebsorganisation, Lehre und Technik. Poeschel, Stuttgart,<br />
2. Auflage, 1972.<br />
[Oestereich, 1998] B. Oestereich. Objektorientierte Geschäftsprozeßmodellierung mit der<br />
UML. Objektspektrum, (2):48–52, März/April 1998.<br />
[Ogden / Richards, 1923] C. K. Ogden, I. A. Richards. The Meaning of Meaning, A Study of the<br />
Influence of Language upon Thought and of the Science of Symbolism. Harcourt, Base and<br />
Company, New York, 1923.<br />
[Olivé / Pastor, 1997] A. Olivé, J. A. Pastor (eds.). Advanced Information Systems Engineering,<br />
9th international Conference, CAiSE’97, LNCS 1250. Springer, Berlin, 1997.
Literaturverzeichnis 297<br />
[Olle et al., 1982] T. W. Olle, H. G. Sol, A. A. Verrijn-Stuart (eds.). Information Systems Methodologies.<br />
North Holland, Amsterdam, 1982.<br />
[Olle et al., 1987] T. W. Olle, G. H. Sol, A. A. Verrijn-Stuart (eds.). Information Systems Design<br />
Methodologies: A Comparative Review. Proceedings of the IFIP WG 8.1 Working Conference<br />
on Comparative Review of Information Systems Design Methodologies, Noordwijkerhout,<br />
19-14. May 1982. Elsevier, North-Holland, 3. edition, 1987.<br />
[Olle et al., 1991] T. W. Olle, J. Hagelstein, I. G. Macdonald, C. Rolland, H. G. Sol, F. J. M.<br />
van Assche, A. A. Verrijn-Stuart. Information Systems Methodologies. A Framework for<br />
Understanding. Addison-Wesley, Wokingham, 2. edition, 1991.<br />
[OMG, 1999] Unified Modeling Language Specification, Version 1.3a1. CD-ROM in [Rumbaugh<br />
et al., 1999], January 1999.<br />
[Österle / Gutzwiller, 1992] H. Österle, T. Gutzwiller. Konzepte angewandter Analyse- und Design-Methoden.<br />
Ein <strong>Referenz</strong>-Metamodell <strong>für</strong> die Analyse und das System-Design, Band 1.<br />
Angewandte Informationstechnik, Hallbergmoos, 1992.<br />
[Papazoglou, 1995] M. P. Papazoglou (ed.). OOER’95: Object-Oriented and Entity Relationship<br />
Modeling, LNCS 1021. Springer, Berlin, 1995.<br />
[Partsch, 1998] H. Partsch. Requirements-Engineering systematisch. Springer, Berlin, 1998.<br />
[PERT, 1958] PERT Summary Report, Phase 1. Technical report, Special Projects Office, Buerau<br />
of Naval Weapons, Department of the Navy, U.S. Government Printing Office, Washington,<br />
D.C., July 1958.<br />
[Petri, 1962] C. A. Petri. Komm<strong>uni</strong>kation mit Automaten. Schriften des Institutes <strong>für</strong> instrumentelle<br />
Mathematik, Bonn, 1962.<br />
[Popkin, 1999] Enterprise Modeling, Aligning Business and Information Technology. White<br />
Paper, Popkin Software and Systems Ltd, Leamington, 1999.<br />
[Porter, 1985] M. E. Porter. Competitive Advantage. Free Press, New York, 1985.<br />
[Pressman, 1997] R. S. Pressman. Software Engineering, A Practitioners’s Approach. McCraw-<br />
Hill, New York, 4. edition, 1997.<br />
[Pro Ubis, 1999a] <strong>Referenz</strong>-Handbuch Bonapart 2.3. http://www.proubis.de/bonapartcd/<br />
(21.06.1999), Pro Ubis GmbH, Berlin, 1999.<br />
[Pro Ubis, 1999b] Tutorial Bonapart 2.3. http://www.proubis.de/bonapartcd/ (21.06.<br />
1999), Pro Ubis GmbH, Berlin, 1999.<br />
[Raet BV, 1988] Information Planning, De aanpak van Raet, J<strong>uni</strong> 1988.<br />
[Raue, 1996] H. Raue. Wiederverwendbare betriebliche Anwendungssysteme, Grundlagen und<br />
Methoden ihrer objektorientierten Entwicklung. Deutscher Universitäts-Verlag, Wiesbaden,<br />
1996.
298 Literaturverzeichnis<br />
[Rechenberg / Pomberger, 1997] P. Rechenberg, G. Pomberger (Hrsg.). Informatik Handbuch.<br />
Hanser, München, 1997.<br />
[REFA, 1992] REFA. Methodenlehre der Betriebsorganisation, Aufbauorganisation. Hanser,<br />
München, 1992.<br />
[Reisig / Rozenberg, 1998] W. Reisig, G. Rozenberg (eds.). Lectures on Petri Nets II: Applications,<br />
Advances in Petri Nets, LNCS 1492. Springer, Berlin, 1998.<br />
[Reisig, 1992] W. Reisig. Petrinetze, Eine Einführung. Springer, Berlin, 2. Auflage, 1992.<br />
[Rolf, 1998a] A. Rolf. Grundlagen der Organisations- und Wirtschaftsinformatik. Springer,<br />
Berlin, 1998.<br />
[Rolf, 1998b] A. Rolf. Herausforderungen <strong>für</strong> die Wirtschaftsinformatik. Informatik Spektrum,<br />
21(5):259–264, Oktober 1998.<br />
[Rolland / Cauvet, 1992] C. Rolland, C. Cauvet. Trends and Perspectives in Conceptual Modeling.<br />
in [Loucopoulos / Zicari, 1992], 27–48. 1992.<br />
[Rosemann / Schütte, 1997] M. Rosemann, R. Schütte. Grundsätze ordnungsmäßiger <strong>Referenz</strong>modellierung.<br />
in [Becker et al., 1997], 16–33. 1997.<br />
[Rosemann / zur Mühlen, 1995] M. Rosemann, M. zur Mühlen. Der Lösungsbeitrag von Metadatenmodellen<br />
beim Vergleich von Workflowmanagementsystemen. Arbeitsbericht 48, Institut<br />
<strong>für</strong> Wirtschaftsinformatik, Westfälische Wilhelms-Universität Münster, J<strong>uni</strong> 1995.<br />
[Rosemann / zur Mühlen, 1998] M. Rosemann, M. zur Mühlen. Modellierung der Aufbauorganisation<br />
in Workflow-Management-Systemen: Kritische Bestandsaufnahme und Gestaltungsvorschläge.<br />
EMISA-Forum, (1):78–85, 1998.<br />
[Rosemann, 1996] M. Rosemann. Komplexitätsmanagement in Prozeßmodellen: methodenspezifische<br />
Gestaltungsempfehlungen <strong>für</strong> die Informationsmodellierung. Gabler, Wiesbaden,<br />
1996.<br />
[Ross, 1977] D. T. Ross. Structured Analysis (SA): A Language for Comm<strong>uni</strong>cating Ideas.<br />
IEEE Transactions on Software Engineering, 3(1):16–34, January 1977.<br />
[Roth, 1993] E. Roth (Hrsg.). Sozialwissenschaftliche Methoden. Lehr- und Handbuch <strong>für</strong> Forschung<br />
und Praxis. Oldenbourg, München, 3. Auflage, 1993.<br />
[Roy, 1962] B. Roy. Cheminement et connexité dans les graphs. Applications aux problémes d’<br />
ordonnancement. METRA: Série Spéciale No. 1, Mai 1962.<br />
[Royce, 1970] W. W. Royce. Managing the Development of large Software Systeme. Proceedings<br />
of IEEE WESCON 1970 (Reprint in [Thayer, 1988, 118–127]), 1–9, 1970.<br />
[Rozenberg, 1997] G. Rozenberg (ed.). Handbook of Graph Grammars and Computing by<br />
Graph Transformation, Volume 1: Foundations. World Scientific, 1997.
Literaturverzeichnis 299<br />
[Rudolph et al., 1996] E. Rudolph, P. Graubmann, J. Grabowski. Tutorial on Message <strong>Se</strong>quence<br />
Charts. Computer Networks and ISDN Systems, 28(12):1629–1641, 1996.<br />
[Rumbaugh et al., 1991] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen. Object-<br />
Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, 1991.<br />
[Rumbaugh et al., 1999] J. Rumbaugh, I. Jacobson, G. Booch. The Unified Modeling Language<br />
Reference Manual. Addison Wesley, Reading, 1999.<br />
[Rumbaugh, 1995] J. Rumbaugh. What is a Method. Journal of Object-Oriented Programming,<br />
8(6):10–26, 1995.<br />
[Saeki, 1995] M. Saeki. Object-Oriented Meta Modeling. in [Papazoglou, 1995], 250–259.<br />
1995.<br />
[Samet, 1979] P. A. Samet (ed.). EURO IFIP 79. North Holland, Amsterdam, 1979.<br />
[Scheer, 1992] A.-W. Scheer. Architektur integrierter Informationssysteme, Grundlagen der Unternehmensmodellierung.<br />
Springer, Berlin, 2. Auflage, 1992.<br />
[Scheer, 1994] A.-W. Scheer. Wirtschaftsinformatik, <strong>Referenz</strong>modelle <strong>für</strong> industrielle Geschäftsprozesse.<br />
Springer, Berlin, 5. Auflage, 1994.<br />
[Scheer, 1996] A.-W. Scheer (Hrsg.). Rechnungswesen und EDV 96. Kundenorientierung in Industrie,<br />
Dienstleistung und Verwaltung. 17. Saarbrücker Arbeitstagung. Physica, Heidelberg,<br />
1996.<br />
[Scheer, 1997] A.-W. Scheer. ARIS House of Business Engineering, Konzept zur Beschreibung<br />
und Ausführung von <strong>Referenz</strong>modellen. in [Becker et al., 1997], 3–15. 1997.<br />
[Scheer, 1998] A.-W. Scheer. ARIS. in [Bernus et al., 1998], 541–565. 1998.<br />
[Schmidt, 1980] G. Schmidt. Die Entwicklung von Organisationsmethoden und Techniken.<br />
Zeitschrift <strong>für</strong> Organisation, 322–335, 1980.<br />
[Schmidt, 1989] G. Schmidt. Methode und Technik der Organisation, in: Schriftenreihe „Der<br />
Organisator“, Band 1. Verlag Dr. Götz Schmidt, Gießen, 8. Auflage, 1989.<br />
[Scholz-Reiter, 1990] B. Scholz-Reiter. CIM-Informations- und Komm<strong>uni</strong>kationssyteme, Darstellung<br />
von Methoden und Konzeption eines rechnergestützten Werkzeugs <strong>für</strong> die Planung.<br />
Oldenbourg, München, 1990.<br />
[Schulz, 1988] A. Schulz. Software Entwurf, Methoden und Werkzeuge. Oldenburg, München,<br />
1988.<br />
[Schumm et al., 1995] T. Schumm, C. Thomann, A. Winter. Evaluation von Krankenhausinformationssystemen.<br />
Projektbericht 4/95, Institut <strong>für</strong> Softwaretechnik, Universität Koblenz-<br />
Landau, Juli 1995.<br />
[Schürr / Westfechtel, 1992] A. Schürr, B. Westfechtel. Graphgrammatiken und Graphersetzungssyteme.<br />
Aachener Informatik Berichte AIB 92–15, Fachgruppe Informatik, RWTH<br />
Aachen, 1992.
300 Literaturverzeichnis<br />
[Schürr, 1991a] A. Schürr. Operationales Spezifizieren mit Programmierten Graphersetzungssystemen:<br />
Formale Definitionen, Anwendungen und Werkzeuge. Deutscher Universitätsverlag,<br />
Braunschweig, 1991.<br />
[Schürr, 1991b] A. Schürr. PROGRES: A VHL-Language Based on Graph Grammars. in [Ehrig<br />
et al., 1991], 641–659. 1991.<br />
[Schürr, 1994] A. Schürr. PROGRES, A Visual Language and Environment for PROgramming<br />
with Graph REwriting Systems. Aachener Informatik Berichte AIB 94–11, Lehrstuhl <strong>für</strong><br />
Informatik III, RWTH Aachen, 1994.<br />
[Schütte / Rotthowe, 1998] R. Schütte, T. Rotthowe. The Guidelines to Modeling, An Approach<br />
to Enhance the Quality in Information Models. in [Ling et al., 1998], 240–254. 1998.<br />
[Schütte, 1996] R. Schütte. <strong>Referenz</strong>prozeßmodelle <strong>für</strong> Handelsunternehmen. HMD, 33(192):<br />
72–87, 1996.<br />
[Schwarz, 1980] H. Schwarz. Stelle. in [Grochla, 1980], 2113–2118. 1980.<br />
[Schwarze, 1994] J. Schwarze. Netzplantechnik, Eine Einführung in das Projektmanagement.<br />
Neue Wirtschafts-Briefe, Herne, 7. Auflage, 1994.<br />
[<strong>Se</strong>ubert, 1997] M. <strong>Se</strong>ubert. Business Objekte und objektorientiertes Prozeßdesign. in [Becker<br />
et al., 1997], 46–64. 1997.<br />
[Shlaer / Mellor, 1988] S. Shlaer, S. J. Mellor. Object-Oriented Systems Analysis: Modeling the<br />
World in Data. Yourdon Press, Englewood Cliffs, 1988.<br />
[Simon et al., 1997] C. Simon, H. Ridder, T. Marx. The Petri Net Tools Neptun and Posidon.<br />
Fachbericht Informatik 15/97, Universität Koblenz-Landau, Institut <strong>für</strong> Informatik, Koblenz,<br />
1997.<br />
[Simon, 1994] F. Simon. Tagungsband zum Workshop „Deklarative Programmierung und Spezifikation“,<br />
der GI-Fachgruppe 2.1.4 Alternative Konzepte <strong>für</strong> Sprachen und Rechner, 9.-11.<br />
Mai 1994, Bad Honnef. Fachbericht Nr. 9412, Institut <strong>für</strong> Informatik und praktische Mathematik,<br />
Universität Kiel, Kiel, <strong>Se</strong>ptember 1994.<br />
[Smith / Smith, 1977] J. M. Smith, D. C. P. Smith. Databases Abstractions: Aggregation. Comm<strong>uni</strong>cations<br />
of the ACM, 20:405–413, 1977.<br />
[Smith, 1990] A. Smith. Der Wohlstand der Nationen, Eine Untersuchung seiner Natur und<br />
seiner Ursachen. dtv, 5. Auflage, 1990.<br />
[Sommerville, 1996] I. Sommerville. Software Engineering. Addison-Wesley, Wokingham,<br />
5. edition, 1996.<br />
[Sowa / Zachman, 1992] J. F. Sowa, J. A. Zachman. Extending and formalizing the framework<br />
for information systems architecture. IBM Systems Journal, 31(3):590–616, 1992.<br />
[Sowa, 1984] J. F. Sowa. Conceptual Structures. Information, Processing in Mind and Machine,<br />
in: The Systems Programming <strong>Se</strong>ries. Addison-Wesley, Reading, 1984.
Literaturverzeichnis 301<br />
[Sowa, 1992] J. F. Sowa. Conceptual Graphs Summary. in [Nagle et al., 1992], 3–51. 1992.<br />
[Spivey, 1992] J. M. Spivey. The Z Notation: A Reference Manual, in: International <strong>Se</strong>ries in<br />
Computer Science. Prentice Hall, Englewood Cliffs, 2. edition, 1992.<br />
[Staff, 1996] J. Staff. MS Project 4.1. Tewi, München, 1996.<br />
[Staud, 1999] J. Staud. Geschäftsprozeßanalyse mit Ereignisgesteuerten Prozeßketten, Grundlage<br />
des Business Reengineering <strong>für</strong> SAP R/3 und andere Betriebswirtschaftliche Standardsoftware.<br />
Springer, Berlin, 1999.<br />
[Stegmüller, 1973] W. Stegmüller. Probleme und Resultate der Wissenschaftstheorie und analytischen<br />
Philosophie, Band 2, Theorie und Erfahrung. Springer, Berlin, 2. Auflage, 1973.<br />
[Steinebach, 1983] N. Steinebach. Verwaltungsbetriebslehre, in: Das Verwaltungstudium in<br />
Grundrissen, Band 6. Walhalla und Praetoria, Regensburg, 2. Auflage, 1983.<br />
[STJA, 1999] STJA. STJA 99, 5. Fachkonferenz Smalltalk und Java in Industrie und Ausbildung.<br />
CD-ROM, 1999.<br />
[Strahringer, 1996] S. Strahringer. Metamodellierung als Instrument des Methodenvergleichs,<br />
Eine Evaluierung am Beispiel objektorientierter Analysemethoden. Shaker, Aachen, 1996.<br />
[Süttenbach / Ebert, 1997] R. Süttenbach, J. Ebert. A Booch Metamodel. Fachbericht Informatik<br />
5/97, Universität Koblenz-Landau, Institut <strong>für</strong> Informatik, Koblenz, 1997.<br />
[Süttenbach, 1998] R. Süttenbach. Formalizing Visual Languages of Object-Oriented Methods.<br />
in [Thurner / Erni, 1998]. 1998.<br />
[Süttenbach, 2000] R. Süttenbach. Formalisierung <strong>visuelle</strong>r <strong>Modellierungssprachen</strong> objektorientierter<br />
Methoden. Abstrakte Syntax und <strong>Se</strong>mantik. erscheint 2000.<br />
[Tanenbaum, 1990] A. S. Tanenbaum. Computer Netzwerke. Wolfram, Attenkirchen, 2. Auflage,<br />
1990.<br />
[Taylor, 1919] F. W. Taylor. Die Grundsätze wissenschaftlicher Betriebsführung. Oldenbourg,<br />
München, 1919.<br />
[Teorey et al., 1989] T. J. Teorey, G. Wei, D. L. Bolton, J. A. Koenig. ER Model Clustering as<br />
an Aid for User Comm<strong>uni</strong>cation and Documentation in Database Design. Comm<strong>uni</strong>cations<br />
of the ACM, 32(8):975–987, August 1989.<br />
[Thalheim, 1996] B. Thalheim (ed.). Conceptual Modeling, ER’96, LNCS 1157. Springer,<br />
Berlin, 1996.<br />
[Thayer, 1988] R. H. Thayer (ed.). IEEE Tutorial on Software Engineering Project Management.<br />
Computer Society of the IEEE, Los Angeles, 1988.<br />
[Thurner / Erni, 1998] V. Thurner, A. Erni. CAiSE’98 5th Doctoral Consortium on Advanced Information<br />
Systems Engineering, Proceedings. Technical Report, Eidgenössische Technische<br />
Hochschule Zürich, Zürich, May 1998.
302 Literaturverzeichnis<br />
[Timm, 1991] M. Timm (Hrsg.). Requirements Engineering ’91. „Structured Analysis“ und<br />
verwandte Ansätze, Marburg, 10./11. April 1991, Proceedings, IFB 273. Springer, Berlin,<br />
1991.<br />
[Tolvanen et al., 1996] J.-P. Tolvanen, M. Rossi, H. Liu. Method Engineering: Current Research<br />
Directions and Implications for Future Research. in [Brinkkemper et al., 1996], 296–317.<br />
1996.<br />
[Tolvanen, 1998] J.-P. Tolvanen. Incremental Method Engineering with Modeling Tools, in:<br />
Jyväskylä Studies in Computer Science, Economics and Statistics, Volume 47. University of<br />
Jyväskylä, Jyväskylä, 1998.<br />
[Trauboth / Jaeschke, 1984] H. Trauboth, A. Jaeschke (Hrsg.). Prozeßrechner 1984, Prozeßdatenverarbeitung<br />
im Wandel, 4. GI/GMR/KfK-Fachtagung, Karlsruhe, 26.-28. <strong>Se</strong>ptember<br />
1984, IFB 86. Springer, Berlin, 1984.<br />
[Troitzsch, 1990] K. G. Troitzsch. Modellbildung und Simulation in den Sozialwissenschaften.<br />
Westdeutscher Verlag, Opladen, 1990.<br />
[Turner et al., 1987] W. S. Turner, R. P. Langerhorst, G. E. Hice, H. B. Eilers, A. A. Uijtenbroek.<br />
System Development Methodology (SDM II). North Holland and Pandata, 1987.<br />
[Verheijen / van Bekkum, 1982] G. M. A. Verheijen, J. van Bekkum. NIAM: An Information<br />
Analysis Method. in [Olle et al., 1982], 537–589. 1982.<br />
[Verhoef et al., 1991] T. F. Verhoef, A. H. M. ter Hofstede, G. M. Wijers. Structuring Modeling<br />
Knowledge for CASE Shells, SOCRATES Project. in [Andersen et al., 1991], 501–524. 1991.<br />
[Versteegen / Versteegen, 1998] C. Versteegen, G. Versteegen. UML inside, CASE-Markt: Stand<br />
der Dinge. iX, (9):85–89, <strong>Se</strong>ptember 1998.<br />
[Versteegen, 1998] G. Versteegen. Objektorientierte Geschäftsprozeßmodellierung mit der<br />
UML: die „Innovator Business Workbench“. Objektspektrum, (1):62–67, Januar/Februar<br />
1998.<br />
[Vescoukis et al., 1996] V. Vescoukis, N. Papaspyrou, E. Theodorakis (eds.). CAiSE’96, Software<br />
engineering Challenges in Modern Information Systems, 3rd Doctoral Consortium,<br />
Athens, May 1996. Software Engineering Laboratory, National Technical University of<br />
Athens.<br />
[Voßbein, 1987] R. Voßbein. Organisation. Oldenbourg, München, 2. Auflage, 1987.<br />
[Vossen, 1994] G. Vossen. Datenmodelle, Datenbanksprachen und Datenbank-Management-<br />
Systeme. Addison-Wesley Publishing Company, Bonn, 2. Auflage, 1994.<br />
[Ward / Mellor, 1985] P. T. Ward, S. J. Mellor. Structured Development for Real-Time Systems,<br />
Volume 1 Introduction and Tools. Prentice-Hall, Englewood Cliffs, 1985.<br />
[Warnier, 1974] J. D. Warnier. Logical Construction of Programs. Stefert Kroese, Leiden, 1974.
Literaturverzeichnis 303<br />
[WCRE, 1998] Fifth Working Conference on Reverse Engineering. IEEE Computer Society,<br />
Los Alamitos, 1998.<br />
[WCRE, 1999] Sixth Working Conference on Reverse Engineering. IEEE Computer Society,<br />
Los Alamitos, 1999.<br />
[WfMC, 1996] Terminology & Glossary. Technical Report WFMC-TC-1011, Workflow Management<br />
Coalition, Brussels, June 1996.<br />
[Wieringa, 1998] R. J. Wieringa. A Survey of Structured and Object-Oriented Software Specification<br />
Methods and Techniques. ACM Computing Surveys, 30(4):459–527, December<br />
1998.<br />
[Wijers et al., 1992] G. M. Wijers, A. H. M. ter Hofstede, N. E. van Oostermon. Representation<br />
of Information Modeling Knowledge. in [Lyytinen / Tahvanainen, 1992], 167–223. 1992.<br />
[Willke, 1982] H. Willke. Systemtheorie, Eine Einführung in die Grundprobleme. Gustav Fischer,<br />
Stuttgart, 1982.<br />
[Wilson, 1976] R. J. Wilson. Einführung in die Graphentheorie. Vandenhoeck & Ruprecht,<br />
Göttingen, 1976.<br />
[Winter / Ebert, 1996] A. Winter, J. Ebert. Ein <strong>Referenz</strong>-Schema zur Organisationsbeschreibung.<br />
in [Becker / Vossen, 1996b], 101–123. 1996.<br />
[Winter / Ebert, 1997] A. Winter, J. Ebert. <strong>Referenz</strong>modelle <strong>für</strong> Krankenhausinformationssysteme<br />
und deren Anwendung. in [Zwierlein, 1997], 548–562. 1997.<br />
[Winter et al., 1999] A. Winter, A. Winter, K. Becker, O. Bott, B. Birgl, S. Gräber, W. Hasselbring,<br />
R. Haux, C. Jostes, O.-S. Penger, H.-U. Prokosch, J. Ritter, R. Schütte, A. Terstappen.<br />
<strong>Referenz</strong>modelle <strong>für</strong> die Unterstützung des Managements von Krankenhausinformationssystemen.<br />
Informatik, Biometrie und Epidemiologie in Medizin und Biologie, 30(4):173–189,<br />
1999.<br />
[Winter, 1992] A. Winter. Spezifikation der abstrakten und konkreten Syntax <strong>für</strong> die Modellierung<br />
nach dem Entity-Relationship-Paradigma. Diplomarbeit D 165, Universität Koblenz-<br />
Landau, Fachbereich Informatik, Koblenz, März 1992.<br />
[Winter, 1996] A. Winter. A Reference-Scheme for Describing Organizations. in [Vescoukis et<br />
al., 1996], 68–71. 1996.<br />
[Wintraeken, 1985] J. J. V. R. Wintraeken. Informatie-analyse volgens NIAM. Academic <strong>Se</strong>rvice,<br />
Den Haag, 1985.<br />
[Wirfs-Brock et al., 1990] R. Wirfs-Brock, B. Wilkerson, L. Wiener. Designing Object-Oriented<br />
Software. Prentice Hall, Englewood Cliffs, 1990.<br />
[Wordsworth, 1993] J. B. Wordsworth. Software Development with Z, A Practical Approach to<br />
Formal Methods in Software Enginering. Addison-Wesley, 1993.
304 Literaturverzeichnis<br />
[Yourdon, 1989] E. Yourdon. Modern Structured Analysis. Prentice Hall, Englewood Cliffs,<br />
1989.<br />
[Zamperoni / Löhr-Richter, 1993] A. Zamperoni, P. Löhr-Richter. Enhancing the Quality of<br />
Conceptual Database Specification through Validation. in [Elmasri et al., 1993], 85–98. 1993.<br />
[Zemanek, 1971] H. Zemanek. Was ist Informatik?, in: Rektorat der Technischen Hochschule<br />
in Wien (Hrsg.): Informatik, Aspekte und Studienmodelle. Wien, New York, 1971.<br />
[Zimmermann, 1971] H. J. Zimmermann. Netzplantechnik. Walter de Gruyter, Berlin, New<br />
York, 1971.<br />
[Zinnen, 1995] H. Zinnen. Polymorphie und Typanalysen in PROGRES. Diplomarbeit, RWTH<br />
Aachen, Lehrstuhl <strong>für</strong> Informatik III, Aachen, 1995.<br />
[Zündorf, 1996] A. Zündorf. PROgrammierte GRaph ErsetzungsSysteme, Spezifikation, Implementierung<br />
und Anwendung einer integrierten Entwicklungsumgebung. Deutscher Universitäts-Verlag,<br />
1996.<br />
[Zwierlein, 1997] E. Zwierlein (Hrsg.). Klinikmanagement, Erfolgsstrategien <strong>für</strong> die Zukunft.<br />
Urban & Schwarzenberg, München, 1997.
Andreas Winter studierte von 1984 bis 1992 Informatik mit Anwendungsschwerpunkt sozialwissenschaftliche<br />
Informatik (Verwaltungsinformatik) an der Universität Koblenz-Landau. Anschließend<br />
wurde er wissenschaftlicher Mitarbeiter der Universität Koblenz-Landau in der Forschungsgruppe<br />
Softwaretechnik bei Prof. Dr. Jürgen Ebert. Von <strong>Se</strong>ptember 1992 bis August<br />
1994 wurden seine wissenschaftlichen Arbeiten durch ein Graduiertenstipendium des Landes<br />
Rheinland-Pfalz unterstützt.<br />
<strong>Se</strong>ine wissenschaftlichen Interessen beziehen sich sowohl auf die formalen Grundlagen als auch<br />
auf die interdisziplinäre Anwendung der Softwaretechnik. Die Schwerpunkte seiner wissenschaftlichen<br />
Arbeiten sind in den Bereichen der Metamodellierung <strong>visuelle</strong>r und textueller Sprachen,<br />
der Methoden und Techniken des Software-Reengineerings und der Modellierung von Informationssystemen<br />
(insbesondere Krankenhausinformationssysteme) anzusiedeln.