51
Universität Stuttgart Wissensverarbeitung und Numerik Institut für Kernenergeti und Energiesystem Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2 Das sollten Sie in der Vorlesung lernen Was ist ein Modell und wie können wir es einsetzen (Kap.0) Was ist eine virtuelle Anlage und was nutzt sie (Kap.2) Wie aufwendig ist der Bau virtueller Anlagen im Vergleich zu realen Anlagen (Kap.3) HEUTE Techniken zum Bau virtueller Anlagen Der Rational Unified Process als Vorgehensmodell für die Softwareentwicklung (Kap.10) Die Unified Modelling Language als Basis der Modellierung (Kap.4) Komponententechnologie als Basis der Implementierung (Kap.5) Produktmodelle als Basis der Systembeschreibung (Kap.6) Gewöhnliche Differentialgleichungen als Basis der Beschreibung des Verhaltens (Kap.8) Das V-Modell als Basis des Qualitätsmanagements (Kap.11) Techniken zum Bau virtuellerSysteme Architekturen verteilter Systeme (Kap.9) Agenten zur Erbringung von Dienstleistungen (Kap.9)

Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Embed Size (px)

Citation preview

Page 1: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Das sollten Sie in der Vorlesung lernen Was ist ein Modell und wie können wir es einsetzen (Kap.0) Was ist eine virtuelle Anlage und was nutzt sie (Kap.2) Wie aufwendig ist der Bau virtueller Anlagen im Vergleich zu

realen Anlagen (Kap.3) HEUTE Techniken zum Bau virtueller Anlagen

Der Rational Unified Process als Vorgehensmodell für die Softwareentwicklung (Kap.10)

Die Unified Modelling Language als Basis der Modellierung (Kap.4) Komponententechnologie als Basis der Implementierung (Kap.5) Produktmodelle als Basis der Systembeschreibung (Kap.6) Gewöhnliche Differentialgleichungen als Basis der Beschreibung des

Verhaltens (Kap.8) Das V-Modell als Basis des Qualitätsmanagements (Kap.11)

Techniken zum Bau virtuellerSysteme Architekturen verteilter Systeme (Kap.9) Agenten zur Erbringung von Dienstleistungen (Kap.9)

Page 2: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Simulation komplexer technischer Anlagen

Teil I: Reale und virtuelle Anlagen

Kapitel 3: Elemente zur Modellierung, Implementierung und zum Betrieb virtueller Anlagen

Inhalt• Erfahrungen vom Bau realer Anlagen

• Objekte als Elemente der Modellierung

• Nutzen der Objektorientierung

• Zusammenfassung von Objekten zu Komponenten und Diensten

• Komponentenbasierte Systeme

Page 3: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Das sollten Sie im 3. Kapitel lernen

Grenzen des klassischen Softwareengineering

Elemente zum Bau virtueller Anlagen

Objekte zur Modellierung

Komponenten als Bausteine Implementierung

Dienste als Elemente einer Arbeitsumgebung

Grundzüge komponentenbasierter Systeme

Page 4: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Kurzfassung Kap. 3

ProblemstellungDie Verwendung objektorientierter Techniken erlaubt es, die Produktivität aller an der Planung, Erstellung und Wartung von Softwareprodukten Beteiligten entschieden zu steigern. Drei Gründe lassen sich dafür angeben:- Objekte erleichtern die Modellierung komplexer Prozesse. - Objekttechniken helfen, den Bruch zwischen Analyse, Entwurf und Implementierung komplexer

Systeme zu vermeiden. - Systeme, in denen Objekte über Botschaften wechselwirken, enthalten Bausteine, mit denen, ähnlich

wie mit Komponenten technischer Systeme, wiederverwendbare Softwarekomponenten zur Verfügung stehen, die vielfach verwendet, flexibel umgruppiert und in neuen Anwendungen

zusammengestellt werden können. Damit lassen sich auch Anwendungen angehen, die sokomplex sind, dass sie mit tradionellen Mitteln kaum oder nur mit ungewöhnlichen Anstrengungen realisiert werden können.

Ziel der VortragseinheitAusgehend von den Erfahrungen der technischen Realisation von komplexen Anlagen und Systemen formulieren wir Eigenschaften von Objekten der technischen Welt. Sie werden charakterisiert durch die Dimensionen

