23.11.2013 Aufrufe

Synthese von Kommunikationsstrukturen in verteilten ... - Stefan Ihmor

Synthese von Kommunikationsstrukturen in verteilten ... - Stefan Ihmor

Synthese von Kommunikationsstrukturen in verteilten ... - Stefan Ihmor

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

UniversitatPaderborn FakultatfurElektrotechnik,InformatikundMathematik<br />

InstitutfurInformatik<br />

<strong>Synthese</strong> <strong>von</strong><br />

<strong>Kommunikationsstrukturen</strong> <strong>in</strong><br />

<strong>verteilten</strong> e<strong>in</strong>gebetteten Systemen<br />

Studienarbeit<br />

StudiengangInformatik<br />

<strong>von</strong><br />

Tobias Loke<br />

Alte Brauerei 15<br />

33098 Paderborn<br />

betreutdurch<br />

Dipl.-Inform. <strong>Stefan</strong> <strong>Ihmor</strong><br />

vorgelegtbei<br />

Prof. Dr. rer. nat. Franz Josef Rammig<br />

im<br />

Marz 2005


" Lehren bedeutet nicht,<br />

etwas <strong>in</strong> jemanden h<strong>in</strong>e<strong>in</strong>br<strong>in</strong>gen,<br />

sondern aus ihm heraus.\


Dank und Erklarung<br />

DiesesDokumententstandimRahmene<strong>in</strong>erStudienarbeit<strong>in</strong>derArbeitsgruppe<strong>von</strong><br />

Prof.Dr.rer.nat.FranzJosefRammig(HNI)derUniversitatPaderborn.<br />

Furdas<strong>in</strong>teressanteThemaderStudienarbeitmochteichmichbeiFranzJ.Rammig<br />

und<strong>Stefan</strong><strong>Ihmor</strong>bedanken.BesondererDankgilt<strong>Stefan</strong><strong>Ihmor</strong>furse<strong>in</strong>ehervorragende<br />

ArbeitalsBetreuerdieserStudienarbeit.Weiterh<strong>in</strong>dankeichDieterAverbergfurdas<br />

Korrekturlesenundse<strong>in</strong>egeduldigeUnterstutzungbeiProblemenmitL<strong>in</strong>ux.Furdas<br />

abschlieendeKorrekturlesendieserArbeitdankeichbesondersGiuliaCalani.<br />

Abschlieend unterstutzthaben. mochte ich me<strong>in</strong>en Eltern und me<strong>in</strong>em Bruder danken, die mich stets<br />

Hiermit erklare ich, dass ich die vorliegende Arbeit selbststandig verfasst und ke<strong>in</strong>e<br />

anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich<br />

gemachthabe.<br />

Paderborn,imMarz2005<br />

i


Inhaltsverzeichnis<br />

1 E<strong>in</strong>fuhrung 1.1 Motivation. . . . 1<br />

1.2 Aufgabenstellung . 2<br />

1.3 AufbauderArbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2 Grundlagen 2.1 Protokolle . . . 2.2 Graphentheorie . . . . 5<br />

2.3 ProtokollGrundblocke 7<br />

2.4 Cluster<strong>in</strong>g . . . . . . . . . . . . . 8<br />

2.4.1 HierarchischesCluster<strong>in</strong>g. . 10<br />

2.4.2 PartitionierendesCluster<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . 12<br />

3 InterfaceSynthesisDesignFlow 15<br />

3.1 MotivationfurautomatisiertesDesign. 15<br />

3.2 Spezikationsgraph . . 18<br />

3.3 Kommunikationsgraph 18<br />

3.4 DasIFD-Mapp<strong>in</strong>g. . . . . . . . . . . . 19<br />

3.5 DerAufbaudesInterfaceBlocks(IFB) 20<br />

3.5.1 ControlUnit(CU) . . 21<br />

3.5.2 ProtocolHandler(PH) . 22<br />

3.5.3 SequenceHandler(SH). . . . . . . . . . . . . . . . . . . . . . . . 22<br />

4 AutomatischeVerteilung 23<br />

4.1 SystemtopologienunterVerwendung<strong>von</strong>IFBs . . . . . . . . . . . . . . . 23<br />

iii


Inhaltsverzeichnis<br />

4.1.1 Verwendunge<strong>in</strong>ese<strong>in</strong>zelnenIFBs 23<br />

4.1.2 VerwendungmehrererIFBs 24<br />

4.2 AutomatischeVerteilung<strong>von</strong>IFBs 25<br />

4.2.1 Kostenfunktionen . . . . . . . . . . . . 26<br />

4.2.2 StrategienfurdieVerteilung<strong>von</strong>IFBs . . . . . . . . . . 27<br />

4.2.3 Cluster<strong>in</strong>galsVerfahrenzurReduktionderIFB-Anzahl. 30<br />

4.3 AblaufderVerteilung<strong>von</strong>IFBs . . . . . . 30<br />

4.3.1 Erstellene<strong>in</strong>er<strong>in</strong>itialenVerteilung. 30<br />

4.3.2 Optimierung. . . . . . 31<br />

4.3.3 AuswahlderStrategie . 31<br />

4.3.4 Cluster<strong>in</strong>gAlgorithmus. 32<br />

4.4 IntegrationimIFS-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

5 DedicatedProtocol 35<br />

5.1 AnsatzefurdieVerwendunge<strong>in</strong>esDedicatedProtocols . . . 35<br />

5.2 MergedProtocolalsRealisierunge<strong>in</strong>esDedicatedProtocols. 35<br />

5.3 ProtokollParser. . . . . . . . . . . 37<br />

5.4 Berechnunge<strong>in</strong>esMergedProtocols 40<br />

5.5 AuswirkungaufdenIFB . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

6 ZusammenfassungundAusblick 45<br />

6.1 ZusammenfassungderArbeit . . 45<br />

6.2 AusblickaufweitereModellierung . . 45<br />

6.3 AusblickfurmoglicheErweiterungen . . . . . . . . . . . . . . . . . . . . 46<br />

Literaturverzeichnis 47<br />

iv


Abbildungsverzeichnis<br />

2.1 Verb<strong>in</strong>dung<strong>von</strong>zweiGraphen . . . . . 7<br />

2.2 Beispielfure<strong>in</strong>enControlFlowGraph . . . . . . . . . . . . 8<br />

2.3 Zusammenhang<strong>von</strong>Klassiktationsproblemennach[GNL67] 9<br />

2.4 Beispielfure<strong>in</strong>Dendogramm . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

3.1 IFSSystem-Architektur 16<br />

3.2 IFS-Flow[Ihm04] . . . 17<br />

3.3 Kommunikationsgraph 19<br />

3.4 IFB-Makrostruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

4.1 SystemtopologieunterVerwendunge<strong>in</strong>ese<strong>in</strong>zelnenIFBs 24<br />

4.2 SystemtopologieunterVerwendungmehrererIFBs. 25<br />

4.3 StrategienfurdieVerteilung<strong>von</strong>IFBs . . . . . . . . . . . . . . . . . . . 29<br />

5.1 Verb<strong>in</strong>dung<strong>von</strong>PAundPBmitungultigenPfaden 36<br />

5.2 MergedProtocol . . . . 38<br />

5.3 ProtokollParser,Ablauf 39<br />

5.4 MergedProtocol1-3 . . . 43<br />

5.5 IFBsmitMergedProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

v


Abbildungsverzeichnis<br />

vi


Tabellenverzeichnis<br />

5.1 MergeAlgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

vii


Tabellenverzeichnis<br />

viii


1 E<strong>in</strong>fuhrung<br />

1.1 Motivation<br />

DerMarktfure<strong>in</strong>gebetteteSystemewachstsehrstarkundwirdnachE<strong>in</strong>schatzung<strong>von</strong><br />

Systemendetmanheute<strong>in</strong>fastallenBereichendestaglichenLebens,daherstellensie<br />

ExpertenbalddenMarktfurterm<strong>in</strong>al-basierteAnwendungenubertreen.E<strong>in</strong>gebettete<br />

e<strong>in</strong>enbedeutendenwirtschaftlichenFaktordar.<br />

Ine<strong>in</strong>gebettetenSystemensteigendieAnforderungenandieFunktionalitatimmerweiter.ZurRealisierungderbenotigtenFunktionalitatbeie<strong>in</strong>ermoglichstkurzenEntwicklungszeit,erlangtdassogenannteIP-basedDesign(IntelectualProperty)immerstarker<br />

anBedeutung.BeidemIP-basedDesignwerdenbereitsvorhandeneundgetesteteKomponenten<br />

(IPs) wieder verwendet. Daher ist die Integration <strong>von</strong> bereits vorhandenen<br />

Komponentene<strong>in</strong>wesentlicherBestandteildesEntwurfsprozesses<strong>von</strong>e<strong>in</strong>gebettetenSystemen.<br />

In<strong>verteilten</strong>e<strong>in</strong>gebettetenSystemenwirdsoe<strong>in</strong>ekomplexeFunktionalitathaugdurch<br />

dieKompositionmehrererTeilkomponentenrealisiert.Dieserforderte<strong>in</strong>eInteraktionder<br />

Teilkomponenten.Die<strong>in</strong>teragierendenKomponentene<strong>in</strong>ese<strong>in</strong>gebettetenSystemss<strong>in</strong>d<br />

die mitBestandteile e<strong>in</strong>er Vielzahl der ansoKommunikationskomponenten genannten Kommunikationsstruktur. steigt dieBei Anzahl <strong>verteilten</strong> der moglichen Systemen<br />

<strong>Kommunikationsstrukturen</strong>sehrschnell.<br />

E<strong>in</strong>e dieHeterogenitatderKomponentendar,dennesexistiertke<strong>in</strong>e<strong>in</strong>heitlicherStandard<br />

weitere Herausforderung im Entwurfsprozess <strong>von</strong> e<strong>in</strong>gebetteten Systemen stellt<br />

moglichstautomatisiertenDesignProzessgew<strong>in</strong>nendaherimmermehranBedeutung.<br />

unterdenHerstellern<strong>von</strong>IPs.VerfahrenzurUnterstutzungderEntwicklerdurche<strong>in</strong>en<br />

Das beidenfolgendenArtenumgangen: Problem bei der Integration <strong>in</strong>kompatibler Komponenten wird oft auf e<strong>in</strong>e der<br />

1. EswirdaufdieVerwendung<strong>in</strong>kompatiblerKomponentenverzichtet.DieserAnsatz<br />

DieAuswahlderKomponentenistdadurchstarke<strong>in</strong>geschrankt.<br />

fuhrtdazu,dassnurKomponenten<strong>von</strong>e<strong>in</strong>emHerstellerverwendetwerdenkonnen.<br />

2. Zur verwendet.JedeKomponente,die<strong>in</strong>e<strong>in</strong>eKommunikationsstrukturaufgenommen<br />

Interaktion zwischen den Komponenten werden standardisierte Bussysteme<br />

werdensoll,mussume<strong>in</strong>eentsprechendeSchnittstellefure<strong>in</strong>solchesBussystem<br />

1


1 E<strong>in</strong>fuhrung<br />

erweitertwerden.Diesiste<strong>in</strong>fehleranfalligerundaufwendigerBestandteilderEntwicklung.Beikle<strong>in</strong>erenKomponentenfuhrterzue<strong>in</strong>emungunstigenVerhaltnis<br />

zwischenderGroederSchnittstellefurdasBussystemunddereigentlichenIP.<br />

BeideMoglichkeitens<strong>in</strong>dentwederunexibeloderbr<strong>in</strong>gene<strong>in</strong>enhohenAufwandmit<br />

geschaen.ErermoglichtmitHilfee<strong>in</strong>erAdapterstruktur,demsogenannten sich.ZurLosungdiesesProblemswurdederAnsatzdesInterfaceSynthesisDesignFlows<br />

Block(IFB),dieE<strong>in</strong>b<strong>in</strong>dung<strong>in</strong>kompatiblerKomponenten,ohnedieKomponentenselbst Interface<br />

andernzumussen.BeiderErstellung<strong>von</strong>komplexerene<strong>in</strong>gebettetenSystemen,<strong>in</strong>denen<br />

e<strong>in</strong>eVielzahl<strong>von</strong>Komponentenanden<strong>Kommunikationsstrukturen</strong>beteiligts<strong>in</strong>d,zeigen<br />

sichE<strong>in</strong>schrankungenbeiVerwendungdesIFS-Flows:<br />

DieKommunikationsstrukturkannimIFS-Flowjeweilsnurume<strong>in</strong>eGruppe<strong>von</strong><br />

<strong>in</strong>teragierendenKomponentenerweitertwerden.Diesistdadurchbed<strong>in</strong>gt,dassder<br />

nikationsstrukturenaufe<strong>in</strong>malerstelltwerden.<br />

jeweilsbenotigteIFBe<strong>in</strong>zelnerstelltwerdenmuss.EskonnennichtalleKommu-<br />

DieErzeugung<strong>von</strong><strong>Kommunikationsstrukturen</strong>mitHilfedesIFS-FlowserlaubteiponentenundIFBs.DieLosungenunterscheidensichh<strong>in</strong>sichtlichihrerQualitaneVielzahl<strong>von</strong>moglichenLosungenfurdieArchitekturaus<strong>in</strong>teragierendenKom-<br />

imBezugaufdenVerbrauch<strong>von</strong>Ressourcen<strong>in</strong>dergegebenenSystemarchitektur.<br />

DievorhandenenRessourcenentscheidendaruber,obe<strong>in</strong>ekomplexeKommunikationsstrukturuberhauptrealisiertwerdenkanntomatisierungsgrad.<br />

DieaufgefuhrtenE<strong>in</strong>schrankungendesIFS-Flowsresultieren<strong>in</strong>e<strong>in</strong>emreduziertenAu-<br />

1.2 Aufgabenstellung<br />

Systemenwirde<strong>in</strong>erweiterterIFS-Flowbenotigt.ImRahmendieserStudienarbeits<strong>in</strong>d<br />

Furdieoptimierte<strong>Synthese</strong><strong>von</strong><strong>Kommunikationsstrukturen</strong><strong>in</strong><strong>verteilten</strong>e<strong>in</strong>gebetteten<br />

Verfahren kompensiertwerdenkonnen. aufzuzeigen, mit denen die beschriebenen E<strong>in</strong>schrankungen des IFS-Flows<br />

Furdie<strong>Synthese</strong>dervollstandigenKommunikationsstrukturiste<strong>in</strong>VerfahrenzurautomatisiertenVerteilung<strong>von</strong>IFBszuerstellen.DasVerfahrenmussmoglichstezientmit<br />

denvorhandenenRessourcenumgehen,undz.B.dieLange<strong>von</strong>Verb<strong>in</strong>dungenzwischen<br />

Komponentenm<strong>in</strong>imieren.<br />

kolle NebenderautomatisiertenVerteilungiste<strong>in</strong>AnsatzfuranwendungsspezischeProto-<br />

e<strong>in</strong>emDedicatedProtocolverschmolzenwerden,umdenRessourcenverbrauchaufKommunikationswegenzuverr<strong>in</strong>gernundsomitkomplexere<strong>Kommunikationsstrukturen</strong>zu<br />

ermoglichen.<br />

(Dedicated Protocols) zu erstellen. Dabeisollen mehrere gegebene Protokolle zu<br />

2


1.3 AufbauderArbeit<br />

1.3 Aufbau der Arbeit<br />

NachdieserE<strong>in</strong>leitungfolgtdasKapitelzwei,<strong>in</strong>demdieverwendeteDenition<strong>von</strong>Protokollenangegebenist.AnschlieendwerdenBegrieausderGraphentheorievorgestellt,<br />

desCluster<strong>in</strong>gserlautertunddiePr<strong>in</strong>zipiendesHierarchischenundPartitionierenden<br />

diespaterimKapitelfunfverwendetwerden.AmEndedesKapitelswirdderBegri<br />

Cluster<strong>in</strong>gsgenauerausgefuhrt.<br />

ZuBeg<strong>in</strong>ndesKapitelsdreiwirdderIFS-Flowbeschrieben.DanachwerdendieModelle<br />

des Ubersicht Spezikationsgraphen zur Funktion des und IFD-Mapp<strong>in</strong>gs. des Kommunikationsgraphen Abschlieend wird vorgestellt. e<strong>in</strong>e Erlauterung Es folgt zum e<strong>in</strong>e<br />

InterfaceBlockundse<strong>in</strong>enstrukturellenKomponentengegeben.<br />

Im aufdiebenotigenRessourcenderSystemarchitekturbeschrieben.Furdieautomatische<br />

Kapitel vier werden zunachst die Auswirkungen verschiedener Systemtopologien<br />

VerteilungwerdenKostenfunktionenundStrategienvorgestellt,diebeiderVerteilung<br />

lung<strong>von</strong>IFBs,wirddasVerfahrenzurVerteilung<strong>von</strong>IFBsselbstvorgestellt.<br />

berucksichtigtwerden.NachErlauterungderBedeutung<strong>von</strong>Cluster<strong>in</strong>gfurdieVerteicols.DarauffolgtdieDenitiondesMergedProtocolsalsmoglicheRealisierunge<strong>in</strong>es<br />

Kapitel funf formuliert die Anforderungen fur die Verwendung <strong>von</strong> Dedicated Proto-<br />

DedicatedProtocols.DasKonzeptdesMergedProtocolserfordertdieZerlegunge<strong>in</strong>es<br />

Protokoll-Zustandsautomaten Protokoll-Parservorgenommen, <strong>in</strong>derim se<strong>in</strong>e Grundblocke. folgenden Abschnitt Diese Zerlegung erlautertwird wird.Am <strong>von</strong> e<strong>in</strong>em<br />

