Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 27.03.2017 Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof. Dr.-Ing. R.J. Scherer Bauinformatik Grundlagen
Objekt-Interaktion (MPS Paradigma) interface Visualisiere Obj. paint() abstract phys. Objekt Baustelle main Δt2 Produkt: abstract Baugerät Leitstand = Instanziierung + Steuerung Prozesssteuerung: LKW1 legt zurück Problem z.B.: Synchronisation Δt1/ Δt2 ¹ N holt Δt1 ¹ Δt2 steuert (Start, Ende, Δt1) holt t1 t2 t3 t4 t5 t6 t‘1 t‘2 t‘3 t‘4 Bewege Objekt Prozess: Zustand ti-1 Zustand ti Zeichne Objekt Methode aus instantiertem Objekt usw
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 Modell Steuerung Präsentation Produkt Prozesssteuerung Prozess 27.03.2017
Programm Architektur Produkt-Modell (Welt-Objekt-Modell) main holt aktualisiert Prozess-Steuerung (Leitstand) Nutzer-schnittstelle Prozess-Modell (Welt-Objekt-Modell) Darstellung Welt-Prozess D-Schnittstelle 27.03.2017
Objekt-Interaktion (MPS Paradigma) interface Visualisiere Obj. paint() abstract phys. Objekt Baustelle main Δt2 Produkt: Welt-Objekt-Modell abstract Baugerät Leitstand = Instanziierung + Steuerung Nutzer Prozesssteuerung: LKW1 legt zurück holt holt steuert (Start, Ende, Δt1) Prozess: Bewege Objekt Zustand ti-1 Zustand ti Welt-Prozess-Modell Zeichne Objekt Darstellungs-Prozess-Modell Methode aus instantiertem Objekt usw Aktualisierungs-Prozess 27.03.2017
Welt-Objekt-Modell Architektur Vorlagen (Schema, Konzepte, Klassen) permanent instantiiert Daten-ablage Lager (Repository) Welt-Objekte eingesetzt Aktuelle Zustände aktuelle Welt-Objekte temporär holt aktualisiert Prozessablauf 27.03.2017
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 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 27.03.2017
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.
EXPRESS-G Bezugspunkt Baugeraet Integer LKW Kran Bagger PhysicalObject winkel V Max koordinaten Bezugspunkt Baugeraet Integer LKW Kran Bagger PhysicalObject LKW: Bezugspunkt V max Weitere Attribute Richtung der Beziehung wird durch die "Kreise" angezeigt. Kardinalitäten von Beziehungen sind beschrieben. Grundtype (STRING, REAL, INTEGER, ENUM, ...) sind definierbar und sind an speziellen Symbollen erkennbar (hier nicht enthalten)
EXPRESS EXPRESS 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;
Ü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 Programmiersprache
Ü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 Java
Schema/Datenstrukturen Baustelle Vorgehensweise (s. auch 1.Sem 1. Vorl) Sammeln aller Objekte Ordnen der Objekte in Objektgruppen Aufbau der Basisrelationen Aufbau der Anwendungsrelationen Implementation der Schema-Objekte in Klassen mit Ihren Konstruktoren textuell EXPRESS-G EXPRESS Java 27.03.2017
Überblick EXPRESS-G 27.03.2017
Überblick über EXPRESS-G Kommunikations- 27.03.2017
Überblick über EXPRESS-G 27.03.2017
Überblick über EXPRESS-G 27.03.2017
Strukturierung der Baustellen-Klassen Bauplatz und seine Teile Bauwerk Baumaterial Gerätepark Bewegung, Abläufe, Prozesse (immaterielle Objekte) Logistik: (Material- und Ressourcenflüsse) Interaktionen von Geräten 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.
Baustellenschema 27.03.2017
Bauobjekte 27.03.2017
Baugeräte 27.03.2017
Bauplatz/Einrichtungslemente 27.03.2017
Material 27.03.2017
Beziehung LKW- Material 27.03.2017
Klassenstruktur der Baustelle Baumaterial Baugeräte Bauobjekte Einrichtungs- elemente