Daten, Funktionen und Zeit.Die Komplexität in den Daten kann durch Einführung abstrakter Datentypen reduziert werden. Funktionen können in Form von Modulen Details von einem Nutzer verbergen. Die Kapselung von Daten und Methoden führt zu Objekten. Schließt man die Dimension Zeit ein, so erhält man Prozesse und Dienste.Diese Begriffe werden eingeführt und es wird gezeigt, zu welchen Konsequenzen dies für die Modellierung von Softwaresystemen führen kann.

Page 5: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Erfahrungen vom Bau realer Anlagen

Reduktion der Komplexität durch

Strukturierung der Anlage

Diversifikation der Funktionalitäten

Formalisierung der Beschreibung

Wiederverwendung bewährter Objekte

Systematisierung der Weiterentwicklung

Techniken

Identifizierung von Einheiten

Beschreibung über Schnittstellen, Funktionen und Parametern

Verwendung in verschiedenen Zusammenhängen

Verfolgung der Änderungen über gesamte Lebensdauer

Page 6: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Erfahrungen vom Bau realer Anlagen

Integration der Teile im SystemSystemumfang mehrerer Personenjahre

Systementwicklung interdisziplinär und iterativ

Systemverständnis dynamisch (Änderung im Entwurf angelegt)

Systemgrundlage theoriegestützt (Gesamtsystem mehr als Teile)

Validierung des SystemsQualitätssicherung bei Komponenten, Subsystemen und Gesamtsystem

Risikoanalysen

Systemüberwachung durch regelbasierten Vergleich von Indikatoren

Page 7: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Technische Objekte reduzieren Komplexität

Sie werden allgemein beschrieben

Sie haben ein definiertes Verhalten

Sie sind vielfach verwendbar

Sie sind eindeutig identifizierbar

Sie werden über Schnittstellen angesprochen

Botschaften - Daten oder Methoden

Sie verbergen innere Details durch

Kapselung von Daten und Methoden

Sie können selber aus Objekten aufgebaut sein und erben deren Daten und Methoden

Sie verändern sich mit der Zeit

Page 8: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Die drei Dimensionen eines Objektes

Technische Objekte Objekte im Softwareengineeringbenötigen Beschreibung - Produktdaten / Zustand

haben Verhalten - Operationen / Funktionalität

erfahren Veränderungen - Versionen / Geschichte

FunktionaleKomplexität

Daten-Komplexität

Komplexität deszeitabhängigenVerhaltens

Simulations-Systeme

Echtzeit-Systeme

Informations-Systeme

Page 9: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

SE-Methoden zur Reduktion der Komplexität

Zerlegung in TeilaufgabenZeitliche Zerlegung - Software-Lebenszyklus

Strukturierung der Beschreibung - Datenabstraktion, strukturierte Analyse

Funktionale Zerlegung - Modularisierung

Zerlegung von Funktionalitäten - Basisprinzipien zur Kapselung

Abstraktionsprinzip Beschreibung

Geheimnisprinzip Implementierung

Schichtenkonzept Teilsysteme

Page 10: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Modellpräsentation im Software-Lebenszyklus

Anwender

grundlegender Wechsel der Modell-Repräsentation

z.B. SA z.B. SDklassische

Prog.-Sprachen

Analyse Design Implementierung

"..mussunbedingt.."

PROC....IF.... WHILE.. X:=...u.s.w.

Die Brüche zeigen den Wechsel von einer Methode zu einer anderen. Meist bedeutet dies, dass bei Änderungen eines Entities der unteren Ebene nicht auf die Definitionen des entsprechenden Entities der darüberliegenden Ebene durchgegriffen werden kann.

Page 11: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Grenzen der klassischen Entwurfsmethoden

Zeitliche Zerlegung zu starr,statt Wasserfall - Kreislauf mit der Möglichkeit der Iteration und der

Verbesserung in kleinen Schritten

Informationsquellen oft nur iterativ erfassbar.(z.B. Anwendungskenntnis, Quellenstudium, grundlegende Ereignisse)

Datenflüsse zu inflexibel,statt abstrakten Datentypen - Beschreibung von Teilsystemen - Objekten.

Funktionale Zerlegung zu prozedural (nur im Kleinen anwendbar),statt Zeitscheiben - Vernetzung.

Page 12: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Was wir brauchen

