II-RA-HOME

  1. Einführung

  2. Ausführliches Formalisierungsbeispiel

  3. Aufgabenstellung


II-RA PROZESSRECHNER SS03 - Vorlesung mit Übung
Modellierung - Komplexeres Beispiel

   Achtung : Skript  nicht vollständig  !!
   Wegen Dienstbesprechung verkürzte Vorlesung
                        

AUTHOR: Gerd Döben-Henisch
DATE OF FIRST GENERATION: April-9, 2003
DATE OF LAST CHANGE: April-30, 2003
EMAIL: Gerd Döben-Henisch



1. Einführung


Bisher wurden Grundbegriffe einer systemtheoretisch orientierten Analyse anhand einfacher Beispiele eingeführt. Zugleich wurde gezeigt, wie man mit Hilfe des Softwaretools scilab von INRIA Systeme als Funktionen repräsentieren kann. Der nächste Schritt besteht nun darin, die bisherige Aufgabenstellung als komplexes Beispiel zu rekonstruieren, d.h. das Auftreten und das Interagieren von mehreren Systemen zu untersuchen.


START



2. Ausführliches Formalisierungsbeispiel


Da viele sich mit der Formalisierung eines Problems noch schwer tun, seien hier die einzelnen Schritte nochmals sehr detailliert beschrieben.

Der Gesamtzusammenhang ist gegeben durch das folgende Szenario (siehe Schaubild):



modellierung

Modellierung



Startpunkt ist also ein Problem, das in einer sprachlichen Beschreibung vorliegen muss. Wir nehmen als Beispiel einen Ausschnitt aus der Problembescchreibung einer Synapse (siehe: Beschreibung eines Neurons). Und zwar greifen wir uns hier den Teilaspekt der Ionenpumpe heraus (siehe Schaubild):



pumpe

Elemente einer Ionenpumpe (vereinfacht)



Dies ist ein Stück Realität, das in ein Modell überführt werden soll. Der erste Schritt besteht darin, dass im Bereich dieser Realität einige Eigenschaften benannt werden können, die für das eigentliche Problem relevant sind. Im vorliegenden Fall sind dies:

  1. DIR := Direction, die Richtung, in der die Pumpe pumpt


  2. CAP := Capacity, die Kapazität der Pumpe (Menge der Ionen pro Zeiteinheit)


  3. Theta := Threshold/ Schwellwert (oder auch Sollwert), bei dessen Über- bzw. Unterschreitung die Punpe reagiert


  4. SI := Substance Concentration Intern, die Konzentration der Substanz im Membraninnern, auf deren Ionen die Pumpe bei Aktivität pumpt


  5. SU := Substance, die Substanz, deren Ionen die Pumpe bei Aktivität pumpt


Ausserdem muss man sich schon an dieser Stelle klar werden, wie diese Grössen untereinander zusammenhängen: welche Grösse hängt von welcher anderen ab? Klar ist, dass die Pumpe nur pumpt, wenn sich SI ändert. Vom grösseren Kontext her ist bekannt, dass SI sich ändern kann, wenn ein Ionenkanal sich öffnet und Ionen entweder von innen nach aussen abfliessen oder von aussen nach innen eindringen. Wenn dies geschieht, dann kann sich die Konzentration SI ändern und damit möglicherweise der Schwellwert Theta über- oder unterschritten werden. Tritt dies ein, dann fängt die Pumpe an zu pumpen; je nachdem, in welche richtung sie pumpt, werden entweder Ionen der Substanz SU nach aussen oder nach innen gepumpt. In beiden Fällen würde sich die Konzentration SI ändern.Also kann man sagen, dass SI sich in Abhängigkeit von der Pumpaktivität ändert, wenn diese Pumpaktivität durch den Schwellwertrezeptor ausgelöst worden ist. Grob gesprochen: Wenn Schwellwert über- bzw. unterschritten, dann pumpen; wenn pumpen, dann Änderung von SI.

Nach dieser Vorgabe soll jetzt eine Modellierung mit formalen Mitteln vorgenommen werden. Dafür gibt es zahlreiche Vorgehensweisen. In dieser Vorlesung wählen wir die Vorgehensweise der Systemtheorie.

