Kein Folientitel

Werbung
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
Objekt-Interaktion (MPS Paradigma)
interface
Visualisiere Obj.
paint()
Produkt:
Δt2
abstract
phys. Objekt
Baustelle
main
Leitstand
= Instanziierung
+ Steuerung
abstract
Baugerät
Prozesssteuerung:
legt zurück
LKW1
holt
steuert (Start, Ende, Δt1)
holt
Prozess:
Problem z.B.:
Synchronisation
Δt1/ Δt2 
Δt1 Δt2
Zustand ti-1
Bewege
Objekt
Methode aus
instantiertem Objekt
TU Dresden - Institut für Bauinformatik
Zustand ti
Zeichne
Objekt
usw
t1
t2
t3
t4
t5
t6
t‘1
t‘2
t‘3
t‘4
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.
Steuerung
Modell
Präsentation
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
Prozesssteuerung
Produkt
Prozess
TU Dresden - Institut für Bauinformatik
16.05.2016
3
Programm Architektur
Produkt-Modell
(Welt-Objekt-Modell)
holt
aktualisiert
Prozess-Modell
(Welt-Objekt-Modell)
Darstellung
main
ProzessSteuerung
(Leitstand)
Nutzerschnittstelle
Welt-Prozess
D-Schnittstelle
TU Dresden - Institut für Bauinformatik
16.05.2016
4
Objekt-Interaktion (MPS Paradigma)
interface
Visualisiere Obj.
paint()
Δt2
Produkt:
Welt-Objekt-Modell
abstract
phys. Objekt
Baustelle
main
Leitstand
= Instanziierung
+ Steuerung
abstract
Baugerät
Nutzer
Prozesssteuerung:
legt zurück
LKW1
holt
holt
steuert (Start, Ende, Δt1)
Prozess:
Zustand ti-1
Welt-Prozess-Modell
Bewege
Objekt
Darstellungs-Prozess-Modell Methode aus
Aktualisierungs-Prozess instantiertem Objekt
TU Dresden - Institut für Bauinformatik
16.05.2016
Zustand ti
Zeichne
Objekt
usw
5
Welt-Objekt-Modell Architektur
Welt-Objekt-Modell
permanent
Datenablage
Vorlagen
(Schema, Konzepte, Klassen)
instantiiert
Lager (Repository)
Welt-Objekte
eingesetzt
temporär
Aktuelle Zustände
aktuelle Welt-Objekte
holt
aktualisiert
Prozessablauf
TU Dresden - Institut für Bauinformatik
16.05.2016
6
Welt-Objekt-Datenstruktur
Eine 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
TU Dresden - Institut für Bauinformatik
16.05.2016
7
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
koordinaten
PhysicalObject
winkel
Bezugspunkt
Integer
Baugeraet
V Max
Integer
LKW
Kran
TU Dresden - Institut für Bauinformatik
Bagger
LKW:
•Bezugspunkt
•V max
•Weitere Attribute
EXPRESS
EXPRESS dient zur genauen Spezifikation objektorientierter 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)
EXPRESS
TU Dresden - Institut für Bauinformatik
Programmiersprache
Überführung der EXPRESS-Struktur in eine
ausführbare Programmstruktur
ENTITY Baugeraet
ABSTRACT SUPERTYPE
SUBTYPE OF ( PhysicalObject );
Geschwindigkeit : Real;
Leistung : Real;
END_ENTITY;
EXPRESS zu Java
public abstract class Baugeraet extends PhysicalObject {
private double geschwindigkeit;
private double leistung;
public void setGeschwindigkeit t(double v) {
this.geschwindigkeit = v;
}
};
TU Dresden - Institut für Bauinformatik
Schema/Datenstrukturen Baustelle
Vorgehensweise (s. auch 1.Sem 1. Vorl)
1)Sammeln aller Objekte
2)Ordnen der Objekte in Objektgruppen
3)Aufbau der Basisrelationen
4)Aufbau der Anwendungsrelationen
5)Implementation der Schema-Objekte
in Klassen mit Ihren Konstruktoren
TU Dresden - Institut für Bauinformatik
16.05.2016
textuell
I) EXPRESS-G
II) EXPRESS
Java
13
Überblick EXPRESS-G
BINÄR
BOOLESCH
INTEGER
REAL
Auswahl
Def. Datentyp
NUMMER
Einfache
Datentypen
ZEICHENFOLGE
Aufzählung
Beispiel
Text
L [1:?]
Entität
ZEICHENFOLGE
Zusammengesetzte
Datentypen
Definierte
Datentypen
Entität/Objekt
Schema
Schema Symbol
Methode
TU Dresden - Institut für Bauinformatik
Methoden
16.05.2016
14
Überblick über EXPRESS-G
Linienart
Entitätendiagramm
Schemadiagramm
Vererbung
Optionales Attribute
Schemaverweis
Kommunikationsandere Beziehung
andere Beziehung
Schemaverwendung
Rollen:
Können an der Beziehungslinie bezeichnet werden
Standardwerte:
„hat“ für normale Linie
„ist ein“ für dicke Linie
Der Kreis gibt die
Beziehungsrichtung an
Kardinalitäten:
=1
Standardwerte:
= 0 oder 1
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
TU Dresden - Institut für Bauinformatik
16.05.2016
15
Überblick über EXPRESS-G
Seite #, Verweis #,
(von Seite #, ...)
Schema.def
Seitenverweis
1) zu dieser Seite
2) auf eine weitere Seite
Seite #, Verweis #
(name)
Schemaverweis
1) Definitionsverweis von einem anderem
Schema
2) Definitionsverwendung von einem
anderem Schema
Schema.def
TU Dresden - Institut für Bauinformatik
16.05.2016
16
Überblick über EXPRESS-G
attr1
Super A
Super B
nums L [1:6]
NUMMER
1
Sub A
Sub B1
Sub B2
(RT) attr1
(INV) has_parts S[1:?]
Sub C
(DER)num_parts
INTEGER
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
16.05.2016
17
Strukturierung der Baustellen-Klassen
(1)
(2)
(3)
(4)
(5)
Bauplatz und seine Teile
Bauwerk
Baumaterial
Gerätepark
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
REAL
x
hat
Bezugspunkt
REAL
(ABS)PhysicalObject
(ABS)GraphicalObject
y
1
(ABS)Symbol 1
Personal
Bauplatz
Bauobjekt
TU Dresden - Institut für Bauinformatik
16.05.2016
Baumaterial
(ABS)Symbol 2
Baugerät
19
Bauobjekte
Bauobjekt
1
Baugrube
Bauwerk
Aushubszustand
Aushub
TU Dresden - Institut für Bauinformatik
16.05.2016
20
Baugeräte
Baugeraet
1
Kran
Bagger
LKW
hat
hat
hat
hat
Ausleger
Katze
TU Dresden - Institut für Bauinformatik
Ladeplatform
Schaufel
16.05.2016
21
Bauplatz/Einrichtungslemente
Einrichtungselement
1
Baustrasse
Abladeplatz
Baucontainer
Lagerplatz
hat S[1:?]
Wendeplatz
Kranschienen
Zelle
verbunden_mit S[1:?]
TU Dresden - Institut für Bauinformatik
16.05.2016
22
Material
Baumaterial
1
Baustoff
Fertigteil
1
1
Ziegelstein
Stahltraeger
Zementsack
StB_Balken
1
Deckenplatte
I_Traeger
Rohr_Traeger
TU Dresden - Institut für Bauinformatik
16.05.2016
23
Beziehung LKW- Material
Ausschnitt aus Schema „Baugeräte“
Baugeraet
LKW
Ausschnitt aus Schema „Baumaterial“
hat
Ladeplatform
Baumaterial
ist beladen mit S[1:?]
1
Baustoff
Fertigteil
1
Ziegelstein
TU Dresden - Institut für Bauinformatik
16.05.2016
Zementsack
24
Klassenstruktur der Baustelle
X
REAL
Bezugspunkt
REAL
(ABS)GraphicalObject
hat
Y
1
(ABS)Symbol 1
(ABS)Symbol 2
X
Zustand
*Objektzustand
REAL
Bezugsystem
Darstellungsformen S[1:?]
(ABS)Physical_Object
Koord_Trans_2D
Repraesentation
Y
1
REAL
Winkel
Ist noch zu
entscheiden und
entsprechend zu
erweitern
REAL
Symbol_Repr
Topol_Repr
Geom_Repr
Eigenschaften sind da noch zu überlegen
1
Baumaterial
Personal
enthaelt_Bauobjekt
Baumaterial
Bauobjekt
Bauplatz
Baugrube
Baugeräte
1
1
Bauobjekte
1
1
Aushubszustand
Ist noch zu
entscheiden und
entsprechend zu
erweitern
Baustoff
Fertigteil
Bauwerk
Stahltraeger
Aushub
Zementsack
Ziegelstein
StB_Balken
Einrichtungselemente
1
Deckenplatte
I_Traeger
Rohr_Traeger
*beinhaltet S[1:?]
beinhaltet S[1:?]
Einrichtungselement
Einrichtungselemente
besteht_aus S[1:?]
enthaelt_Baustellenelemente
ist beladen mit S[1:?]
1
Abladeplatz
Baustrasse
Lagerplatz
Baucontainer
Optionale Containerklassen
Können für Gruppierungen bzw. Gruppenfunktionen benutzt werden.
Falls nicht nötig gehen die Relationen von Baustelle direkt an die
enspr. Elemente
*transportiert [1:?]
hat S[1:?]
Kranschienen
Wendeplatz
Zelle
Gilt nicht für
Bager
verbunden_mit S[1:?]
enthaelt_Baugeraete
beinhaltet S[1:?]
Baugeraet
Geraetepark
1
hat
Bagger
Kran
LKW
hat
Ausleger
hat
Katze
hat
Schaufel
benoetigte_Arbeitskraefte
Bauteam
TU Dresden - Institut für Bauinformatik
Ladeplatform
Herunterladen