Konstrukte für adäquate Modellierung

- Objekte

Durchgängige Methoden von Modellierung bis Programmierung

- der Rational Unified Process

Wiederverwendbarkeit bewährter Lösungen auf allen Ebenen

- Klassen, Frameworks und Komponenten

Verteilte Entwicklung durch Identifikation von Komponenten mit Kapselung von Daten und Methoden und

Schnittstellen, die auch Semantik berücksichtigen

Verteiltes Betreiben durch Dienste und Standardisierung der Kommunikation

Gemeinsame Interpretation durch Produktmodelle

Page 13: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Die 3S im Softwareengineering

Simplifizierung

durch bessere Konstrukte zur Modellierung

Spezialisierung

durch vertikale (Dienste) und horizontale (Komponenten)Kapselung von Daten und Methoden

Standardisierung

von Schnittstellen und Kommunikation

Virtuelle Anlagen

Page 14: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Die 3 K im Softwareengineering

Kommunikation

Elektronic MailAdressbooks

Shared Databases

Kollaboration

Electronic DiscussionsElectronic Meetings

Shared Application

Groupware

Infrastructure

Workflow Automation

Scheduling Calendaring

Koordination

Page 15: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Systemarchitektur

Das Konzept für Kommunikation und Kooperation

Assistenz

Application SharingMultimediastandard

T.120Anbieter

setztDienst

auf

wartetDienst

ServerProzess

Nutzer

steuertVerarbeitung

KlientenProzess

Datenzugriffz.B. CORBA

Nutzung

beurteiltErgebnisse

Page 16: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Was ist ein Objekt ?[Meyers Enzyklopädisches Lexikon, 1976]:

Objekt: “Allgemeiner Gegenstand [des Interesses] insbesondere der einer Beobachtung, Untersuchung, Messung (...) unterworfene [materielle] Gegenstand

[Jackson: "System Development", 1983]

Reale Welt wird durch Entitäten beschrieben, sowie durch die Aktivität, die diese ausführen bzw. an ihnen ausgeführt werden ...enger Bezug zu Prozessmodell und geordneter Menge von Aktivitäten

[Vetter: "Strategie der Anwendungssoftware-Entwicklung", 1988]:

Realität manifestiert sich in Entitäten (individuelle, identifizierbare Exemplare von Dingen, Personen oder Begriffen ...)

Entitäten repräsentieren die für eine Unternehmung relevanten Informationsobjekte

[Booch, G.: Object-oriented Analysis and Design, 1994]:

Ein Objekt hat einen Zustand, ein Verhalten und eine Identität: die Struktur und das Verhalten von ähnlichen Objekten ist festgelegt in ihrer gemeinsamen Klasse; die Begriffe Instanz und Objekt sind austauschbar.

Page 17: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Objekte und ihre Eigenschaften -1

Objektesind identifizierbare Dinge,

erinnern ihren eigenen Zustand,reagieren auf Anforderungen, ihren Zustand zu ändern,

sind charakterisiert durch Eigenschaften vom Typ Daten (Instanz, Parameter, Zustandsvariablen) und Operation (Methoden), wechselwirken mit anderen Objekten durch Anfordern von Diensten oder Informationen.

Objekte als identifizierbare Einheitenkapseln Daten und Operationen auf diese Daten, verbergen Implementierungsdetails (Beschreibung und Verhalten bilden Einheit)

können Prozesse auf Rechner überdauern (Persistenz)

Ein erster Ansatz für Objekte sind Datenobjekte als Instanzen abstrakter Datentypmodule

Page 18: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Wie beschreiben wir ein Objekt

Zustand- Menge von (normalerweise statischen) Eigenschaften, die das Verhalten des Objekts bestimmen (Attribute)

- Die aktuellen (normalerweise dynamischen) Werte der Attribute.

Verhalten- Definiert, wie ein Objekt auf Anfragen anderer Objekte reagiert

- Wird durch eine Menge von Operationen für dieses Objekt definiert

Identität- Die Identität eines Objekts ist die Eigenschaft, die es von allen anderen

Objekten eindeutig unterscheidet

- Name darf nicht mit Identität verwechselt werden.

Page 19: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

1. Konstrukt: Klassen zur Beschreibung

Eine Klasse beschreibt eine Menge von Objekten mit gleicher Struktur und gleichem Verhalten