Die Systemtheorie geht davon aus, dass man die Wirklichkeit in Systeme zerlegen kann, die miteinander interagieren (so wie der objektorientierte Ansatz davon ausgeht, man könne alles in interagierende Objekte zerlegen; formal kann man alle Objekte als Systeme darstellen und umgekehrt alle Systeme als Objekte!).

Grafisch kann man Systeme darstellen als eine Black-Box mit Input und Output sowie einer Systemfunktion:



system

System



In formaler Schreibweise sieht das dann so aus:

SYSTEM(s) gdw s = < < O1, ..., Ok > F >

mit:

  1. Oi := ein Objekt, das auch eine Menge sein kann


  2. F := die Systemfunktion


  3. F: Oi.1 x .. x Oi.r ---> Oj.1 x .. x Oj.s
    Die Systemfunktion F stellt einen Zusammenhang her zwischen der Veränderung einiger Grössen Oj.1 x .. x j.s in Abhängigkeit von anderen Grössen Oi.1 x .. x i.r. Alle Grössen im Defintions- und Wertebereich der Funktion stammen aus der Menge der Objekte Oi.1 x .. x i.r


In manchen Fällen ist es angenehmer, dass man neben der Systemfunktion F noch weitere Hilfsfunktionen fi definieren kann, die von F benutzt werden. In diesem Fall würde man schreiben:

SYSTEM(s) gdw s = < < O1, ..., Ok > <F, f1, ..., fm>

Wie man sieht ist die Sprache der Systemtheorie die Sprache der Mathematik, un das ist die Sprache der Mengentheorie. Grundkenntnisse der mengentheoretischen Sprache sind unbedingt erforderlich! Wer hier Nachholbedarf hat, sollte sofort entsprechende Lehrbücher in Mengentheorie konsultieren. Eine Zusammenstellung der wichtigsten Begriffe findet sich auch auf der Seite Mengentheoretische Notation.

Auf der einen Seite hat man nun die informelle Beschreibung des Problems, auf der anderen Seite die formalen Umrisse eines Systems.



sysschema

Das Schema eines Systems, das ausgefüllt werden muss.



Die Aufgabe besteht nun darin, das formale Schema eines Systems mit den Werten aufzufüllen, die das zuvor beschriebene Problem bietet.

Im ersten Schritt muss man die beschriebenen Eigenschaften des Problems in entsprechende Systemobjekte (Systemattribute) übersetzen. Im konkreten Fall gibt es nur die eigenschaften DIR, CAP, SU, SI und Theta; also:



sysobj

Die Identifizierung der Systemobjekte



Nach der Identifizierung der Systemobjekte muss jetzt die Systemfunktion geklärt werden. Bisher liegt folgende grobe charakterisierung vor: Wenn Schwellwert über- bzw. unterschritten, dann pumpen; wenn pumpen, dann Änderung von SI. Setzt man diese Formulierung in Beziehung zu den gerade eben eingeführten Systemobjekten, dann könnte man reformulieren:

F: Theta x SI x SU x DIR ---> CAP x DIR x BOOL

In Abhängigkeit von dem Schwellwert Theta, der aktuellen internen Substanzkonzentration SI, der für die Pumpe relevanten Substanz SU sowie der eingestellten richtung DIR pumpt die Pumpe die Menge CAP in die Richtung DIR mit Wahrheitswert aus BOOL (= true/ false, ja/nein, 1/0).

Damit hat man einen ersten Ansatz, um die Funktion F zu bestimmen (es gibt verschiedene Möglichkeiten, diese Funktion zu rekonstruieren!). Eine mögliche Konkretisierung könnte wie folgt aussehen:

Fall (i): DIR='in'

SI < theta ==> RETURN (CAP,'in',true)

¬(SI < theta) ==> RETURN (CAP,'in',false)

Fall (ii): DIR='out'

SI > theta ==>
[SI - CAP < 0 ==> RETURN (CAP-SI,'out', true)] or
[SI - CAP >= 0 ==> RETURN (CAP,'out', true)]

¬(SI > theta) ==> RETURN (CAP,'out', false)

