# Objektorientierte Mathematische Modellbildung
## Einleitung

Diese Seite zum Thema Objektorientierte Mathematische Modellbilung kann als Wiki2Reveal Folien a angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Änderungen an den Folien wirken sich sofort auf den Inhalt der Folien aus.

### Teilaspekte der OOMM

Dabei werden die folgenden Teilaspekte im Detail behandelt:
* (1) Mathematische Beschreibung von Objekten/Instanzen und Klassen,
* (2) Mathematische Beschreibung von Zuständen von Objekten,
* (3) Prozesse und Methoden zur mathematischen Beschreibung von Veränderungen in Netzen von kommunizierenden Objekten

### Modellbildung

In der Modellbildung betrachtet man ein System und erarbeitet durch Systemanalyse eine Modell als Ergebnis der Analyse. Dieser Prozess ist in der Regel iterativ, da man durch Erkenntnisgewinn über das betrachtete System das Modell weiter verbessern kann. In der Mathematischen Modellbildung erfolgt die Beschreibung des Systems mit mathematischen Methoden und in einer mathematischen Syntax.

### Modellbildungszyklus

Die Abbildung zeigt, wie ausgehend von einer Realsituation ein Modellierungsproblems definiert wird und in einem iterativen Ablauf das mathematische Modell und dessen Implementation in ein rechnergestütztes ablauffähiges Modell schrittweise verbessert werden kann.

## Definition - OOMM

Ein ObjektOrientierte Mathematisches Modell (OOMM) ist als mathematisches Modell eine Beschreibung eines Ausschnittes der beobachtbaren Welt mittels mathematischer Notation. Dieses OOM betrachtet das beobachtete bzw. modellierte System $\mathbb {S}$ und beschreibt dieses durch $\mathbb {S} _{t}\subseteq \mathbb {S}$, der zu einem Zeitpunkt $t\in T\subset \mathbb {R}$ existierenden Objekte.

### Zeithängigkeit - Existenz von Objekten

* die Zeitmenge $T$ ist abzählbar
* die Menge der zum Zeitpunkt $t\in T$ existierenden Objekte ist ein abzählbares (i.d.R. endliches) System von Objekten $\mathbb {S} _{t}:=\{x_{n}\,|\,n\in I\}\subseteq \mathbb {S}$ mit $n\in I_{t}\subseteq \mathbb {N}$ zum Zeitpunkt $t\in T\subset \mathbb {R}$ mit $T$ abzählbar,
* ein Einzelobjekt $x_{n}\in \mathbb {S} _{t}$ gilt, dann existiert zum Zeitpunkt mit $t\in T$ das Objekt $x_{n}$,

### Klassifizierung von Objekten/Instanzen

* Einzelobjekte $x_{n}\in \mathbb {S}$ zu einer oder mehrerer Klassen $\mathbb {K} _{i}\subseteq \mathbb {S}$ mit $n\in \mathbb {N}$ gehören können,
* die Klassenzugehörigkeit $x_{n}\in \mathbb {K} _{i}$ definiert dabei, welche gemeinsame Eigenschaften alle $x\in \mathbb {K} _{i}$ besitzen,
* die gemeinsamen Eigenschaften beziehen sich dabei auf
** gemeinsame Zustände $x.s$ und/oder
** gemeinsame Methoden $x.m$, die alle $x\in \mathbb {K} _{i}$ besitzen.

### Objektbeziehungen

* Kennt-Beziehung (Assoziation)
* Teil-Ganzes-Beziehung (Aggregation)

### Methoden und Prozesse

* Klassen können eine oder mehrere Methoden $K.m_{1},\,K.m_{2},\ldots$ besitzen.
* wenn für eine Instanz $x$ zu Klasse $K$ gehört (also $x\in K$) und für die Klasse die Methode $K.m$ definiert ist, dann kann jedes Objekt/jede Instanz $x\in K$ diese Methode als Prozess $x.m$ als Prozess ausführen.
* zwei oder mehrere Objekte $x_{1},x_{2},\ldots \in \mathbb {S}$ können miteinander über Methoden kommunizieren, wenn diese sich in dem System "kennen" bzw. eine einseitige bzw. wechselseitige Relation zwischen den Objekten $x_{1},x_{2},\ldots \in \mathbb {S}$ existiert.

### Bemerkung - Modellierungsbereich

Die OOMM kann analog zu jedem mathematischen Modell einen beliebigen, begrenzten Bereichen der beobachtbaren Realität als Ausgangspunkt der Modellierungsaktivität verwenden. Das OOMM kann sich dabei z. B. die Naturwissenschaften, die Wirtschafts- oder Sozialwissenschaften, die Medizin oder den Ingenieurwissenschaften beziehen.

