Kopplung der Ereignisstr¨ome [380] F¨ur die EAF ergibt sich nach Tabelle 8.2, dass ein Puffer der Gr¨oße n EAF = 1 verwendet und mit der Periode P p2,inbetrieben werden kann.. Da in dies
Trang 1periodischen Ereignisstrom darstellen Allerdings kann durch Pufferung und odische Wiedergabe von Ereignissen eine rein periodischer Ereignisstrom aus einemperiodischen Ereignisstrom mit Jitter konstruiert werden Hierzu ist die Ermittlungder Ereignisadaptierungsfunktion (EAF) notwendig (siehe Abb 8.29c)) Die Ermitt-lung der EAF erfolgt auf Basis des Ereignismodells f¨ur den Ausgabeereignisstromund dem Ereignismodell f¨ur den Eingabeereignisstrom.
peri-F¨ur das Beispiel aus Abb 8.29c) (X = (P X ,JX ) und Y = (P Y)) kann ein Puffer
der Gr¨oße n EAF := 1 verwendet werden und die Periode PY auf P X gesetzt werden
Die Verz¨ogerungszeit eines Ereignisses betr¨agt dann d+EAF = P XZeiteinheiten Etwaskomplizierter ist der Fall f¨ur die Umwandlung eines periodischen Ereignisstroms mit
Bursts (X = (P X,dX,bX )) in einen rein periodischen Ereignisstrom (Y = (P Y)) Mit
dem Wissen, dass maximal b X Ereignisse in einer Zeitspanne von P X Zeiteinheiten
auftreten k¨onnen, kann P Y zu P Y:=P X
b X bestimmt werden Die maximale Verz¨ogerungeines Ereignisses betr¨agt:
Dies wird anhand eines Beispiels aus [378] verdeutlicht:
Beispiel 8.2.5 Gegeben ist das Ereignismodell eines periodischen nisstroms mit Periode P X und minimaler Ankunftszeit d X Die maximale Anzahl
Ausgabeereig-an Ereignissen in einer Periode P X ist b X:= 5 Hieraus ergibt sich die Periode PY
zu P Y =P X
5 Abbildung 8.31 zeigt die maximale Verz¨ogerung eines Ereignisses alsgrauen Kasten Diese ergibt sich f¨ur das letzte Ereignis eines Bursts
τ 0
Y
X
d X
P Y 2P Y 3P Y 5P Y = P X
Abb 8.31 Maximale Verz¨ogerungszeit f¨ur ein Ereignis
Da die Ereignisse periodisch aus dem Puffer entnommen werden, l¨asst sich die
ma-ximale Anzahl n+EAF an Ereignissen in dem Puffer bestimmen zu:
die Puffergr¨oßen n , die Perioden P und die maximalen Verz¨ogerungszeiten
Trang 2d EAF+ f¨ur die jeweiligen Ereignisadaptierungsfunktionen sowie die schnittstelle in Tabelle 8.2 angegeben Man erkennt, dass die Ereignisadaptierungs-
Ereignismodell-funktion lediglich von dem Ausgabeereignisstrom X abh¨angt, was an der
Verwen-dung periodischer Adpatierungsfunktionen liegt
Tabelle 8.2 Ereignisadaptierungsfunktionen und Ereignismodellschnittstellen f¨ur die
Um-wandlung von Ereignisstr¨omen mit Adaptierung nach Abb 8.30 [378]
Beispiel 8.2.6 Gegeben ist das System in Abb 8.32 Das System besteht aus zwei
Komponenten CPU1 und CPU2, welche die Analysedom¨anen festlegen Jeder derbeiden Prozessoren f¨uhrt je zwei Prozesse aus, wobei die Aktivierungen der Prozesse
p1und p2durch die Umgebung erfolgen Der Prozess p1wird dabei mit einer
Pe-riode P p1,in:= 40ms aktiviert Prozess p2wird mit einer Periode von P p2,in:= 20ms aktiviert, wobei die Aktivierung einem Jitter J p2,in:= 5ms unterliegt Die Prozes-
se auf CPU1 werden mittels einer ratenmonotonen Ablaufplanung eingeplant CPU2
verwendet ein Round-Robin-Ablaufplanungsverfahren, mit den Slotbreiten S (p3) :=
5ms und S(p4) := 3ms Die Ausf¨uhrungszeiten (BCET und WCET) der Prozesse sind
gang von CPU1 zum Prozess p2eine Ereignisadaptierungsfunktion (EAF) ben¨otigt,
da die Umgebung ein periodisches Ereignismodell mit Jitter zur Verf¨ugung stellt, dieAnalysemethode jedoch ein rein periodisches Ereignismodell voraussetzt Zur Kopp-
lung der Ereignisstr¨ome zwischen den Prozessen p und p bzw p und p k¨onnen
Trang 3Abb 8.32 Kopplung der Echtzeitanalysemethoden [380]
Ereignismodellschnittstellen (EMIFs) nach Tabelle 8.1 zum Einsatz kommen DasErgebnis ist in Abb 8.33 zu sehen Man sieht, dass die EAFs und EMIFs als weitereKomponenten im Analysemodell auftreten
Abb 8.33 Kopplung der Ereignisstr¨ome [380]
F¨ur die EAF ergibt sich nach Tabelle 8.2, dass ein Puffer der Gr¨oße n EAF = 1
verwendet und mit der Periode P p2,inbetrieben werden kann Nun kann die CPU1analysiert werden Durch die Antwortzeitanalyse (siehe Gleichung (7.21) auf Sei-
te 446) ergibt sich, dass die AntwortzeitenτF(p1) undτF(p2) der Prozesse p1bzw
p2wie folgt gegeben sind:
τF(p1) = [31ms,39ms]
τF(p2) = [8ms,11ms]
Diese Zeiten lassen sich wie folgt erkl¨aren Aufgrund der geringeren Periode
be-sitzt Prozess p2in der ratenmonotonen Ablaufplanung die h¨ohere Priorit¨at F¨ur dieZeitanalyse wird der Fall betrachtet, dass beide Prozesse die selbe Phase besitzen,
also gleichzeitig aktiviert werden Aufgrund der h¨oheren Priorit¨at wird p2 zuerstausgef¨uhrt Die Antwortzeit ergibt sich gem¨aß der Ausf¨uhrungszeit des Prozesses
Nach Beendigung der Ausf¨uhrung von p2 kann Prozess p1 gestartet werden
Die-ser wird allerdings durch die n¨achste Aktivierung von p2unterbrochen Aus diesenAntwortzeiten lassen sich die Ausgabeereignisstr¨ome ableiten:
Trang 4F die obere bzw untere Schranke einer Antwortzeit
Die-se Ausgabeereignisstr¨ome m¨usDie-sen nun an die erwarteten Eingabeereignisstr¨ome vonCPU2 angepasst werden Da in diesem Fall keine Adaptierung der Ereignisstr¨omeerfolgen muss, k¨onnen die Umwandlungen aus Tabelle 8.1 direkt verwendet werden.Die Eingabeereignisstr¨ome ergeben sich dann zu:
d p3,in = P p1,out − Jp1,out = 32ms
d p4,in = P p2,out − Jp2,out = 17ms
Die Echtzeitanalyse auf CPU2 f¨uhrt zu folgenden Antwortzeiten [380] (siehe auchGleichung (7.22) auf Seite 447):
τF(p3) = [13ms,20ms]
τF(p4) = [3ms,15ms]
Der jeweils beste Fall ergibt sich, wenn der betreffende Prozess zuerst geplant wirdund dieser die BCET zur Ausf¨uhrung ben¨otigt Der schlechteste Fall ergibt sich,wenn jeweils der andere Prozess zuerst geplant wird und beide Prozesse die WCETzur Ausf¨uhrung ben¨otigen
Abschließend k¨onnen nun die gesuchten Ende-zu-Ende-LatenzenΛ bestimmtwerden, indem entsprechend der Ereignisstromkopplung die Ergebnisse zusammen-gefasst werden Es ergibt sich somit:
2 W¨ahle eine Echtzeitanalysemethode f¨ur diese Analysedom¨ane
3 Falls notwendig, passe Eingabeereignisstr¨ome mittels EMIFs bzw EAFs an
4 Bestimme die Antwortzeiten der Prozesse in der Analysedom¨ane sowie die gabeereignisstr¨ome
Aus-5 Wiederhole Schritte 1 bis 5 bis alle Prozesse analysiert sind
Behandlung zyklischer Abh¨angigkeiten
Bisher wurde lediglich die Analyse von Prozessketten beschrieben, wobei die lyse keine zyklischen Abh¨angigkeiten enthielt Im Allgemeinen kann die Analyseallerdings zyklische Abh¨angigkeiten enthalten, wie das folgende Beispiel aus [380]zeigt
Trang 5Ana-Beispiel 8.2.7 Abbildung 8.34 zeigt wiederum ein System mit zwei Prozessoren mit
je zwei Prozessen Beide Prozessoren verwenden eine pr¨aemptive priorit¨atsbasierte
Ablaufplanung Auf CPU1 hat Prozess p1die h¨ohere Priorit¨at, auf CPU2 hat Prozess
p4die h¨ohere Priorit¨at
Abb 8.34 Zyklische Abh¨angigkeiten in der Zeitanalyse [380]
Die zyklische Abh¨angigkeit ergibt sich folgendermaßen: Prozess p2 aktiviert
Prozess p4, der wiederum Prozess p3 in der Ausf¨uhrung unterbrechen kann Die
Ausf¨uhrung von Prozess p3aktiviert den Prozess p1, der seinerseits Prozess p2terbrechen kann
un-Man beachte bei diesem Beispiel, dass die Anwendung selbst keine zyklischenAbh¨angigkeiten enth¨alt Diese ergeben sich erst durch die Ressourcenwiederverwen-dung, die in der Zeitanalyse ber¨ucksichtigt werden muss
Die Zeitanalyse von Systemen mit zyklischen Abh¨angigkeiten erfolgt als punktberechnung, indem eine Iteration ¨uber die Berechnung von Ereignisstr¨omensolange durchgef¨uhrt wird, bis sich kein Ereignisstrom im System mehr ¨andert
Fix-8.2.3 Modulare Zeitanalyse mit RTC
Im Folgenden wird eine weitere formale Methode, die als modulare Zeitanalyse zeichnet wird, vorgestellt Diese basiert auf dem sog Echtzeitkalk¨ul (engl Real Time Calculus, RTC), einer Erweiterung des Netzwerkkalk¨uls Zun¨achst wird die modula-
be-re Zeitanalyse f¨ur Netzwerkprozessobe-ren vorgestellt Anschließend wird die dung der modularen Zeitanalyse f¨ur zyklische markierte Graphen pr¨asentiert
Anwen-Das Echtzeitkalk ¨ul
Das Netzwerkkalk¨ul ist eine formale Methode, um Zeiteigenschaften in Netzwerken
zu analysieren Dabei werden die Beschr¨ankungen, die beim Transport der
Pake-te durch beschr¨ankPake-te Kapazit¨aPake-ten der Verbindungen und andere tr¨ome auftreten, ber¨ucksichtigt Die Analyse basiert dabei auf Faltungsopertation inMax-Plus-Algebra Das Echtzeitkalk¨ul erweitert das Netzwerkkalk¨ul im Wesentli-chen um Aspekte der dynamischen Ablaufplanung in Echtzeitsystemen Mit demEchtzeitkalk¨ul lassen sich somit Echtzeitsysteme, die verteilt z B als Mehrprozes-sorsystem implementiert wurden, analysieren
Trang 6Kommunikationss-Beispiel 8.2.8 Gegeben ist der Netzwerkprozessor in Abb 8.35, bestehend aus zwei
Prozessorkernen (DSP, ARM), zwei Hardware-Beschleunigern (CheckSum, Cipher)und einem Bus Die Prozessbindung und die Kommunikation zwischen Prozessenist ebenfalls in Abb 8.35 gegeben Die Anwendung beschreibt die Schritte zur Ent-schl¨usselung eines Datenstroms als Kette aus elf Aktoren
Abb 8.35 Paketverarbeitung in einem Netzwerkprozessor [429]
F¨ur die Zeitanalyse muss bekannt sein, wie viele Datenpakete jeder Prozess zuverarbeiten hat Dabei wird von der tats¨achlichen Anzahl abstrahiert und, mit Hilfe
sog Ankunftskennlinien, die minimale und maximale Anzahl an Aktivierungen eines
Prozesses pro ZeitintervallΔ angeben, beschrieben
Definition 8.2.1 (Ankunftskennlinie) Eine untere bzw obere Ankunftskennlinieαl und αu bilden ein positives Zeitintervall Δ ∈ T auf die minimale bzw maximale Anzahl an Aktivierungen eines Prozesses im ZeitintervallΔ ab, d h.αl ,u:T → R ≥0.
In Definition 8.2.1 beschreibtT alle m¨oglichen Zeitpunkte Im Folgenden wird nommen, dassT := R≥0ist Die Schranken der Aktivierungen werden als kontinu-ierliche Gr¨oße dargestellt Der Fall, dass die Aktivierungen nur als diskrete Gr¨oßenauftreten, ist darin enthalten
ange-Die Ankunftskennlinien k¨onnen beispielsweise aus Simulationstraces gewonnenwerden, indem ein Fenster der Gr¨oßeΔ ¨uber dem Trace verschoben wird, und die mi-nimale und maximale Anzahl an Aktivierungen eines Prozesses in diesem Zeitfensterauf dem Trace bestimmt wird Manchmal lassen sich die Ankunftskennlinien auch
Trang 7aus der Spezifikation konstruieren Treten beispielsweise Aktivierungen mit einembekannten Muster auf, so kann dieses Muster in die minimale und maximale An-kunftskennlinie transformiert werden Ein Beispiel f¨ur solche Spezifikationen sinddie im vorherigen Abschnitt eingef¨uhrten Ereignisstr¨ome Dabei wird jedes Ereignisals Aktivierung eines Prozesses interpretiert F¨ur die in Abb 8.27 auf Seite 500 ein-gef¨uhrten Ereignisstr¨ome sind die Ankunftskennlinien in Abb 8.36 dargestellt Dieunteren Ankunftskennlinien sind gestrichelt gezeichnet.
1 2 3 4 c) periodisch mit Bursts
2P + J
2P P 2P − J
Abb 8.36 Ankunftskennlinien f¨ur die Ereignisstr¨ome aus Abb 8.27 [435]
Neben der Modellierung der Prozesse m¨ussen ebenfalls die Ressourcen in derArchitektur modelliert werden Hierzu z¨ahlen die Prozessoren und die Hardware-Beschleuniger, aber auch die Busse Die M¨oglichkeiten Berechnungen oder Kommu-
nikationen durchzuf¨uhren, werden im Echtzeitkalk¨ul mittels sog Servicekennlinien
beschrieben
Definition 8.2.2 (Servicekennlinie) Eine untere bzw obere Servicekennlinieβl und
βu bilden ein positives ZeitintervallΔ∈ T auf die minimal bzw maximal verf¨ugbare Rechenzeit einer Ressourcen in jedem Zeitintervall der Gr¨oßeΔab Es giltβl(0) =
βu (0) := 0 und
∀τ> 0,Δ> 0 :βl(Δ) ≤ c(τ+Δ) − c(τ) ≤βu(Δ),
wobei c(τ) die bis zum Zeitpunktτkumulative verf¨ugbare Rechenzeit darstellt.
Dies bedeutet, dass jede Servicefunktion, die innerhalb der unterenβl und ren Servicekennlinie βu liegt, durchβl und βu charakterisiert werden kann Ab-bildung 8.37 zeigt die Servicekennlinien einer TDMA-Ablaufplanung Die untereServicekennlinie ist dabei gestrichelt gezeichnet
obe-Durch Ausf¨uhrung eines Prozesses wird die Servicekennlinie ver¨andert, da nachAusf¨uhrung des Prozesses weniger Rechenkapazit¨at zur Verf¨ugung steht als vorher
Um die ¨Anderung allerdings bestimmen zu k¨onnen, m¨ussen die Ankunftskennlinienmodifiziert werden Dies ist notwendig, da die Ankunftskennlinienαl
undαu
die
Trang 8Abb 8.37 Servicekennlinie einer TDMA-Ablaufplanung [435]
minimalen und maximalen Aktivierungen eines Prozesses angeben Diese m¨ussenzun¨achst in eine Rechenlast umgerechnet werden
Sei w die Rechenlast pro Aktivierung eines Prozesses, so k¨onnen die
Schran-ken an die Rechenlast, verursacht durch diesen Prozess, berechnet werden DieseSchranken werden wiederum als Ankunftskennlinien beschrieben Sei[αl ,αu] einIntervall, das die Anzahl der Aktivierungen eines Prozesses beschr¨ankt Dann kann
die Rechenlast durch diesen Prozess mit Ausf¨uhrungszeit w wie folgt beschr¨ankt
werden:
[αl ,αu ] := [w ·αl ,w ·αu] (8.6)Mit den Ankunftskennlinien αl und αu f¨ur einen Prozess sowie den Service-kennlinienβl undβueiner Ressource lassen sich die Schrankeβl
undβu f¨ur die
verbleibende Rechenzeit der Ressource bestimmen, wenn der Prozess auf der source ausgef¨uhrt wird [430]:
Res-βl (Δ) := sup
0≤λ≤Δ{βl(λ) −αu(Δ)} (8.7)
βu (Δ) := sup
0≤λ≤Δ{βu(λ) −αl(Δ)} (8.8)Das Supremum (auch obere Schranke) bezeichnet das kleinste Element, das gr¨oßeroder gr¨oßer gleich allen Elementen der gegeben Menge ist
Weiterhin k¨onnen die Ankunftskennlinieαl
undαu f¨ur die Prozessausf¨uhrung
auf einer Ressource mit Servicekennlinienβl undβubei Aktivierung des Prozessesmit Ankunftskennlinienαlundαubestimmt werden [430]:
Trang 9Um aus den Ankunftskennlinien f¨ur die Prozessausf¨uhrung wieder in kennlinien f¨ur die Aktivierung eines datenabh¨angigen Prozesses umzuwandeln, kannf¨ur jedes Intervall[αl ,αu] ein Intervall der folgenden Form berechnet werden:
Ankunfts-[αl ,αu ] :=
/-αl w
,
)
αu w
*0
(8.11)
In Abb 8.38 ist die Transformation der Ankunfts- und Servicekennlinien phisch als Blockdiagramm dargestellt Durch Verschalten dieser Bl¨ocke mit weite-ren Bl¨ocken k¨onnen, z B durch die Ankunftskennlinien, weitere Prozesse aktiviertbzw die verbleibende Rechenleistung einer Ressource f¨ur andere Prozesse verwen-
gra-det werden Durch die Verschaltung entsteht ein sog Zeitbewertungsnetzwerk,
wel-ches zur Bestimmung der erreichbaren Latenzen verwendet werden kann
Glg (8.11) Glg (8.6)
Abb 8.38 Transformation der Ankunfts- und Servicekennlinien [429]
Beispiel 8.2.9 Zur Analyse des Zeitverhaltens zweier Prozesse auf einem einzelnen
Prozessor, die mittels statischer Priorit¨aten pr¨aemptiv und dynamisch geplant den, kann das in Abb 8.39 dargestellte Zeitbewertungsnetzwerk verwendet werden.Die verf¨ugbare Rechenzeit des Prozessors im Idle-Zustand ist durch die Servicekenn-linienβl undβubeschr¨ankt Die Ankunftskennlinienαl
wer-0undαu
0sowieαl
1undαu
1beschreiben die Aktivierungen der beiden Prozesse Prozess 0 hat die h¨ohere Prio-rit¨at Man sieht, dass die verbleibende Rechenzeit, beschr¨ankt durchβl
und βu ,
dem Prozess 1 zur Verf¨ugung gestellt wird
Durch die Verschaltung der einzelnen Bl¨ocke kann das ZeitbewertungsnetzwerkSt¨uck f¨ur St¨uck aus Teilsystemen (Modulen) zusammengesetzt werden, weshalb die-
se Analysemethode als modulare Zeitanalyse bezeichnet wird.
Bestimmung der maximalen Latenzen und des maximalen Backlogs
Mit einem Zeitbewertungsnetzwerk ist es nun m¨oglich, die Latenz, aber auch denBacklog in Netzwerkprozessoren zu beschr¨anken Bei der Latenz handelt es sich umdie maximale Ende-Zu-Ende-Latenz eines Datenpakets, dass durch den Netzwerk-prozessor verarbeitet wird Der Backlog gibt den maximalen Speicherbedarf eines
Trang 10Glg (8.11) Glg (8.6) Glgn (8.7)–(8.10)
[ βl
Glg (8.11) Glg (8.6) Glgn (8.7)–(8.10)
Abb 8.39 Pr¨aemptive Ablaufplanung mit statischen Priorit¨aten [429]
Datenstroms im Netzwerkprozessor an Mit Ergebnissen des Netzwerkkalk¨uls sen sich die LatenzΛ und der BacklogΩ wie folgt beschr¨anken:
ge-0,βl
1, ,βl
m −1 die unteren vicekennlinien der Ressourcen entlang des Verarbeitungspfads, dann l¨asst sich diekumulierte Servicekennlinieβldurch sukzessive Faltung berechnen:
Beispiel 8.2.10 Das Zeitbewertungsnetzwerk f¨ur die Entschl¨usselung eines
Daten-stroms auf dem Netzwerkprozessor in Abb 8.35 auf Seite 509 ist in Abb 8.40 zu
Trang 11sehen Die runden Knoten bezeichnen dabei Quellen bzw Senken von und Servicekennlinien, d h sie modellieren die Umgebung des Systems So wirdbeispielsweise die Ankunftsrate von Paketen beschr¨ankt Die Rechtecke bezeichnendie Transformation der Ankunfts- und Servicekennlinien entsprechend Abb 8.38.Man beachte, dass im Echtzeitkalk¨ul Kommunikation genauso wie Berechnungenauf Prozessoren behandelt wird.
Abb 8.40 Zeitbewertungsnetzwerk f¨ur den Netzwerkprozessor aus Abb 8.35 [429]
Modulare Zeitanalyse zyklischer markierter Graphen
In Abschnitt 6.5.2 wurde eine formale Methode zur Zeitanalyse von sitiven Systemen vorgestellt Das zentrale Ergebnis war, dass sich solche Systemeals markierte Graphen modellieren lassen (siehe Abb 6.82 auf Seite 356) Da Im-plementierungen mit beschr¨anktem Speicher auskommen m¨ussen, wurden FIFO-Kan¨ale mit beschr¨ankter Kapazit¨at durch zus¨atzliche r¨uckw¨arts gerichtete Kanten
Trang 12latenzinsen-mit Anfangsmarkierung modelliert Dadurch wurden Ressourcenbeschr¨ankungen f¨urdie Kan¨ale ber¨ucksichtigt Ressourcenbeschr¨ankungen f¨ur die Aktoren wurden durchSelbstschleifen mit einer einzelnen Anfangsmarke modelliert, wodurch ein Aktorstets erst nach Beendigung einer Berechnung die n¨achste Berechnung starten kann.Aktoren sind in diesem Modell dediziert gebunden, d h jeder Aktor entspricht ei-ner Hardware-Komponente In diesem Abschnitt wird beschrieben, wie die modu-lare Zeitanalyse f¨ur Systeme, bei denen mehrere Aktoren auf die selben Hardware-Komponente gebunden sein k¨onnen, angewendet werden kann.
Modellierung markierter Graphen
Gegeben sei ein markierter Graph G = (A,C,M0) mit Aktoren a ∈ A, Kan¨alen
c ∈ C ⊆ A × A und der Anfangsmarkierung M0: C → R ≥0 Man beachte, dass dieMarkierung eines Kanals kontinuierlich sein kann Dies schließt selbstverst¨andlichden Fall ein, dass Marken diskret sein k¨onnen Ein Aktor verarbeitet einen Strom aus
Marken, der als Ereignisstrom modelliert wird.
Die Anzahl zu verarbeitender Marken, die in einem Kanal(v i,v j) gespeichert
wurden, wird als sog Ankunftsfunktion r i j(τ) : T → R ≥0modelliert Diese weist dem Zeitpunktτ∈ T die Anzahl an Marken zu, die im Zeitintervall [0,τ) an dem
je-Kanal (v i,v j) angekommen sind Dies entspricht der Anzahl produzierter ver Daten eines Aktors in einem latenzinsensitiven System (siehe Gleichung (6.26))
informati-Die Anfangsmarkierung des Kanals ergibt sich zu r i j (0) := M0(v i,v j)
F¨ur einen Aktor a i ∈ A lassen sich die Ankunftsfunktionen der Eingangskan¨ale
Das zeitliche Verhalten eines Aktors a i l¨asst sich als Abbildung der
Ankunfts-funktionen der Eingangskan¨ale r i inauf die Ankunftsfunktionen der Ausgangskan¨ale
r i in ≥ ˜r in
i gilt, dassπi ◦ r in
i ≥πi ◦ ˜r in
i Ohne Ressourcenbeschr¨ankungen bei selbstplanender Ausf¨uhrung der Aktoren
gilt, dass die Anzahl der produzierten Marken eines Aktors a iauf jedem kanal gleich dem Minimum der auf seinen Eingangskan¨alen verarbeitbaren Markenist (siehe auch Gleichung (6.28) auf Seite 354):
Trang 13Die Ankunftsfunktionen der Ausgangskan¨ale eines Aktors a istellen f¨ur andere
Aktoren oder a i selbst Ankunftsfunktionen f¨ur Eingangskan¨ale dar Aufgrund derFIFO-Semantik der Kan¨ale in markierten Graphen m¨ussen die Ankunftsfunktionen
um die Anfangsmarkierung verschoben werden Dies kann durch die Sprungfunktion
ρji(τ) f¨ur einen Kanal (v j,vi) dargestellt werden:
ρji(τ) :=
0 falls τ≤ 0
M0(v j,vi) falls τ> 0 Damit kann der Zusammenhang zwischen der Ankunftsfunktion r out
ji (τ) auf einem
Ausgangskanal eines Aktors a j und der Ankunftsfunktion r in ji(τ) f¨ur den selben
Ka-nal beim lesenden Aktor a ihergestellt werden:
r in ji(τ) := r out
ji (τ) +ρji(τ) (8.17)Gleichungen (8.16) und (8.17) lassen sich zu einem Gleichungssystem zusammen-fassen (siehe auch Gleichung (6.30) auf Seite 354):
d h dass Marken fr¨uhestens einen kurzen Zeitschrittδ> 0, nachdem sie produziert
worden sind, einen folgenden Aktor aktivieren k¨onnen Liegen keine schr¨ankungen vor, kann der maximale Durchsatz des markierten Graphen auf Ba-sis von Max-Plus-Algebra bestimmt werden (siehe Abschnitt 6.5.2) Der Fixpunktcharakterisiert den Eigenwert der MatrixΠ und damit den Durchsatz Beschr¨ankteKanalkapazit¨aten k¨onnen durch R¨uckkanten modelliert werden
Ressourcenbe-Modellierung von Ressourcenbeschr¨ankungen
Um zu modellieren, dass die Ausf¨uhrung eines Aktors a igen unterliegt, muss die Abbildungsfunktionπiangepasst werden [432] Hierzu wird
Ressourcenbeschr¨ankun-angenommen, dass der Aktor a iauf einer Ressource ausgef¨uhrt wird, die durch eine
sog Servicefunktion c(τ) beschrieben wird Dabei beschreibt c(τ) ∈ R ≥0die zahl an Aktorfeuerungen, welche die Ressource in dem Zeitintervall[0,τ) ausf¨uhren
An-kann, wobei c(0) := 0 ist
Die Verwendung von Servicefunktionen erlaubt eine Modellierung beliebigerRessourcenbeschr¨ankungen und Ablaufplanungsstrategien Das Kommunikations-
verhalten eines Aktors a i mit einem Aktor k bei selbstplanender Ausf¨uhrung kann
unter Ber¨ucksichtigung von Ressourcenbeschr¨ankungen mit der folgenden funktion beschrieben werden:
Transfer-r ik out(τ) := inf
0≤λ≤τ{ min (v j ,v i)∈ C {r in
ji(λ)} + c(τ) − c(λ)} (8.19)
Trang 14Gleichung (8.19) kann dann wie folgt interpretiert werden [432]: In einem vall[λ,τ) k¨onnen c(τ)−c(λ) Aktorfeuerungen ausgef¨uhrt werden, sofern gen¨ugend
Inter-Marken am Eingang verf¨ugbar sind, d h r out ik (τ) ≤ r out
Eingangs-r ik out(τ) ≤ min (v j ,v i)∈ C{r in
ji(λ)} + c(τ) − c(λ)
Nun gibt es einen Zeitpunkt λ∗ wo zum letzten Mal galt, dass r out
ik (λ∗) =min(v j ,v i)∈ C{r in
ji(λ∗ )} ist Dieser Zeitpunkt kann entwederλ∗= 0,λ∗=τ oder einZeitpunkt dazwischen sein Nach diesem Zeitpunkt λ∗ ist die Ressource perma-nent mit der Ausf¨uhrung des Aktors a i ausgelastet Es gilt: r ik out(τ) = r out
ik (λ∗) +
c(τ) − c(λ∗) = min(vj ,v i)∈ C {r in
ji(λ∗ )} + c(τ) − c(λ∗) Genau diesesλ∗wird mit der
Infimum-Operation bestimmt, die in der Transferfunktion in Gleichung (8.19) geben ist
ange-Beispiel 8.2.11 Gegeben ist der markierte Graph in Abb 8.41 mit drei Aktoren der Aktor a i wird auf einer Ressource mit der Servicefunktion c i(τ) ausgef¨uhrt DieTransferfunktionen f¨ur den markierten Graph ergeben sich unter Verwendung vonGleichung (8.19) und (8.17) dann zu:
Trang 15Die verbleibende Servicefunktion c (τ) nachdem ein Aktor a iausgef¨uhrt wurde,ergibt sich zu:
c (τ) := c(τ) − min
(v j ,v i)∈ C {r in
Abstraktion der Servicefunktion
Um die Zeitanalyse effizient durchf¨uhren zu k¨onnen, m¨ussen sowohl die funktionen als auch die Ankunftsfunktionen abstrahiert werden Zun¨achst werdendie Servicefunktionen durch untere und obere Schranken begrenzt Diese Schran-
Service-ken werden als ServiceService-kennlinien (siehe Definition 8.2.2 auf Seite 510) bezeichnet.
Dabei wird von dem Zeitbereich in den Zeitintervallbereich gewechselt
Unter Verwendung von Servicekennlinienβl
ji(λ)} +βu
i(τ−λ)}
r out ik (τ) ≥ inf
0≤λ≤τ{ min (v j ,v i)∈ C {r in
ji(λ)} +βl
i(τ−λ)}
Unter Verwendung des Operators a ⊕ b := min{a,b} und des Operators a(τ) ⊗
b(τ) := inf0≤λ≤τ{a(λ) − b(τ−λ)} erh¨alt man: