Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6.1. EINORDNUNG 87<br />
teilung eines Verfahrens in sequentielle <strong>und</strong> parallele Vorgänge den Entwurf an eine spezielle<br />
Hardware bindet sowie eine manuelle Planung der einzelnen Abläufe fordert.<br />
Eine Alternative stellen funktionale Beschreibungsformen dar, da sie potentielle Parallelitäten<br />
von Algorithmen implizit enthalten. Abstrakte <strong>Daten</strong>objekte <strong>und</strong> Funktionen ermöglichen<br />
eine Systembeschreibung, <strong>die</strong> unabhängig von einer konkreten Programmiersprache <strong>und</strong> Softwarebibliothek<br />
ist, was einen Wechsel des zugr<strong>und</strong>eliegenden Systems erleichtert. Dies ist das<br />
zentrale Thema <strong>die</strong>ses Kapitels. In den folgenden Abschnitten werden entsprechende Beschreibungsformen<br />
<strong>für</strong> dynamische <strong>Daten</strong>folgen <strong>und</strong> <strong>die</strong> sie verarbeitenden Operatoren entwickelt,<br />
<strong>und</strong> es wird untersucht, in welcher Abstraktionsebene eine solche Beschreibung anzusiedeln<br />
ist.<br />
Applikationsunabhängige Softwarebibliotheken<br />
Mit der Implementierung von allgemeinen, weitestgehend anwendungsunabhängigen Verfahren<br />
<strong>und</strong> <strong>Daten</strong>typen bzw. -klassen <strong>und</strong> deren Zusammenstellen zu Softwarebibliotheken ist es<br />
möglich, bestimmte Basisfunktionalitäten, wie z.B. mathematische Algorithmen, Bildverarbeitungsoperatoren<br />
oder Operationen <strong>für</strong> Benutzerinteraktionen einem breiten Spektrum von Applikationen<br />
zur Verfügung zu stellen. Ziel eines solchen Bottom-Up-Entwurfs ist, <strong>die</strong> konkrete<br />
Implementierung der Verfahren zu kapseln <strong>und</strong> nur das Funktionsinterface nach außen zu geben.<br />
Dabei ist es möglich, plattformübergreifend einheitliche Schnittstellen zu den Verfahren<br />
bereitzustellen. Dies ermöglicht eine Implementierung von Programmkomponenten <strong>und</strong> Applikationen<br />
bereits auf einem relativ hohen Abstraktionsniveau sowie mit einer gewissen Hardwareunabhängigkeit.<br />
In Kapitel 7 werden mit objektorientierten Methoden — unabhängig von einer konkreten<br />
Bildverarbeitungs- oder sonstigen anwendungsspezifischen Softwarebibliothek — Softwareobjekte<br />
<strong>für</strong> <strong>die</strong> Verarbeitung von dynamischen <strong>Daten</strong>sequenzen wie z.B. Bildfolgen spezifiziert.<br />
Diese haben zum Ziel, eine einfache, direkte Umsetzung der funktionalen Repräsentationen dynamischer<br />
Zusammenhänge, wie sie in <strong>die</strong>sem Kapitel beschrieben werden, in eine objektorientierte<br />
Programmiersprache zu ermöglichen. Sie stellen damit eine Zwischenschicht zwischen<br />
dem funktionalen Entwurf <strong>und</strong> den Bibliotheken, <strong>die</strong> <strong>die</strong> konkreten <strong>Daten</strong>typen <strong>und</strong> Algorithmen<br />
implementieren, dar, wobei durch <strong>die</strong>se Objekte <strong>die</strong> Vorteile des funktionalen Systementwurfs<br />
in der Implementierung weitestgehend erhalten bleiben.<br />
Standardisierte Entwurfsmethoden<br />
Bei der Umsetzung der in der abstrakten Entwurfsebene beschriebenen Komponenten <strong>und</strong> Algorithmen<br />
in ein Programm innerhalb einer konkreten Entwicklungsumgebung aus Hard- <strong>und</strong><br />
Software ergeben sich weitere Ansatzpunkte <strong>für</strong> <strong>die</strong> Wiederverwendung von Entwicklungsleistungen.<br />
Standardisierte Implementierungsschritte, sogenannte Entwurfsmuster, sowie Anwendungsrahmen<br />
repräsentieren typische Designentscheidungen, <strong>die</strong> unabhängig von der konkreten<br />
Anwendung <strong>und</strong> dem eingesetzten Softwaresystem angewendet werden können. Sie sollen helfen,<br />
einen Entwurf nach formalen Gesichtspunkten oder automatisch in ein Softwareprogramm<br />
zu übertragen.