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. 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: 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 Bilder/SES_Dec.png

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 Bilder/SES_Dec2.png

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 Bilder/SES_Spec.png

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 Bilder/SES_Spec2_1.png

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 Bilder/SES_Spec2_2.png

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 Bilder/SES_Multi_Aspect.png

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 Bilder/SES_Multi_Aspect2.png

Abbildung 8 Buchblock mit mehreren Multiple-Aspect-Knoten
Die SES in Abbildung 8 spezifiziert drei Entscheidungsknoten:
  1. Entity-Knoten Buchblock: Auswahl eines bestimmten Teilbaumes physikMultiAspect oder InhaltMultiAspect
  2. physikMultiAspect: Auswahl der Anzahl der Seiten des Buchblocks.
  3. 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:
  1. Entity-Knoten Buchblock: Auswahl eines bestimmten Teilbaumes physikMultiAspect oder InhaltMultiAspect
  2. 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 Bilder/SES_Variable.png

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 Bilder/SES_Kopplungen.png

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 Bilder/SES_Kopplungen2.png

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 Bilder/SES_Kopplungen3.png

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 Bilder/SES_Zwangsbedindungen2.png

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:

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: 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 Bilder/PES_Dec2.png

Abbildung 14 Beispiel 1 zum Prunen
Abbildung Bilder/PES_Dec2_PES1.png

(a) Erste PES der SES
Abbildung Bilder/PES_Dec2_PES2.png

(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 Bilder/PES_Spec_SES.png

Abbildung 16 Beispiel 2 zum Prunen
Abbildung Bilder/PES_Spec_PES1.png

(a) Erste PES der SES
Abbildung Bilder/PES_Spec_PES2.png

(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 Bilder/Buch_inhaltDec.png

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 Bilder/Buch_inhaltDec.png

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