Klassen existieren nicht als konkretes, greifbares Element

Eine Klasse ist eine Abstraktion, die "Essenz eines Objektes"

Eine Klasse verbirgt (kapselt) Datenstrukturen, Merkmale zur Implementierung und Kontrollfluss der Methoden

Eine Klasse liefert Operationen, die verwendet werden, und Attribute, die Zustand beschreiben.

Objekte sind Instanzierungen (konkrete Realisierungen) einer Klasse.

Page 20: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Objekte und ihre Eigenschaften -2

Objekte als Mitglieder einer KlasseKlassen beschreiben Struktur und Verhalten einer Menge von Objekten

Unterklassen spezialisieren Oberklassen, indem sie von einer oder mehreren Oberklassen Instanzvariablen und Methoden erben

Objekte als Teil eines neuen Ganzen - KomponentenZusammengesetzte Objekte reduzieren Komplexität

Zusammensetzung erfolgt über Assoziation, Kommunikation oder Relation

Assoziationen verbinden Objekte zu größeren Einheiten

Kommunikation vermittelt Anforderungen

Relationen beschreiben gemeinsame Eigenschaften.

Objekte als Klassen - geklonte ObjekteHat man eine Vielzahl gleicher Objekte, die sich nur durch ihre Identifikation unterscheiden, so kann man sie durch Klassen erzeugen (Serienproduktion). Das Objekt wirkt dann bezüglich der geklonten Objekte wie die Klasse bezüglich den Objekten.

Page 21: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Objekte und ihre Eigenschaften -3

Objekte und ihr VerhaltenPolymorphie - verschiedene Objekte reagieren unterschiedlich

auf die gleiche Botschaft

Realisierung durch bedingte Eigenschaften

Gleichzeitigkeit - Concurrencyaktive Objekte sind laufende Prozesse

Objekte und OOAKapselung von statischem und dynamischem Verhalten (Daten und Methoden).

Nicht alles sind Objekte. Keine Objekte sind z.B. Eigenschaften.

Spezialisierung durch Vererbung ist nur dann sinnvoll, wenn die Unterklasse neue Eigenschaften hat.

Zusammengesetzte Objekte sind nur dann sinnvoll, wenn sie neue Eigenschaften haben.

Botschaften verbinden Objekte.

Page 22: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

2. Konstrukt - Beziehungen

Beziehungen zwischen Objekten- Die Funktion eines Systems wird durch die Zusammenarbeit vieler Objekte erbracht

- Objekte tauschen Botschaften

- Objekte können aggregiert werden

- Objekte können Methoden anderer Objekte benutzen.

Beziehungen zwischen Klassen- Die Beschreibung eines Systems erfolgt durch Angabe der Klassen und ihrer Beziehungen

- Wichtige Konstrukte

Vererbung - Klassen können erweitert werden

Benutzung - Klassen können aus anderen Klassen aufgebaut werden

Parametrisierung - Klassen können modifiziert werden

Page 23: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

3. Konstrukt - VererbungKlassen können Merkmale von einer (single-inheritance) oder mehreren (multiple-inheritance) Klassen übernehmen, modifizieren oder ergänzen. Die erbende Klasse heißt abgeleitete Klasse. Die vererbende Klasse ist die Oberklasse.

Beispiel:

- Klasse Bild referenziert

- Klasse Fenster referenziert

- Klasse Größe, Lage, Inhalt

Page 24: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Wie kann man Objekte finden ?

Als erste Antwort ergibt sich aus dieser Einführung:Objekte sind während der Modellierungsphase zu identifizieren

- objektorientierte Analyse Objekte müssen durch Klassen beschrieben werden

- objektorientierter Entwurf.

Bei der Abstraktion sind Konstrukte hilfreich wie Generalisierung - Spezialisierung

Ganzes - Teil

Benutzung

Polymorphie

Die ideale Aufteilung kann nur iterativ gefunden werden. Dabei nützenMethoden wie

Datenmodellierung mit Entity Relationsship Diagrammen

Funktionsmodellierung mit Modularisierungskonzept

Verhaltensmodellierung mit Datenflussdiagrammen

Page 25: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Modellierung mit Objekten

Daher sind Objekte - nicht wahr, aber brauchbar

- nicht verifizierbar, aber validierbar

