Skip to main content
main-content

Über dieses Buch

Das Buch beschreibt den objektorientierten Entwurf von Software-/Hardware-Lösungen zu automatisierungstechnischen Problemstellungen, sogenannten "embedded systems". Objektorientierte Systeme bieten erhebliche Vorteile bei der Beherrschung von Komplexität, späteren Änderungen und Wartungsmaßnahmen. Ausgehend von bekannten Analyse- und Designmethoden werden zunächst die grundlegenden objektorientierten Konzepte vorgestellt, ausgewählte Methoden im Überblick miteinander verglichen und die speziellen Eigenschaften von "embedded systems" beschrieben. Der Autor entwickelt dann mittels Zustands-Übergangsdiagrammen eine Methode für objektorientierte Spezifikation. Damit kann ein tragfähiger, stabiler Entwurf formuliert werden, der direkt in einer objektorientierten Programmiersprache implementierbar ist.

Inhaltsverzeichnis

Frontmatter

1. Einführung und Übersicht

Zusammenfassung
Das Anliegen der Softwaretechnik — im Englischen „Software-Engineering“ — ist, die Software-Konstruktion mehr unter dem Gesichtspunkt einer Ingenieurstätigkeit1 zu betrachten, als unter dem einer künstlerischen oder handwerklichen Tätigkeit. Allerdings bestehen durchaus Meinungsunterschiede, was eigentlich ein „ingenieurmäßiges“ Vorgehen im allgemeinen und in Anwendung auf die Software-Konstrunktion im speziellen bedeutet, wie immer wieder geführte Diskussionen, die hier nicht vertieft werden sollen, zeigen (z.B. [Shaw90], [Dene93], [Wendt93], [Schm93]). In jedem Fall ist eines der Kennzeichen der ingenieurmässigen Bearbeitung einer technischen Aufgabe, wie R. Lauber feststellt, „daß die Welt der Realität mit Hilfe einer Welt der Modelle2 untersucht wird“ [Laub93].
Jan U. Kieß

2. Problematik der objektorientierten Modellierung bei Informationssystemen und bei Automatisierungssystemen

Zusammenfassung
Als Auslöser für eine objektorientierte Betrachtungsweise kann die Programmiersprache Simula gesehen werden, die besonders für Simulationen entwickelt wurde ([NyDa66], [SIS87]). Diese wurde von einem Forscherteam des „Xerox Palo Alto Research Center“ Anfang der siebziger (!) Jahre aufgegriffen, das sich mit damals so revolutionären Zukunftsvisionen wie tragbaren Personalcomputern, graphischer Bedienung (Fenstertechnik, Graphiktabletts, Maus) und der Programmierung durch Kinder beschäftigte [Kay93]. Das Resultat war unter anderem die Programmiersprache Smalltalk, die, nach dem Durchlaufen verschiedener Stufen (Smalltalk-72, -76 und -80), schließlich den Durchbruch Ende der achziger Jahre schaffte. Einmalig war, daß eine Entwicklungsumgebung mitgeliefert wurde, die Hilfsmittel und alle Elemente des fenster- und graphikorientierten Smalltalksystems im Quellcode beinhaltet. Mit Hilfe der neuen Konzepte wie Objekt-Instanziierung von vorhandenen Klassen, Vererbung von bestehenden Eigenschaften und Polymorphismus können eigene Anwendungen in wesentlich kürzerer Zeit als bisher auf diesem ausgetesteten Basissystem aufgesetzt werden.
Jan U. Kieß

3. Vergleichende Untersuchung von objektorientierten Konzepten

Zusammenfassung
Wie der Name sagt, sollten die Objekte die wichtigsten Bestandteile einer objektorientierten Modellierung sein. Das stimmt nur bedingt; dennoch soll zunächst versucht werden, den Begriff Objekt näher zu bestimmen. Am leichtesten gelingt die Annährung von der programmtechnischen Seite her, was ja durchaus der Historie entspricht. So beinhalten diese Objekte zusammengehörige Daten und Operationen. Die Daten werden meist Attribute oder Instanzvariablen („instance variables“ in Smalltalk) genannt, die Operationen auch Methoden („methods“ in Smalltalk), Funktionen („member functions“ in C++) oder Services (aus einer „client-server“- Sichtweise). Von außerhalb des Objekts sollte kein direkter Zugriff auf die Attribute möglich sein; die Schnittstelle nach außen bilden die Operationen. Die Daten sind damit völlig von der Außenwelt abgekapselt („encapsulation“) und nur über die Operationen zugänglich. Die Verwendung eines Objekts wird so unabhängig von der internen Darstellungsweise der Daten und der internen Implementierung der Operationen, man erzielt dadurch ein „information hiding“ nach D. Parnas [Parn72].
Jan U. Kieß

