25
TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof. Dr.-Ing. R.J. Scherer

TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

Embed Size (px)

Citation preview

Page 1: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Bauinformatik GrundlagenAlgorithmen und Datenstrukturen

in Java

2. Semester2. Vorlesung

Welt-Objekt-Model

Prof. Dr.-Ing. R.J. Scherer

Page 2: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

LKW1

Objekt-Interaktion (MPS Paradigma)

interfaceVisualisiere Obj.

paint()

abstractphys. Objekt

Baustellemain

Leitstand= Instanziierung+ Steuerung

Zustand tiZustand ti-1

Methode aus instantiertem Objekt

holt

holt

legt zurück

Produkt:Produkt:

Prozess:Prozess:

steuert (Start, Ende, Δt1)

Δt2

Δt1/ Δt2Δt1 Δt2

t1

t2

t3

t4

t5

t6

t‘1

t‘2t‘3

t‘4

abstractBaugerät

Problem z.B.: Synchronisation

Prozesssteuerung:Prozesssteuerung:

ZeichneObjekt

BewegeObjekt

usw

Page 3: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Paradigma: Modell-Präsentation-Steuerung(MPS)Mit der ersten objektorientierten Programmiersprache Smalltalk wurde das MPS-Paradigma (englisch MVC Model-View-Controller-Paradigma) eingeführt. Paradigma bedeutet soviel wie Prinzip. Es sagt aus, dass eine Aufteilung in 3 Klassen(-bereiche) erfolgt.

Da Modell sowohl das Objekt-Welt-Modell, als auch das Präsentationsmodell sein kann und die Präsentation nur auf die visuelle Darstellung zu eng begrenzt ist, ergibt sich als Verallgemeinerung für das MPS-Paradigma

11.04.23 3

Präsentation

Modell Steuerung

Prozess

Produkt Prozesssteuerung

Page 4: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Programm Architektur

11.04.23 4

Produkt-Modell(Welt-Objekt-Modell)

main

Prozess-Modell(Welt-Objekt-Modell)

Darstellung

D-Schnittstelle

Welt-Prozess

Prozess-Steuerung(Leitstand)

Nutzer-schnittstelle

holt aktualisiert

Page 5: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Objekt-Interaktion (MPS Paradigma)

11.04.23 5

LKW1

interfaceVisualisiere Obj.

paint()

abstractphys. Objekt

Baustellemain

Leitstand= Instanziierung+ Steuerung

Zustand tiZustand ti-1

Methode aus instantiertem Objekt

Produkt:Welt-Objekt-Modell

Produkt:Welt-Objekt-Modell

Prozess:Prozess:steuert (Start, Ende, Δt1)

Δt2

abstractBaugerät

Prozesssteuerung:Prozesssteuerung:

ZeichneObjekt

BewegeObjekt

uswDarstellungs-Prozess-Modell

legt zurück

holtholt

Nutzer

Aktualisierungs-Prozess

Welt-Prozess-ModellWelt-Prozess-Modell

Page 6: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Welt-Objekt-Modell Architektur

11.04.23 6

Welt-Objekt-Modell

Vorlagen(Schema, Konzepte, Klassen)

Aktuelle Zuständeaktuelle Welt-Objekte

Lager (Repository)Welt-Objekte

eingesetzt

instantiiert

Daten-ablage

temporär

permanent

holt

Prozessablauf

aktualisiert

Page 7: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Welt-Objekt-DatenstrukturEine Datenstruktur besteht aus:• Objekten• Relationen• Repäsentationssprache

Objekte bestehen (einschließlich der Definition der zugehörigen Datentypen) aus :• Identifikator - Attribut• Attributen• Relations-Attributen

Relationen• Vererbungsstruktur zu einfacheren Definition der Schema-Objekte (Klassen)• Beziehungen zwischen den Objekten• Kommunikationsrelationen (Benachrichtigungsbeziehung)

Repräsentationssprache• EXPRESS-G zur grafischen Repräsentation des Wesentlichen• EXPRESS zur syntaktischen Repräsentation mit allen Details

11.04.23 7

Page 8: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

EXPRESS-G

EXPRESS-G ist eine graphische Beschreibungssprache für objektorientierte Modelle und ist Teil 11 der ISO-Norm 10303 (STEP). Mittels EXPRESS-G können wesentliche Informationen objektorientierter Modelle spezifiziert werden.

Vorteil:- übersichtlich und leicht verständlich;

Anwendung: Modellierung der Objekte

Nachteil:- Nicht alle benötigten Informationen können mit

EXPRESS-G beschrieben werden.

