Synthese von Kommunikationsstrukturen in verteilten ... - Stefan Ihmor
Synthese von Kommunikationsstrukturen in verteilten ... - Stefan Ihmor
Synthese von Kommunikationsstrukturen in verteilten ... - Stefan Ihmor
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