Broy und KIR

Werbung
Text-basierte Modelle sind für die Entwicklung von Algorithmen ungeeignet. Die
Formulierung von Algorithmen und Methoden erfordert graph-basierte Modelle. (KIR)
statische und dynamische Modelle
State Transition Diagrams nach Broy
sollen verschiedene Sichten von Systemen modellieren.
Dabei wird eine Typsprache vorausgesetzt, mit welcher Datentypen definiert werden können.
<type-exp> bezeichnet die Menge aller Typen. Die Interpretation eines Typs (D) ist eine
Menge von Werten. Expressions werden wie folgt definiert: <exp>. Patterns sind eine
Teilmenge von Expressions und bestehen aus Funktionen und Variablen.
Prädikatausdrücke werden durch <pred-exp> angezeigt.
Ein abstract State Transition Diagram ist ein Tupel STD=(I,O, A, V, V0 , , T,  ) mit
 I,O, A und V sind disjunkte Mengen von Identifiers für die Input ports, die Output
ports, die Attribut und die Control States. V0  V sind die Startpunkte
 V0 ist eine Abbildung von der Menge der Control States auf die zugehörigen
Prädikatausdrücke <pred-exp>
  ist eine Typabbildung, derart dass, der Typ c des Identifiers c   I  O  A  .
 : I  O  A  <type-exp>
 T ist eine Menge von Control Transitions, d.h. T  V  V . Wenn (v,v’)  T ist,
dann wird v der Quellknoten und v’ die Zielknoten genannt.
  ist eine Abblidung der Menge der Übergänge auf die zugehörigen Übergang
Labels.  : T  P(pred  exp    pred  exp    pred  exp    pred  exp )
Wenn für eine Transition t, (pre,ipat,oexp,post)  (t) , dann sind pre,post  <predexp> die Prekonditions- und die Postkonditions Prädikatausdrücke und ipat, oexp
 <pred-exp> sind die input und output Pattern Prädikate. Powersets von Pattern
Pradikaten werden genutzt, wenn die gleiche Control Transition von verschiedenen
Automaten Transitionen gekennzeichnet wird.
Die beschriebene Syntax wird durch Kontextbedingungen eingeschränkt.
KIR Kandis Intermediate Representation
KIR ist ein graphbasiertes Model für hybride Systeme. Dadurch wird die Modellierung von
zeitdiskreten, ereignisdiskreten und zeitkontinuierlichen Modellen ermöglicht.
Je nach Zeitmodell werden verschiedene Bedingungen abgefragt die zur Ausführung der
Operation f führt.
Die Kanten des KIR-Graphs repräsentieren gerichtete Signale s(t), die Knoten verbinden. Eine
Kante e ist ein Tupel aus einer Referenz zu einem Knoten v a , r , einer Menge Referenzen zu
Zielknoten Vd, r und einem Signal s(t). e   v a, r , Vd,r ,s(t)  , wobei s(t) konstant ist, bis v a ihm
einen neuen Wert zuweist. s(t) kann vom Typ Real, Int oder Enum sein. Der Typ Enum
erlaubt die Modellierung von wertdiskreten Signalen.
Knoten repräsentieren Operationen auf Signalen. Ein Knoten v ist eine Tupel aus einer Menge
von Referenzen auf Kanten E in,r , einer Menge von Referenzan auf Kanten E , einer Menge
out , r
E a,r  E in,r von Referenzen auf eingehende Kanten, die die Schaltregel a zum Ausführen der
Operation f aktivieren können. v   E in,r , E out,r , E a,r , f , a  . Die Operation f eines Knoten kann
auf 2 verschieden Arten spezifiziert werden: als abstrakte Funktion f aller Ausgangs-Signale
Seout (t) abhängig von den Eingangs-Signalen Sein (t) , oder als Struktur eines Graphen aus KIR
Knoten und – Kanten.
Ein KIR-Graph ist ein KIR Knoten, dessen Funktion f operational durch einen Graph (V,E)
aus KIR Knoten V und –Kanten E beschrieben wird. G  (Ein,r , E out,r , E a,r , (V, E), a)
Eine Schaltregel a bestimmt, wann eine Operation f eines Knotens ausgeführt wird. a besteht
aus zwei Bedingungen.
c1 : T  true,false weist jedem Zeitpunkt t der physikalischen Zeit T einen Wert der
Wertemenge true,false zu.
c2  s1 (t),...,sn (t)  ist eine Funktion der Signale s1 (t),...,sn (t) der Kanten E a ,r (oder
Teilmenge der Eingangs-Kanten eines Knoten), mit den möglichen Werten: true,false .
Wenn beide Bedingungen wahr sind, wird die Operation f ausgeführt.
Die Definition eines KIR-Graphen erlaubt hierarchische Graphen. Damit kein Knoten eines
Subgraphen schaltet, ohne dass der Hauptgraph schaltet, gelten folgende Restriktionen für die
Schaltregel.
Für eine Schaltregel a eine s KIR-Graphen und die Schaltregeln a i all seiner Sub-Knoten
bzw. –Graphen vi  V gilt: a  true  a i with: a i  true
Infinitesimal kleine Änderungen kontinuierlicher Signale dürfen nicht zum Schalten eines
Knoten führen.
Der Typ der Signale von E a ,r eines Knoten a darf nicht Real sein.
Damit die Struktur eines hierarchischen Graphen übersichtlich bleibt, wird folgende
Bedingung aufgestellt.
Die Eingangs-/Ausgang-Kanten E in,v , (E out,v ) eines Knoten v eines Graph G sind Eingans/Ausgans-Kanten E in,G , (E out,G ) oder Kanten E G von G:
(Ein,v  Eout,v )  (EG  Ein,G  Eout,G )v  G
(va,r  Vd,r )  VG e  G
Das Verhalten ereignisdiskreter Systeme (DEVS) kann mit einem KIR-Graph mit den
Bedingungen c1 , c 2 und seiner Schaltregel a DEVS gilt:
c1  truet 
c2  true  sea (t1 )  sea (t 2 ), t1  t 2
Die Schaltregel a DEVS muss für alle Knoten des Graphen gelten.
Mit den Funktionen cond(Gif ,G then ,G else ) und iterate(G cond , Giter ) können Verzweigungen
und Iterationen modelliert werden.
Für zeitdiskrete Systeme gilt für c1 , c2 , a DTS :
c1  true  t  n*t clk , n  , t clk 
c2  true
Die Definition von c1 ,c2 und a DTS gilt nur, wenn alle Knoten vi  V gilt: a i  a DEVS oder
a i  a DTS mit t clk,ai  n * t clk,n , n 
a 0  a1z 1  a 2 z 2
Beispiel: Repräsentation der Formel H(z) 
als KIR-Graph
b0  b1z 1  b2 z 2
Herunterladen