Page 9: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

EXPRESS-G

winkel

V Max

koordinatenBezugspunkt

Baugeraet

Integer

LKW Kran Bagger

Integer

PhysicalObject

LKW:•Bezugspunkt•V max•Weitere Attribute

Page 10: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

EXPRESSEXPRESS dient zur genauen Spezifikation objekt-orientierter Modelle. Die in EXPRESS-G beschriebene Klassenhierarchie wird in EXPRESS überführt und durch zusätzlich benötigten Information, die in EXPRESS-G nicht beschreibbar sind, ergänzt, um eine verbindliche Datenstruktur zu definieren.

ENTITY Baugeraet ABSTRACT SUPERTYPE SUBTYPE OF ( PhysicalObject ); Geschwindigkeit : Real; Leistung : Real;END_ENTITY;

Page 11: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Überführung der EXPRESS-Struktur in eine ausführbare Programmstruktur

Um mit der in EXPRESS definierten objekt-orientierten Struktur arbeiten zu können muss sie in eine ausführbare Programmstruktur überführt werden. Dafür bieten sich objekt-orientierte Programmiersprachen, wie z.B. Java, an.Die Datenstruktur kann hierbei auch um Verhalten (Funktionen) erweitert werden. Durch die Einführung der Kommunikationsrelation und eines Symbols für Funktionen erweitern wir EXPRESS-G entsprechend (kein ISO 10303 Bestandteil)

EXPRESSEXPRESS ProgrammierspracheProgrammiersprache

Page 12: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Überführung der EXPRESS-Struktur in eine ausführbare Programmstruktur

ENTITY Baugeraet ABSTRACT SUPERTYPE SUBTYPE OF ( PhysicalObject ); Geschwindigkeit : Real; Leistung : Real;END_ENTITY;

public abstract class Baugeraet extends PhysicalObject { private double geschwindigkeit; private double leistung; public void setGeschwindigkeit t(double v) { this.geschwindigkeit = v;

} };

EXPRESS zu JavaEXPRESS zu Java

Page 13: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Schema/Datenstrukturen Baustelle

Vorgehensweise (s. auch 1.Sem 1. Vorl)1)Sammeln aller Objekte2)Ordnen der Objekte in Objektgruppen3)Aufbau der Basisrelationen4)Aufbau der Anwendungsrelationen5)Implementation der Schema-Objekte

in Klassen mit Ihren Konstruktoren

11.04.23 13

textuell

I) EXPRESS-GII) EXPRESS

Java

Page 14: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Überblick EXPRESS-G

11.04.23 14

BINÄR BOOLESCH

INTEGER REAL

NUMMER

ZEICHENFOLGE

AufzählungAuswahl

Def. Datentyp Text ZEICHENFOLGEL [1:?]

Beispiel

Entität

Schema

Methode

Einfache Datentypen

Zusammengesetzte Datentypen

Definierte Datentypen

Schema Symbol

Methoden

Entität/Objekt

Page 15: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Überblick über EXPRESS-G

11.04.23 15

Linienart Entitätendiagramm Schemadiagramm

Vererbung

Optionales Attribute

andere Beziehung

Schemaverweis

Rollen:Können an der Beziehungslinie bezeichnet werdenStandardwerte: „hat“ für normale Linie

„ist ein“ für dicke Linie

Kardinalitäten:Standardwerte:Die Kardinalität von Zusammengesetzten Datentypen kann beschrieben werden mit: [min:max]L= Liste; S = Set (Menge), A = Array (Feld), B = Bag (Multimenge) ? bedeutet unlimitiert

Der Kreis gibt die Beziehungsrichtung an

andere Beziehung Schemaverwendung

= 1

= 0 oder 1

Kommunikations-

Page 16: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Überblick über EXPRESS-G

11.04.23 16

Seite #, Verweis #, (von Seite #, ...)

Seite #, Verweis #

(name)

Schema.defSchema.def

Seitenverweis1) zu dieser Seite2) auf eine weitere Seite

Schemaverweis1) Definitionsverweis von einem anderem Schema2) Definitionsverwendung von einem anderem Schema

Page 17: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Überblick über EXPRESS-G

11.04.23 17

Super A

Sub A

Super B

Sub B1 Sub B2

NUMMER

Sub C INTEGER

1

attr1

(RT) attr1

nums L [1:6]

(INV) has_parts S[1:?] (DER)num_parts

Entity:· Ist Teil eines nichtzyklischen Graphen· Kann explizite Attribute haben – z.B. attr1· Kann überlagerte Attribute haben – z.B. (RT) attr1· Kann geerbte Attribute haben – z.B. (DER) num_parts· Kann inverse Attribute haben – z.B. (INV) part_of

