Lehrstuhl f¨ur Informatik 12 (Hardware-Software-Co-Design) Prof. Dr.-Ing. J¨urgen Teich
Klausur
Eingebettete Systeme
01. April 2015
Name Vorname
Matrikelnummer Studienfach
Aufgabe 1 2 3 Σ
max. Punkte 30 30 30 90
erreichte Punkte Note
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Bitte sorgf¨ altig lesen und die Kenntnisnahme durch Unterschrift best¨ atigen
1. Bitte legen Sie Ihren Studentenausweis bereit.
2. Als Hilfsmittel sind nur Schreibmaterialien zugelassen.
3. Schmierpapier wird nicht abgegeben und nicht korrigiert.
4. Sie k¨onnen bei der Aufsicht zus¨atzliche Bearbeitungsbl¨atter anfordern. Diese m¨ussen Ihrer Arbeit angeheftet werden.
5. Unleserliches wird nicht bewertet.
Erkl¨ arung
1. Im Falle einer w¨ahrend der Pr¨ufung auftretenden Pr¨ufungsunf¨ahigkeit zeige ich dies sofort der Aufsicht an und befolge deren Anweisungen. Ich weiß, dass ich die volle Beweislast trage. Ich lasse mir das Formular des Pr¨ufungsamts, das f¨ur diese F¨alle vorgesehen ist, aush¨andigen und verfahre nach den dort niedergelegten Richtlinien.
2. Ich weiß, dass im Falle des T¨auschungsversuchs oder der Benutzung unerlaubter Hilfsmittel (”Unterschleif“) der Pr¨ufungsausschuss die Entscheidung treffen kann, die betroffene Pr¨ufungsleistung als mit ”nicht ausreichend“ bewertet gelten zu lassen.
3. Ich habe die obigen Hinweise zur Kenntnis genommen.
Erlangen, den 01. April 2015 . . . . Unterschrift
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Aufgabe 1 (Spezifikation & Modellierung) (30 Punkte)
a) Grundlagen
1. Erstellen und beschriften Sie das aus der Vorlesung bekannte Doppeldachmodell. Was wird durch die Pfeile im Doppeldachmodell dargestellt? (3 Punkte)
Welche der folgenden Aussagen ist wahr bzw. falsch? Bitte kurz begr¨unden bzw. richtigstellen.
2. Folgendes Petri-Netz ist ein markierter Graph. (2 Punkte)
p
1t
1p
2t
2p
31 1 2 1
3. Folgendes Petri-Netz ist stark lebendig. (2 Punkte)
p
1p
2
p
t
1t
32
t
31 1 2 1
1
Kopiervo
1rlage:
nur
f¨ur
Fachschaften
4. Folgendes Petri-Netz ist beschr¨ankt. (2 Punkte)
p
1t p
2p
31
t
2t
31
1
1 2
1
1
1
5. Statecharts sind m¨achtiger in der Modellierungsst¨arke als konventionelle FSMs. (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
b) Statecharts
1. Welche Vorteile ergeben sich bei Statecharts durch XOR-Dekomposition und AND-Dekomposi- tion gegen¨uber konventionellen Zustandsautomaten? (2 Punkte)
2. Gegeben ist folgendes Statechart:
A
C
D
α β
E
F γ (in C) δ
B
G ε (in D) S
H
Bestimmen Sie den ¨aquivalenten nichthierarchischen Zustandsautomaten. (6 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
c) Petri-Netze
Gegeben sei das folgende Petri-NetzG.
S1
S3 S2
p1
p2 p3
p4 t4
t3 t1
t2
1. Geben Sie das Petri-NetzG= (P,T,F,K,W,M0)algebraisch an. (3 Punkte)
2. Bestimmen Sie f¨urGden Erreichbarkeitsgraphen mitM0= (2,0,0,0). (2 Punkte)
3. Ist das Petri-Netz konfliktfrei, beschr¨ankt bzw. deadlockfrei? Begr¨unden Sie Ihre Antworten.
(3 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Das gegebene Petri-NetzGsei nun erweitert worden wie folgt:
2
2 2
2 2
1
1 1
1
3 3
4
p1
p2 p3
p4 t4
t3 t1
t2 p6
p5 t5
4. Zeichnen Sie den ¨aquivalenten synchronen DatenflussgraphenG= (V,E,cons,prod,d)f¨ur das modifizierte Petri-Netz. Die entsprechenden Gewichte sind den Kanten des Petri-Netzes annotiert.
(3 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Aufgabe 2 (Architektursynthese) (30 Punkte)
a) Grundbegriffe
1. Gegeben sei ein SequenzgraphGS= (VS,ES)und ein RessourcegraphGR= (VR,ER). Ordnen Sie die Funktionenγ,c,α,β,wihren Bedeutungen zu: (1 Punkt)
• Kostenfunktion:
• Gewichtsfunktion:
• Allokation:
• Bindung:
2. Was bezeichnet die LatenzLeines Ablaufplans? (0,5 Punkte)
3. Geben Sie eine Bedingung f¨ur einen g¨ultigen Ablaufplanτ:V →Z+0 eines GraphenG(V,E)an,
der Datenabh¨angigkeiten ber¨ucksichtigt. (0,5 Punkte)
4. Gegeben sei folgender SystemC-Code:
1 class calculator : public sc_module
2 {
3 public:
4 sc_in <bool> activate ;
5 sc_in <double> a;
6 sc_in <double> b;
7 sc_out <double> y_out ;
8
9 SC_HAS_PROCESS ( calculator );
10
Kopiervo
rlage:
nur
f¨ur
Fachschaften
11 calculator ( sc_module_name module_name )
12 : sc_module ( module_name )
13 {
14 SC_METHOD ( algorithm );
15 sensitive << activate ;
16 }
17 private:
18 void calculator :: algorithm ()
19 {
20 double x1 = a;
21 double x2 = b;
22
23 double y1 = (15 + x1 ) * ( x2 * 11) ;
24 double y2 = x2 * x1 ;
25 double y3 = y1 + y2 ;
26 double y4 = y2 + 5;
27 double y = y3 / y4 ;
28 y_out = y;
29 }
30 }
31
Es steht ein Ressourcetyp Addierer (r1) zur Verf¨ugung, der die Addition abdeckt sowie ein zweiter Ressourcetyp (r2), der die restlichen Operationen (*,/) berechnen kann. F¨ur die Be- rechnungszeiten der Operationen auf den Ressourcetypen gelted+=1undd*=d/=3.
i. Geben Sie einen Sequenzgraphen f¨ur obiges SystemC-Modul graphisch sowie algebraisch
an (GS= (VS,ES)). (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
ii. Geben Sie einen RessourcegraphenGR= (VR,ER)an und annotieren Sie ihn mitGewich- ten, die den Berechnungszeiten der Operationen entsprechen. (1 Punkt)
b) Allokation, Ablaufplanung
Im Folgenden soll ein Ablaufplan f¨ur den SequenzgraphenGS(VS,ES)aus Abbildung 1 berechnet werden.
NOP
NOP
+
+ + +
x x
x
v1 v2 v3
v5 v4
v6
v7 v0
vn
Abbildung 1: Sequenzgraph
Additionen k¨onnen an Addierer (Ressourcetyp(r1)) gebunden werden und Multiplikationen an Multiplizierer (Ressourcetyp(r2)). F¨ur die funktionalen Einheiten gelten folgende Annahmen: Eine Addition ben¨otigt 1 Zeiteinheit, und eine Multiplikation ben¨otigt 3 Zeiteinheiten. Im Folgenden sollen bis zu zwei Addierer und Multiplizierer allokiert werden k¨onnen. Ein Ablaufplan soll mit Hilfe eines ganzzahligen linearen Programms (ILP) gefunden und optimiert werden, wozu bin¨are Variablenxi,t eingef¨uhrt werden, f¨ur die gilt:
xi,t =
(1, wenn Operationvizum Zeitpunkttgestartet wird 0, ansonsten
Kopiervo
rlage:
nur
f¨ur
Fachschaften
1. F¨ur Operationv7sei nun die folgende Bedingung gegeben:
x7,5+x7,6=1
Was dr¨uckt diese Bedingung aus? Welchen Wert hat dieMobilit¨at µ(v7)?
Welchen Wert besitzt die LatenzschrankeL¯? (1,5 Punkte)
2. Im Folgenden gilt nunL¯ =10als Latenzschranke. Bestimmen Sie die Mobilit¨atµ(vi), die fr¨uhest m¨oglichen Startzeiten τ1(vi) und die sp¨atest m¨oglichen Startzeiten τ2(vi) f¨ur jeden Knoten vi∈VSim Falle latenzoptimaler Ablaufpl¨ane ohne Ressourcenbeschr¨ankungen. Tragen Sie Ihre
Ergebnisse in die folgende Tabelle ein.dummy (3,5 Punkte)
Task µ(vi) τ1(vi) τ2(vi) v1
v2 v3 v4 v5 v6 v7
Hinweis: Nutzen Sie bei Bedarf folgende Hilfslinien.
Kopiervo
rlage:
nur
f¨ur
Fachschaften
3. Formulieren Sie nun f¨ur die Operationenv3undv5die Startzeitpunkteτ(v3)bzw.τ(v5)mit Hilfe
bin¨arer Variablen. (2 Punkte)
4. Formulieren Sie nun Beschr¨ankungen an die Startzeiten vonv4,v5undv7in Abh¨angigkeit ihrer
Vorg¨angerknoten. (3 Punkte)
5. Nun soll garantiert werden, dass zu keinem Zeitpunkt mehr als die zur Verf¨ugung stehenden Ressourceninstanzen belegt werden. Formulieren Sie daf¨ur das notwendige lineare Unglei- chungssystem f¨ur die ersten 5 Zeitschritte (t=0bist=4). (5 Punkte)
6. Formulieren Sie schließlich eine Zielfunktion des ILPs zur Minimierung der LatenzL.
dummy (1 Punkt)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
c) Bindung
Gegeben sei der in Abbildung 2 dargestellte Sequenzgraph. Es stehen ein Ressourcetyp Addierer (r1) f¨ur die Ausf¨uhrung der Additionsknoten und einen Ressourcetyp Multiplizierer (r2) f¨ur die Multiplikationen zur Verf¨ugung, wobei f¨ur die Berechnungszeiten der Operationen auf den Ressour- cetypen gelte:d+=d×=1. Weiterhin seien folgende Startzeiten gegeben:τ(v1) =0,τ(v2) =0, τ(v3) =1,τ(v4) =1,τ(v5) =2,τ(v6) =3undτ(v7) =4.
+ + +
x
x x
v4 v6
v5
v7
v1 v2
v0
vn
+
v3NOP
NOP
Abbildung 2: Sequenzgraph
1. Zeichnen Sie jeweils den Vertr¨aglichkeitsgraphen f¨ur die F¨alle:
i. Schwache Vertr¨aglichkeit (2 Punkte)
ii. Ablaufplanvertr¨aglichkeit (2 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
iii. Starke Vertr¨aglichkeit (2 Punkte)
2. Berechnen Sie nun mit dem LEFTEDGE-Algorithmus eine optimale F¨arbung des Konfliktgraphen f¨ur den Fall von Ablaufplanvertr¨aglichkeit.
Wie viele Instanzen jeden Ressourcetyps werden ben¨otigt? (3 Punkte)
Kopiervo
rlage:
nur
f¨ur
Fachschaften
Aufgabe 3 (Softwaresynthese) (30 Punkte)
a) Grundbegriffe und Kurzfragen
1. Nennen Sie vier Grundaufgaben eines Betriebssystems, welches auch f¨ur eingebettete Systeme
geeignet ist. (2 Punkte)
2. Geben Sie mathematische Formeln f¨ur folgende Begriffe an. Verwenden Sie hierf¨ur die f¨ur einen Taskvidefinierten Variablen: Ankunftszeittr(vi), Berechnungszeitdi, Startzeitτb(vi), Endzeit
τe(vi)und Deadlinetd(vi). (4 Punkte)
(1) Wartezeit eines Tasksvi: tW(vi) =
(2) ¨Uberhang eines Tasksvi: tT(vi) =
(3) Mittlere Antwortzeit einer TaskmengeV bestehend ausnTasks:
F=
(4) Gesamte Berechnungszeit einer TaskmengeV bestehend ausnTasks:
L=
3. Im Folgenden werden verschiedene Ablaufplanungsverfahren f¨ur Software-Tasks betrachtet.
Welche Aussage ist wahr bzw. falsch? Schreiben Sie die entsprechende Antwort unter die Aussage, und geben Sie bei einer falschen Aussage eine kurze Begr¨undung an. (5 Punkte) (Punktevergabe: 0,5 Punkte f¨ur jede richtig erkannte wahre Aussage und jede richtig erkannte falsche Aussage mit passender Begr¨undung)
(1) Das SRTN-Verfahren minimiert die mittlere Antwortzeit nur dann, wenn die Ankunftszeiten aller Tasks gleich sind.
(2) Beim FCFS-Verfahren h¨angen die Planungsentscheidungen nicht von den Berechnungszei- ten der Tasks ab, sondern nur von der Reihenfolge, in der die Tasks ankommen.
Kopiervo
rlage:
nur
f¨ur
Fachschaften
(3) Beim SJF-Verfahren k¨onnen Tasks mit einer kleineren Berechnungszeit Tasks mit einer gr¨oßeren Berechnungszeit unterbrechen.
(4) Das EDF*-Verfahren minimiert die mittlere Versp¨atung f¨ur eine Menge von Tasks mit Daten- abh¨angigkeiten nur dann, wenn vorher die Ankunftszeiten und Deadlines geeignet transfor- miert wurden.
(5) Wenn das Ergebnis eines nur hinreichenden Planbarkeitstests f¨ur eine Menge von periodi- schen Tasks negativ ausf¨allt, kann es trotzdem m¨oglich sein, einen g¨ultigen Ablaufplan f¨ur diese Taskmenge zu finden.
(6) Das EDF-Verfahren plant eine Menge periodischer Tasks nach deren statischen Deadlines.
(7) Jede Taskmenge, die mit dem RM-Verfahren planbar ist, ist auch mit dem DM-Verfahren planbar.
(8) Wenn eine Taskmenge bei gegebenen Voraussetzungen nicht mit dem RM-Verfahren ge- plant werden kann, dann k¨onnte sie trotzdem mit dem DM-Verfahren planbar sein.
(9) Beim Hintergrund-Scheduling f¨ur gemischte Taskmengen werden aperiodische Tasks in periodischen Abst¨anden abgearbeitet.
(10) Beim RM-Polling Server und RM-Deferrable Server gehen die Kapazit¨aten f¨ur die Bearbei- tung aperiodischer Tasks verloren, wenn zur Zeit der Aktivierung des Server-Tasks kein aperiodischer Task vorliegt.
Kopiervo
rlage:
nur
f¨ur
Fachschaften
b) Aperiodische Ablaufplanung
Hinweis:Falls Sie ein Ersatzdiagramm verwenden, kennzeichnen Sie bitte deutlich, welche L¨osung bewertet werden soll.
1. In folgender Tabelle sind sechs unterbrechbare Tasks mit ihren Ankunftszeiten tr(vi), ihren Ausf¨uhrungszeitendiund ihren Deadlinestd(vi)gegeben.
v1 v2 v3 v4 v5 v6
tr(vi) 0 1 3 3 8 9
di 4 3 1 2 2 2
td(vi) 14 12 8 9 15 13
Zeichnen Sie den Ablaufplan gem¨aß EDF-Algorithmus in das folgende Diagramm. (4 Punkte)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 v1
v2
v3 v4 v5 v6
Ersatzdiagramm:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 v1
v2 v3 v4 v5 v6
Kopiervo
rlage:
nur
f¨ur
Fachschaften
2. Die Tabelle aus b) 1. sei hier noch einmal wiederholt dargestellt. Zus¨atzlich sind nun Daten- abh¨angigkeiten zwischen den Tasks in dem nebenstehenden Graphen gegeben.
v1 v2 v3 v4 v5 v6
tr(vi) 0 1 3 3 8 9
di 4 3 1 2 2 2
td(vi) 14 12 8 9 15 13
v1
v2 v3
v4
v5
v6
Bestimmen Sie die ver¨anderten Ankunftszeiten tr∗(vi) und Deadlines td∗(vi) f¨ur einen EDF- Algorithmus, der Datenabh¨angigkeiten ber¨ucksichtigt (EDF*). Tragen Sie die transformierten
Werte in folgende Tabelle ein. (4 Punkte)
v1 v2 v3 v4 v5 v6
tr∗(vi) td∗(vi)
3. Zeichnen Sie den Ablaufplan gem¨aß EDF*-Algorithmus in das folgende Diagramm. (4 Punkte)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 v1
v2 v3 v4 v5 v6
Ersatzdiagramm:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 v1
v2
v3 v4 v5 v6
Kopiervo
rlage:
nur
f¨ur
Fachschaften
c) Periodische Ablaufplanung
Hinweis:Falls Sie ein Ersatzdiagramm verwenden, kennzeichnen Sie bitte deutlich, welche L¨osung bewertet werden soll.
1. In folgender Tabelle sind vier periodische Tasks mit ihren Ausf¨uhrungszeitendi, ihren Perioden P(vi)und ihren relativen Deadlinestd∗(vi)gegeben.
v1 v2 v3 v4
di 1 2 3 2
td∗(vi) 2 8 18 4
P(vi) 4 9 18 7
Geben Sie zun¨achst einen hinreichenden Planbarkeitstest f¨ur die Planung vonnperiodischen
Tasks mit dem DM-Algorithmus an. (1 Punkt)
2. F¨uhren Sie den Planbarkeitstest aus der vorherigen Aufgabe mit der gegebenen Taskmenge durch und geben Sie an, ob ein g¨ultiger Ablaufplan mit dem DM-Algorithmus gefunden werden kann. Hinweis: Verwenden Sie die unten angegebenen Tabellen, um Br¨uche oder Wurzeln in
Dezimalzahlen umzuwandeln. (2 Punkte)
xy x
78 86 94 102 110
y
60 1,3 1,433 1,567 1,7 1,833 64 1,219 1,344 1,469 1,594 1,719 68 1,147 1,265 1,382 1,5 1,618 72 1,083 1,194 1,306 1,417 1,528 76 1,026 1,132 1,237 1,342 1,447
√xy x
2 3 4 5 6
y
2 1,414 1,26 1,189 1,149 1,122 3 1,732 1,442 1,316 1,246 1,201 4 2 1,587 1,414 1,32 1,26 5 2,236 1,71 1,495 1,38 1,308 6 2,449 1,817 1,565 1,431 1,348
Kopiervo
rlage:
nur
f¨ur
Fachschaften
3. Gegeben sei noch einmal die Tabelle aus c) 1.
v1 v2 v3 v4
di 1 2 3 2
td∗(vi) 2 8 18 4
P(vi) 4 9 18 7
Zeichnen Sie den Ablaufplan gem¨aß DM-Algorithmus in das folgende Diagramm. (4 Punkte)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 v1
v2 v3 v4
Ersatzdiagramm:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 v1
v2 v3 v4