- nicht richtig, aber nützlich.

Das gilt bei der Suche nach Objekten und ihrer Abstraktionen in Klassen zu bedenken.

Objekte sind

Modelleder Eigenschaften und des Verhaltens

von

Elementen der realen Welt.

Objekte sind

Modelleder Eigenschaften und des Verhaltens

von

Elementen der realen Welt.

Page 26: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Technische Objekte reduzieren Komplexität

Sie werden allgemein beschrieben

Sie haben ein definiertes Verhalten

Sie sind vielfach verwendbar

Sie sind eindeutig identifizierbar

Sie werden über Schnittstellen angesprochen

Botschaften - Daten oder Methoden

Sie verbergen innere Details durch

Kapselung von Daten und Methoden

Sie können selber aus Objekten aufgebaut sein und erben deren

Daten und Methoden

Sie verändern sich mit der Zeit

Page 27: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Objekte im SE reduzieren Komplexität

Sie werden allgemein beschrieben Klassen + Attribute

Sie haben ein definiertes Verhalten Klassen + Methoden

Sie sind vielfach verwendbar Klassen + Instanzen

Sie sind eindeutig identifizierbar Identität

Sie werden über Schnittstellen angesprochen

Botschaften - Daten oder Methoden

Sie verbergen innere Details hinter Schnittstelle durch

Kapselung von Daten und Methoden

Sie können selber aus Objekten aufgebaut sein und erben deren

Daten und Methoden Beziehungen

Sie verändern sich mit der Zeit

Page 28: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

1. Konstrukt: Klassen zur Beschreibung

Eine Klasse beschreibt eine Menge von Objekten mit gleicher Struktur und gleichem Verhalten

Klassen existieren nicht als konkretes, greifbares Element

Eine Klasse ist eine Abstraktion, die "Essenz eines Objektes"

Eine Klasse verbirgt (kapselt) Datenstrukturen, Merkmale zur Implementierung und Kontrollfluss der Methoden

Eine Klasse liefert Operationen, die verwendet werden, und Attribute, die Zustand beschreiben.

Objekte sind Instanzierungen (konkrete Realisierungen) einer Klasse.

Page 29: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

2. Konstrukt - Beziehungen

Beziehungen zwischen Objekten- Die Funktion eines Systems wird durch die Zusammenarbeit vieler Objekte erbracht

- Objekte tauschen Botschaften

- Objekte können aggregiert werden

- Objekte können Methoden anderer Objekte benutzen.

Beziehungen zwischen Klassen- Die Beschreibung eines Systems erfolgt durch Angabe der Klassen und ihrer

Beziehungen

- Wichtige Konstrukte

Vererbung - Klassen können erweitert werden

Benutzung - Klassen können aus anderen Klassen aufgebaut werden

Parametrisierung - Klassen können modifiziert werden

Page 30: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

3. Konstrukt - VererbungKlassen können Merkmale von einer (single-inheritance) oder mehreren (multiple-inheritance) Klassen übernehmen, modifizieren oder ergänzen. Die erbende Klasse heißt abgeleitete Klasse. Die vererbende Klasse ist die Oberklasse.

Beispiel:

- Klasse Bild referenziert

- Klasse Fenster referenziert

- Klasse Größe, Lage, Inhalt und darin Objekte

Page 31: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Nutzen der Objektorientierung

Adäquate Modellierung

Durchgängigkeit der Methoden

Geheimnisprinzip und Lokalität

Wiederbenutzbarkeit von „Komponenten“ und

Klassen können verteilt entwickelt, implementiert und gewartet werden.

Page 32: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Adäquate Modellierung durch neue Konstrukte wie

Abstraktion - Prozedurale Abstraktion

Datenabstraktion

Klassifikation - Ordnung von Wissen

Zuordnung Objekte zu Klassen

Diversifikation - Ganzes + Teile

Aggregation - Zusammenfassung von Teilen

Verteilung - Client-Server Strukturen

Tausch von Botschaften über Schnittstellen

Kapselung

Dadurch wird es möglich komplexere Systeme einfacher zu beschreiben (modellieren).

Notwendig Modellierungssprache mit entsprechenden Konstrukten

Page 33: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Durchgängigkeit der Methodik

Die Modellierung muss unterstützt werden durch adäquate Umsetzung bei Entwurf und Implementierung.