4. Das Vorgehensmodell für ein Automatisierungsprojekt bei Anwendung objektorientierter Modellierungskonzepte

Zusammenfassung
Bei der Darstellung des prinzipiellen Modellierungsunterschieds zwischen Informationssystemen und Automatisierungssystemen wurden bereits die Begriffe „Analyse“, „Entwurf“ und „fachtechnische Lösungskonzeption“ eingeführt. Ziel dieses Kapitels ist es, die fachtechnische Lösungskonzeption in den Gesamtablauf eines Projekts einzuordnen und Modellierungskonzepte dafür und für den Übergang zu einer Systemstrukturierung vorzuschlagen.
Jan U. Kieß

5. Ergänzungen der objektorientierten Modellierungskonzepte für die Anwendung in der Automatisierungstechnik

Zusammenfassung
Abgesehen von den bisher geschilderten Problemen bei der Abbildung „Problem — Lösung“ und bei der Zuordung der fachtechnischen Lösungskonzeption zu den Projektphasen gibt es eine Reihe von Einschränkungen, wenn bisher publizierte, objektorientierte Methoden für die Darstellung von automatisierungstechnischen Lösungen angewendet werden. Im folgenden werden zunächst jeweils die Probleme erörtert und anschließend dafür geeignete Lösungskonzepte vorgeschlagen [KiPe93]. Dabei ist beabsichtigt, diese Lösungskonzepte nicht nur einfach einzuführen, sondern die dahinterliegenden Überlegungen, die zu der Einführung dieser Konzepte geführt haben, zu erläutern. Es soll damit exemplarisch die Beschäftigung mit einzelnen Modellierungskonzepten und die aktive Gestaltung von Modellierungsmitteln verdeutlicht werden, um so die am besten geeigneten Modellierungsmittel zu finden.
Jan U. Kieß

6. Zusammenstellung der Modellierungskonzepte für eine fachtechnische Lösungskonzeption

Zusammenfassung
Es sollen nun die im letzten Kapitel einzeln eingeführten Modellierungskonzepte in einen Zusammenhang gestellt werden, um damit einen Automatisierungsingenieur in die Lage zu versetzen, das objektorientierte Modellierungsverfahren für die fachtechnische Lösungskonzeption anzuwenden. Das Verfahren gliedert sich in drei, von der Modellierungstechnik her unterschiedliche Teile. Die statischen Aspekte, also beispielsweise welche Klassen es überhaupt gibt, aus welchen Komponenten sie sich zusammensetzen und welche Daten sie beinhalten, werden im sogenannten Komponentenmodell festgehalten. Hilfsmittel dafür ist eine Spezifikations-Schablone. Das dynamische Verhalten einer Klasse über die Zeit wird mit Zustandsmodellen beschrieben. Im dritten Teil schließlich werden Komponentenmodell und die Zustandsmodelle auf ihre internen Beziehungen und ihre Beziehungen untereinander untersucht und ausgewertet. Idealerweise erfolgt das mit einem entsprechenden Werkzeug (CASE). Eingaben, die die Modellierung betreffen, finden hier nicht mehr statt.
Jan U. Kieß

7. Beispiel „bivalente Heizungsanlage“

Zusammenfassung
Um das Verständnis für das objektorientierte Verfahren zur Modellierung eines Automatisierungssystems zu vertiefen, sollte jetzt ein konkretes, zusammenhängendes Beispiel folgen. Dabei stellt sich aber ein Problem: Soll das Beispiel tatsächlich komplett in dieser Arbeit abgehandelt werden, so müßte es vom Umfang her so trivial sein, daß es von der Problemstellung fast unmittelbar zu überbhcken ist und die Modellierung der fachtechnischen Lösung in der Praxis wenig Sinn hat. Typische Gesichtspunkte wie die Instanziierung von gleichen Objekten, Vererbungen, eine Fülle von Aktoren und Sensoren, Steuerungen und Regelungen von Objekten, übergreifende Funktionen, Verteilung von „Intelligenz“ auf Objekte, lokale Wirkung von extern auftretenden Ereignissen und zeitlich einplanbaren Vorgängen etc., die eigentlich erst den Einsatz von objektorientierten Methoden rechtfertigen, kämen nicht zum Tragen.
Jan U. Kieß

Backmatter

Weitere Informationen