16.08.2013 Aufrufe

Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...

Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...

Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!