Werkzeuge zur Unterstützung der Entwicklung objektorientierter Software müssen daher das Konstrukt Klasse in allen Phasen des Lebenszyklus unterstützen und eine möglichst automatisierbare Verwaltung der Objekte gewährleisten.

Durchgängigkeit umfasst den horizontalen Methodenverbund (verschiedene Sichten innerhalb

einer Phase im Lebenszyklus), den vertikalen Methodenverbund (Verwaltbarkeit aufeinander

aufbauender Methoden zweier Phasen).

Das erfordert Methoden für objektorientierten Entwurf und objektorientierte Programmierung, die Speicherung von Objekten und an die Objektorientierung angepasste Vorgehensmodelle zur Softwareerstellung und zum Qualitäts-management

Page 34: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Geheimnisprinzip und Lokalität

Information HidingWird beispielsweise ein ADT-Matrix erstellt, könnte er eine Datenstruktur enthalten, die die Repräsentation von Zeilen in einer Datenbank entspricht. Der Zugriff auf diese Struktur wird von außen zum Beispiel durch Funktionen wie "Gib Element (x,y)" oder "Berechne Determinante" vorgenommen. Wie die Matrix in der Datenbank bzw. im ADT dargestellt ist oder wie die Determinante bestimmt wird, ist das Geheimnis des ADT. Dieses erfolgreiche Prinzip kann allgemeiner eingesetzt werden

Lokalität von EntscheidungenEntscheidungen werden dort getroffen, wo sie anfallen. Damit bleiben die Auswirkungen von Änderungen dieser Entscheidungen auf einen Modul beschränkt. Sprachen, die den Begriff der Ausnahme kennen, mögen durch die unterschiedliche Handhabung von Algorithmen für Normalfälle und zur Behandlung von Fehlern zur Vereinfachung der Programmstruktur beitragen, sie begünstigen aber die Trennung von Entdeckung und Behandlung von Fehlern und behindern so die Modulgeschütztheit.

Verwendet man statt ADT's Klassen, so lassen sich diese Prinzipien konsequenter umsetzen.

Page 35: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Wiederverwendbarkeit und Änderbarkeit

Der Wunsch nach Wiederverwendbarkeit entsteht aus der Erfahrung, dass viele Teile von Software-Systemen nach ähnlichem Muster aufgebaut sind.

Wiederverwendbarkeit ist deshalb wünschenswert, weil sie alle anderen Aspekte der Software-Qualität beeinflusst.

Existierende und getestete Software genügt eher den Anforderungen nach Korrektheit und Robustheit und sie muss nicht mehr erstellt werden.

Wiederverwendbarkeit ist anzustreben in den Bereichen

Analyse, Entwurf und Implementierung

Durch eine starke Kapselung nach innen (Information Hiding) und die lose Kopplung nach außen (Lokalität der Entwurfsentscheidungen) entstehen Code-Blöcke, die isoliert vom Rest eines Gesamtsystems betrachtet werden können. Das erhöht die Änderbarkeit und unterstützt die Wiederverwendbarkeit des Bausteins.

Page 36: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Technische Objekte sind mehr als Objekte des SE

Sie haben ein definiertes Verhalten, das sich nicht nur auf eine

Datenstruktur bezieht - Komponenten und Dienste

Sie sind vielfach verwendbar, auch in unterschiedlichen Kontexten -

Verwendung der Semantik der Schnittstellen

Sie verbergen innere Details durch

Kapselung von Daten undIoder Methoden

Sie sind in der Regel aus Objekten aufgebaut und erben deren Daten und

Methoden

Sie verändern sich mit der Zeit

Diese Eigenschaften können im Rahmen der OO umgesetzt werden,

sind aber nicht selber angelegt -

Übergang zu Komponenten

Page 37: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Von Klassen zu Komponenten und Diensten

Aus Klassen werden Komponenten und Dienste, wenn sie außer Funktionalität auch Introspektion (Metainformation) anbieten

Komponenten und Dienste geben dadurch der Entwicklungsumgebung Auskunft über ihre Schnittstelle (Parameter und Modelle)

Komponenten und Dienste verbergen hinter ihrer Schnittstelle Details ihrer Implementierung. Diese muss daher nicht in einer oo-Sprache erfolgen