desKapitelswirdderAlgorithmusfurdieBerechnunge<strong>in</strong>esMergedProtocolsangegeben Ende<br />

unddieAuswirkungenderVerwendunge<strong>in</strong>esMergedProtocolsaufdieKommunikationsstrukturbeschrieben.<br />

ImletztenKapitelsechswirde<strong>in</strong> UberblickuberdievorgestelltenVerfahrenmite<strong>in</strong>em<br />

AusblickaufmoglicheErweiterungengegeben.<br />

3


1 E<strong>in</strong>fuhrung<br />

4


2 Grundlagen<br />

2.1 Protokolle<br />

IndieserStudienarbeitwirde<strong>in</strong>Verfahrenerweitert,mitdemdieautomatische<strong>Synthese</strong><br />

<strong>von</strong>SchnittstellenundProtokollenermoglichtwird,derInterfaceSynthesis-Design-Flow<br />

(IFS-Design-Flow).ImIFS-Design-Flows<strong>in</strong>dProtokollealsTeile<strong>in</strong>erSchnittstellenbeschreibungdeniert.IndenProtokoll-BeschreibungenwirddasVerhalten<strong>von</strong>Protokollen<strong>in</strong>Forme<strong>in</strong>esendlichenZustandsautomatenbeschrieben(F<strong>in</strong>iteStateMach<strong>in</strong>e=<br />

FSM).DieBeschreibungdesVerhalten<strong>von</strong>Protokollendurche<strong>in</strong>eFSMunddieverwendeteDenitonderFSMwirdimWeiterenbeschrieben.<br />

E<strong>in</strong>ProtokolldeniertdasVerhaltene<strong>in</strong>erMenge<strong>von</strong>gerichtetenVerb<strong>in</strong>dungen.Die<br />

Verb<strong>in</strong>dungen der Signale aufwerden diesendurch Verb<strong>in</strong>dungen so genannte undProtocol die Signalausgabe P<strong>in</strong>s reprasentiert. werden durch Dase<strong>in</strong>e Verhalten<br />

beschrieben. In Protokollen ist das Verhalten durch e<strong>in</strong>e Abfolge <strong>von</strong> Zustanden, FSM<br />

Signalausgabedurche<strong>in</strong>eentsprechendeAusgabe<strong>in</strong>e<strong>in</strong>emZustandmodelliert.DieverwendeteFSMentsprichte<strong>in</strong>emMooreAutomat.<br />

die<br />

Denition:Protocol FSM=fS;X;Y;;g<br />

S:Zustande<br />

X:E<strong>in</strong>gabe()ExterneSignalefurTransitionsbed<strong>in</strong>gungen)<br />

Y:Ausgabe()DeniertdenWerte<strong>in</strong>esSignalsane<strong>in</strong>emProtocolP<strong>in</strong>)<br />

:Zustandsubergangsfunktion:(S¢(X;(YjY =IC)))!S<br />

:Ausgabefunktion:S!Y<br />

2.2 Graphentheorie<br />

Zum DiesekonnenalsgerichteteGraphenvisualisiertwerden.InspaterenAbschnittendieser<br />

Beschreiben des Verhaltens <strong>von</strong> Protokollen werden Protokoll-FSMs verwendet.<br />

StudienarbeitwerdenDenitionenfurStrukturenverwendet,welchesichambestenmit<br />

BegrienausderGraphentheoriebeschreibenlassen.<br />

5


2 Grundlagen<br />

E<strong>in</strong>Graphiste<strong>in</strong>eVisualisierung<strong>von</strong>ObjektenundderenBeziehungenuntere<strong>in</strong>ander.<br />

DieObjektewerdenimGraphendurchKnotenreprasentiert.DieBeziehungenzwischen<br />

denObjektenwerdendurchKantendargestellt.ImfolgendenAbschnittwirddie,<strong>in</strong>dieserArbeitverwendete,Denition<strong>von</strong>GraphenundihrenEigenschaftengema[Har69]<br />

vorgestellt.<br />

E<strong>in</strong>GraphG=(V;E)bestehtaus:<br />

V:e<strong>in</strong>eMenge<strong>von</strong>Knoten(Vertices)V =fv1;v2;:::;vng<br />

E:e<strong>in</strong>erMenge<strong>von</strong>Kanten(Edges)mit8ei2E:e=(vi;vj)<br />

Ine<strong>in</strong>emungerichtetenGraphistjedeKante e<strong>in</strong>emgerichtetenGraphenistjedeKantee=(v1;v2)e<strong>in</strong>geordnetesPaar.Wennej=<br />

e = (v1;v2)e<strong>in</strong>ungeordnetesPaar.Bei<br />

(v1;v2)undek=(v2;v1)danngiltej6=ek.DesWeiterenseidieMengederKnotene<strong>in</strong>es<br />

bezeichnet. GraphenGmitV(G)bezeichnet.DieMengederKantene<strong>in</strong>esGraphenGseimitE(G)<br />

Pfad:E<strong>in</strong>Pfad<strong>in</strong>e<strong>in</strong>emGrapheniste<strong>in</strong>eFolge<strong>von</strong>Kanten.Fure<strong>in</strong>enPfadp<strong>in</strong>e<strong>in</strong>em<br />

GraphenG<strong>von</strong>vnachwmitv;w2V wenngiltv2e1;ei\ei+16=;undw2en. iste<strong>in</strong>eAbfolge<strong>von</strong>Kantenp=(e1;e2;:::en),<br />

Pfadlange:DieLangee<strong>in</strong>esPfadesentsprichtderAnzahlderKantenaufdemPfad.<br />

Kreis:E<strong>in</strong>Kreisiste<strong>in</strong>Pfad<strong>in</strong>e<strong>in</strong>emGraphen,beidemderersteundletzteKnoten<br />

gleichs<strong>in</strong>d.DadiesichdieAbfolgederKnoten<strong>in</strong>e<strong>in</strong>emKreiswiederholt,wirde<strong>in</strong>Kreis<br />

auchalsZyklusbezeichnet.<br />

Grad:DerGradd(v)e<strong>in</strong>esKnotenvistdieAnzahlderKanteneifurdiegilt:v2ei<br />

DisjunkteGraphen:ZweiGraphens<strong>in</strong>ddisjunktwennsieke<strong>in</strong>egeme<strong>in</strong>samenKnoten<br />

