Kurze Einführung in die SES Modellierung mit Bezug auf die SES Toolbox
T. Schwatinski, A. Schmidt, T. Pawletta
Aufgrund der aus dem amerikanischen stammenden Fachterme wird im Dokument eine gemischt
deutsch-englische Schreib- und Ausdrucksweise verwendet (z.B. Entität und Entity).
Einige Beispiele im Dokument sind angelehnt an [Zeigler 2007].
1. Der System Entity Structure Baum
Die System Entity Structure (SES) ist ein spezieller Baum. Die wesentlichen Definitionen des Baumes sind im Folgenden kurz aufgeführt. Abbildung 1 zeigt beispielhaft einen SES Baum.
- Allgemeine Definitionen:
Der Baum wird aus einer Menge von Knoten und Kanten gebildet. Die Knoten stellen Objekte der realen oder imaginären Welt dar. Einzelne Knoten können durch Kanten verbunden werden. Ein Knoten ohne Vorgängerknoten ist die Wurzel. Jeder Knoten ohne Nachfolger ist ein Blattknoten. Alle übrigen Knoten sind innere Knoten. Der direkte Vorgänger eines beliebigen Knotens wird Vater und der direkte Nachfolger Kind genannt . Alle Knoten mit ein und dem selben Vater sind Geschwister. Eine Folge von miteinander verbundenen Knoten, beginnend bei der Wurzel bis hin zu einem Blatt, wird Pfad genannt. Ein innerer Knoten mit all seinen Nachfolgern heißt Teilbaum.
Abbildung 1 Vereinfachte Darstellung eines SES Baums
- Erläuterungen zu Abbildung 1:
Alle Knoten sind blau und die Kanten sind rot bzw. schwarz dargestellt. Die roten Kanten kennzeichnen einen Pfad innerhalb des Baumes. Die SES unterscheidet zwischen zwei Arten von Knotentypen:
- Knoten mit Suffix, wie Dec, Spec oder MultiAspect, sind beschreibende Knotentypen(Deskriptive Knoten)
- Knoten ohne Suffix repräsentieren Objekte der realen oder imaginaären Welt (Entitäten Knoten)
Im nachfolgenden Abschnitt werden neben den speziellen Knotentypen einige weitere formale Beschreibungsmittel der SES thematisiert.
2. Beschreibungsmittel der System Entity Structure (SES)
Die System Entity Structure definiert unterschiedliche Arten von Beschreibungsmitteln:
- Knoten und Kanten
- Attribute und Variablen
- Kopplungen
- Zwangsbedingungen
- Auswahlregeln
Im Folgenden werden die Bedeutung der Beschreibungsmittel und deren Verwendung innerhalb der SES diskutiert.
2.1 Beschreibungsmittel Knoten
Die SES definiert die Knotentypen Entity, Aspect, Multiple Aspect und Specialization. Diese vier Knotentypen können in die zwei Hauptgruppen echte Knoten und deskriptive Knoten unterteilt werden. Die Entity-Knoten bilden dabei die Menge der echten Knoten und stehen für die Objekte der realen oder imaginären Welt. Im Gegensatz dazu bilden die übrigen drei Knotentypen die Menge der deskriptiven Knoten und definieren besondere Beziehungen zwischen Entity-Knoten. Im Folgenden werden die unterschiedlichen Knotentypen näher beschrieben.
2.1.1 Entity-Knoten
Eine Entität repräsentiert in der SES ein Objekt der realen oder imaginären Welt und wird durch einen echten Knoten dargestellt. Die Wurzel und sämtliche Blätter einer SES sind immer vom Typ Entity. Beispiele für Entity-Knoten sind beispielseise: Buch, Haus, Katze, Fertigungsmaschine, PC, Plus, Minus, Freude, Trauer, Spaß usw.
2.1.2 Aspect-Knoten
Der Aspect-Knoten zählt zu den deskriptiven Knoten und beschreibt die Dekomposition einer Entität. Alle Knoten vom Typ Aspect tragen den Suffix Dec als Abkürzung für decomposition und werden mit Einfachlinien verbunden. Die Kinder des Aspect-Kontens können als UND verknüpft betrachtet werden. Die Entität Buch in Abbildung 2 kann zum Beispiel unter dem Aspekt physikalischer Aufbau als eine Dekomposition aus einer Frontabdeckung und Rückabdeckung betrachtet werden.
Abbildung 2 Aspect eines Buches
Eine Entität kann auch unter mehreren Aspekten betrachtet werden, so dass einem Entity-Knoten mehrere Aspect-Knoten folgen können.
Beispielsweise kann die Entität Buch nach dem Aspect physikalischer Aufbau oder inhaltlicher Aufbau beurteilt werden. Dabei könnte, wie in Abbildung 3 dargestellt, der inhaltliche Aufbau als eine Dekomposition in Vorwort und Hauptteil beschrieben werden.
Abbildung 3 Entity mit mehreren Aspect-Knoten
Besitzt ein Entity-Knoten mehrere Nachfolgeknoten vom Typ Aspect, so spricht man auch von einem Entscheidungsknoten. Somit beinhaltet die SES in Abbildung 3 zwei kontravalenten Strukturvarianten eines Buches. Beim Prunen der SES (siehe Abschnitt Prunen) muss einer der vorliegenden Aspekte physikalischer Aufbau oder inhaltlicher Aufbau ausgewählt werden. Die Anzahl der Aspect-Knoten unterhalb eines Entity-Knoten ist nicht beschränkt. So könnte die Entität Buch beispielsweise um den Aspekt der materiellen Zusammensetzung aus Pappe, Stoff und Papier erweitert werden.
2.1.3 Specialization Knoten
Ein weiterer
deskriptiver Knoten ist die Specialization, die die Taxonomie einer Entität beschreibt. Die Knoten vom Typ Specialization haben den Suffix
Spec und sind durch Doppellinien gekennzeichnet. Kinder einer Spezialisierung können als Exklusiv-ODER verknüpft gesehen werden. In Abbildung 4 wird beispielsweise die Klassifikation eines
Buches in ein
Kinderbuch ,
Fachbuch oder
Kriminalbuch gezeigt.
Abbildung 4 Entity mit Specialization
Beim Prunen der SES (siehe Abschnitt Prunen) muss eine der Entitäten
Kinderbuch,
Fachbuch oder
Kriminalbuch ausgewählt werden. Die Anzahl der Entitäten unterhalb einer Specialization ist unbegrenzt. Es muss ausschließlich darauf geachtet werden, dass die Spezialisierungen zur selben übergeordneten Entität gehören; im Fall der Entität
Buch müssen demnach alle Spezialisierungen auch tatsächlich Bücher darstellen.
Ein Entity-Knoten kann mehrere Nachfolgeknoten vom Typ Specialization besitzen. Ein
Buchumschlag kann beispielsweise in die Farben
Rot oder
Blau und in die Materialien
Pappe oder
Papier spezialisiert werden. Dieser Fall wird in Abbildung 5 gezeigt.
Abbildung 5 Entity mit mehreren Specialization-Knoten
Die zwei Specialization-Knoten
FarbSpec und
MatSpec können durch das Bilden des kartesischen Produkts auch zu einem Specialization-Knoten zusammengefasst werden.
FarbSpec
=
{Rot, Blau}
MatSpec
=
{Pappe, Papier}
FarbSpec × MatSpec
=
{(Rot, Pappe), (Rot, Papier), (Blau, Pappe), (Blau, Papier)}
FarbSpec × MatSpec
=
FarbMatSpec
Aus den beiden Spezialisierungen
FarbSpec und
MatSpec entsteht eine Spezialisierung mit dem Namen
FarbMatSpec mit den Entitäten
Rot_Pappe,
Blau_Pappe,
Rot_Papier und
Blau_Papier. Abbildung 6 zeigt dazu eine zu Abbildung 5 äquivalente Darstellung.
Abbildung 6 Zusammenfassung von Spezialisierungen
Das Bilden des kartesischen Produktes ist auch bei mehr als zwei Spezialisierungen unterhalb ein und der selben Entity möglich.
2.1.4 Multiple-Aspect-Knoten
Ein weiterer
deskriptive Knoten ist der Multiple-Aspect-Knoten, der einen Spezialfall des Aspect Knotens darstellt. Auch er beschreibt die Dekomposition einer Entität, allerdings mit der Einschränkung, dass alle Entitäten der Dekomposition vom selben Typ sind. Multiple-Aspect-Knoten besitzten die Endung
MultiAspect und werden durch
Dreifachlinie gekennzeichnet. Ein Multiple-Aspect-Knoten muss eine zugehörige Variable und deren Wertebereich zur Beschreibung der Replikation des nachfolgenden Entity-Knotens definieren.
Anhand des zuvor aufgeführten Buch-Beispiels soll die Verwendung des Multiple-Aspects erläutert werden. Ein
Buch kann als eine Dekomposition aus einer
Frontabdeckung, mehreren
Seiten und einer
Rückabdeckung betrachtet werden. Die Anzahl der möglichen
Seiten eines Buches soll dabei zwischen 30 und 140 liegen. Die zugehörige SES ist in der Abbildung 7 dargestellt.
Abbildung 7 Multiple-Aspect innerhalb einer SES
Die Variable
numRep (number of replications) ist für das Prunen (siehe Abschnitt Prunen) der SES relevant. Beim Prunen wird die Variable mit einem numerischen Wert belegt, der innerhalb des angegebenen Wertebereichs liegen muss. Anhand des Wertes wird die Anzahl der Kinder des Multiple-Aspect-Knotens bestimmt. Für den Fall das
numRep mit 30 belegt wird, stellt die Entität
Seiten eine Dekomposition in 30 Entitäten vom Typ
Seite dar. Der Multiple-Aspect-Knoten ist somit auch ein Entscheidungsknoten. In Abbildung 7 werden dadurch 111 verschiedene Strukturvarianten eines Buches beschrieben.
In Abbildung 8 ist die Mehrfachverwendung von Multipe-Aspect-Knoten dargestellt. Dabei folgen der Entität
Buchblock die Multiple-Aspect-Knoten
physikMultiAspect und
InhaltMultiAspect.
Abbildung 8 Buchblock mit mehreren Multiple-Aspect-Knoten
Die SES in Abbildung 8 spezifiziert drei Entscheidungsknoten:
-
Entity-Knoten Buchblock: Auswahl eines bestimmten Teilbaumes physikMultiAspect oder InhaltMultiAspect
-
physikMultiAspect: Auswahl der Anzahl der Seiten des Buchblocks.
-
InhaltMultiAspect: Auswahl der Anzahl der Kapitel des Buchblocks.
Unterhalb einer Entität können Multiple-Aspect-Knoten mit einem Aspect-Knoten kombiniert werden. Der Knoten InhaltMultiAspect in Abbildung 8 könnte beispielsweise durch den Knoten InhaltDec, der als Kinder die Entities Vorwort und Hauptteil beinhaltet, ersetzt werden. Die SES würde dann nur noch zwei Entscheidungsknoten besitzen:
-
Entity-Knoten Buchblock: Auswahl eines bestimmten Teilbaumes physikMultiAspect oder InhaltMultiAspect
-
physikMultiAspect: Auswahl der Anzahl der Seiten des Buchblocks
2.2 Beschreibungsmittel Attribute und Variablen
Attribute und Variablen sind
nur für Entity und Multiple-Aspect-Knoten definiert. Darüber hinaus können ihnen auch Definitionsbereiche zugeordnet werden. Die Abbildungen 8 und 9 zeigen dazu Beispiele für Aspect-Knoten und Multiple-Aspect-Knoten.
Abbildung 9 SES mit Attributen und Definitionsbereichen
2.3 Beschreibungsmittel Kopplungen
Aspekte definieren die Dekomposition einer Vater-Entität in mehrere Kind-Entitäten. Sie beschreiben aber nicht, wie Vater mit Kind oder die Kinder untereinander verbunden sind. Abbildung 10 verdeutlicht das Problem. Dort ist ein
Raum als eine Dekomposition in
Boden,
Tisch und
Glas spezifiziert.
Abbildung 10 SES und ungeordnete Welt
Die SES in Abbildung 10 spezifiziert nicht, wie die einzelnen Objekte im Raum angeordnet sind. Wenn eine spezielle Anordnung zu spezifizieren ist, dann kann diese durch Kopplungen ausgedrückt werden. Innerhalb der SES sind Kopplungen ausschließlich für Knoten vom Typ
Aspect oder
Multiple-Aspect definiert. Abbildung 11 zeigt ein konkretes Beispiel für die Kopplung von Entitäten, wobei das Glas auf dem Tisch und der Tisch auf dem Boden steht.
Abbildung 11 SES und geordnete Welt
Auf die selbe Art und Weise können auch Kopplungen eines Simulationsmodells durch eine SES dargestellt werden. Abbildung 12 zeigt dazu eine SES und ein daraus abgeleitetes (Simulink)Modell für das Addieren zweier Zahlen.
Abbildung 12 SES mit Aspect-Knoten und Kopplungen zur Spezifikation einer Simulink-Modellstruktur
2.4 Beschreibungsmittel Zwangsbedingungen
Zwangsbedingungen stellen besondere Auswahlregeln für Entitäten dar und werden durch gestrichelte Kanten in einer SES dargestellt. Abbildung 13 beschreibt beispielhaft die Dekomposition eines
Buches im Zusammenhang mit Zwangsbedingungen.
Abbildung 13 SES mit Zwangsbedingungen
Die Zwangsbedingungen koppeln die Entitäten
Arthur_Doyle und
Das_letzte_Problem an
Kriminalroman, bzw.
Astrid_Lindgren und
Pippi_Langstrumpf an
Kinderliteratur. Es gibt demnach nur den einen Entscheidungsknoten
GenreSpec. Die Auswahlmöglichkeiten lauten wie folgt:
-
Wenn Kinderliteratur aus GenreSpec gewählt wird, so müssen auch Astrid_Lindgren aus AutorSpec und Pippi_Langstrumpf aus TitelSpec gewählt werden.
-
Wenn Kriminalroman aus GenreSpec gewählt wird, so müssen auch Arthur_Doyle aus AutorSpec und Das_letzte_Problem aus TitelSpec gewählt werden.
2.5 Beschreibungsmittel Auswahlregeln
Innerhalb einer SES kommt auf jeden Entscheidungsknoten eine bestimmte Menge von Auswahlregeln. Diese Regeln definieren, unter welchen Bedingungen bestimmte Entitäten auf bestimmte Entscheidungsknoten folgen müssen und sind demzufoge für das Prunen (siehe Abschnitt Prunen) von entscheidener Bedeutung. Die Abbildungen 14, 16 und 18 zeigen dazu unterschiedliche Beispiele. In den Abbildungen 14 und 16 sind die Auswahlregeln {aspect} und {specrule} als Implikationen formuliert. Im Gegensatz dazu werden in Abbildung 18 für die zwei Entscheidungsknoten jeweils verschiedene Wertebereich definiert.
3. Axiome der System Entity Structure
Neben den formalen Beschreibungsmitteln definiert der SES Formalismus eine Menge von Axiomen:
- Alternierender Modus
- Strikte Hierarchie
- Einheitlichkeit
- Valide Brüder
- Zugeordnete Variablen
- Vererbung
Die genaue Bedeutung der Axiome wird an dieser Stelle nicht weiter erläutert.
4 Pruned Entity Structure (PES)
4.1 Ableiten einer Pruned Entity Structure aus einer System Entity Structure
Die Pruned Entity Structure (PES) repräsentiert eine System Entity Structure mit genau einer Systemstruktur. Um eine PES aus einer SES zu erzeugen, ist eine Beschneidung der SES notwendig. Dieser Beschneidungsvorgang wird Prunen der SES oder einfach Pruning genannt. Dabei werden alle Entscheidungsknoten wie Aspects, Specializations und Multiple Aspects aufgelöst, so dass am Ende nur eine einzige Systemstruktur übrig bleibt. Eine PES besitzt demzufolge keine Entscheidungsknoten und somit auch keine Freiheitsgrade mehr. Im Folgenden wird an drei einfachen Beispielen gezeigt, wie eine PES aus einer SES abzuleiten ist.
4.2 Auflösung Aspect
Besitzt eine Entität mehrere Kinder vom Typ Aspect, so handelt es sich hierbei um einen Entscheidungsknoten. Während des
Prunens der SES muss dann einer der Aspekte mit zugehörigem Teilbaum ausgewählt werden. Die Auflösung des Aspect-Entscheidungsknotens wird in den Abbildungen 14 und 15 gezeigt. Dabei sind die konkreten Auswahlregeln in
{aspect} beschrieben. Wenn zum Zeitpunkt des Prunens die SES-Variable
aspekt1 mit dem Wert
physisch belegt ist, dann wird das Buch unter dem physikalischen Aspekt zerlegt. Wenn hingegen die SES-Variable
aspekt1 mit dem Wert
inhaltlich belegt ist, dann wird das Buch unter dem inhaltlichen Aspekt zerlegt. Beide PES sind in Abbildung 15 dargestellt.
Abbildung 14 Beispiel 1 zum Prunen
(a) Erste PES der SES
|
(b) Zweite PES der SES
|
Abbildung 15 Auflösung des Aspect-Entscheidungsknotens
4.3 Auflösung Specialization
Die Knoten vom Typ Specialization werden auch während des Prunens der SES aufgelöst. Dabei wird der Entscheidungsknoten durch den Teilbaum der gewählten Spezialisierung substituiert. Dieser Vorgang wird durch die Abbildungen 16 und 17 verdeutlicht. Dabei sind die konkreten Auswahlregeln, in Analogie zu 4.2 Auflösung Aspect, in {specrule} beschrieben. Die SES in Abbildung 16 beschreibt die Spezialisierung eines Buches in Kinderbuch und Fachbuch, wobei das Kinderbuch unter dem Aspekt des physikalischen Aufbaus und das Fachbuch unter dem inhaltlichem Aspekt zerlegt wird. Nach dem Prunen ist die Entität
Buch entweder durch
Kinderbuch oder
Fachbuch zu substituieren.
Abbildung 16 Beispiel 2 zum Prunen
(a) Erste PES der SES
|
(b) Zweite PES der SES.
|
Abbildung 17 Auflösung von Specialization-Entscheidungsknoten
4.4 Auflösung Multiple Aspect
Der Multiple-Aspect-Knoten ist ein Spezialfall des Aspect-Knotens, allerdings mit der Einschränkung, dass alle Entitäten der Dekomposition vom selben Typ sind. Ein Beispiel einer SES mit zwei Multiple-Aspect-Knoten zeigt Abbildung 18.
Abbildung 18 SES mit zwei Multiple Aspect Knoten
An den Kanten beider Multiple Aspect Knoten sind die Variablen
HauptteilMultiAspect und
AbschnitteMultiAspect mit ihrem jeweiligen Definitionsbereich angegeben. Während des Prunens wird diesen Variable ein Wert aus dem zugehörigen Definitionsbereich zugewiesen. Eine ableitbare PES zeigt Abbildung 19.
Abbildung 19 Eine PES zur SES in Abb. 18
Literatur
[Zeigler 2007] | Zeigler, B.P.; Hammonds, P.E.: Modeling and Simulation-based Data Engineering. Elsevier Inc., 2007 |