Komponenten und Dienste ermöglichen eine neue Dimension der Anwendung und der Anwendungsentwicklung. Diese erfolgt unter Verwendung von Klassen, Pattern, Frameworks und Komponenten, die der Entwicklungskultur angepasst werden.

Komponenten: Verwendung von Software (Entwicklungsaspekt) Dienste: Verwendung von Ergebnissen (Verteilungsaspekt)

Page 38: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Komponenten

Eine Komponente ist ein unabhängiger, austauschbarer Teil eines Softwaresystems, der eine sinnvolle Aufgabe im Kontext einer Softwarearchitektur erledigt.

Eine Komponente ist auch eine standardisierte, wiederverwendbare und im Vorfeld implementierte Einheit, welche benutzt wird, um Konstrukte einer Programmiersprache zu erweitern und Softwareanwendungen zu bauen.

Eine Komponente kann mehrere Klienten haben, kennt aber nicht den Kontext in dem sie benutzt wird.

Page 39: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Anforderungen an Komponenten

Komponenten folgen einem oder mehreren Standards.

Komponenten sind in sich geschlossen.

Komponenten spezifizieren genau, was sie verlangen und liefern können.

Komponenten sind konfigurierbar.

Page 40: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Die Stärken von Komponenten und Objekten

Objekte programmiersprachliche Einheiten aus

Datenstrukturen und Funktionen

Programmiermechanismen: Kapselung, Vererbung und Polymorphie

als Einheiten der Wiederverwendung zu klein

Klassenbibliotheken, Frameworks und Entwurfsmuster unterstützen Wiederverwendung, sind aber nicht leicht zu handhaben

Analyse, Entwurf und Implementierung

Komponenten

einsetzbare Software-Einheiten mit eigenständiger Funktionalität

über Schnittstellen schnell zu kompletten Applikationen kombinierbar

programmiersprachliche Realisierung im Prinzip egal

wichtigste Architekturen: COM, Java Beans und EJB, CCM

Komponentenmarkt insgesamt noch klein

Anwendung

Objektorientierte Programmiersprachen wie Java, C++ und Smalltalk sind gut geeignet, um Komponenten und Applikationen zu realisieren.

Page 41: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Eigenentwicklung vs. Komponentensoftware

Nachteile:– teuer– mit sehr großem

Aufwand wartbar– meistens „zu spät“

Vorteile:– standardisiert– Wartung wird vom

Komponenten-Anbieter übernommen

Vorteile:– Entwicklung unterliegt

eigener Kontrolle– eine optimale Anpassung

möglich

Nachteile:– verlangt eine Anpassung

an den Standard– keine

Wettbewerbsvorteile– Entwicklung unterliegt

nicht eigener Kontrolle

Eigenentwicklung Komponentensoftware

Page 42: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Komponentenarchitekturen

Komponentenarchitekturen stellen einen verteilungs-transparenten Kommunikationsmechanismus bereit.

Komponentenarchitekturen regulieren Interaktion zwischen Komponenten und ihrer Umgebung.

Komponentenarchitekturen definieren die Rollen einzelner Komponenten im System.

Page 43: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

COM-AnsatzComponent Object Model

Bestandteile von COM:– Schnittstelle (Interface)– Implementierung– Apartments– COM Services

IUnknown

IOleObject

IDataObject

IPersistStorage

IOleDocument

Page 44: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Ziele der Komponentenorientierung

Beschleunigung der Anwendungsentwicklung Wiederverwendung vorgefertigter Bausteine Qualitätssteigerung Kostensenkung Einsatz unterschiedlicher Programmiersprachen Einbindung von Fremdkomponenten Skalierbarkeit der Anwendung Verteilte Anwendungen Plattform-Unabhängigkeit

Als größer dimensionierte Software-Bausteine erleichtern Komponenten die Wiederverwendung und die Anwendungsentwicklung.

Page 45: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Software-KomponentenEigenschaften in Bezug auf Bildung von Systemen

Besitzt Interkommunikationsfähigkeit

- Einsatz über die Grenzen von Netzen, Sprachen, Protokollen, Adressräumen, Betriebssystemen und Werkzeugen hinweg

Besitzt klare Schnittstelle

- Von Implementierung getrennt

- Wohldefinierte Kommunikation mit Außenwelt

Ist keine vollständige Applikation