In EXPRESS können nicht dargestellt werden:· Regeln· Constraints· Funktionen (wir haben Methode eingeführt)

Page 18: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Strukturierung der Baustellen-Klassen(1) Bauplatz und seine Teile

(2) Bauwerk

(3) Baumaterial

(4) Gerätepark

(5) Bewegung, Abläufe, Prozesse (immaterielle Objekte)(6) Logistik: (Material- und Ressourcenflüsse)

(7) Interaktionen von Geräten

(8) Personal

Personal könnte wie Geräte modelliert werden, d.h. wie 4, 5, 7 und muss nicht als eigenständiger Modellbereich formuliert werden.Wenn wir aber selbstständiges Handeln zulassen, z.B. durch Agentenmethode möglich, so ist ein eigenständiger Modellbereich zu empfehlen.

Page 19: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Baustellenschema

11.04.23 19

(ABS)PhysicalObject

Bauplatz Bauobjekt Baumaterial Baugerät

Personal

Bezugspunkthat

REAL

REAL

x

y

(ABS)GraphicalObject

(ABS)Symbol 1 (ABS)Symbol 2

1

Page 20: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Bauobjekte

11.04.23 20

Bauobjekt

Baugrube Bauwerk

1

Aushub

Aushubszustand

Page 21: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Baugeräte

11.04.23 21

Baugeraet

LKWBaggerKran

1

Ausleger

KatzeSchaufel

hat

hat hat

hat

Ladeplatform

Page 22: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Bauplatz/Einrichtungslemente

11.04.23 22

Einrichtungselement

LagerplatzBaustrasse

Wendeplatz

Abladeplatz

Kranschienen

1

Baucontainer

Zelle

hat S[1:?]

verbunden_mit S[1:?]

Page 23: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Material

11.04.23 23

Baumaterial

StB_Balken

Stahltraeger

I_Traeger Rohr_Traeger

Ziegelstein Zementsack

Fertigteil

Baustoff

Deckenplatte

1

1

1

1

Page 24: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Beziehung LKW- Material

11.04.23 24

Ausschnitt aus Schema „Baumaterial“

Ausschnitt aus Schema „Baugeräte“

Baugeraet

LKW

hat

Ladeplatform

Baumaterial

Ziegelstein Zementsack

Fertigteil

Baustoff

1

1

ist beladen mit S[1:?]

Page 25: TU Dresden - Institut für Bauinformatik Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof

TU Dresden - Institut für Bauinformatik

Klassenstruktur der Baustelle

(ABS)Physical_ObjectZustand Repraesentation Koord_Trans_2DBezugsystem

Geom_Repr Topol_Repr Symbol_Repr

1

*Objektzustand

Bauplatz

Darstellungsformen S[1:?]

Bauobjekt

Einrichtungselement

Baugeraet

Baumaterial

Personal

enthaelt_Bauobjekt

Einrichtungselementebeinhaltet S[1:?]

enthaelt_Baustellenelemente

Geraeteparkenthaelt_Baugeraete beinhaltet S[1:?]

Baugrube Bauwerk

1

LagerplatzBaustrasse

Wendeplatz

Abladeplatz

Kranschienen

1

Baucontainer

LKWBaggerKran

1

StB_Balken

Stahltraeger

I_Traeger Rohr_Traeger

Ziegelstein Zementsack

Fertigteil Baustoff

Deckenplatte

1

11

1

Ist noch zu entscheiden und entsprechend zu erweitern

Bauteam

benoetigte_Arbeitskraefte

besteht_aus S[1:?]

*beinhaltet S[1:?]

Ausleger

Katze

Schaufel

hat

hat

hat

1

*transportiert [1:?]

Ist noch zu entscheiden und entsprechend zu erweitern

REAL

REAL

REAL

X

Y

Winkel

Zelle

hat S[1:?]

Optionale ContainerklassenKönnen für Gruppierungen bzw. Gruppenfunktionen benutzt werden.Falls nicht nötig gehen die Relationen von Baustelle direkt an die enspr. Elemente

Eigenschaften sind da noch zu überlegen

Aushub

Aushubszustand

Gilt nicht für Bagerverbunden_mit S[1:?]

hat

Ladeplatform

ist beladen mit S[1:?]

(ABS)GraphicalObject

(ABS)Symbol 1 (ABS)Symbol 2

1

REAL

REAL

X

Y

Bezugspunkt hat

Baumaterial

Baugeräte

Bauobjekte

Einrichtungs-elemente