Upload
ebert-gerloff
View
107
Download
0
Embed Size (px)
Citation preview
TU Dresden - Institut für Bauinformatik
Bauinformatik GrundlagenAlgorithmen und Datenstrukturen
in Java
2. Semester2. Vorlesung
Welt-Objekt-Model
Prof. Dr.-Ing. R.J. Scherer
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
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
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
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
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
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
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.
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
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;
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
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
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
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
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-
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
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)
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.
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
TU Dresden - Institut für Bauinformatik
Bauobjekte
11.04.23 20
Bauobjekt
Baugrube Bauwerk
1
Aushub
Aushubszustand
TU Dresden - Institut für Bauinformatik
Baugeräte
11.04.23 21
Baugeraet
LKWBaggerKran
1
Ausleger
KatzeSchaufel
hat
hat hat
hat
Ladeplatform
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:?]
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
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:?]
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