besitzen.G1istdisjunktzuG2wenngilt:V(G1)[V(G2)=;<br />

Verb<strong>in</strong>dung:AufGraphenlassensichverschiedensteOperationendenierenwiez.B.<br />

dasKomplement,dieVere<strong>in</strong>igungoderDierenz<strong>von</strong>Graphen.E<strong>in</strong>edermoglichenOperationenfurdieKomb<strong>in</strong>ation<strong>von</strong>GraphenistdieVerb<strong>in</strong>dung(sieheAbbildung2.1).<br />

DerGraphGseidasErgebnisderVerb<strong>in</strong>dungzweierdisjunkterGraphen DannistGdeniertdurch:<br />

G1undG2.<br />

G=G1+G2mit<br />

V(G)=V(G1)[V(G2)<br />

E(G)=E(G1)[E(G2)[fv1v2jvi2V(Gi);i=1;2g<br />

6


2.3 ProtokollGrundblocke<br />

Abbildung2.1:Verb<strong>in</strong>dung<strong>von</strong>zweiGraphen<br />

2.3 Protokoll Grundblocke<br />

Protokollebe<strong>in</strong>haltennebendenSignalenfurdiezuubertragendenDaten(Nutzdaten)<br />

danz).JenachArtdesProtokollskannmandaherdenAblaufdesProtokolls<strong>in</strong>mehrere<br />

weitereSignalezurSteuerungdesAblaufsoderSicherungderDatenubertragung(Redun-<br />

Abschnitteaufteilen,dieentwederderSteuerungdesAblaufsoderderDatenubertragung<br />

dienen.DiesewerdenimweiterenVerlaufalsGrundblockebezeichnet.DieZerlegunge<strong>in</strong>esProtokolls<strong>in</strong>se<strong>in</strong>eGrundblockeistanmehrerenStellendesIFS-Flowrelevant.<br />

AnalogzurDenition<strong>von</strong>GrundblockenimSoftware-DesignkonnenGrundblockeauch<br />

furProtokolledeniertwerden.GegebenseiderGraphe<strong>in</strong>erProtokoll-FSM.DieZustandedesAutomatenwerdendurchKnoten,dieTransitionendurchdieKantene<strong>in</strong>es<br />

gerichtetenGraphenreprasentiert.<br />

Denition Menge<strong>von</strong>Zustanden,dieaufe<strong>in</strong>emkreisfreienPfadmaximalerLange<strong>in</strong>e<strong>in</strong>emProtokollGraphenliegen.AufdiesemPfaddurfennurderersteundderletzteKnotene<strong>in</strong>en<br />

Gradgroere<strong>in</strong>shaben.DerKnotenwelcherdemStartzustandderProtokoll-FSMent-<br />

Grundblock (Basic Block = BB): E<strong>in</strong> Grundblock ist e<strong>in</strong>e geordnete<br />

spricht,darfnuralsersterKnoten<strong>in</strong>e<strong>in</strong>emsolchenPfadenthaltense<strong>in</strong>.<br />

E<strong>in</strong>Grundblockbeg<strong>in</strong>nt,wenne<strong>in</strong>ederfolgendenBed<strong>in</strong>gungenzutrit:<br />

1. DerStartzustande<strong>in</strong>erProtokoll-FSMistimmerderAnfange<strong>in</strong>esGrundblocks.<br />

2. Zustandedienache<strong>in</strong>emZustandmitmehrerenFolgezustandenliegen(Gabelung,<br />

forkofcontrol)s<strong>in</strong>dimmerderAnfang<strong>von</strong>Grundblocken.<br />

3. Zustande mergeofcontrol)s<strong>in</strong>debenfallsAnfangszustandee<strong>in</strong>esGrundblocks.<br />

welche Nachfolger <strong>von</strong> mehreren Zustanden s<strong>in</strong>d (Zusammenfuhrung,<br />

NuramAnfangoderamEndee<strong>in</strong>esBBskannesdaherzue<strong>in</strong>erVerzweigungimAblauf<br />

e<strong>in</strong>esProtokollskommen.ImGrundblockselbstgibteske<strong>in</strong>eVerzweigung.Datenpakete<br />

sollten<strong>in</strong>syntaktischkorrektenProtokollenimmervollstandigubertragenwerden.Die<br />

vorzeitigeBeendigungder Ubertragunge<strong>in</strong>esDatenpaketessollteimNormalfallnicht<br />

7


Abbildung2.2:Beispielfure<strong>in</strong>enControlFlowGraph<br />

Abbildung2.2zeigte<strong>in</strong>enCFGderaus4GrundblockenBB1bisBB4besteht.DerCFG<br />

wurdezue<strong>in</strong>emProtokollmitdenZustandenS1bisS5erstellt.<br />

2 Grundlagen<br />

imAblaufe<strong>in</strong>esProtokollsvorkommen.FurdenIFS-Flowwirdvorausgesetzt,dassDatenpaketenichtuberdieGrenzene<strong>in</strong>esGrundblocksh<strong>in</strong>ausgehen.<br />

Wenn zwischendiesenGrundblockendargestelltwird,sobezeichnenwirdasimWeiterenals<br />

der Graph e<strong>in</strong>es Protokollautomaten nur durch Grundblocke und Transitionen<br />

Kontrollussgraph(ControlFlowGraph=CFG).<br />

DenitionKontrollussgraph E<strong>in</strong>KontrollugraphCFG=fV;Egbestehtaus (CFG):<br />

V EV =fGrundblockeg ¢V,e<strong>in</strong>eMenge<strong>von</strong>Kanten(=Transitionen)zwischenGrundblocken.<br />

2.4 Cluster<strong>in</strong>g<br />

ImfolgendenAbschnittwirdderBegridesCluster<strong>in</strong>gserlautert.BeidemCluster<strong>in</strong>g<br />

werden <strong>in</strong> sehr gleichartige unterschiedlichen Objekte Bereichen <strong>in</strong> Gruppen angewendet. (Cluster) Beispiele zusammengefasst. nden sichCluster<strong>in</strong>g unter anderem wird<br />

<strong>in</strong> LernproblemekonnendurchdenE<strong>in</strong>satz<strong>von</strong>Cluster<strong>in</strong>galgorithmengelostwerden.<br />

der Biologie, Mediz<strong>in</strong> oder Mathematik. Viele Entscheidungs-, Optimierungs- und<br />

AufgrunddervielenAnwendungsbereichegibteszahlreicheunterschiedlicheAlgorithmen,welchejeweilse<strong>in</strong>espeziellaufdasProblemzugeschnitteneFormdesCluster<strong>in</strong>gs<br />

realisieren.WelcheObjekte<strong>in</strong>e<strong>in</strong>emClusterzusammengefasstwerden,wirddurchdie<br />

AhnlichkeitderObjektezue<strong>in</strong>anderfestgelegt.Die Ahnlichkeitkanndurche<strong>in</strong>odermehrereAttributee<strong>in</strong>esObjektsbestimmtwerden.ManunterscheidetzwischenquantitativenundqualitativenAttributen.<br />

Ahnlichkeitkanndurche<strong>in</strong>ebeliebigeGroedeniert<br />

werden.<br />

OftwirddieDistanzzwischenObjektenfurdasBestimmender Ahnlichkeitverwendet.<br />

Jekle<strong>in</strong>erdieDistanz,destohoherdieAhnlichkeit.Mansprichtdann<strong>von</strong>e<strong>in</strong>erDistanzfunktion.DieDistanzzwischenzweiElementenxundyderMengeD,wirdmitd(x;y)<br />

8


2.4 Cluster<strong>in</strong>g<br />

bezeichnet.FurdieDistanzfunktiond(x;y)mussendreiBed<strong>in</strong>gungenerfulltse<strong>in</strong>:<br />

8x;y2D:d(x;y)2R+ (2.1)<br />

d(x;y)=0,x=y (2.2)<br />

d(x;y)=d(y;x) (2.3)<br />

Allgeme<strong>in</strong>erbetrachtetkannCluster<strong>in</strong>galse<strong>in</strong>espezielleFormderKlassizierunggesehenwerden.In[AKJ88]wirdCluster<strong>in</strong>gdaherfolgendermaenbeschrieben:\Acluster<strong>in</strong>gisatypeofclassicationimposedonanitesetofobjects\.DerAusgange<strong>in</strong>er<br />

Klassikationiste<strong>in</strong>eMenge<strong>von</strong>KlassenundObjektederenZugehorigkeitzudene<strong>in</strong>zelnenKlassenbekanntist.DiesebekannteMenge<strong>von</strong>ObjektenwirdalsTra<strong>in</strong><strong>in</strong>gsmenge<br />

bezeichnet.MitHilfederInformationendieserTra<strong>in</strong><strong>in</strong>gsmengewirddannversuchtneue,<br />

unbekannteObjekteaufgrundihrerEigenschaften<strong>in</strong>Klassene<strong>in</strong>zuteilen.DadieObjekteunddieKlassenderTra<strong>in</strong><strong>in</strong>gsmengebereitsbekanntse<strong>in</strong>mussen,wirddieseArtder<br />

KlassikationalsuberwachtesLernen wachtes Lernen bezeichnete Art der Klassizierung, bezeichnet.Demgegenuberstehtdiealsunuber-<br />

2.3).<br />

das Cluster<strong>in</strong>g (siehe Abbildung<br />

Abbildung2.3:Zusammenhang<strong>von</strong>Klassiktationsproblemennach[GNL67]<br />

Dieseskannwiederum<strong>in</strong>verschiedeneUnterartenaufgeteiltwerden,wassichnachder<br />

ArtdesVerfahrensrichtet.GemaderAufteilungnach[GNL67]sollenimfolgendendie<br />

beidenHauptartenderVerfahrenvorgestelltwerden,dashierarchischeunddaspartionierendeCluster<strong>in</strong>g.<br />

9


2 Grundlagen<br />

2.4.1 Hierarchisches Cluster<strong>in</strong>g<br />

BeidemhierarchischenCluster<strong>in</strong>gwirde<strong>in</strong>eMenge<strong>von</strong>Objektenrekursiv<strong>in</strong>e<strong>in</strong>eHierarchie<strong>von</strong>Clusternaufgeteilt,bisjederClustergenaue<strong>in</strong>Objektenthalt.DieErgebnismengederClustermussnichtvollstandigdisjunktse<strong>in</strong>.ClusterauftieferenEbenens<strong>in</strong>d<br />

Untermengen kann <strong>in</strong> e<strong>in</strong>em<strong>von</strong> Baumdiagramm Clustern auf hoheren (Dendogramm, Ebenen. siehe DieAbbildung Hierarchie2.4) der Ergebnismengen<br />

den.DieWurzeldesBaumsentsprichtdergesamtenMengederObjekte.DieBlatter dargestellt wer-<br />

entsprechen jeweils e<strong>in</strong>em e<strong>in</strong>zelnen Objekt. Die Darstellung der Hierarchie <strong>in</strong> e<strong>in</strong>em<br />

Abbildung2.4:Beispielfure<strong>in</strong>Dendogramm<br />

Dendrogramm liefert e<strong>in</strong>e schnelle Ubersicht Cluster zue<strong>in</strong>ander. Je weiter e<strong>in</strong>e Ebene desweiterer Dendogramms Eigenschaften <strong>von</strong> der der Wurzel Objekte entfernt und<br />

liegt,destogroeristdieNahedere<strong>in</strong>zelnenObjekte<strong>in</strong>e<strong>in</strong>emCluster.Mitsteigendem<br />

AbstandzwischenClusternaufe<strong>in</strong>erEbenesteigtihreUnterschiedlichkeit.<br />

Mankannnure<strong>in</strong>enTeilderMengen,welchee<strong>in</strong>hierarchischerCluster<strong>in</strong>galgorithmus<br />

liefert,alsErgebnisbetrachten.WennmannurClusteraufe<strong>in</strong>erbestimmtenEbenebetrachteterhaltmandisjunkteCluster.WahltmantiefereEbenenerhaltmane<strong>in</strong>efe<strong>in</strong>ere<br />

E<strong>in</strong>teilungmitmehrClusternals<strong>in</strong>e<strong>in</strong>erhoherenEbene.Algorithmenwelchee<strong>in</strong>hierarchischesCluster<strong>in</strong>gerzeugenbenotigene<strong>in</strong>eDistanzfunktionumzweie<strong>in</strong>zelneObjekte<br />

zusammenzufassenunde<strong>in</strong>eDistanzfunktionfurdasZusammenfassen<strong>von</strong>Mengen<strong>von</strong><br />

Objekten(Clustern).ImFolgendenwerdene<strong>in</strong>igeverschiedeneArten<strong>von</strong>Verfahrenzur<br />

Durchfuhrung<strong>von</strong>hierarchischenCluster<strong>in</strong>gbeschrieben.<br />

10


2.4 Cluster<strong>in</strong>g<br />

AgglomerativesCluster<strong>in</strong>g<br />

BeidemagglomerativenVerfahrenwirde<strong>in</strong>bottom-upAnsatzverwendet,umdieHierarchiederClusteraufzubauen.AlsAusgangslageverwendetmanClustermitgenaue<strong>in</strong>em<br />

Element(untersteEbene).DienachsteEbenederHierarchiewirddurchZusammenfassen<strong>von</strong>mehrerenClusternaufuntersterEbeneerzeugt.DieserVorgangwirdsolange<br />

wiederholt,bismanaufderoberstenEbenederHierarchieangekommenist.Aufdieser<br />

Ebenes<strong>in</strong>dalleObjekte<strong>in</strong>e<strong>in</strong>emClusterzusammengefasst.<br />

DiversivesCluster<strong>in</strong>g<br />

Diversive kehrterReihenfolgezuagglomerativenVerfahren.AlleObjektewerdenzuerst<strong>in</strong>e<strong>in</strong>em<br />

Verfahren verwenden e<strong>in</strong>en top-down Ansatz und arbeiten genau <strong>in</strong> umge-<br />

Cluster nachsteEbenederHierarchiebilden. zusammengefasst. Dieses wird <strong>in</strong> kle<strong>in</strong>ere Cluster aufgeteilt, welche dann die<br />

jektenzusuchen.AusdiesemObjektwirde<strong>in</strong>neuerClustergebildet.Dannwirddie<br />

E<strong>in</strong>eMoglichkeitbestehtdar<strong>in</strong>e<strong>in</strong>ObjektmitdergrotenDistanzzudenubrigenOb-<br />

durchschnittlicheDistanzzwischene<strong>in</strong>emObjektdesursprunglichenClustersundallen<br />

ObjektendesneugebildetenClusterberechnet.VondiesemWertwirddiedurchschnittlicheDistanzdesgewahltenObjekteszuallenanderenObjektenimgleichemCluster<br />

abgezogen.DersoerhalteneWertwirdfurjedesObjektimursprunglichemClusterermittelt.DasObjektbeidemsoderhochsteWertermitteltwurde,istdenObjektenim<br />

neuenClusterahnlicheralsdenObjektenimeigenenCluster.<br />

Dieses wiederholt,bisalleerrechnetenWertenegativs<strong>in</strong>d.DannistdieMengederObjekte<br />

Objekt wird <strong>in</strong> den neuen Cluster verschoben. Dieser Vorgang wird so lange<br />

Methodeweiteraufgeteiltwerden,bisalleClusterderunterstenEbenegenaue<strong>in</strong>Element<br />

furdasneueClustervollstandig.DiesoerhaltenenClusterkonnennachdergleichen<br />

enthalten.<br />

InkrementellesCluster<strong>in</strong>g<br />

Bei<strong>in</strong>krementellenVerfahrenwirdjeweilse<strong>in</strong>Objektbetrachtetund<strong>in</strong>dieClusterder<br />

Hierarchiee<strong>in</strong>gefugt.DabeiwirddieHierarchieunddamitderGraphdesDendogramm<br />

<strong>in</strong>krementellaufgebaut(sieheauch[ZRL96]).<br />

Ausgangslageiste<strong>in</strong>Clustermite<strong>in</strong>emElement.DieserClusterbildetdieWurzelder<br />

HierarchieunddesDendogramm-GraphenmitdemmandieHierarchiedarstellenkann.<br />

IndieClusterderHierarchiewerdenweitereObjektenachfestenKriteriene<strong>in</strong>gefugt.<br />

Erfullte<strong>in</strong>ObjektdieBed<strong>in</strong>gungfurdievorhandenenClusternicht,werdenweitereCluster<strong>in</strong>dieHierarchiee<strong>in</strong>gefugt.DieKnotenundBlatterdesDendogrammesentstehen<br />

so<strong>in</strong>krementell.<br />

11


2 Grundlagen<br />

2.4.2 Partitionierendes Cluster<strong>in</strong>g<br />

Verfahren,diee<strong>in</strong>partitionierendesCluster<strong>in</strong>gdurchfuhren,liefernnach[AKJ88]zun<br />

Cluster,sodassdieObjekte<strong>in</strong>e<strong>in</strong>emClusterzue<strong>in</strong>anderahnlichers<strong>in</strong>dalszuObjekten<br />

Objektenause<strong>in</strong>emd-dimensionalenVektorraume<strong>in</strong>eAufteilungder nObjekte<strong>in</strong>k<br />

<strong>in</strong>e<strong>in</strong>emanderenCluster.<br />

DerWertfurkkannjenachVerfahrenfestgelegtoderdurchdasCluster<strong>in</strong>gerrechnet<br />

werden.E<strong>in</strong>partitionierendesVerfahrenteiltalsoe<strong>in</strong>eMenge<strong>von</strong>Objektenso<strong>in</strong>disjunkteClustere<strong>in</strong>,dassjedesObjekt<strong>in</strong>genaue<strong>in</strong>emClusteristunde<strong>in</strong>Clusteraus<br />

m<strong>in</strong>destense<strong>in</strong>emObjektbesteht.<br />

Da ledisjunkts<strong>in</strong>d,gibteske<strong>in</strong>eHierarchiederClusteruntere<strong>in</strong>ander.FurdasPartitio-<br />

nierende e<strong>in</strong>esCluster<strong>in</strong>gsauszudrucken.MitHilfederBewertungsfunktionwirdversuchte<strong>in</strong>e<br />

Cluster<strong>in</strong>g wird haug e<strong>in</strong>e Bewertungsfunktion verwendet um die Qualitat<br />

die Cluster, welche das Ergebnis e<strong>in</strong>es partitionierenden Verfahren darstellen, al-<br />

optimaleLosungfure<strong>in</strong>Cluster<strong>in</strong>gproblemzunden.IstdieBewertungsfunktione<strong>in</strong>e<br />

Kostenfunktion,sowirde<strong>in</strong>optimalesCluster<strong>in</strong>ggefunden,<strong>in</strong>demdieKostenfunktion<br />

m<strong>in</strong>imiertwird.<br />

moglichenKomb<strong>in</strong>ationenausprobieren.DieAnzahldermoglichenKomb<strong>in</strong>ationenist<br />

Um die richtige Aufteilung der Objekte auf die Cluster zu nden, konnte man alle<br />

e<strong>in</strong>entscheidenderFaktorfurdenAufwand,derbeidiesemVorgehenentstehenwurde.<br />

Denition:EsseiM E<strong>in</strong>eMenge fM1;M2;:::;Mkg<strong>von</strong>kpaarweisedisjunktennichtleerenTeilmengen<strong>von</strong><br />

e<strong>in</strong>eMenge,esseike<strong>in</strong>enaturlicheZahl.<br />

M mitM= S ki=1Miheite<strong>in</strong>ek-Partition<strong>von</strong>M.<br />

S<strong>in</strong>nee<strong>in</strong>ek-Partition<strong>von</strong>nzubilden. PartitionierendesCluster<strong>in</strong>g<strong>von</strong>nObjektenaufkClusterbedeutetimmathematischen<br />

zeichnet[KHK96].WennnundknaturlicheZahlens<strong>in</strong>d,danngiltfurSn;k:<br />

DieAnzahldermoglichenk-Partitionene<strong>in</strong>ern-elementigenMengewirdmit Sn;k be-<br />

Sn;k=Sn 1;k 1+k¡Sn 1;k<br />

Sn;k= k! 1 kX<br />

i=1 ( 1)k i k i (i)n<br />

DieLosungenfurS(n,k)s<strong>in</strong>ddiesogenanntenStirl<strong>in</strong>gZahlenzweiterOrdnung1.Bei19<br />

Elementenund4Partitionenist beirelativkle<strong>in</strong>enWertenfurnundkbereitssehrgro.AllemoglichenLosungenzu<br />

S(n;k)=11:259:666:000.DerLosungsraumistauch<br />

errechnenundzuBewertenistdaheroftnichtdurchfuhrbar.<br />

DiemeistenVerfahrenverfolgendahere<strong>in</strong>eniterativenAnsatz,beidemversuchtwird,<br />

e<strong>in</strong><strong>in</strong>itialesCluster<strong>in</strong>gzuoptimieren.DieQualitatdergefundenenLosungkanndabei<br />

1 James Stirl<strong>in</strong>g (22. April 1692 - 1770)<br />

12


2.4 Cluster<strong>in</strong>g<br />

sehrstark<strong>von</strong>demgewahlten<strong>in</strong>itialenCluster<strong>in</strong>gabhangigse<strong>in</strong>.EsbestehtdieGefahr,<br />

onakzeptiertwird.DurchwiederholtesDurchfuhrendesCluster<strong>in</strong>gsmitunterschiedli-<br />

chen<strong>in</strong>itialenCluster<strong>in</strong>gskannmanmehrereLosungenerzeugen.Nimmtman<strong>von</strong>diesen<br />

dassdiegefundeneLosungnuraufgrunde<strong>in</strong>eslokalenExtremumderBewertungsfunktikalenExtremumderBewertungsfunktionzuakzeptieren,verr<strong>in</strong>gertwerden.<br />

Losungendieoptimale,sokanndieWahrsche<strong>in</strong>lichkeit,e<strong>in</strong>eLosungaufgrunde<strong>in</strong>eslo-<br />

DasErstellene<strong>in</strong>esgutenCluster<strong>in</strong>gAlgorithmuswirddadurcherschwert,dassesmeist<br />

ke<strong>in</strong>ee<strong>in</strong>deutigLosungfurdieOptimierunge<strong>in</strong>erBewertungsfunktiongibt.DieOptimierungderBewertungsfunktionistdanne<strong>in</strong>esystematischeSucheimLosungsraum.Alle<br />

diese Cluster<strong>in</strong>g. Faktoren fuhren zu e<strong>in</strong>er immensen Anzahl <strong>von</strong> Ansatzen fur Partitionierendes<br />

13


2 Grundlagen<br />

14


3 Interface Synthesis Design Flow<br />

AlleimRahmendieserArbeiterstelltenVerfahrenstehenimZusammenhangmitdem<br />

AnsatzdesInterfaceSynthesisDesignFlow.Dieserwird<strong>in</strong>demfolgendenKapitel,zusammen<br />

erlautert. mit den Modellen des Spezikations- und Kommunikationsgraphen, genauer<br />

3.1 Motivation fur automatisiertes Design<br />

DasGebietdere<strong>in</strong>gebettetenSystemeentwickeltsichrasanth<strong>in</strong>sichtlichKomplexitat<br />

undVielfalt.Diemeistene<strong>in</strong>gebettetenSystemebestehenaus<strong>verteilten</strong>aberhochgradig<br />

untere<strong>in</strong>anderverbundenenAnwendungen.ZuverlassigkeitundEektivitats<strong>in</strong>dwichtige<br />

EigenschaftenfurdasDesignunddieImplementatione<strong>in</strong>esKommunikationssystems.<br />

Die s<strong>in</strong>dwichtigeTechniken,umdieZuverlassigkeitundEektivitatsicherzustellen.<br />

Verwendung <strong>von</strong> standardisierten Schnittstellen und Kommunikationsprotokollen<br />

DieerhohteKomplexitatunddieNotwendigkeit<strong>von</strong>kurzenEntwicklungszyklenzw<strong>in</strong>gen<br />

denDesignerformlichdieWiederverwendung<strong>von</strong>IntellectualProperties(IP)zuberucksichtigen.DadieIPs<strong>von</strong>e<strong>in</strong>erVielzahl<strong>von</strong>verschiedenenHerstellernangebotenwerdenformenProtokollenkonfrontiert.DahermussendurchdenDesignere<strong>in</strong>esSystemsAdaptererstelltwerden,mitderenHilfeIPse<strong>in</strong>gebundenwerdenkonnen.E<strong>in</strong>vollstandiges<br />

istmanzwangslaugmitverschiedensten<strong>in</strong>kompatiblenSchnittstellenundnichtkon-<br />

VerstandnisallerbeteiligtenSchnittstellenistfurdiesenProzesserforderlich.DieE<strong>in</strong>b<strong>in</strong>dungbereitsvorhandenerIPsiste<strong>in</strong>erderzentralenundauchfehleranfalligenAspekte<br />

<strong>in</strong>derEntwicklung<strong>von</strong>neuene<strong>in</strong>gebettetenSystemen[PRSV98].<br />

Der modellierenundautomatischenSynthetisieren<strong>von</strong>rekongurierbarenSchnittstellen<strong>in</strong><br />

so genannte Interface Synthesis Design Flow (IFS-Flow) ist e<strong>in</strong>e Methode zum<br />

e<strong>in</strong>gebettetenSystemen(sieheAbbildung3.2).DieIntegrationundexibleWiederverwendung<strong>von</strong>IPsware<strong>in</strong><strong>in</strong>tegralerBestandteilbeiderEntwicklungdesIFS-Flow.Daher<br />

bietetderIFS-FlowdieMoglichkeite<strong>in</strong>erautomatisierten<strong>Synthese</strong><strong>von</strong>Schnittstellen<br />

alsAdapterfur<strong>in</strong>kompatibleIPs[Ihm04].<br />

erforderlich.Dasbedeutetauch,dassdie<strong>in</strong>nereFunktionalitate<strong>in</strong>erIPgeheimgehalten<br />

BeidiesemVerfahrenistdasvollstandigeVerstandnisdere<strong>in</strong>zub<strong>in</strong>denIPnichtmehr<br />

werdenkann(black lenEntwurf<strong>von</strong>Prototypen.FurdieautomatisierteIntegration<strong>von</strong>IPsmussnurdie<br />

box).DieseEigenschaftenermoglichene<strong>in</strong>enexiblenundschnel-<br />

15


3 InterfaceSynthesisDesignFlow<br />

Schnittstellenbeschreibung (InterfaceDescription,IFD)zurVerfugungstehen.Die IFS<br />

Abbildung3.1:IFSSystem-Architektur<br />

SystemarchitekturwurdefurdieEntwicklungkomplexerKommunikationsprototypenerdacht.Wie<strong>in</strong>Abbildung3.1dargestellt,wirde<strong>in</strong>ehierarchischeStrukturausfolgenden<br />

System-Komponenten zusammengestellt:System,Board,Chip,Task undMedium.<br />

Die gen. Verb<strong>in</strong>dungen Die System-Komponenten zwischen dens<strong>in</strong>d Komponenten unterteilt <strong>in</strong>reprasentieren elektrische Verb<strong>in</strong>dun-<br />

Architektur-Komponenten (System,<br />

Board,Chip)undKommunikations-Komponenten Medien, s<strong>in</strong>d Tasks darauf beschrankt ausschlielich (Task,Medium).ImUnterschiedzu<br />

se<strong>in</strong>.BeideArten<strong>von</strong>KomponentenverfugenuberSchnittstellenbeschreibungen,aber auf e<strong>in</strong>em Chip positioniert zu<br />

nurdieKommunikations-KomponentenbesitzenVerhaltensbeschreibungen<strong>in</strong>Form<strong>von</strong><br />

Protokoll-Zustands-Automaten.ZweikompatibleTasks(oderMedien)konnenuberdie<br />

vorhandenenVerb<strong>in</strong>dungen<strong>in</strong>nerhalbderSystem-Architekturkommunizieren.InkompatibleKommunikations-Komponentenh<strong>in</strong>gegenwerdenubere<strong>in</strong>ensogenanntenInterface<br />

Block(IFB)verbunden.<br />

bungderSystemarchitektur.SiewirdalsMenge<strong>von</strong>IPsbeschrieben.DasFormatfur<br />

GrundlagefurdenEntwurfsprozessnachdemIFS-FlowbildetdieabstrakteBeschrei-<br />

diese beschreibtalsXML-SchemadiephysikalischeStruktur,dieEigenschaftenunddieProtokolleallerKomponenten.MitdiesenInformationenwirddieautomatische<strong>Synthese</strong><br />

ermoglicht.<br />

Beschreibungen ist das so genannte Interface Synthesis Format. Dieses Format<br />

Furdie<strong>Synthese</strong>werdenzweiArten<strong>von</strong>Beschreibungenbenotigt:TPDundIFD.Die<br />

16


3.1 MotivationfurautomatisiertesDesign<br />

Abbildung3.2:IFS-Flow[Ihm04]<br />

BeschreibungderZielplattformwirdalsTargetPlattformDescriptions(TPD) net.SiebeschreibtdieEigenschaftenderChipsalsAusfuhrungsplattform.DieSchnitt-<br />

stellen<strong>von</strong>Komponentenwerdendurchdie DieBeschreibunge<strong>in</strong>esSystemsundse<strong>in</strong>erKomponentenimIFS-FormatkannmitHilfe<br />

InterfaceDescriptions(IFD) beschrieben.<br />

bezeich-<br />

desJava-WerkzeugesIFS-Editor erzeugtwerden.<br />

derEntwicklerdieSchnittstellenbeschreibungenderTask-undMedienschnittstellenaus,<br />

Iste<strong>in</strong>vollstandigesSystemmitdengewunschtenIPsimIFS-Formatvorhanden,wahlt<br />

welcheverbundenwerdensollen.Esfolgte<strong>in</strong>eAnalysephase,<strong>in</strong>welcherdie Ubere<strong>in</strong>stimmung,<br />

Wenn alle Kompatibilitat notwendigenund Bed<strong>in</strong>gungen die Konnektivitat erfullt s<strong>in</strong>d, der ausgewahlten kann e<strong>in</strong>e e<strong>in</strong>fache, IFDs uberpruft direkte Verb<strong>in</strong>dungerstelltwerden.Andernfalls,wenndieProtokolle<strong>in</strong>kompatibels<strong>in</strong>d,wirde<strong>in</strong>IFB<br />

synthetisiert.<br />

wird.<br />

Die Instanz<strong>in</strong>e<strong>in</strong>emZwischenformaterstellt.DiesesZwischenformatkannalsXML-Datei<br />

<strong>Synthese</strong> teilt sich <strong>in</strong> zwei Phasen. In der ersten Phase wird e<strong>in</strong>e abstrakte IFB<br />

gespeichert,exportiertundimportiertwerden.InderzweitenPhasewirdderendgultige<br />

CodederIFBImplementierungautomatischgeneriert.DieZielsprachehangtda<strong>von</strong>ab,<br />

obe<strong>in</strong>eHardware-oderSoftwarelosungerstelltwerdensoll.ZurZeitwirdVHDLfurdie<br />

<strong>Synthese</strong><strong>von</strong>Hardwareunterstutzt.ZumSchlusswirddiesoerzeugteIFBInstanz<strong>in</strong><br />

diebereitsexistierendeImplementierungdermodelliertenSystemarchitektur<strong>in</strong>tegriert.<br />

Der schriebenen IFB-FlowIPsetzt voraus. dabei Diedas <strong>in</strong>Vorhandenense<strong>in</strong> dieser Arbeit vorgestellte der Implementierung Erweiterunge<strong>in</strong>er des IFS-Flows jeden be-<br />

ermoglichte<strong>in</strong>eautomatisierteundoptimierteErstellungallerbenotigtenSchnittstellen<strong>in</strong>e<strong>in</strong>emDesignZyklus.DafurwirddasErstellenundautomatischeVerteilen<strong>von</strong><br />

mehrerenMulti-TaskIFBs<strong>in</strong>den<strong>Synthese</strong>Schrittenermoglicht.ZusatzlichwerdenDe-<br />

17


3 InterfaceSynthesisDesignFlow<br />

dicatedProtocolsverwendetumdenKommunikationsoverheadzureduziertenundstrukturelleEngpasseimKommunikations-Systemzu<br />

IFS-FlowsermoglichendasBeschleunigteundOptimierteErstellen<strong>von</strong>Kommunikationssystemen.<br />

uberw<strong>in</strong>den.BeideErweiterungendes<br />

3.2 Spezikationsgraph<br />

E<strong>in</strong>AnsatzzurModellierungaufSystemebeneundHardware/SoftwareCodesignunterBerucksichtigung<strong>von</strong>Schnittstellenist<strong>in</strong>[Tei97]gegeben.DasDesignproblemwird<br />

durche<strong>in</strong>enSpezikationsgraphenbeschrieben.Diesersetztsichause<strong>in</strong>emProblem-und<br />

e<strong>in</strong>emArchitekturgraphenzusammen.E<strong>in</strong>eoptimaleAbbildungdesProblemgraphenauf<br />

denArchitekturgraphenistdiegesuchteLosung.<br />

E<strong>in</strong>ProblemgraphsetztsichausTask-KnotenundKommunikationsknotenzusammen,<br />

tekturkomponentenabgebildetwerden,welchedieausfuhrendenPlattformen<strong>in</strong>nerhalb<br />

diezumVerb<strong>in</strong>denderTasksgenutztwerden.DieTask-KnotenmussenaufdieArchi-<br />

desArchitekturgraphendarstellen.<br />

DieKommunikationsknotenh<strong>in</strong>gegenmussenaufdieArchitekturkomponentenabgebildetwerden,welchedieKommunikationskanaledarstellen.Diesiste<strong>in</strong>kritischerAspekt,<br />

daderEntwicklersicherstellenmuss,dassdieverwendetenKommunikationskanalezu<br />

denangebundenenTasks,<strong>in</strong>H<strong>in</strong>blickaufdasMedium,dasProtokollunddenbenotigten<br />

Datendurchsatzpassen.<br />

3.3 Kommunikationsgraph<br />

DieautomatischeInterface<strong>Synthese</strong><strong>in</strong>Verb<strong>in</strong>dungmitkongurierbarerHardwareermoglicht<br />

diewerden Denition mussen. <strong>von</strong> Full FullCustom CustomInterfaces Interfaceswelche entstehen aufdadurch, der Zielplattform dass nurim-<br />

tatsachlichbenotigtenTeilederSchnittstellen<strong>in</strong>der<strong>Synthese</strong>beachtetwerden.Welche die<br />

plementiert<br />

Teiledass<strong>in</strong>d,kannimIFD-Mapp<strong>in</strong>gspeziziertwerden.DerIFBistalsKommunikatimunikationskanaledesArchitekturgraphenaufe<strong>in</strong>facheVerb<strong>in</strong>dungen.DiesermoglichonspartnerfurdieanderenKomponententransparent.DaherreduzierensichdieKom-<br />

e<strong>in</strong>enhohenGradanFlexibilitat<strong>in</strong>derKonstruktion<strong>von</strong>Kommunikationssystemen.<br />

Der<strong>in</strong>Abbildung3.3dargestellte Kommunikationsgraph wurdedurchdieVerb<strong>in</strong>dung<br />

derIFSSystemarchitektur mitdemSpezikationsgraphModellerzeugt.DerArchitekturgraphleitetsich<strong>von</strong>denArchitekturkomponenten<br />

auchAbbildung3.1). derSystem-Architekturab(siehe<br />

AlleTask-Knoten(hier:T1;:::;T5)mussenaufdievorhandenenChipsabgebildetwerden.<br />

ImUnterschiedzumSpezikationsgraphwerdendieKommunikationsknotenaufIFBs<br />

18


3.4 DasIFD-Mapp<strong>in</strong>g<br />

abgebildet.M<strong>in</strong>destense<strong>in</strong>(Multi-Task)IFBwirdbenotigt,ume<strong>in</strong>eMenge<strong>von</strong><strong>in</strong>kompatiblen<br />

synthetisiert,wieimIFS-Flowbeschrieben.ImUnterschiedzumSpezikationsgraphen<br />

Tasks zu verb<strong>in</strong>den. Die IFBs werden zur Design-Zeit angelegt und danach<br />

istderIFB,welcheralsUmsetzunge<strong>in</strong>esKommunikationsknotengesehenwerdenkann,<br />

andieImplementations-Plattform(Chip)gebunden.<br />

Abbildung3.3:Kommunikationsgraph<br />

3.4 Das IFD-Mapp<strong>in</strong>g<br />

JederKommunikationsknoten(hier:C1;:::;C4)reprasentierte<strong>in</strong>IFD-Mapp<strong>in</strong>g.E<strong>in</strong>IFD-<br />

Mapp<strong>in</strong>gbestehtausMapp<strong>in</strong>gEquationsundspeziziertdieUmsetzungderInformationen<strong>von</strong>e<strong>in</strong>gehendenzuausgehendenDaten<strong>in</strong>nerhalbe<strong>in</strong>esIFB.Die<br />

Sprache wurdedeniert,umMapp<strong>in</strong>gEquations MapEqnderfolgendenFormzubeschreiben:<br />

IFD-Mapp<strong>in</strong>g<br />

MapEqn:dataOut


3 InterfaceSynthesisDesignFlow<br />

3. Anwenden<strong>von</strong>boolschenFunktionenaufe<strong>in</strong>gehendeBits<br />

4. Verwendene<strong>in</strong>esendlichenZustandsautomaten(FSM)zumErzeugen<strong>von</strong>Bits<br />

DieDatenpaket,welchesichause<strong>in</strong>emProtokollextrahierenlassen,konnenalsMatrix<br />

reprasentiertwerden.DaherwurdedieNotationfurdasUmsortieren<strong>von</strong>Bitsoderdas<br />

Zuweisen<strong>von</strong>konstantenWertenandieMatrixNotation<strong>von</strong>Matlabangelehnt.<br />

z.B.:POut[1::2]


3.5.1 Control Unit (CU)<br />

3.5 DerAufbaudesInterfaceBlocks(IFB)<br />

DieStrukturdesIFBunterteiltsich<strong>in</strong>dreiKomponenten: quenceHandler (SH)undControlUnit (CU)(sieheAbbildung3.4). ProtocolHandler (PH),Se-<br />

DieCUregeltdie<strong>in</strong>terneSteuerungzwischendene<strong>in</strong>zelnenKomponentenderMakrostrukturdesIFB.DazusendetdieCUSteuersignalezumPHundSHundwertetderen<br />

Statussignaleaus.Ine<strong>in</strong>emMulti-TaskIFBubernimmtdieCUauchdasSchedul<strong>in</strong>gdes<br />

Zugrise<strong>in</strong>zelnerKomponentenaufdieIFB<strong>in</strong>ternenRessourcen.<br />

DieCUbe<strong>in</strong>haltetzweiScheduler.E<strong>in</strong>ersteuert,welcherPH-ModusgeradeDatenempfangendarf.Dazugibtere<strong>in</strong>enentsprechendenBusimIFBfrei,<br />

Daten<strong>von</strong>e<strong>in</strong>emPH-Modus<strong>in</strong>denSpeicherfure<strong>in</strong>gehendeDatengeschriebenwerden. uberdene<strong>in</strong>gehende<br />

DerandereSchedulerentscheidetwelcherPH-ModusDatenversendendarf.Dazuwird<br />

ebefallse<strong>in</strong>entsprechenderZugriaufdenBusverwaltet,dermitdemSpeicherbereich<br />

furdieausgehendenDatenverbundenist.AlsSchedul<strong>in</strong>gVerfahrenkonnenverschiedene<br />

Variantenverwendetwerden.<br />

E<strong>in</strong>Scorebordstelltsicher,dassdieKausalitatwahrendderAusfuhrungdesE<strong>in</strong>gabe-<br />

Verarbeitung-Ausgabe(EVA)Zykluserhaltenbleibt.DerEVAZyklus<strong>in</strong>e<strong>in</strong>emIFBlauft<br />

nachdemPr<strong>in</strong>zipdesPipel<strong>in</strong><strong>in</strong>gab.<br />

Abbildung3.4:IFB-Makrostruktur<br />

21


3 InterfaceSynthesisDesignFlow<br />

3.5.2 Protocol Handler (PH)<br />

SequenceundProtocolHandlers<strong>in</strong>dmodularaussogenanntenModiaufgebaut.Diese<br />

ModirealisierenFunktionenunds<strong>in</strong>djeweilsdurche<strong>in</strong>eFSMbeschrieben.DerProtocol<br />

Handlerbesitzte<strong>in</strong>enModusproKommunikationverb<strong>in</strong>dungmite<strong>in</strong>erangebundenen<br />

Task.DerPHrealisierte<strong>in</strong>eodermehrereSchnittstellenzudenKommunikationspartnern,dieubere<strong>in</strong>enIFBverbundens<strong>in</strong>d.<br />

UberdieseSchnittstellenlaufendiee<strong>in</strong>-und<br />

ausgehendenDaten.FurjedeverbundeneSchnittstellee<strong>in</strong>erTaskwirde<strong>in</strong>ProtocolHanderModePHM<br />

Taskverarbeitet. imPHbenotigt,derdasentsprechendeProtokollderangeschlossenen<br />

der E<strong>in</strong>PHM dazugehorigen implementiertdazudaskomplementareProtokollause<strong>in</strong>erTask,welches<strong>in</strong><br />

ausderIFDextrahiertunde<strong>in</strong>eFSMgeneriert,welchee<strong>in</strong>komplementaresProtokoll<br />

IFD beschrieben ist. Hierfur wird die Protokoll FSM <strong>von</strong> Task t<br />

realisiert. wirddieInteraktionmitderControlUnitunddemSequenceHandlerermoglicht.E<strong>in</strong><br />

Diese FSM wird um zusatzliche Zustande erweitert. Mit diesen Zustanden<br />

PHM Mapp<strong>in</strong>g ubernimmtdasE<strong>in</strong>fugenundExtrahieren<strong>von</strong>Datene<strong>in</strong>esProtokollsgemader<br />

werdenignoriert.DieRohdatenwerden<strong>in</strong>e<strong>in</strong>emSpeicherelementdesSequenceHandlers<br />

Equation desProtokolls. Alle nicht im IFD-Mapp<strong>in</strong>gvorkommenden Daten<br />

zwischengespeichert.<br />

3.5.3 Sequence Handler (SH)<br />

DerSequenceHandlerbe<strong>in</strong>haltete<strong>in</strong>eMenge<strong>von</strong>Modi,welchedieUmsetzungdesIFD-<br />

Mapp<strong>in</strong>gsrealisieren.FurjedeMapp<strong>in</strong>gEquation<strong>in</strong>e<strong>in</strong>emSHexistierte<strong>in</strong>eSequence<br />

diziert.DazuwerdendiegespeichertenDatenumsortiertodermodiziert,sowieesim<br />

HandlerMode(SHMx).DieRohdatenimSpeicherelementwerdendurchdenSHM mo-<br />

IFD-Mapp<strong>in</strong>gspeziziertist.Dabeis<strong>in</strong>dnichtnurstrukturelle,sondernauchsemantischeAnderungenderDatenmoglich.FurdieKommunikationzwischenunterschiedlichen<br />

Protokollenistdaserforderlich.DiemodiziertenDatenwerdenane<strong>in</strong>eranderenStelleimSpeicherelementabgelegt.Iste<strong>in</strong>Datenpaketvollstandig,werdendieDatenim<br />

zusammengefugt.<br />

ausgehendenProtokolldurche<strong>in</strong>enzugehorigenPHM<br />

E<strong>in</strong>HauptvorteildesModularenAufbausdesIFB,istdasUmsetzendervollstandigen<br />

SchnittstellenFunktionalitat,ohnedassderProdukt-AutomatallerUrsprungs-undZiel-<br />

FSMserstelltwerdenmuss.DieVerwendung<strong>von</strong>Modierlaubte<strong>in</strong>ee<strong>in</strong>facheAnpassung<br />

undErweiterunge<strong>in</strong>esIFB.Sogare<strong>in</strong>eRekongurationzurLaufzeitistmoglich[Ihm04].<br />

DieVerwendung<strong>von</strong>IFD-Mapp<strong>in</strong>gs<strong>in</strong>Verb<strong>in</strong>dungmitdenSHModeserlaubene<strong>in</strong>e<br />

maximale denempfangeneundgesandtenDatenistunmoglichohnevollstandigesVerstandnisder<br />

Flexibilitat im Datenaustausch. E<strong>in</strong> automatisches IFD-Mapp<strong>in</strong>g zwischen<br />

SemantikderausgetauschtenInformationen.DieVerwendung<strong>von</strong>IPsunterschiedlicher<br />

HerstellerunterAnnahmee<strong>in</strong>erglobalenSemantikfurDatenistillusorisch.Dahers<strong>in</strong>d<br />

IFD-Mapp<strong>in</strong>gsunverzichtbar.<br />

22


4 Automatische Verteilung<br />

Gemades<strong>in</strong>3.3vorgestelltenModellsdesKommunikationsgraphen,bedeutetdasErstellen<br />

IFBs.DieIFBswiederummussenebenfallsaufChips<strong>in</strong>derSystemarchitekturpositioniertundrealisiertwerden.<br />

e<strong>in</strong>es Kommunikationsstruktur das Abbilden <strong>von</strong> Kommunikationsknoten auf<br />

IndiesemKapitelwirddaherzuerstbetrachtet,welcheAuswirkungendiePositione<strong>in</strong>es<br />

Kostenfunktionenvorgestellt,umdieArtundGroederbenotigenRessourcenfurdie<br />

IFBs auf die Ressourcen der Systemarchitektur hat. Dann werden entsprechende<br />

Realisierunge<strong>in</strong>erKommunikationsstrukturzubestimmen.DannfolgtdieVorstellung<br />

dere<strong>in</strong>zelnenAbschnittee<strong>in</strong>esVerfahren,mitdemdiebenotigteVerteilung<strong>von</strong>IFBs<br />

aufChipsautomatisiertwerdenkann.<br />

4.1 Systemtopologien unter Verwendung <strong>von</strong> IFBs<br />

VerschiedeneAnzahlen<strong>von</strong>IFBsundverschiedenePositionierungen<strong>in</strong>nerhalbe<strong>in</strong>erSystemtopologiehabenAuswirkungenaufdieKommunikationsverb<strong>in</strong>dungen.WelcheAuswirkungen<br />

beidenfolgendenAbschnittenane<strong>in</strong>emBeispielerlautert.<br />

das s<strong>in</strong>d und welche Systemressourcen da<strong>von</strong> betroen s<strong>in</strong>d, wird <strong>in</strong> den<br />

4.1.1 Verwendung e<strong>in</strong>es e<strong>in</strong>zelnen IFBs<br />

Im stimmt.Wenndiese<strong>in</strong>kompatibels<strong>in</strong>dundubere<strong>in</strong>enIFBkommunizierensollen,wird<br />

IFS-Flow wird e<strong>in</strong>e Menge <strong>von</strong> <strong>in</strong>teragierenden Kommunikationskomponenten be-<br />

diePositiondesIFBaufe<strong>in</strong>emChip<strong>in</strong>derSystemarchitekturvomEntwicklerfestgelegt.<br />

Chipaufdemsierealisierts<strong>in</strong>dbiszumIFBgefundenwerden(rout<strong>in</strong>g).DieMengeund<br />

VonallenKommunikationskomponentenmussennunentsprechendeVerb<strong>in</strong>dungenvom<br />

LangederbenotigtenVerb<strong>in</strong>dungenhangtstark<strong>von</strong>derPostiondesIFBs<strong>in</strong>nerhalbder<br />

Systemtopologieab.<br />

InAbbildung4.1iste<strong>in</strong>eSystemarchitekturzusehen,<strong>in</strong>deraufdemChip3e<strong>in</strong>IFBpositioniertwurde.DiePfeile,welchedirektTasksverb<strong>in</strong>den,gebenanwelcheKomponenten<br />

mite<strong>in</strong>anderkommunizierenwollen.DurchdieSystemarchitekturverb<strong>in</strong>denPfeileIFBs<br />

undTasks.DiesevisualisierendieAnzahlundLangederbenotigenVerb<strong>in</strong>dungen.Die<br />

Breite(AnzahlBits)dieserVerb<strong>in</strong>dungenistnichtangegeben.<br />

23


4 AutomatischeVerteilung<br />

Abbildung4.1:SystemtopologieunterVerwendunge<strong>in</strong>ese<strong>in</strong>zelnenIFBs<br />

WirdderIFBaufe<strong>in</strong>emChippositioniert,aufdemsichKomponentenbenden,dieuber<br />

durch denIFBkommunizierensollen,somussenfurdieseKomponentenke<strong>in</strong>eVerb<strong>in</strong>dungen<br />

Verb<strong>in</strong>dungsmoglichkeitenzwischendenSchnittstellendesIFBsunddenKommunika-<br />

die Systemarchitektur bereitgestellt werden. Es mussen nur ausreichend lokale<br />

tionskomponentenbestehen.Positioniertmanh<strong>in</strong>gegenfurdiegleicheMengeanKom-<br />

munikationskomponentendenIFBaufe<strong>in</strong>emChipimSystemaufdemsichke<strong>in</strong>eKom-<br />

ponentenbenden,dieuberdenIFBkommunizierensollen,soistdieAnzahlundLange<br />

derbenotigtenKommunikationsverb<strong>in</strong>dungenhoher.<br />

DieAnzahlderzurVerfugungstehendenVerb<strong>in</strong>dungenzwischendenKomponentender<br />

Systemarchitekturistbegrenzt.Kannnicht<strong>von</strong>allenKommunikationskomponentene<strong>in</strong>eVerb<strong>in</strong>dungzumIFBhergestelltwerden,sokanndieKommunikationstrukturnicht<br />

umgesetztwerden.Durche<strong>in</strong>egezieltePositionierunge<strong>in</strong>esIFBs<strong>in</strong>nerhalbderSystemtopologiewerdenwenigerVerb<strong>in</strong>dungendurchdasSystembenotigt,undeslassensich<br />

komplexere<strong>Kommunikationsstrukturen</strong>realisieren.<br />

4.1.2 Verwendung mehrerer IFBs<br />

DiegezieltePositionierunge<strong>in</strong>ese<strong>in</strong>zelnenIFBskanndieAnzahlderbenotigtenVerb<strong>in</strong>dungenzwarreduzieren,allerd<strong>in</strong>gsnurfure<strong>in</strong>eTeilmengeder<strong>in</strong>teragierendenKommunikationskomponenten.DieAnzahlderbenotigtenVerb<strong>in</strong>dungenkannweiterm<strong>in</strong>imiert<br />

24


4.2 AutomatischeVerteilung<strong>von</strong>IFBs<br />

werden,<strong>in</strong>demmehrereIFBsverwendetwerden. Ubere<strong>in</strong>enIFBkommuniziertdabei<br />

jeweilse<strong>in</strong>eTeilmengederKomponentenderKommunikationsstruktur,welchealleuntere<strong>in</strong>ander<strong>in</strong>teragieren.E<strong>in</strong>Beispielist<strong>in</strong>Abbildung4.2zusehen.Die<strong>in</strong>teragierenden<br />

Komponentens<strong>in</strong>ddiegleichenwie<strong>in</strong>Abbildung4.1,aberdieAnzahlderbenotigten<br />

Verb<strong>in</strong>dungenkonntestarkverr<strong>in</strong>gertwerden.<br />

Abbildung4.2:SystemtopologieunterVerwendungmehrererIFBs<br />

4.2 Automatische Verteilung <strong>von</strong> IFBs<br />

DieautomatischeVerteilung<strong>von</strong>IFBsgeht<strong>von</strong>e<strong>in</strong>erfestenZuordnung<strong>von</strong>Taskszu<br />

Chipsunde<strong>in</strong>erstatischenZusammenstellung<strong>von</strong>Kommunikationspartnernaus.Diezu<br />

erstellende dadieSystemarchitekturnur Kommunikationsstruktur ubere<strong>in</strong>ebegrenzteAnzahl<strong>von</strong>elektrischenLeitungen<br />

ist physikalischen E<strong>in</strong>schrankungen unterworfen,<br />

verfugt.DieverschiedenenMoglichkeitenderZuordnung<strong>von</strong>IFD-Mapp<strong>in</strong>gszuIFBs,<br />

diePositionierungderIFBsaufe<strong>in</strong>emderChipsderSystemarchitekturunddiedaraus<br />

e<strong>in</strong>DesignderKommunikationstrukturfest.<br />

resultierendeReservierungdernotwendigenVerb<strong>in</strong>dungenlegendenLosungsraumfur<br />

DiePositione<strong>in</strong>esIFBs<strong>in</strong>nerhalbderSystemarchitekturbestimmtimhohenMaedie<br />

AnzahlderbenotigtenVerb<strong>in</strong>dungen.Ume<strong>in</strong>ekomplexeKommunikationsstrukturzu<br />

realisiereniste<strong>in</strong>emoglichstezienteAusnutzungdergegebenenRessourcenunddaher<br />

25


4 AutomatischeVerteilung<br />

e<strong>in</strong>eoptimalePositionierungderIFBs<strong>in</strong>derSystemarchitekturerforderlich.DiesesZiel<br />

wirderreicht,<strong>in</strong>deme<strong>in</strong>eKostenfunktionfurVerb<strong>in</strong>dungs-undImplementierungkosten<br />

e<strong>in</strong>es Kostenangegeben. IFBs aufgestellt wird. Anschlieend wird e<strong>in</strong> Verfahren zur M<strong>in</strong>imierung dieser<br />

4.2.1 Kostenfunktionen<br />

DieGesamtkostender<strong>Kommunikationsstrukturen</strong><strong>in</strong>e<strong>in</strong>erSystem-Architekturs<strong>in</strong>dde-<br />

niert werdenals <strong>von</strong>Summe nun analler als Kommunkations- CSysArch bezeichnet. undEs Implementierungskosten. gilt CSysArch zu m<strong>in</strong>imieren, Dieseum Kosten<br />

Erstellene<strong>in</strong>erKommunikationsstrukturunterBerucksichtigungdergegebenenSystem- das<br />

Architekturzuermoglichen.<br />

CSysArch=CTasks+CStaticIO+ X k i=1 C(IFBi) (4.1)<br />

DieZahlkistdieAnzahlderverwendetenIFBsundentsprichtdemkausderGleichung<br />

(2.4.2).Furdie<strong>Synthese</strong>derTasksunddieAllokation<strong>von</strong>direktenVerb<strong>in</strong>dungenentstehenstatischeKosten,welcheaberfurdieOptimierungderGesamtkostennichtberucksichtigtwerdenmussen.NurdieKosten,welchebeiderUmsetzung<strong>von</strong>IFBsanfallen,<br />

s<strong>in</strong>dvariabel.ImfolgendenwirdzwischenzweiArten<strong>von</strong>Kostenunterschieden:<br />

1. E<strong>in</strong>IFBbenotigtRessourcen<strong>in</strong>Form<strong>von</strong>kongurierbarenLogikblocken(CLB)<br />

oderSpeicherplatztfurse<strong>in</strong>eImplementierung()ImplementierungskostenCImpl).<br />

2. ZumAufbauderKommunikationzwischendemIFBunddenverbundenenTasks<br />

werdenLeitungenbenotigt,umdieseVerb<strong>in</strong>dungenzuermoglichen() dungskostenCConnect).<br />

Verb<strong>in</strong>-<br />

C(IFBi)=CImpl(IFBi)+CConnect(IFBi) (4.2)<br />

DieHohedere<strong>in</strong>zelnenKostenist<strong>von</strong>derAnzahlderIFD-Mapp<strong>in</strong>gs,welche<strong>in</strong>e<strong>in</strong>em<br />

IFBrealisiertwerden,abhangig.FurdieweitereErlauterung<strong>von</strong>CImpl giltfure<strong>in</strong>enIFBi:<br />

undCConnect,<br />

n=#IFD-Mapp<strong>in</strong>gzugewiesenzuIFBi (4.3)<br />

26


4.2 AutomatischeVerteilung<strong>von</strong>IFBs<br />

Implementierungskosten<br />

DieImplementierungskosten CImpls<strong>in</strong>dwiefolgtdeniert:<br />

CImpl(IFBi)=(1+n¡IFBMapp<strong>in</strong>gKosten)¡IFBStruktur<br />

+ #PHM odes<br />

X<br />

x=1 C(PHMx)+ #SHM odes<br />

X<br />

x=1 C(SHMx) (4.4)<br />

Der tierung erste derSummand IFB Grundstruktur der Gleichung anfallen. beschreibt Dazudie gehoren Kosten, diewelche CU, der furSpeicher die Implemen-<br />

Zwischenspeicherung der Datenpakete gema dem IFD-Mapp<strong>in</strong>g sowie Bussysysteme fur die<br />

undSteuerleitungenfur<strong>in</strong>terneSignale.FurjedesIFD-Mapp<strong>in</strong>gwerdene<strong>in</strong>eerweiterte<br />

Kontrollstrukutr,weitererSpeicherplatzundzusatzlicheSteuerleitungenbenotigt.<br />

DieKostenerhohensichumdenFaktorIFBMapp<strong>in</strong>gKosten,welcherkle<strong>in</strong>ere<strong>in</strong>sist.Ist<br />

ke<strong>in</strong>IFD-Mapp<strong>in</strong>gvorhanden(n=0),soistdieserTeildennochgroerNull,daauch<br />

ohneIFD-Mapp<strong>in</strong>gsGrundkostenfurdieCUanfallen.IndiesemFallkanndieImplementierungdesIFBjedochentfallen.DerzweiteTeilderGleichungsummiertdieKosten<br />

allerbenotigtenPHundSHModesauf.<br />

Verb<strong>in</strong>dungskosten<br />

DieVerb<strong>in</strong>dungskosten CConnects<strong>in</strong>dwiefolgtdeniert:<br />

CConnect(IFBi)= X n m=1 #conductionsm¡Langem (4.5)<br />

DieAnzahlderKantenaufdemPfaddurchdenSystemarchitekturgraphenergibtdie<br />

Langee<strong>in</strong>erVerb<strong>in</strong>dungm(Langem).FurdieBerechnungderVerb<strong>in</strong>dungskostenkonntenauchweitereEigenschaften,welche<strong>in</strong>derIFDzurVerfugungstehen,<strong>in</strong>dieGleichung<br />

Eigenschaftens<strong>in</strong>dz.B.dieFrequenzoderderWertfurdenJitter.DieseEigenschaften<br />

e<strong>in</strong>gehen.SokonnenbestimmteKonstellationenbevorzugtwerden.Beispielefurdiese<br />

wurdenaberimRahmendieserArbeitnichtweiterbetrachtet.<br />

MitHilfederangegebenenGleichungenkonnendieKostenC(IFB)fure<strong>in</strong>enIFBbestimmtwerden.<br />

4.2.2 Strategien fur die Verteilung <strong>von</strong> IFBs<br />

InheutigenChipsundFPGAsstehene<strong>in</strong>eriesigeMengeanTransistorenundanderer<br />

Implementierungse<strong>in</strong>heitenzurVerfugung.DieRessourcenderKommunikationwurden<br />

imLaufederZeitimmermehre<strong>in</strong>begrenzenderAspektdesSoC-Design(System-on-<br />

Chip).<br />

27


28<br />

1. M<strong>in</strong>imaleVerb<strong>in</strong>dungskosten<br />

4 AutomatischeVerteilung<br />

BeiEntwicklungenaufFPGAsstehen<strong>in</strong>nerhalbe<strong>in</strong>esFPGAsnure<strong>in</strong>esehrbegrenzte<br />

Anzahl<strong>von</strong>langenLeitungen,welcheuberdiegesammteAusdehnungderFPGAStrukturlaufen,zurVerfugung,zurVerfugung.DieI/OP<strong>in</strong>sfurdieo-chipKommunikation<br />

e<strong>in</strong>esFPGAss<strong>in</strong>debenfallse<strong>in</strong>ebegrenzteRessource.BesondersKommunikationsverb<strong>in</strong>dungeno-chipdurchdieSystem-Architekturs<strong>in</strong>ddaherextremkosten<strong>in</strong>tensivund<br />

mussensomitm<strong>in</strong>imiertwerden.<br />

DieReduzierungderVerb<strong>in</strong>dungskostenistdahere<strong>in</strong>HauptzielbeiderVerteilung<strong>von</strong><br />

IFBs.ReduzierteVerb<strong>in</strong>dungskostenfuhrenjedochzue<strong>in</strong>ererhohtenAnzahl<strong>von</strong>IFBs,<br />

waswiederum<strong>in</strong>hoherenImplementierungskostenresultiert.Abhangig<strong>von</strong>dergegebenenSystemarchitekturunddemaktuellenDesignzielkonnenverschiedeneStrategien<br />

derVerteilungangemessense<strong>in</strong>,wie<strong>in</strong>Abbildung4.3dargestelltwird.<br />

FurjedeKommunikationzwischene<strong>in</strong>erMenge<strong>von</strong><strong>in</strong>teragierendenTaskswird<br />

e<strong>in</strong>IFBzurVerfugunggestelltundsoaufe<strong>in</strong>emderChipsaufdemsichdieTasks<br />

bendenpositioniert,dassdieVerb<strong>in</strong>dungskostenm<strong>in</strong>imals<strong>in</strong>d.DieseStrategie<br />

benotigtenAnzahlanVerb<strong>in</strong>dungenbendet.<br />

wirddenIFBaufdemChipplatzieren,aufwelchemsichdieTaskmitderhochsten<br />

DerNachteildieserStrategieist,dassjederMengekommunizierenderTaskse<strong>in</strong><br />

IFBzurVerfugunggestelltwirdunddaherdieImplementierungskostensehrhoch<br />

s<strong>in</strong>d.<br />

DieAnzahlderIFBswirdaufe<strong>in</strong>M<strong>in</strong>imumreduziert,unddieAnzahlderIFD-<br />

Mapp<strong>in</strong>gs wirddadurcherhohtunddieImplementierungskostenaufe<strong>in</strong>M<strong>in</strong>imumreduziert.<br />

pro IFB wird maximiert. Die Auslastung der ubrig bleibenden IFBs<br />

DerNachteildieserStrategieist,dasssiezusehrhohenVerb<strong>in</strong>dungskostenfuhren<br />

kann.<br />

gegebenenoberenSchrankefurdieAnzahlderIFBs.<br />

DieseStrategieoptimiertdieVerb<strong>in</strong>dungskostenunterderBerucksichtigunge<strong>in</strong>er<br />

DieseStrategiebegrenztdielokalenImplementierungskostendurchdasSetzene<strong>in</strong>eroberenSchrankefurdieImplementierungskostene<strong>in</strong>esIFBs.<br />

Uberschreitete<strong>in</strong><br />

IFB anderenIFBrealisiert,<strong>in</strong>demnochausreichendRessourcenzurVerfugungstehen.<br />

diese Schranke werden IFD-Mapp<strong>in</strong>gs aus dem IFB entfernt und <strong>in</strong> e<strong>in</strong>em<br />

Mit erfulltse<strong>in</strong>muss,werdenextremeWertefurVerb<strong>in</strong>dungs-undImplementierungskostenvermieden.E<strong>in</strong>wichtigesZiel,welchesmitdieserStrategieerreichtwerden<br />

Hilfe e<strong>in</strong>er Ausgeglichenheitsfunktion, welche <strong>von</strong> jedem IFB des Systems<br />

2. M<strong>in</strong>imaleImplementierungskosten<br />

3. ObereSchrankefurdieAnzahlanIFBs<br />

4. ObereSchrankefurdieImplementierungskostene<strong>in</strong>esIFB<br />

5. E<strong>in</strong>haltene<strong>in</strong>erAusgeglichenheitsfunktion


4.2 AutomatischeVerteilung<strong>von</strong>IFBs<br />

kann,iste<strong>in</strong>eM<strong>in</strong>destauslastungallerIFBs.Dazukannmane<strong>in</strong>eAusgeglichenheitsfunktionangeben,welchee<strong>in</strong>eM<strong>in</strong>destanzahl<strong>von</strong>IFD-Mapp<strong>in</strong>gsproIFBfordert.S<strong>in</strong>d<strong>in</strong>e<strong>in</strong>emIFBnichtausreichendvieleIFD-Mapp<strong>in</strong>gsrealisiert,sowerden<br />

dienochvorhandenenIFD-Mapp<strong>in</strong>gsentferntund<strong>in</strong>benachbarteIFBsverschoben.DurchdieseStrategiewirdz.B.dasVerwendene<strong>in</strong>esIFBfurnure<strong>in</strong>e<strong>in</strong>ziges<br />

IFD-Mapp<strong>in</strong>gvermieden.<br />

Abbildung4.3:StrategienfurdieVerteilung<strong>von</strong>IFBs<br />

fure<strong>in</strong>efesteAnzahlanIFBs.DerKreisbogendeniertdieL<strong>in</strong>ieaufwelcherdieGesamtkostencalsSumme<strong>von</strong>Verb<strong>in</strong>dungs-undImplementierungskostenentsprechend<br />

j !pjdeniertdie<br />

Kostene<strong>in</strong>erLosung,welchefurdenPunktP mierungsstrategienkonnen<strong>in</strong>dieKostenfunktion<strong>in</strong>tegriertwerden.Dazuwerdendie desLosungsraumesanfallen.DieOpti-<br />

JedesKreuz<strong>in</strong>derAbbildung4.3reprasentierte<strong>in</strong>emoglicheparetooptimaleLosung<br />

derGleichung(4.1)gleichs<strong>in</strong>d(Aquipotentiall<strong>in</strong>ie).DerAbsolutwert<br />

Quantorenaundb<strong>in</strong>dieTermederImplementations-undVerb<strong>in</strong>dungskostenderGleichung(4.2)e<strong>in</strong>gefugt.DieGesamtkostenwerdendadurchzue<strong>in</strong>ergewichtetenSumme,<br />

diesichjenachWahlderQuantorenandieStrategie1-5anpassenlasst.<br />

C(IFBi)=a¡CImpl(IFBi)+b¡CConnect(IFBi) (4.6)<br />

29


4.3 Ablauf der Verteilung <strong>von</strong> IFBs<br />

Nachdem<strong>in</strong>denvorangehendenAbschnittenAspektewieStrategien,ZieleundKosten<br />

furdieautomatischeVerteilung<strong>von</strong>IFBserlautertwurden,wirdnunderAblaufdes<br />

Verfahrensselbstdargestellt.<br />

4.3.1 Erstellen e<strong>in</strong>er <strong>in</strong>itialen Verteilung<br />

4 AutomatischeVerteilung<br />

4.2.3 Cluster<strong>in</strong>g als Verfahren zur Reduktion der IFB-Anzahl<br />

DasProblemderVerteilunge<strong>in</strong>erAnzahl<strong>von</strong>IFBsuberdieSystemarchitekturunddie<br />

EntscheidungwelchesIFD-Mapp<strong>in</strong>g<strong>in</strong>welchemIFBimplementiertwird,kannabstrakt<br />

alsPartitionierendesCluster<strong>in</strong>gProblemaufgefasstwerden.<br />

die DieGleichung Anzahl der (2.4.2) moglichen beschrieben. Aufteilungen Alle moglichen <strong>von</strong> n Elementen Aufteilungen auf kzuCluster berechnen wirdund durch<br />

bewertenistmeistnichtmoglich,dadieAnzahldermoglichenAufteilungensehrhoch zu<br />

se<strong>in</strong>kann.DasBerechnenallerMoglichkeitenwirdnochzusatzlichdadurcherschwert,<br />

dassdieAnzahlderClusterk<strong>in</strong>demhierbetrachtetenAnsatzTeildesErgebnissesist.<br />

Eswirde<strong>in</strong>partitionierendesbottom-upCluster<strong>in</strong>gverwendet,umdiesesProblemzu<br />

umgehen.DerAlgorithmus,welcherdiesesCluster<strong>in</strong>grealisiert,verwendete<strong>in</strong>eHeuristik,sodassnure<strong>in</strong>kle<strong>in</strong>eAnzahlallermoglichenAufteilungenbetrachtetwird.Das<br />

Ergebnis durche<strong>in</strong>enIFBreprasentiert.DieaufdieCluster<strong>verteilten</strong>Elementes<strong>in</strong>ddieIFD-<br />

ist e<strong>in</strong>e Anzahl disjunkter Cluster ohne e<strong>in</strong>e Hierarchie. Jedes Cluster wird<br />

Mapp<strong>in</strong>g-Gleichungenwelche<strong>in</strong>denIFBsimplementiertwerden.<br />

DerheuristischeAlgorithmusbeg<strong>in</strong>ntmitdemErstellene<strong>in</strong>er<strong>in</strong>itialenVerteilungder<br />

IFBsmite<strong>in</strong>erentsprechendenZuordnungderIFD-Mapp<strong>in</strong>gs.E<strong>in</strong>IFD-Mapp<strong>in</strong>gwird<br />

gefuhrtenTasksbestimmt.Welchedass<strong>in</strong>d,gehtausdenAngabendesIFD-Mapp<strong>in</strong>gs<br />

genommenunddieChipsderSender-undEmpfangerseitederimIFD-Mapp<strong>in</strong>gauf-<br />

e<strong>in</strong>esIFD-Mapp<strong>in</strong>gsenthalt. hervor.E<strong>in</strong>IFB(= Cluster)wirdaufdemChipplatziert,welcherdieEmpfangerTask<br />

DerIFBwirdnuraufdemChipplatziert,wenndieVerb<strong>in</strong>dungs-undImplementationskosten<br />

derEmpfangerseitenichtmoglichist,wirdderIFBzurSenderseitemigriert.Solltedas<br />

die vorhandenen Ressourcen nicht uberschreiten. Wenn das Platzieren auf<br />

ebenfallsnichtmoglichse<strong>in</strong>,wirdderIFBnichtplatziertunddasIFD-Mapp<strong>in</strong>g,nach<br />

VerteilungalleranderenIFBs,imnachstgelegenenIFBimplementiert.<br />

Welcher diesee<strong>in</strong>eIFD-Mapp<strong>in</strong>genstehen,bestimmtwerden.Fure<strong>in</strong>IFD-Mapp<strong>in</strong>gms<strong>in</strong>ddie<br />

IFB der nachstgelegene ist kann mit den Verb<strong>in</strong>dungskosten, welche nur fur<br />

30


4.3 AblaufderVerteilung<strong>von</strong>IFBs<br />

Verb<strong>in</strong>dungskostenfurdieRealisierungimIFBi:<br />

CConnect(IFBi)=#conductionsm¡Langem (4.7)<br />

DerIFB,beimdemdieger<strong>in</strong>gstenVerb<strong>in</strong>dungskostenentstehen,istdernachstgelegene<br />

IFB.<br />

WennbeiderInitialisierungzweiIFBsaufdemselbenChipplatziertwerdensollten,<br />

werdensiezue<strong>in</strong>eme<strong>in</strong>zigenIFBzusammengefuhrt,<strong>in</strong>demalleIFD-Mapp<strong>in</strong>gs<strong>in</strong>e<strong>in</strong>em<br />

IFBzusammengefasstwerden.Dieswirdabernurvorgenommen,wenndieSchedulability<br />

AnalysefurdiesenzusammengefasstenIFBerfolgreichist.DieSchedulabilityAnalyse<br />

istTeildesIFS-Design-Flows.<br />

Dassoerzeugte<strong>in</strong>itialeClusterunddieweiterenOptimierungsschrittefuhrendazu,dass<br />

e<strong>in</strong>GroteildesLosungsraumesfurdieVerteilung<strong>von</strong>IFBsnichtbetrachtetwird.<br />

4.3.2 Optimierung<br />

Nach Verb<strong>in</strong>dungskostenzum<strong>in</strong>imieren.E<strong>in</strong>IFD-Mapp<strong>in</strong>gwelchesnurTasksverb<strong>in</strong>det,die<br />

Erstellen der <strong>in</strong>itialen Verteilung wird e<strong>in</strong>e Optimierung vorgenommen, um die<br />

aufdemselbenChippositionierts<strong>in</strong>d,wirdalslokalesIFD-Mapp<strong>in</strong>g bezeichnet.<br />

LokaleIFD-Mapp<strong>in</strong>gserzeugenke<strong>in</strong>eVerb<strong>in</strong>dungskostenfurdenIFB,dadieLangeder<br />

Verb<strong>in</strong>dungengleichNullist.DasMigrierene<strong>in</strong>eslokalenIFD-Mapp<strong>in</strong>gszue<strong>in</strong>enanderenIFBaufe<strong>in</strong>emanderenChipresultiertimmer<strong>in</strong>e<strong>in</strong>emAnstiegderVerb<strong>in</strong>dungskosten.DaherwerdenbeiderOptimierungder<strong>in</strong>itialenVerteilung<strong>von</strong>IFBsnurIFBs<br />

berucksichtigt,welchenurnichtlokaleIFD-Mapp<strong>in</strong>gsbe<strong>in</strong>halten.<br />

BeisolchenIFBswirdversuchtallebe<strong>in</strong>haltetenIFD-Mapp<strong>in</strong>gs<strong>in</strong>andereIFBszumigrieren.DieseMigrationwirdnurdurchgefuhrt,wenndieVerb<strong>in</strong>dungskostendadurch<br />

werdenkonnten,wirdderIFBausdemSystementfernt.<br />

nichterhohtwerden.WennaufdieseWeisealleIFD-Mapp<strong>in</strong>gsause<strong>in</strong>emIFBentfernt<br />

NachdieserOptimierungerfulltdiesoerreichteVerteilungdieZielsetzungderStrategie<br />

"M<strong>in</strong>imaleVerb<strong>in</strong>dungskosten\.<br />

4.3.3 Auswahl der Strategie<br />

rithmusausgewahlt.DieStrategiebee<strong>in</strong>usstdenCluster<strong>in</strong>g-Algorithmus<strong>in</strong>Bezugauf<br />

NachderOptimierungwirddieStrategiefurdenweiterenAblaufdesCluster<strong>in</strong>g-Algo-<br />

dieModikationderKostenfunktionwie<strong>in</strong>Abschnitt4.2.2beschrieben.Diegewahlte<br />

StrategiehatauchAuswirkungenaufdieverwendeteAbbruchbed<strong>in</strong>gungdesAlgorithmus.<br />

31


4 AutomatischeVerteilung<br />

4.3.4 Cluster<strong>in</strong>g Algorithmus<br />

DerClusterAlgorithmusversuchtdieImplementierungskostender<strong>in</strong>itialenVerteilung<br />

soweitzureduzieren,bisdieVorgabendergewahltenStrategieerfullts<strong>in</strong>doderke<strong>in</strong>e<br />

weitereReduktionmehrmoglichist.<br />

ZumReduzierenderImplementierungskostenwerdenalleIFD-Mapp<strong>in</strong>gs<strong>von</strong>e<strong>in</strong>emausgewahlten<br />

IFBentfernt.E<strong>in</strong>everr<strong>in</strong>gerteAnzahlanIFBsfuhrtzuverr<strong>in</strong>gertenImplementierungskosten.<br />

derIFD-Mapp<strong>in</strong>gsdieVerb<strong>in</strong>dungskostenerhoht.UmdieVerb<strong>in</strong>dungskostensowenig<br />

Da die Tasks fest an den Chip gebunden s<strong>in</strong>d, werden durch die Migration<br />

IFB migriert. Wenn alle IFD-Mapp<strong>in</strong>gs migriert werden konnten wird der<br />

wiemoglichzuerhohenundumuberhauptalleIFD-Mapp<strong>in</strong>gse<strong>in</strong>esIFBentfernenzu<br />

konnen,mussenverschiedeneAspekteberucksichtigtwerden:<br />

DieMigration<strong>von</strong>lokalenIFD-Mapp<strong>in</strong>gszuanderenIFBsfuhrtmeistenszue<strong>in</strong>er<br />

groerenZunahmederVerb<strong>in</strong>dungskostenalsdasMigrieren<strong>von</strong>nichtlokalenIFD-<br />

Mapp<strong>in</strong>gs.<br />

Die p<strong>in</strong>gse<strong>in</strong>esIFBmigriertwerdenkonnenundderIFBanschlieendentferntwird.<br />

Implementierungskosten konnen nur reduziert werden, wenn alle IFD-Map-<br />

DadieRessourcenzurImplementationderIFD-Mapp<strong>in</strong>gsbeschrankts<strong>in</strong>d,istesnicht<br />

Wahrsche<strong>in</strong>lichkeite<strong>in</strong>enIFBmitwenigenIFD-Mapp<strong>in</strong>gszuleerengroeralsbeiei-<br />

immermoglichalleIFD-Mapp<strong>in</strong>gse<strong>in</strong>esausgewahltenIFBzumigrieren.Daheristdie<br />

nemIFBmitvielenIFD-Mapp<strong>in</strong>gs.FurdieEntscheidung<strong>von</strong>welchemIFBdieIFD-<br />

Mapp<strong>in</strong>gsmigriertwerdensollen,wirddasEntscheidungskriterium nerGrad e<strong>in</strong>esIFBdeniert.<br />

<strong>in</strong>terner undexter-<br />

DerWertdes<strong>in</strong>ternenGradesergibtsichausderAnzahlallerVerb<strong>in</strong>dungendie,aufgrund<strong>von</strong>lokalenIFD-Mapp<strong>in</strong>gse<strong>in</strong>esIFBszwischenTasksundPH-Modes,benotigt<br />

werden.DerexterneGradreprasentiertdieAnzahlderbenotigtenVerb<strong>in</strong>dungenfuralle<br />

nichtlokalenIFD-Mapp<strong>in</strong>gse<strong>in</strong>esIFB.<br />

DerAlgorithmusstartetmitdemIFB,welcherdenniedrigsten<strong>in</strong>ternenGradhat.Falls<br />

esmehrereIFBsmitdemniedrigsten<strong>in</strong>ternenGradgibt,wirdda<strong>von</strong>derIFBmitdem<br />

niedrigstenexternenGradausgewahlt.DieMigrationderIFD-Mapp<strong>in</strong>gsdiesessoausgewahltenIFBsndetunterdengleichenBed<strong>in</strong>gungenstattwie<strong>in</strong>Abschnitt4.3.1und<br />

4.3.2beschrieben.<br />

Wenn nachsteder IFB IFBuber entfernt den Grad werden bestimmt. konnteWenn wird die derAbbruchbed<strong>in</strong>gung IFB nicht entferntgepruft werdenund konnte, der<br />

wirdermarkiertdamiternichtsofortnochmalsausgewahltwerdenkann.Dannwird<br />

dernachsteIFBbestimmt.<br />

32


4.4 IntegrationimIFS-Editor<br />

4.4 Integration im IFS-Editor<br />

Der<strong>in</strong>3.1ErwahnteIFS-Editorermoglicht<strong>in</strong>weitenBereichenbereitsdietechnische<br />

RealisierungdesIFS-Flow.DieErstellungundmanuellePositionierunge<strong>in</strong>ese<strong>in</strong>zelnen<br />

das<strong>in</strong>4.3erstellteVerfahrene<strong>in</strong>gebunden(sieheAbbildung).DerAssistentwirdauch<br />

IFBsistmitHilfee<strong>in</strong>esAssistentenimIFS-Editormoglich.IndiesemAssistentenist<br />

dieAuswahldergewunschtenStrategiezurVerteilungermoglichen.<br />

DaserstellteVerfahrenbr<strong>in</strong>gtauchVorteile,wennmannure<strong>in</strong>ene<strong>in</strong>zigenIFBerzeugen<br />

will.MankannalsStrategiefurdieVerteilungdieobereSchrankefurdieAnzahlanIFBs<br />

automatischePositionierung. wahlenunddanndieseSchrankeaufe<strong>in</strong>ssetzen.Soerhaltmane<strong>in</strong>ekonstenm<strong>in</strong>imale<br />

Die kommunizierenwirdimIFD-Mapp<strong>in</strong>gangegeben.IFD-Mapp<strong>in</strong>gss<strong>in</strong>dnichtvollstandig<br />

Menge der Kommunikationskomponenten und welche Komponenten mite<strong>in</strong>ander<br />

imIFS-FormatspeziziertundkonnennochnichtmitdemIFS-Editorerstelltoderverarbeitetwerden(Stand:08.03.2005).DaherwardaserstellteVerfahrenzumZeitpunkt<br />

derFertigstellungdieserArbeitnochnichtvollstandigfunktionalimIFS-Editore<strong>in</strong>gebunden.<br />

DieImplementierungundIntegrationdesIFD-Mapp<strong>in</strong>gs<strong>in</strong>denIFS-Editorwirdaber<br />

voraussichtlichimzweitenQuartal2005abgeschlossen,sodassdiefunktionaleIntegrationderautomatischenVerteilungkurzeZeitspaterabgeschlossenwerdenkann.<br />

33


4 AutomatischeVerteilung<br />

34


5 Dedicated Protocol<br />

5.1 Ansatze fur die Verwendung e<strong>in</strong>es Dedicated<br />

Protocols<br />

WennderCluster<strong>in</strong>gAlgorithmusstoppt,weilke<strong>in</strong>eweitereMigration<strong>von</strong>IFD-Mapp<strong>in</strong>gsmehrmoglichist,kannderGrunddafurdasFehlenfreierVerb<strong>in</strong>dungen<strong>in</strong>der<br />

umdieVerb<strong>in</strong>dungskostenzwischenvorhandenenIFBszureduzieren.Dieswirddurch<br />

Systemarchitekturse<strong>in</strong>.IndiesemFallkonntee<strong>in</strong>DedicatedProtocolverwendetwerden,<br />

dasZusammenfassen<strong>von</strong>zweiProtokollenzue<strong>in</strong>emDedicatedProtocolerreicht.<br />

E<strong>in</strong> beidengegebenenProtokolle,anstellederSumme.WenndurchdieVerwendunge<strong>in</strong>es<br />

solches Protokoll verwendet nur das Maximum der benotigten Verb<strong>in</strong>dungen der<br />

DedicatedProtocolsdieAnzahlderverwendetenVerb<strong>in</strong>dungenreduziertwerdenkonnte,<br />

kannderCluster<strong>in</strong>gAlgorithmusfortgesetztwerden.<br />

5.2 Merged Protocol als Realisierung e<strong>in</strong>es Dedicated<br />

Protocols<br />

FurdieBerechnunge<strong>in</strong>esMergedProtocolsauszweiProtokollenmussendiefolgenden<br />

Beschrankungene<strong>in</strong>gehaltenwerden:<br />

Diegeme<strong>in</strong>sameVerwendung<strong>von</strong>Verb<strong>in</strong>dungenerlaubtnurdieAusfuhrunge<strong>in</strong>es<br />

Protokollwartenmuss. Grundblocks aus e<strong>in</strong>em Protokoll zu e<strong>in</strong>em Zeitpunkt, wahrend das andere<br />

tenbe<strong>in</strong>halten. DieTransitionenzwischendenGrundblockendurfenke<strong>in</strong>ezeitlichenAbhangigkei-<br />

DasWechselnderAusfuhrung<strong>von</strong>e<strong>in</strong>emProtokollzue<strong>in</strong>emanderenistnuram<br />

Endee<strong>in</strong>esGrundblocksmoglich,damitdieVerarbeitung<strong>von</strong>Datenpaketennicht<br />

unterbrochenwird.<br />

DasMergedProtocolmusse<strong>in</strong>determ<strong>in</strong>istischesVerhaltenaufweisen.<br />

35


5 DedicatedProtocol<br />

DerhiervorgestellteAnsatzfurDedicatedProtocolskomb<strong>in</strong>iertzweiProtokollezue<strong>in</strong>em<br />

neuensogenannten Merged Protocol.DazuwerdendieCFGsderbeidenProtokollezu<br />

e<strong>in</strong>emneuenCFGkomb<strong>in</strong>iert.Komb<strong>in</strong>ierenzweierCFGsbedeutetdasE<strong>in</strong>fugengultiger<br />

Transitionen nichtmoglich<strong>von</strong>e<strong>in</strong>em<strong>in</strong>nerenZustande<strong>in</strong>esGrundblockszwischen zwischendieGrundblockederbeidenProtokollePAundPB.Daheristes<br />

wechseln.<br />

PA undPB zu<br />

E<strong>in</strong>MergedProtocolkannnichtdurche<strong>in</strong>fachesErzeugenderVerb<strong>in</strong>dungderbeiden<br />

CFGserstelltwerden.DasErgebniswaredieVere<strong>in</strong>igungderbeidenGraphenmite<strong>in</strong>erneuenKante<strong>von</strong>jedemKnotendeserstenGraphenzujedemKnotendeszweiten<br />

Graphen.MitAusnahme<strong>von</strong>trivialenFallen(nure<strong>in</strong>GrundblockimCFG)wurdedieserneueGraphungultigePfadeenthalten.DiePfade<strong>in</strong>e<strong>in</strong>emMergedProtokoll<br />

mussenallegultigse<strong>in</strong>.<br />

PAB<br />

E<strong>in</strong>e<strong>in</strong>zelnerPfad<strong>in</strong>e<strong>in</strong>emGraphene<strong>in</strong>esMergedProtocolsPABistgultig,genaudann,<br />

wennalleAbfolgen<strong>von</strong>GrundblockenausPA oder PB entsprechen. Es darf also im MergedundPB Protocole<strong>in</strong>ermoglichenAbfolge<strong>in</strong> ke<strong>in</strong>e <strong>von</strong> Zustanden PA<br />

auftreten,die<strong>in</strong>denursprunglichenProtokollennichtmoglichwar.<br />

Abbildung5.1:Verb<strong>in</strong>dung<strong>von</strong>PAundPBmitungultigenPfaden<br />

In ProtokollBangegeben(PA+PB).DieseVerb<strong>in</strong>dungenthaltungultigePfade.DerPfad<br />

Abbildung 5.1 ist e<strong>in</strong> Beispiel fur die Verb<strong>in</strong>dung der CFGs <strong>von</strong> Protokoll A und<br />

A2;B2;A2 GrundblockA1vorkam.DieseAbfolgeistimUrsprungsprotokollPAnichtmoglichund<br />

wurdezweimaldenGrundblock A2 besuchen,ohnedaszwischendurchder<br />

daherungultig.<br />

Ansatze: Umke<strong>in</strong>eungultigenPfade<strong>in</strong>e<strong>in</strong>emMergedProtocolzuerzeugen,gibteszweimogliche<br />

1. DieTransitionsbed<strong>in</strong>gunge<strong>in</strong>erneue<strong>in</strong>gefugtenTransitionwirdume<strong>in</strong>ezusatzlicheBed<strong>in</strong>gungerweitert.Dazuwirde<strong>in</strong>zusatzlichesElement,welchesdenletzten<br />

ausgefuhrtenGrundblockfurjedesProtokollspeichert,mit<strong>in</strong>derTransitionsbed<strong>in</strong>gung<br />

berucksichtigt. Die erweiterte Transitionsbed<strong>in</strong>gung wird dann zusatzlichzudenursprunglichenBed<strong>in</strong>gungenbeachtet.E<strong>in</strong>eTransitionschaltetdann<br />

36


5.3 ProtokollParser<br />

abhangigda<strong>von</strong>,obderletztefure<strong>in</strong>ProtokollausgefuhrteGrundblocke<strong>in</strong>legaler<br />

VorgangerzudemZiel-GrundblockderTransitonist.DerausdieserMethoderesultierendeGraphist,bisaufdiegeandertenTransitionsbed<strong>in</strong>gungen,vergleichbar<br />

mitderVerb<strong>in</strong>dung<strong>von</strong>zweiGraphen.<br />

2. Transitionen,diezue<strong>in</strong>erungultigenAbfolge<strong>von</strong>Grundblockenfuhren,darfeszu<br />

ke<strong>in</strong>emZeitpunktderAusfuhrunggeben.BeimE<strong>in</strong>fugene<strong>in</strong>erneuenTransition<br />

zu demgleichenProtokollberucksichtigtwerden.IndieserFormderLosungwerden<br />

e<strong>in</strong>em Grundblock aus Protokoll A mussen daher immer die Vorganger aus<br />

Grundblocke imPfadselbstkodiertwird.DerresultierendeCFGenthaltdaherallemoglichen<br />

geklont, so dass die Information uber die Abfolgen der Vorganger<br />

gultigenAbfolgen<strong>von</strong>GrundblockenausbeidenProtokollen.ZusatzlicheElemente<br />

zumSpeichernderVorgangeroderErweiterungenderTransitionsbed<strong>in</strong>gungens<strong>in</strong>d<br />

nichterforderlich.DasErgebnisdiesesVerfahrensiste<strong>in</strong>Protokoll,welches<strong>von</strong>den<br />

vorhandenenStrukturendesIFS-Flowsausgefuhrtund<strong>in</strong>terpretiertwerdenkann.<br />

DasErweiternderTransitionsbed<strong>in</strong>gungenwareverhaltnismaigaufwandig.Furjedes<br />

Merged VerlaufsProtocol der be<strong>in</strong>halteten waren zusatzliche ProtokolleHistoryelemente notwendig. Diesezum Elementen Speichern mussten des vergangenen<br />

beschriebenundletztendlichsynthetisiertwerden. aufwandig<br />

DaskodierenderInformationen berechneteMergedProtocolwiejedesandereProtokollbehandeltundmitvorhandenen<br />

uberdenVerlaufimCFGselbstisteleganter,dadas<br />

Methodensynthetisiertwerdenkann.DaherwurdederzweitenMethodederVorrang<br />

gegeben entwickelt. und e<strong>in</strong> Algorithmus zur automatischen Berechnung e<strong>in</strong>es Merged Protocols<br />

E<strong>in</strong>Beispielfure<strong>in</strong>berechnetesMergedProtocolist<strong>in</strong>Abbildung5.2zusehen.Oben<br />

<strong>in</strong>derAbbildungs<strong>in</strong>ddieCFGsderbeidenAusgangsprotokolle DerStartgrundblockistderGrundblock,welchermitdemStartzustanddesProtokolls PA undPB zusehen.<br />

leenthaltennebene<strong>in</strong>fachenTransitionenzunachfolgendenGrundblockenjeweilse<strong>in</strong>e<br />

beg<strong>in</strong>nt.InPA undPB hatderStartgrundblockjeweilsdenIndex1.BeideProtokol-<br />

Selbsttransition.DasausdiesenbeidenProtokollenberechneteMergedProtocolistim<br />

unterenTeilderAbbildungzusehen.InjedemZustanddesGraphen e<strong>in</strong>e Nummer <strong>in</strong> runden Klammern unter der Bezeichnung des Zustandes PABaufgefuhrt.<br />

istjeweils<br />

DiesgibtdieReihenfolgean,<strong>in</strong>welcherdieZustandebeimErstellendesGraphenerzeugtwurden.DieAnzahlderGrundblockeimMergedProtocolhatsicherhoht,umalle<br />

gultigenAbfolgen<strong>von</strong>ZustandendesCFG<strong>von</strong>PAundPBabbildenzukonnen.<br />

5.3 Protokoll Parser<br />

DerAlgorithmuszumErstellene<strong>in</strong>esMergedProtocolbenotigtalsE<strong>in</strong>gabedieCFGs<br />

derbeidenProtokolle.EswerdendaherdieGrundblockederbeidenProtokollebenotigt.<br />

37


5 DedicatedProtocol<br />

Abbildung5.2:MergedProtocol<br />

FurdieseAufgabewurdeimRahmendieserStudienarbeitdasVerfahrendes Parsersentwickelt.<br />

Protokoll<br />

Dieses blocken.ZurIntegrationdiesesVerfahrens<strong>in</strong>denIFS-Editorwurdee<strong>in</strong>eImplementation<br />

Verfahren liefert zu e<strong>in</strong>er gegebenen Protokoll-FSM e<strong>in</strong>e Menge mit Grund-<br />

<strong>von</strong>MergedProtokollsevaluiert.ZudemkannderProtokollParsernochfure<strong>in</strong>eReiheandererBereicheimIFS-Editorverwendetwerden,welcheebenfallsdieGrundblocke<br />

e<strong>in</strong>erProtokoll-FSMbenotigen.<br />

<strong>in</strong>Javaerstellt.MitdieserJavaMethodewurdenverschiedeneAspektefurdieErstellung<br />

DazugehorendieVisualisierung<strong>von</strong>ProtokollenimIFS-EditorunddieExtraktion<strong>von</strong><br />

DatenpaketenfurdasErstellene<strong>in</strong>esIFD-Mapp<strong>in</strong>gs.ZusatzlichwerdenbeimDurchfuhrendesVerfahrensyntaktischeFehlere<strong>in</strong>ese<strong>in</strong>gegebenenProtokollsermittelt,wenndiese<br />

sich<strong>in</strong>Form<strong>von</strong>unerreichbarenZustanden<strong>in</strong>derProtokoll-FSMbemerkbarmachen.<br />

DieseArt<strong>von</strong>syntaktischenFehlernkonnendurch Uberspezikation entstehen[PS91].<br />

folgendenSequenz<strong>von</strong>AbbildungenistderAblaufdesAlgorithmusane<strong>in</strong>emGraphen<br />

DasPr<strong>in</strong>zipdesAblaufsbeimProtokolParserentsprichtdemder Tiefensuche.Inder<br />

e<strong>in</strong>erProtkoll-FSMexemplarischdargestellt.DieEllipsenB1-B4entsprechendabeiden<br />

gefundenenGrundblocken.<br />

DerAlgorithmuserstelltzunachste<strong>in</strong>enGrundblock<strong>in</strong>demnurderStartzustanddes<br />

Protokollsliegt(Schritt1).Solangeesnure<strong>in</strong>ennachfolgendenZustandgibtunddieser<br />

nochnicht<strong>in</strong>e<strong>in</strong>emGrundblockliegt,werdendieNachfolgermit<strong>in</strong>denGrundblock<br />

38


5.3 ProtokollParser<br />

Abbildung5.3:ProtokollParser,Ablauf<br />

aufgenommen.SobaldesmehrereTransitionengibt,wirdderaktuelleGrundblockals<br />

abgeschlossen (Schritt2). markiertundfurjedenNachfolgezustande<strong>in</strong>neuerGrundblockerstellt<br />

WennderNachfolgezustandbereits<strong>in</strong>e<strong>in</strong>emGrundblockliegt(sieheS4<strong>in</strong>Schritt4),<br />

GrundblockdesNachfolgezustandsaufgeteilt(Bild5).Dieswirdsolangedurchgefuhrt,<br />

dannwirdderaktuellbearbeitetGrundbockebenfallsalsabgeschlossenmarkiertundder<br />

bisallevorhandenenGrundblockealsabgeschlossenmarkiertwurden.<br />

39


5 DedicatedProtocol<br />

S<strong>in</strong>d ke<strong>in</strong>emalleGrundblock Grundblocke gehoren, als abgeschlossen so handelt es markiert sich umund nicht es gibt erreichbare noch Zustande Zustande die zu<br />

Zustande).DieseZustandenkonnendurchFehler<strong>in</strong>dere<strong>in</strong>gegebenenSpezikationdes (tote<br />

Protokollsentstehen.<br />

5.4 Berechnung e<strong>in</strong>es Merged Protocols<br />

Die gorithmuserfolgen.ZuerstwerdendafurdieCFGs<strong>von</strong>zwei Berechnung e<strong>in</strong>es Merged Protocols kann automatisch durch ubergebenenProtokollen e<strong>in</strong>en iterativen Al-<br />

erzeugt.DiesgeschiehtmitHilfedesProtocolParsers.Dannwirde<strong>in</strong>ePfadKompositionderbeidenCFGsvorgenommen.DasErgebnisistderCFGe<strong>in</strong>esMergedProtocols.<br />

DerfolgendeAlgorithmusarbeitetaufListen<strong>von</strong>Grundblocken.E<strong>in</strong>Grundblockkann<br />

zweiverschiedeneZustandehaben:unbehandeltoderabgeschlossen.Anfangsistjederneu<br />

gendenGrundblockengeneriertwurdenundallefehlendennachfolgendenGrundblocke<br />

erzeugteGrundblockimZustandunbehandelt.WennalleTransitionenzuallennachfol-<br />

desaktuellbearbeitetenGrundblockserstellts<strong>in</strong>d,dannwirdderaktuelleGrundblock<br />

(BBcurr)alsabgeschlossenmarkiert.<br />

DieListederNachfolgerdesaktuellenGrundblocksergibtsichausdenNachfolgernwelchederGrundblockimeigenenProtokollhat.H<strong>in</strong>terdiesekommendieNachfolgerlisten<br />

se<strong>in</strong>erVorganger,wobeideraktuelleGrundblocknichtselbstausdiesenNachfolgerlisten<br />

AlgorithmusbekommtderersteGrundblockdenStartgrundblockdesanderenProtokolls<br />

ubernommenwird,dasonstjederGrundblocke<strong>in</strong>eSelbstransitionhatte.AmAnfangdes<br />

mit<strong>in</strong>dieNachfolgerliste.<br />

40


5.4 Berechnunge<strong>in</strong>esMergedProtocols<br />

PseudoCodefurdieGenerierunge<strong>in</strong>esMergedProtocol<br />

01 BBcurr=ersterBBdeserstenProtokoll<br />

02 WHILE(BBcurr!=null)DO<br />

03<br />

04<br />

FOR(i<strong>in</strong>succ(BBcurr))f<br />

05<br />

IF(succ(BBcurr)[i]passtzue<strong>in</strong>emBBabgeschlossen)f<br />

erzeugeTransitionzuBBpassend 06<br />

07<br />

aktualisiere(succ(BBcurr),pred(BBpassend))g<br />

08<br />

ELSEIF(succ(BBcurr)passtzue<strong>in</strong>emBBunbehandelt)f<br />

erzeugeTransitionzuBBpassend 09<br />

10<br />

aktualisiere(succ(BBcurr),pred(BBpassend))g<br />

11<br />

ELSEf<br />

erzeugeneuenBBneu 12 unbehandeltBBList.add(BBneu)<br />

13<br />

14 g//ENDFOR<br />

aktualisiere(succ(BBcurr),pred(BBneu)g<br />

15 markiereBBcurralsabgeschlossen<br />

16 BBcurr=unbehandeltBBList.getNext()<br />

17 g//ENDWHILE<br />

DerAlgorithmusverwendetdiefolgendenDenitionenundFunktionen:<br />

DiebeidenubergebenenProtokollewerdenmitP1undP2bezeichnet<br />

succ(BBx)lieferte<strong>in</strong>eListemitallennachfolgendenGrundblocken<strong>von</strong>x<br />

pred(BBx)lieferte<strong>in</strong>eListemitallenvorangehendenGrundblocken<strong>von</strong>x<br />

BBa2P1istpassendzuBBabgeschlossenbwennsucc(b)=succ(a)/b<br />

BBa2P1istpassendzuBBunbehandeltbwenngilt:<br />

succ(8BB:(pred(b)2P1))succ(a)<br />

{ 8(pred(b)2P2)2pred(a)<br />

InderTabelle5.1istderAblaufdesAlgorithmusundderAufbauderverschiedenen<br />

ListenbeimErstellendesMergedProtocolsaus um die gleichen Protokolle PA und PB wie <strong>in</strong> Abbildung PAundPB5.2. zusehen.Eshandeltsich<br />

Zustand der e<strong>in</strong>zelnen Listen jeweils nachdem der aktuelle Grundblock Die Tabelle abgearbeitet zeigt den<br />

undalsabgeschlossenmarkiertwurde.<br />

41


5 DedicatedProtocol<br />

Nr. abgeschlossen<br />

unbehandelt aktuellerBB Nachfolger<br />

12 11,2 2,3 3,4 A1(1) A2(2) A1,A2,B1<br />

3 1,2,3 4,5,6,7 B1(3) A1,B1<br />

4 1,2,3,4 5,6,7,8,9 B1(4) B2,A1,A2<br />

5 1,2,3,4,5 6,7,8,9,10,11 B2(5) B2,A1<br />

6 1,2,3,4,5,6 7,8,9,10,11 A1(6) B1,B2,A1,A2<br />

7 1,2,3,4,5,6,7 8,9,10,11 A2(7) A1,A2,B2<br />

8 1,2,3,4,5,6,7,8 9,10,11,12 B2(8) A1,B2<br />

9 1,2,3,4,5,6,7,8,9 10,11,12 A1(9) B1,B2,A1<br />

10 1,2,3,4,5,6,7,8,9,10 11,12 A1(10) A1,A2,B2<br />

11 1,2,3,4,5,6,7,8,9,10,11 12 A2(11) A1,A2,B1,B2<br />

12 1,2,3,4,5,6,7,8,9,10,11,12 - A1(12) A1,B1,B2 A1,A2,B1,B2<br />

Tabelle5.1:MergeAlgorithmus<br />

DieerstendreiSchrittedesMergedAlgorithmuss<strong>in</strong>d<strong>in</strong>5.4zusehen.ImerstenSchritt<br />

wirdderStartgrundblockdesProtokollA<strong>in</strong>denneuenMergedProtokollGraphene<strong>in</strong>gefugt.ErerhaltdieNummer1(aktuellerBB:<br />

ausdenNachfolgern<strong>von</strong>A1(A1;A2)unddemStartgrundblockausProtkollB(B1). A1(1)).DieNachfolgerlisteergibtsich<br />

AlsnachsteswerdendieTransitionenzudenGrundblockenderNachfolgerlistee<strong>in</strong>gefugt.<br />

Dabeiwirdalserstesversuchte<strong>in</strong>enpassenden Existiert solch e<strong>in</strong> passender Grundblock nicht, abgeschlossenen wird <strong>in</strong> der Liste Grundblockzunden.<br />

Grundblockeweitergesucht.FurdenNachfolgerA1desaktuellenGrundblockswirdnun der unbehandelten<br />

e<strong>in</strong>passenderGrundblockgefunden.IndiesemFallA1(1)selbst.<br />

FurdierestlichenNachfolgerA2undB1wirdke<strong>in</strong>vorhandenerGrundblockgefunden,<br />

daherwerdenentsprechendneueGrundblocke(A2(2)undB1(3))erstellt.DanunTransitionenzuallenGrundblockenderNachfolgerlisteerstelltwurden,wirdA1(1)alsabgeschlossenmarkiert.DieBearbeitunggehtmitdemnachstenunbehandeltenGrundblock<br />

(A2(2))weiter.<br />

42


5.5 AuswirkungaufdenIFB<br />

Abbildung5.4:MergedProtocol1-3<br />

5.5 Auswirkung auf den IFB<br />

Abbildung5.5zeigtzweiIFBszwischendenenviae<strong>in</strong>esMergedProtocolskommuniziert<br />

AlleTasksverwenden<strong>in</strong>kompatibleProtokolle.DieKonvertierungderProtokollewird<br />

wird. In dem angegebenen Beispiel <strong>in</strong>teragieren T1 $ T3 und T2 $ T4 mite<strong>in</strong>ander.<br />

fur genommen.Dasbedeutetnurdiekosten-m<strong>in</strong>imalenProtokolle T1 $ T3 und T2 $ T4 auf der fur die Verb<strong>in</strong>dungskostenPA optimalen =m<strong>in</strong>(P1;P3)und Seite vor-<br />

PB den. =m<strong>in</strong>(P2;P4)mussenalsVerb<strong>in</strong>dungendurchdieSystemarchitekturgefuhrtwer-<br />

Aus neriert.EsexistiertnurzwischendenbeidenIFBsundistsomit den so bestimmten Protokollen PA und PB wird das Merged<br />

"transparent\ Protocol PAB furdie ge-<br />

max(#Verb<strong>in</strong>dungen(PA);#Verb<strong>in</strong>dungen(PB)).<br />

Tasks.DieAnzahlderbenotigtenVerb<strong>in</strong>dungenfurPABreduziertsichaufdasMaximum<br />

Dabeiistzubeachten,dassessichume<strong>in</strong>eKommunikationzwischenzweiIFBshandelt<br />

unddieDatennure<strong>in</strong>malgemademMapp<strong>in</strong>gumgewandeltwerdenmussen.Aufder<br />

Seite welchedieDatene<strong>in</strong>fachunverandertweiterreichen(trivialeSH-Modes).<br />

wo das Mapp<strong>in</strong>g nicht durchgefuhrt werden muss, werden SH-Modes generiert,<br />

43


5 DedicatedProtocol<br />

DieAnzahlderbenotigenVerb<strong>in</strong>dungen(Verb<strong>in</strong>dungskosten)wirdreduziert,eswerden<br />

aber plementierungskosten.DadieVerb<strong>in</strong>dungen<strong>in</strong>derSystemarchitekturdiebegrenztere<br />

mehr PH-Modes benotigt. Daher kommt es zu e<strong>in</strong>em leichten Anstieg der Im-<br />

Ressources<strong>in</strong>d,istdasnichtkritisch.<br />

E<strong>in</strong>MergedProtocolausmehralszweiProtokollenkanndurchiterativesAnwendendes<br />

AlgorithmusaufjeweilszweiProtokolleerstelltwerden.DabeireduziertsichdieAnzahl<br />

derbenotigtenVerb<strong>in</strong>dungenfurPA::Xauf<br />

max(#Verb<strong>in</strong>dungen(PA);:::;#Verb<strong>in</strong>dungen(PX)).<br />

Abbildung5.5:IFBsmitMergedProtocol<br />

44


6 Zusammenfassung und Ausblick<br />

6.1 Zusammenfassung der Arbeit<br />

DasZieldieserArbeitwardieErstellung<strong>von</strong>VerfahrenzurUnterstutzungder<strong>Synthese</strong><br />

<strong>von</strong><strong>Kommunikationsstrukturen</strong><strong>in</strong><strong>verteilten</strong>e<strong>in</strong>gebettetenSystemenmitHilfedesIFS-<br />

Flows.<br />

DazuwurdezunachstdasModelldesKommunikationsgraphenbasierendaufdemSpezikationsgraphModellvorgestellt.FurdieErstellunge<strong>in</strong>erKommunikationsstruktur<br />

gemademModelldesKommunikationsgraphen,ergabensichdieAnforderungenfure<strong>in</strong>eautomatischeVerteilungundAbbildungderKommunikationsknoten(realisiertdurch<br />

IFBs)aufdieSystemarchitektur.<br />

ImweiterenVerlaufwurdendieAuswirkungenderPositionierung<strong>von</strong>IFBsanunterschiedlichen<br />

<strong>in</strong>derErstellungderverwendetenKostenfunktionen.FurdieautomatisierteVerteilung<br />

Stellen der Systemarchitektur erlautert. Diese Auswirkungen resultierten<br />

wurdedanne<strong>in</strong>Cluster<strong>in</strong>gverfahrenerstellt,dassdieautomatischeVerteilung<strong>von</strong>IFBs<br />

unddieZuordnung<strong>von</strong>IFD-Mapp<strong>in</strong>gsermoglicht.BasierenddaraufwurdenfunfverschiedeneVerteilungsstrategienundihreAuswirkungenaufdieKostendargelegtschranken,wurdedasPr<strong>in</strong>zipdesMergedProtocolsvorgestellt.DazuwurdederAlogorithmusdeniertmitdeme<strong>in</strong>MergedProtocolautomatischberechnetwerdenkann.<br />

Die zienten<strong>Synthese</strong><strong>von</strong>Kommunikationstrukturen.DerIntegration<strong>in</strong>dasKonzeptdes<br />

erstellten Verfahren verbessern den IFS-Flow aufgrund der vere<strong>in</strong>fachten und ef-<br />

UmKommunikations-Engpassezuuberw<strong>in</strong>den,welchedieautomatischeVerteilunge<strong>in</strong>-<br />

IFS-Design-Flowwurdevorgestellt.<br />

6.2 Ausblick auf weitere Modellierung<br />

DiePrasentationderangegebenenVerfahrenhatgezeigt,dassderIFS-Flowh<strong>in</strong>sichtlich<br />

der<strong>Synthese</strong><strong>von</strong><strong>Kommunikationsstrukturen</strong>erweitertwerdenkonnte.<br />

e<strong>in</strong>zelnenDesignschritteunddie<strong>Synthese</strong>vorgenommenwerden.Teileder<strong>in</strong>dieserArbeiterstelltenVerfahrens<strong>in</strong>dbereitsimIFS-Editorumgesetzt.DerimRahmendieser<br />

ArbeitentstandeneProtokollParserwurdebereitsvollstandig.Erwirdauch<strong>von</strong>ande-<br />

FurdieUmsetzungdesIFS-FlowswirdderIFS-Editorverwendet.Mitihmkonnendie<br />

45


6 ZusammenfassungundAusblick<br />

renBereichendesIFS-Editorsverwendet.ImIFS-EditorkonnenProtokollemitHilfedes<br />

ProtokollParsersvisualisiertwerden.E<strong>in</strong>weitererwichtigerBereich,furdenderProtokollParserzukunftigbenotigtwird,istdieErstellungderIFD-Mapp<strong>in</strong>gEquations.<br />

Die lens<strong>in</strong>dbereitsanentsprechendenStellenimIFS-Editorpositioniert,abernochnicht<br />

Verfahren zur automatisierten Verteilung und Erstellung <strong>von</strong> Merged Protokol-<br />

vollstandig stehen.Insbesondere funktional, fehlenIFD-Mapp<strong>in</strong>gequations. da andere benotigte Komponenten Ohnediesekannnichtermittelt noch nicht zur Verfugung<br />

werden,welcheKomponenten lisierung<strong>von</strong>IFD-Mapp<strong>in</strong>gequationswirdaber<strong>in</strong>KurzezurVerfugungstehen.<br />

uberhauptmite<strong>in</strong>anderkommunizierenwollen.DieRea-<br />

NachdemIFD-Mapp<strong>in</strong>gsmitdemIFS-Editorerstelltwerdenkonnen,wirddiezukunftige<br />

ArbeitimBereichder<strong>Synthese</strong><strong>von</strong><strong>Kommunikationsstrukturen</strong>sichmitderErstellung<br />

e<strong>in</strong>esBeispielSzenariosbeschaftigen,umrealeWertefurdievorgestelltenKostenfunktionenzuerhalten.DamitlassensichdanndieGroenordnungenfurdenRessourcenbedarf<br />

dere<strong>in</strong>zelnenKomponenten(wiez.B.PH-ModesoderControlUnit)ermitteln.<br />

6.3 Ausblick fur mogliche Erweiterungen<br />

NachderErmittlung<strong>von</strong>WertenfurdieKostenfunktions<strong>in</strong>dnochweitereForschungsarbeitenimRahmen<strong>von</strong>Studien-undDiplomarbeitendenkbar.Insbesonderes<strong>in</strong>ddiefolgeAusarbeitungaberauszeitlichenoderthematischenGrundennichtmoglichwargendenThemengeeignet,diesichimVerlaufderArbeitergebenhaben,derenvollstandi-<br />

OptimierungderangegebenenStrategienfurdieautomatischeVerteilung<strong>von</strong>IFBs<br />

tenStrategienichterreichenlasst. mite<strong>in</strong>erautomatisiertenAbanderungderStrategie,fallssichdasZieldergewahl-<br />

ErweiterungdesVerfahrenszurautomatisiertenVerteilung<strong>von</strong>IFBs,sodassdie<br />

positioniertenIFBsgeforderteKriterienfurharteRealzeite<strong>in</strong>haltenkonnen.<br />

VisualisierungderVerteilungbzw.desCluster<strong>in</strong>gs<strong>von</strong>IFBs.Dabeikonntedem<br />

BenutzerdieMoglichkeitzurInteraktionermoglichtwerden,umdasErgebnisaktiv<br />

zubee<strong>in</strong>ussen.<br />

Erstellunge<strong>in</strong>esMergedProtocolsunterVerwendungderErweiterungderTransitionsbed<strong>in</strong>gungen.DiesewurdedasSynthetisieren<strong>von</strong>Elementenerforderndieden<br />

Verlauf(History)<strong>von</strong>Protokollenspeichernkonnen.DiesesVerfahrenkonnteVorteilebeimErstellene<strong>in</strong>esMergedProtocolsausmehralszweiProtokollenbieten,<br />

dasichbeidiesemVerfahrendieentstehendeAnzahlderZustandeimwesentlichen<br />

aufdieSummederZustandedere<strong>in</strong>zelnenProtokollebeschrankt.<br />

46


Literaturverzeichnis<br />

[AKJ88] RichardC.DubesAnilK.Ja<strong>in</strong>. Inc.,1988. Algorithmsforcluster<strong>in</strong>gdata.Prentice-Hall,<br />

[GNL67] W.T.WilliamsG.N.Lance.Mixed-dataclassicatoryprogramsi-agglomerativesystems.<br />

AustralianComputerJournal,1(1):15{20,January1967.<br />

[Har69] F.Harary. GraphTheory. Addison-Wesley,Read<strong>in</strong>g,Mass.,1969.<br />

[Ihm02a] <strong>Ihmor</strong>,<strong>Stefan</strong>andVisarius,MarkusandHardt,Wolfram. signMethodologyforCongurableHW/SW-Interfaces<strong>in</strong>EmbeddedSystems. AConsistentDe-<br />

InProc.oftheIFIP17thWorldComputerCongress-TC10StreamonDistributedand<br />

EmbeddedSystems,Montreal,Canada,Aug.2002. ParallelEmbeddedSystems: DesignandAnalysis ofDistributed<br />

[Ihm02b] <strong>Ihmor</strong>,<strong>Stefan</strong>andVisarius,MarkusandHardt,Wolfram. dologyforApplication-specicReal-TimeInterfaces. In ADesignMetho-<br />

IEEEInternationalConferenceonComputerDesign(ICCD):VLSI<strong>in</strong>Computers<br />

Freiburg,Germany,Sept.2002. & Processors, IEEE International Conference on Computer Design,<br />

Proceed<strong>in</strong>gsof2002<br />

[Ihm03a] <strong>Ihmor</strong>,<strong>Stefan</strong>andBastosJr.,NilsonandKle<strong>in</strong>,RafaelCardosoandVisarius,<br />

Markus tion-ACaseStudy:Interact<strong>in</strong>gRobots. and Hardt, Wolfram. Rapid Prototyp<strong>in</strong>g In of Realtime Communica-<br />

InternationalWorkshoponRapidSystemPrototyp<strong>in</strong>g(RSP'03),June2003. Proceed<strong>in</strong>gs of the 14th IEEE<br />

[Ihm03b] <strong>Ihmor</strong>,<strong>Stefan</strong>andVisarius,MarkusandHardt,Wolfram.Model<strong>in</strong>gofCongurableHW/SW-Interfaces.<br />

pages51{60,2003.<br />

[Ihm04] <strong>Ihmor</strong>,<strong>Stefan</strong>andHardt,Wolfram. RTR-IFBApproach. In RuntimeRecongurableInterfaces-The<br />

Workshop(RAW'04).IEEEComputerSociety,26-27April2004.<br />

Proceed<strong>in</strong>gsofthe11thRecongurableArchitectures<br />

[KHK96] FriedrichSchwarzKarl-He<strong>in</strong>zKiyek. 33. B.G.TeubenerStuttgart,1996. MathematikfurInformatiker,pages32{<br />

[PRSV98] thesisof<strong>in</strong>terfacesbetween<strong>in</strong>compatibleprotocols. R.Passerone,J.Rowson,andA.Sangiovanni-V<strong>in</strong>centelli. In Automaticsyn-<br />

Proceed<strong>in</strong>gsofDesign<br />

AutomationConference,pages8{13,1998.<br />

47


Literaturverzeichnis<br />

[PS91] RobertL.ProbertandKassamSaleh.Synthesisofcommunicationprotocols:<br />

Surveyandassessment.IEEEtransactionsoncomputers,40(4):468{469,April<br />

1991.<br />

[Tei97] J. Spr<strong>in</strong>ger-Lehrbuch,Heidelberg,NewYork,Tokio,1997.<br />

Teich. Digitale Hardware/Software-Systeme: <strong>Synthese</strong> und Optimierung.<br />

[ZRL96] TianZhang,RaghuRamakrishnan,andMironLivny.BIRCH:anecientdata<br />

ConferenceonManagementofData,pages103{114,Montreal,Canada,Juni<br />

cluster<strong>in</strong>gmethodforverylargedatabases. In ACMSIGMODInternational<br />

1996.<br />

48

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!