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 truet 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