250 likes | 390 Views
Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java. 2. Semester 2. Vorlesung Welt-Objekt-Model Prof. Dr.-Ing. R.J. Scherer. Objekt-Interaktion (MPS Paradigma). ¹ N. Δ t 1 / Δt2. interface Visualisiere Obj. paint(). abstract phys. Objekt. Baustelle main. Δ t 2.
E N D
Bauinformatik GrundlagenAlgorithmen und Datenstrukturenin Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof. Dr.-Ing. R.J. Scherer
Objekt-Interaktion (MPS Paradigma) ¹ N Δt1/ Δt2 interfaceVisualisiere Obj. paint() abstractphys. Objekt Baustelle main Δt2 abstractBaugerät Leitstand= Instanziierung+ Steuerung Produkt: Prozesssteuerung: LKW1 legt zurück Problem z.B.: Synchronisation holt Δt1¹ Δt2 steuert (Start, Ende, Δt1) holt t1 t2 t3 t4 t5 t6 t‘1 t‘2 t‘3 t‘4 BewegeObjekt Prozess: Zustand ti Zustand ti-1 ZeichneObjekt 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 Steuerung Modell Präsentation Prozesssteuerung Produkt Prozess
Programm Architektur Produkt-Modell(Welt-Objekt-Modell) main holt aktualisiert Prozess-Steuerung(Leitstand) Nutzer-schnittstelle Prozess-Modell(Welt-Objekt-Modell) Welt-Prozess Darstellung D-Schnittstelle
Objekt-Interaktion (MPS Paradigma) interfaceVisualisiere Obj. paint() abstractphys. Objekt Baustelle main Δt2 abstractBaugerät Leitstand= Instanziierung+ Steuerung Produkt: Welt-Objekt-Modell Nutzer Prozesssteuerung: LKW1 legt zurück holt holt steuert (Start, Ende, Δt1) Prozess: BewegeObjekt Zustand ti Zustand ti-1 ZeichneObjekt Welt-Prozess-Modell Darstellungs-Prozess-Modell Methode aus instantiertem Objekt usw Aktualisierungs-Prozess
Welt-Objekt-Modell Architektur Welt-Objekt-Modell Vorlagen(Schema, Konzepte, Klassen) permanent instantiiert Daten-ablage Lager (Repository)Welt-Objekte eingesetzt Aktuelle Zuständeaktuelle Welt-Objekte temporär holt aktualisiert Prozessablauf
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
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.
koordinaten PhysicalObject Bezugspunkt winkel Integer Baugeraet V Max Integer LKW Kran Bagger EXPRESS-G • LKW: • Bezugspunkt • V max • Weitere Attribute
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
publicabstractclassBaugeraetextendsPhysicalObject { private double geschwindigkeit; private double leistung; publicvoidsetGeschwindigkeitt(double v) { this.geschwindigkeit = v; } }; Ü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
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
Überblick über EXPRESS-G Kommunikations-
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.
Klassenstruktur der Baustelle Baumaterial Baugeräte Bauobjekte Einrichtungs-elemente