und Komponenten-Technologien in der Modellierung ... - CES - KIT
und Komponenten-Technologien in der Modellierung ... - CES - KIT
und Komponenten-Technologien in der Modellierung ... - CES - KIT
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
- High Level Architecture (HLA)<br />
2 Gr<strong>und</strong>lagen 41<br />
Die High Level Architecture wurde vom US-amerikanischen Verteidigungsm<strong>in</strong>isterium <strong>in</strong>itiiert<br />
<strong>und</strong> stellt e<strong>in</strong>en speziell auf die Bedürfnisse verteilter Simulationen zugeschnittenen<br />
<strong>Komponenten</strong>standard dar. Auf die HLA wird detailliert <strong>in</strong> Abschnitt 4.1 e<strong>in</strong>gegangen.<br />
2.5.2.3 Frameworks<br />
Nach [RePo02] können Frameworks als Organisationsformen von Sammlungen objektorientierter<br />
<strong>Komponenten</strong> aufgefasst werden. Im Gegensatz zu <strong>Komponenten</strong>, die abgegrenzte technische<br />
bzw. anwendungsfachliche (Teil-)Lösungen darstellen, unter denen <strong>der</strong> Anwendungsentwickler<br />
auswählen kann, bestimmen Frameworks die Anwendungsarchitektur im Großen<br />
<strong>und</strong> stellen die wesentlichen Gr<strong>und</strong>konzepte <strong>und</strong> Lösungsschemata dieser Architektur abstrakt<br />
bereit [WRKZ01]. Beide Ansätze verfolgen gr<strong>und</strong>sätzlich die gleichen Ziele, nämlich Wie<strong>der</strong>verwendbarkeit<br />
<strong>in</strong> größerem Stil <strong>und</strong> bessere Strukturierung von Anwendungssystemen. Technisch<br />
unterscheiden sie sich jedoch beträchtlich. Wie bereits angedeutet, stellen Frameworks<br />
e<strong>in</strong>e Menge von zusammenarbeitenden Klassen dar, die e<strong>in</strong>en wie<strong>der</strong> verwendbaren Entwurf<br />
für e<strong>in</strong>en bestimmten Anwendungsbereich implementieren. Beim E<strong>in</strong>satz von Frameworks<br />
wird also vor allem programmiert, wobei die vorgefertigten Klassen für die eigene Anwendungsentwicklung<br />
benutzt o<strong>der</strong> beerbt werden. Beim E<strong>in</strong>satz von <strong>Komponenten</strong> steht dagegen<br />
die Idee <strong>der</strong> Komposition im Vor<strong>der</strong>gr<strong>und</strong>. Vererbung wird gar nicht verwendet <strong>und</strong> die <strong>Komponenten</strong><br />
werden als Black-Boxes betrachtet. Programmiert wird im Idealfall nur m<strong>in</strong>imal, um<br />
den zur Verb<strong>in</strong>dung <strong>der</strong> <strong>Komponenten</strong> notwendigen so genannten Glue-Code herzustellen.<br />
Trotz ihrer signifikanten Unterschiede eignen sich <strong>Komponenten</strong>- <strong>und</strong> Framework-<strong>Technologien</strong><br />
sehr gut für den komplementären E<strong>in</strong>satz. Naheliegend wäre beispielsweise dasselbe<br />
Framework als <strong>in</strong>tegrierenden Rahmen für e<strong>in</strong>e Familie von <strong>Komponenten</strong> zu verwenden. In<br />
diesem Fall könnten die E<strong>in</strong>zelkomponenten auf e<strong>in</strong>er e<strong>in</strong>heitlichen technischen Infrastruktur<br />
<strong>der</strong> verwendeten Programmiersprache <strong>und</strong> des verwendeten <strong>Komponenten</strong>modells aufbauen.<br />
H<strong>in</strong>zu kommen die Basiskonzepte <strong>und</strong> Abstraktionen des zugr<strong>und</strong>e liegenden Frameworks, wie<br />
etwa e<strong>in</strong> e<strong>in</strong>heitlicher Benachrichtigungsmechanismus, e<strong>in</strong>e Interpretation des Vertragsmodells<br />
o<strong>der</strong> die durchgehend e<strong>in</strong>heitliche Verwendung von Wert- <strong>und</strong> Referenzsemantik.<br />
2.5.2.4 Middleware-Systeme<br />
Der Begriff Middleware, zu dem es ebenfalls bisher ke<strong>in</strong>e scharf umrissene Def<strong>in</strong>ition gibt,<br />
steht <strong>in</strong> sehr enger Beziehung zu Client/Server Systemen. Middleware stellt die B<strong>in</strong>dung im<br />
Begriffspaar Client/Server dar <strong>und</strong> kann als Software-Schicht aufgefasst werden, die zwischen<br />
Betriebssystem <strong>und</strong> Anwendungsebene angesiedelt ist. In Zusammenhang mit komponentenorientierten<br />
Anwendungen versteht man darunter Kommunikations<strong>in</strong>frastrukturen, die e<strong>in</strong>e<br />
flexible <strong>und</strong> dynamische Verteilung von <strong>Komponenten</strong> auf heterogene physikalisch möglicherweise<br />
weit vone<strong>in</strong>an<strong>der</strong> entfernt lokalisierte Plattformen erlauben. E<strong>in</strong>e solche Verteilung<br />
erfor<strong>der</strong>t zunächst e<strong>in</strong>mal die Def<strong>in</strong>ition e<strong>in</strong>es abstrakten auf verschiedene Kommunikationstechnologien<br />
abbildbaren Kommunikationsmodells. Darüber h<strong>in</strong>aus müssen zentrale Dienste<br />
bereitgestellt werden, die <strong>in</strong> verteilten Anwendungen immer wie<strong>der</strong> benötigt werden. Dabei<br />
handelt es sich beispielsweise um die globale Verwaltung von Transaktionen (Transaktions-