Bei der Konstruktion einer solchen Zuordnungsvorschrift ist ganz entscheidend, dass man auf folgende zwei Eigenschaften achtet:

  1. VOLLSTÄNDIGKEIT: alle Inputwerte müssen durch die Zuordnungsvorschrift erfasst werden


  2. RECHTSEINDEUTIGKEIT: für jeden Inputwert darf genau nur ein Outputwert zugewiesen werden


Diese Forderungen gelten für 'Standard-Funktionen', die allen Werten einer Argumentmenge A jeweils genau einen Wert aus einer Zielmenge B zuordnen (dabei müssen nicht alle Werte aus B benutzt werden). Bestände aus irgendwelchen Gründen die Notwendigkeit, andere Typen von Funktionen (injektive, bijektive, ...) zu realisieren, dann müsste man diese Forderungen entsprechendd abändern). (

Die Erstellung einer Zuordnungsvorschrift zerfällt damit in gewisser Weise in zwei Teile: (a) man muss die Menge der Inputwerte durch Fallunterscheidungen so durchstrukturieren, dass man weitgehend sicher sein kann, alle Fälle damit erfasst zu haben; (b) man muss für jeden der analysierten Fälle festlegen, welche Werte zugewiesen werden sollen. Die Formulierung weitgehend sicher resultiert daraus, dass es bei dem Vorgang der Modellierung von nichtformalisierter Wirklichkeit in ein formales Modell niemals vollständige Sicherheit geben kann; dies liegt daran, dass vollständige Sicherheit 'vollständige Klarheit' voraussetzen würde; diese wiederum wäre wissenschaftlich nur erreichbar, wenn man einen 'lückenlosen' Beweis führen könnte. Letzteres ist aber nur möglich, wenn 'sämtliche Voraussetzungen' des zu beweisenden Sachverhaltes zu Beginn der Beweisführung vollständig formalisiert vorliegen. Beim Übergang von (nichtformalisierter) Wirklichkwit zur formalen Modellen ist diese Voraussetzung aber grundsätzlich niemals erfüllbar; es bleibt also immer ein gewisses 'Restrisiko' bei jeder Formalisierung. Jede Formalisierung ist nur so gut wie die, die diese Formalisierung vornehmen; es gibt keine zusätzliche Absicherung!!! Aus diesem Grund tragen IngenieureInnen eine sehr grosse Verantwortung, da Sie diejenigen sind, die letztlich die Modellierung vornehmen und auf deren Basis implementieren.


START



3. Aufgabenstellung


  1. Stellen sie alle Daten zusammen, die Sie aus der Beschreibung einer Synapse aus der zweiten Vorlesung bezüglich der Funktionsweise einer postsynaptischen Membran mit 1 Ionenkanal und 1 Ionenpumpe ermitteln können.


  2. Identifizieren Sie in dem Problem mögliche Systeme und deren Datenaustausch untereinander (das nachfolgende Diagramm ist als Beispiel zu verstehen, nicht als Lösung):

    ksyst

    Beispiel eines möglichen Kollaborationdiagramms für ein komplexes System



    1. Schreiben Sie für jedes System eine Strukturbeschreibung hin und geben Sie eine Erläuterung der einzelnen beteiligten Parameter und der Systemfunktion.


    2. Beschreiben sie, welche Daten zwischen den einzelnen Systemen ausgetauscht werden.


    3. Arbeiten sie die Systemfunktionen für jedes System aus.



  3. Erstellen sie ein Sequenzdiagramm, in dem sie die Abfolge des Datenaustausches zwischen den Systemen darstellen.

    seq

    Beispiel eines möglichen Sequenzdiagramms für ein komplexes System



    Die vertikalen Linien repräsentieren die Lebenslinien ('lifeline') der Systeme. Die waagerechten Linien mögliche Interaktionen, die darin bestehen, dass von einem System Input-Daten in Output-Daten fliessen. Interaktionen können an Bedingungen [...] geknüpft werden. Blöcke von Interaktionen können auch wiederholt werden ('Iteration').


  4. Implementieren Sie das von Ihnen analysierte komplexe System in eine scilab-Anwendung.



START