### Bemerkung - deskriptiv - präskriptiv

Modelle können aber nicht nur deskriptiv versuchen, einen Ausschnitt aus der beobachteten Welt zu beschreiben, sondern können auch präskriptiv (z.B. in den Ingenieurswissenschaften) ein Modell mit den Objekten und Prozessbeschreibungen definieren, das ein zukünftiges zu konstruktuierendes System mit seinen Teilen beschreibt ("präskriptive Modellierung"). Dabei geht beispielsweise darum, bestimmte Funktionsweisen und Eigenschaften des Systems bereits im Vorfeld zu testen, ohne das konstruierte Objekt schon physikalisch vor sich zu haben. Die Anwendung von OOMM kann dabei zu Reduktion von Entwicklungskosten führen (z.B. reduzierte Anzahl von realen Prototypen für Tests).

### Bemerkung - Modellierte Gesetzmäßigkeiten

Die Nutzung von mathematischen Modelle allgemein erlaubt eine logische, strukturelle oder prozessorientierte Durchdringung eines modellierten Systems. Dabei müssen je nach Art des beobachtbaren oder modellierten Systems die geltenden Gesetzmäßigkeiten (z.B. physikalischen Gesetze) auf das objektorientierte Modell über die Zustände und Methoden übertragen werden.

### Bemerkung - Digitaler Zwilling

Die Analogie zwischen beoachtbarem Ausschnitt der Realität und dem mathematischen Modell sollte nach Möglichkeit gleichwertig (äquivalent) sein, da das OOMM nach Möglichkeit nur die erlaubten Zustände und möglichen Prozesse aus einem beoachteten System abbilden soll. Da die OOMM in der Regel auch digital in eine Computersimulation übertragen werden, finden man die mathematische Modellbildung auch in Kontext von Digitalen Zwillingen.

### Bemerkung - Modellierungsgüte

Durch den Vergleich von beoachtetem System und modellierten System über Messdaten kann man feststellen, ob tatsächlich in OOMM nur erlaubten Zustände und physikalisch mögliche Prozess adäquat die Dynamik des beoachteten Systems beschreibt. Insgesamt schließt die Anwendung OOMM ein iterative (wiederholten) Durchlauf Modellbildungskreisläufen ein, die das Ziel hat, diese Erkenntnisse aus dem beoachteten System auf das modellierte System zu übertragen und die Modellierungsgüte des OOMM zu verbessern.

## Aufgabe für Studierende

* Betrachten Sie das Konzept des Digitalen Zwillings und wenden Sie dieses auf eine Domäne Ihrer Wahl an. Identifizieren Sie dabei, die modellierten Zustände und Prozesse, die Sie in das OOMM aufnehmen möchten.
* Versuchen Sie herauszufinden, wer "All models are wrong, but some are useful" (alle Modelle sind falsch, aber manche sind nützlich) gesagt hat und analysieren Sie Motivation für diese Aussage. Übertragen das auf die mathematischen Anforderung der OOMM.

## Zielsetzung

Diese Lernressource zu Thema Objektorientierte Mathematische Modellbilung in der Wikiversity hat das Ziel, mathematische Modellbildung mit Prinzipien der Objektorientierung zu verbinden.

### Nachhaltigkeitsziele

Vor dem Hintergrund der Nachhaltigkeitsziele der Vereinten Nationen versucht man Objekte in einem System zu klassifizieren, deren Ressourcenverbrauch zu modellieren und diesen auch zu optimieren.

### Zielgruppe

Die Zielgruppen der Lernressource zum Thema Objektorientierte Mathematische Modellbilung sind
* Studierende im Fach Mathematik
* Studierende im Fach Umweltwissenschaften

## Lerneinheiten

* Geschichte
* Implementierung - OOP
* Zustandsraum - (Foliensatz)
* Objektorientierte Programmierung

#### Klassen

* Basisklassen - (Foliensatz)
* Vererbung - (Foliensatz)

### Einführende Aufgaben

Mit den folgenden Aufgaben zum Thema Objektorientierte Mathematische Modellbilung werden zunächst grobe Strukturen eines Systems definiert.
* Betrachten Sie das Thema Mobilität und Transport und definieren Sie in betrachteten System die Objekte und Klassen, die Sie in die mathematische Modellbildung einbinden möchten (z.B. Autos, Schiffe, ÖPNV).
* Welche internen Zustände möchten Sie in diesem Modellen betrachten (z.B. Füllstand in Tank, Ladezustand von Batterien, ...)?
* Welche Prozesse möchten Sie in dem Modell abbilden (z.B. die Bewegung im Raum zusammen mit dem Ressourceverbrauch)?