Ist frei kombinierbar mit anderen Komponenten

Page 46: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Systeme aus Objekten, Komponenten und Diensten

Können Dienste die sie betreffenden Metainformationen selber verarbeiten, so spricht man von Agenten.

Homogene Systeme

ADT-Modul FKT-Modul

Sammlung von Methoden, die auf eine Datenstruktur wirken

Methode zur Verarbeitung von Datenstrukturen

Implementierung als Folge von Methoden von ADTs

Implementierung als Samm-lung von Fkt-Modulen

Verteilte Systeme

Objekte und KomponentenADT-Modul als ProzessVererbung von Daten und MethodenSystmbausteine

DienstFKT-Modul als ProzessMultiuserfähig, eigenes Repository

Verwaltung mit ORB der OMG

Steuerung mit Vorgangs-bearbeitung nach WfMC

Komponenten- und diensteorientierte Systeme

Page 47: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Architektur eines objektorientierten Systems

Kommunikationsschiene (Middleware)

object services

common facilities application objects

Simulation FMINTESOLClient

LOTUS Notes

Datentopf fürDokumente

bedarfsgerechteBetriebsführung

Datentopf fürIFC Objekte

DB ServiceWorkflow Service

FacilityManagement

LifeSPACESClient

CAD Arch. CAD HKLS

Page 48: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Diese Fragen sollten Sie jetzt beantworten können

Was ist ein Objekt und wie beschreiben wir es

Was ist eine Klasse und zu was nutzt sie

Welche Beziehungen zwischen Klassen verwendet man zur

Modellierung

Wie erweitert man Klassen durch Vererbung

Warum fasst man Klassen zu Komponenten zusammen

Was sind Komponenten und Dienste

Wie sieht die Grundstruktur komponentenbasierter Systeme aus

Page 49: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Objekte als Repräsentation von Dingen - der ontologische Ansatz -1

DingeDie Welt besteht aus Dingen mit Eigenschaften und Zuständen. Es gibt keine zwei Dinge mit identischen Eigenschaften.

Eigenschaften können ein oder mehrere Dinge betreffen, haben begrenzten Wertebereich, können einander bedingen.

Zustand von DingenEigenschaften werden über Attribute beschrieben.

Die Summe aller Attribute bildet das Modell der Dinge.

Die Werte der Attribute zu einem Zeitpunkt definieren den Zustand der Dinge.

Dynamik von DingenDinge ändern ihren Zustand.

Zustandsänderungen werden durch Ereignisse ausgelöst und durch Übergangsgesetze beschrieben.

Page 50: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Objekte als Repräsentation von Dingen - der ontologische Ansatz -2

WechselwirkungenDinge können den Zustand anderer Dinge beeinflussen.Wechselwirkungen sind gemeinsame Eigenschaften der wechselwirkenden Dinge.

VereinigungDinge können zu neuen Dingen vereinigt werden.

Bei der Vereinigung entstehen neue Eigenschaften, die das vereinigte Ding charakterisieren.

KlassifizierungDinge mit einer vorgegebenen Menge von Eigenschaften bilden eine Art.

Eine Art ist beschrieben durch die Menge ihrer Eigenschaften und die sie verbindenden

Beziehungen.

Page 51: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 02/03Kap. 3:

Universität Stuttgart  W

isse

nsv

erar

be

itu

ng

un

d N

um

erik

Institut für Kernenergetikund Energiesysteme

Simulation technischer Systeme, WS 02/03 Kap. 3: Virt. Anlagen 2

Objekte als Repräsentation von Instanzen

- der Ansatz der Klassifizierungstheorie

Instanzbedeutet das Wissen von der Existenz eines Dinges in der Welt,

wird beschrieben durch Eigenschaften.

Eigenschaftenbeschreiben Instanzen durch

- Angaben zum Ding (Struktur)

- Angaben zu seinen Beziehungen zu anderen Dingen (Relation)

- Angaben zu möglichen Veränderungen der Werte von Eigenschaften (Verhalten)

Konzepte (Modelle)fassen die Eigenschaften, durch die Instanzen beschrieben werden, zusammen,

können erweitert werden, um andere Sichten zu erlauben.

Zusammengesetzte InstanzenEine Instanz kann aus Teilinstanzen bestehen,

eine zusammengesetzte Instanz hat eigene Eigenschaften.