您的当前位置:首页正文

JADE An Embedded Systems Specification, Code Generation and Optimization Tool

来源:爱站旅游
导读JADE An Embedded Systems Specification, Code Generation and Optimization Tool
JADE:AnEmbeddedSystemsSpecification,CodeGenerationandOptimization

Tool

CristianoL.PereiraDi´ogenesC.daSilvaJr.

ReuberG.DuarteClaudionorJ.N.CoelhoJr.

AntˆonioO.FernandesLucianaL.AmbrosioLucianaH.Canaan

LECOM/DCC/UFMG–FederalUniversityofMinasGerais-Brazilemail:ligieri,reuber,coelho,dgns,otavio,leal,lucanaan@dcc.ufmg.br

Marketpressureswithever-increasingcomplexityandshortertimeurgestheuseofformalmethodsinthesystemdevelopmentprocesstoproducenewsystemsfasterandcheaperduetotheca-pacitytoautomatetheverification,simulationandcodegener-ation.Aproblemthatcomesup,however,isthatcodegeneratedfromformallanguagesisnotthemostefficientbecauseofthemap-pingbetweenthespecificationandtheimplementationmodels.Tocopewiththis,wepresentanoptimizationtechniquetoenhancetheperformanceofSDL(SpecificationandDescriptionLanguage)derivedsystemimplementationsaswellasJADE,atoolthatsup-portsthecompletedevelopmentprocess,fromthespecificationtotheimplementation.

Abstract

1.Introduction

Assystemdesigngetsmorecomplexandahighlycom-petitivemarketrequiresnewandmorepowerfulproductsinshorterperiodsoftime,theneedofformalmethodsinsystemdevelopmentprocessincreases.Formalmethodsaremathematicallybasedtechniquesusedfordescribingsys-tempropertiesunambiguously.Formalmethodsarebasedsolelyontheuseofformallanguages,whichallowsthepro-ductionofsystemsfasterandcheaperduetothecapacitytoautomatetheverification,simulationandcodegenerationprocessessystematicallyratherthaninanadhocmanner.Themathematicalfoundationofformallanguagesalsoen-ablestotalcompliancebetweenthespecification,verifica-tionandimplementationphases.

Aproblemthatcomesup,however,isthatcodegener-atedfromformallanguagesisnotthemostefficientone.Asshownin[10,6,5],thisismostlyduetothefactthatthespecificationmodelisnotthemostefficienttobeusedintheimplementationphasebutitistheonethatguaranteesfullcoherencebetweenboth.

Therefore,theuseofoptimizationtechniquesappearsasasolutiontothelackofefficiencyofimplementationsde-rivedfromformallanguages.Theoptimizationconsistsin

sometransformationsintheimplementationmodelinordertoincreaseitsefficiency.Achallenge,however,isthattheoptimizationmuststillkeeptheimplementationcompliantwiththespecificationinordertobevalid.Consequently,thetransformationsmustbedoneverycarefullysothattheydonotchangethespecificationsemantics.

Inthispaperweproposeatechniquetooptimizesys-temimplementationsfromaformalspecificationlanguagecalledSDL(SpecificationandDescriptionLanguage).OurapproachaimstocomposegroupsofSDLprocessesintoasingleprocesssothatlessoverheadprocessingiswastedwithcontextswitchingandprocesscommunication.Conse-quentlythesystemperformanceisimproved.WealsoshowJADE,aspecificationtoolthatsupportsthecompletede-signprocess,fromthespecificationtothecodegenerationandoptimization.

Thispaperisoutlinedasfollows.Section2presentstherelatedworkconcerningoptimizationtechniquesfromSDLspecificationsandSection3givesanoverviewoftheSDLlanguage.Section4describesouroptimizationtechniquefollowedbySection5,thatshowsJADE,aspecificationandcodegenerationtoolbasedonthistechnique.Section6presentstwoexamplesoftheoptimizationappliedintheSDLspecificationsofascannerprototypeandareliableandconnection-orientedprotocolcalledXDTandfinallySec-tion7wepresenttheconclusions.

2.RelatedWork

CodegenerationandoptimizationfromSDLsystemsspecificationisatopicthathasalreadybeenaddressedintheliterature.Thejustificationfortheoptimizationisthesameaswestated–lackofefficiencyofimplementationsauto-maticallyderivedfromthespecification.In[11],someas-pectsrelatedtoperformanceofSDLsystemsarediscussed.Manyofthemarerelatedtodesignandimplementationphaseswheretheimplementationissuesarethemostrel-evanttothefinalsystemperformance.Theimplementation

modeldefinesthemappingbetweenthespecificationandthegeneratedcodesuchashowtheprocessesaremapped;howthedynamicbehavior(ordynamicprocesscreation)ofthesystemisaddressedandmore.

WithrespecttocodeoptimizationfromSDLprotocolspecifications,Leue[10,9]proposedanoptimizationtech-niquebasedontheexplorationoftheinherentparallelismofprotocolspecificationsbythesystematicanticipationofwhattheycalled”commoncases”.TheyfirstderiveadataandcontroldependencygraphsfromeachSDLprocess.Thentheyoptimizeandparallelizeoperationsrelatedtoprocessingapacketalongthewaythepacketentersthepro-tocolstacktowhereitexits.

In[6,5],HenkeshowsatechniqueforoptimizationofcommunicationprotocolsspecifiedinSDL.Inthiswork,theSDLspecificationorpartofitistransformedintoasingleoperatingsystemthread,eachSDLprocessistrans-formedinafunctionandsomeassumptionsregardingthesynchronicityofthesystemwithrespecttotheexternalen-vironmentaretaken.

3.TheSDLLanguage

SDLisaformallanguagedefinedbytheITU(Interna-tionalTelecommunicationUnion)Z.100recommendation[2].Itisbroadlyusedinthetelecommunicationdomain,speciallyonprotocolspecifications,aswellasonthespeci-ficationofreactivereal-timeandembeddedsystems.SinceSDLisaformallanguage,itiswidelyusedforspecification,verification,simulationandcodegenerationprocesses.AnSDLspecificationisbasicallyahierarchicaldataflowwithExtendedFiniteStateMachines(EFSM)atthebot-tomlevel.ThemainstructureofaSDLspecificationisthesystementity,thatprovidestheframeworkforthede-scriptionanddefinestheinterfaceofthesystemwiththeexternalworld.Insidethesystementity,blockscanbede-fined.Themainfunctionofablockistodefinethespecifi-cationstructure.Blockscommunicatewitheachotherandwiththeexternalenvironmentviamessagessentthroughstructurescalledchannels.Eachblockcontainsasetofpro-cesses.ASDLprocessisaEFSMthatcommunicateswithotherprocessesviasignalsusingstructurescalledsignalsroutes.EachprocesspossessesaninfinitequeueinwhichallincomingsignalsarestoredandconsumedaccordingtoFIFO(First-In-First-Out),withsomeexceptions.Ifasignalisexpectedinthecurrentstateoftheprocess,thetransitionrelatedtothiseventisexecuted.Otherwisethesignalisdis-cardedunlessitissavedinthequeuebymeansofthesaveconstruct.

SDLfollowsatotallyasynchronousmodelofcomputa-tionthatcombinescharacteristicsofprocessesnetworks[7]withFSMs.EachSDLprocessexecutesconcurrentlyandthespecificationbehaviorofaSDLsystemisthesumoftheindividualbehaviorsofeachspecificationprocess.SDL

alsoallowsnewabstractdatatypesdefinitionsanddynamiccreationofprocesses.DetailsabouttheSDLlanguagecanbefoundin[2,3].

4.CodeGenerationandOptimizationModel

Inthissectionweexplainouroptimizationtechnique.Inordertodothis,wefirstgiveanoverviewofourapproach.ThenweformalizetherepresentationofaSDLspecificationandbasedonthisformalizationwestatehowtooptimizethespecification.

TheapproachproposedinthisarticleissimilartotheoneproposedbyHenke[6,5]inthesensethatwealsore-ducethenumberofconcurrentthreadsintheimplementa-tion.WealsoimposesomerestrictionstothespecificationmodelorpartofitandthenwecomposegroupsofSDLprocessesintoasingleprocess.Themajordifferenceisthatinourmethodtheprocessesarenottransformedintofunc-tions.Rathertheyarecomposedthroughaproductbetweentheirinternalstatesavoidinginthiswaythefunctioncallsextraoverhead.

4.1.Overviewoftheapproach

Themappingbetweenthespecificationandimplemen-tationisthemainreasontotheinefficiencyofimplemen-tationsderivedfromformalspecifications.InSDL,eachprocessisassociatedwithaninputqueuefromwhichsig-nalsareread.Theimplementationmodelwhichdirectlyfol-lowsthisbehavioriscalledservermodel,whereeachpro-cessconsumessignalsfromitsinputqueueuntilthequeuegetsemptyandtheprocessblocks.Thesamenumberofprocessesfromthespecificationiskeptintheimplementa-tion.

TheproblemisthatthebasicexecutionentityinaSDLspecificationistheprocess.Basedonthis,weclaimthatformodularityreasons,theusercandividethespecificationintoomanyprocessesthatdonotworktrulyconcurrentlyandasynchronously.Thisaddsoverheadtothesystemim-plementationbecausemorethannecessaryresourcesarewastedwithcontextswitchingandprocesscommunication.Weproposeatechniquetodealwiththisinefficiency,wherewetrytoaggressivelycomposegroupsofprocessesfromthespecificationintoasingleimplementationprocess.Thiscompositionisperformedfromthestateproductamongtheprocessesofthegroup.Thestateproductisextractedfromthereachabilitystategraphoftheprocessgroup.

Thedesignermustchoosetheprocessestobegroupedusinghis/herintuition.Inordertocomposethem,someassumptionsregardingtheirbehaviormustbeconsidered(Section4.3).

4.2.FormalModelforaSDLSpecification

4.2.1.SignalsandQueues

Amessageorsignal(fromnowonwewillusethetermmessage)instancereceived/sentinaSDLspecificationcanbedefinedbythetuplewhereistheIDofthesenderprocess,isassociatedwithasetistheisofnameortagmessage(Eachthevaluesvaluereceived/sentthatthemessagecanconvey)andinthespecificationamongthepossiblevaluesforthesignalwithtag.

Amessagerepresentinganenvironmenttemperature,for

example,canberepresentedby

whereisthemessagetag,22isthesignalvalueandtheIDofthesender.Anon-valuedmessagecanberepresentedby

.Overamessageinstanceintheform,

wecanapplytheoperator,whichre-turnsthemessagetagand,whichre-turnsthemessagesender.representssettheofsetallofpossibleallpos-siblemessageinstancesandthemessageinstancessequenceswhereemptysequence.Aqueue

iswhereasignaldenotesthesequencean

sequence

sizeisina.queueThenumberisdefinedofelementsaswhichhave.aOver

tag

aqueuewecanalsoapplytheoperationsenqueueandde-queue,thatinsertsandretrievesmessagestoandfromthequeuerespectively,accordingtotheSDLsemantics.

4.2.2.SDLProcesses

EachSDLprocessconsistsofanEFSM,definedsimilarlyto[4].

Definition1(EFSM)Considerasetofvariables,a

setofexpressions

,asetofassignments

andasetofrelations

isabooleanwhere

rela-tionamongasetofexpressions,anEFSMisdefinedbythetuple:

whererepresentsthemachinestateset,theini-tialmachinestate,thesetoflocalvariables,thesetofinputmessagessuchthat,thesetofoutputmessagessuchthat,thenextstatecomputationfunctionandthefunctionwhichcomputesforeachtran-sitiontheoutputmessagesand/ortheinternalassignments.

Thebooleanrelationbetweenexpressionsmodelsthein-ternalmachinedecisionsandtheassignmentsettheinternal

SDLassignments.SinceaSDLprocessisanEFSMassoci-atedwithaninputqueueandaSDLspecificationisasetofSDLprocess,wearenowreadytodefineacompleteSDLspecification.

4.2.3.AcompleteSDLSpecification

SDLspecificationisdefinedbytherelation

,whereisasetof

queues(aninputqueueforeachoneoftheEFSMsandanoutputqueueforthesystem)andisthesetofEFSMs.ASDLprocessisanEFSMassociatedwithaqueuefromwhichmessagesareconsumed.Eachprocesshasaglobalviewingofthesystem,i.e.,eachprocesscanaccesstheotherprocessqueuesaswellasthesystemoutputqueue,denotedby.

Definition2(SDLProcess)AnEFSMcanbeex-tendedtoaprocessbythetuple:

whereisthequeuesset,beingtheinputqueueoftheprocess,isafunctionalrelationindicatingtheprioritymessagesinacertainstate,isafunctionalrelationindicatingthesavedmessagesinacertainstate,isthenextstateandinputqueuecomputationfunction,isthefunctionthatcomputestheoutputsignalsandrespectiveoutputqueueswheretheletter(thesetofnon-negativeintegers)ontherightsideofthefunctionrepresentsthemessagedestinationID.

Therefore,eachprocessinaspecificationconsumesmessagesfromitsinputqueueandinsertmessagesintheotherqueues.Inthisview,eachprocesshasoutputqueues.

inputqueueandFigure1.ExampleoftwoSDLprocesses.

InFigure1therearetwohypotheticalSDLprocessesshown.Theleftmosthastwostates,onelocalvariablenamed(beingofYtypevalued),integer,adecisiontwoinputstestforandthethreemessagesoutputcom-andmandsforthemessagesR,BandX.Thesecondprocesshasonestate,oneinternalvariablealsonamedoftypeinteger,oneinputcommandreceivingmessageX,anassignmentstatementandanoutputcommandforthemessageW.Eachprocessisassociatedwithaqueuefromwhichthemessagesareread.

4.3.Optimization

Thefirstassumptionthatshouldbetakenonourop-timizationapproachconcernsthesynchronicityofoneormoregroupsofprocessesinsidethespecification.ASDLspecificationisinherentlyasynchronous,i.e.,eachprocessreadsamessagefromitsinputqueueassoonasitfinishesapreviouslystartedtransition.Inotherwords,severalSDLprocessescanbeexecutingtheirrespectivetransitionssi-multaneouslyandconsequentlyseveralexternalmessagesmaybereadsimultaneously,leadingthesystemtoaverylargenumberofpossiblesymbolicstates.

Partsofthespecificationorthewholespecification,how-ever,maynotexhibitanasynchronousbehaviorlikethis.Instead,theycanworksynchronouslywithrespecttotherestofthespecificationorenvironmentresultinginpoten-tiallylessreachablesymbolicstates.Thisisthefirstas-sumptionwetakeinourapproach–partsofaSDLspecifi-cationmaybehavesynchronously.Thishypothesisissim-ilartotheoneassumedintheEsterellanguage[1],calledsynchronoushypothesis,whichstatesthattheconsumptionrateofexternalmessagesislowerthantheinternalpro-cessingrateofthegroup,orinotherwords,thattheinter-nalmessagesprocessingisinstantaneouswithrespecttotheconsumptionrateofexternalmessages.Inthisway,weas-sumethatwhenoneoftheprocessesofthegroupconsumesanexternalmessage,nootherprocessofthegroupcon-sumesanotherexternalmessageuntilalltheinternaltran-sitions(theonestriggeredbytheinternalmessages)termi-nates.

Basedonthesynchronoushypothesis,whileagroupofprocessesiswaitingforanexternalmessage,noprocessingoccursinsidethegroup.Wesaythatthegroupisinastablestate.Whenanexternalmessagearrives,thegroupreactstoitchangingitssymbolicstate.Thus,unlessthereexistsaninternalloopbetweentheprocessesofthegroup,everytimeagroupreceivesanexternalmessage,itmakesatransitionfromastablestatetoanotherdifferentstablestate.

Thesecondassumptionisthatinternalmessageshavehigherpriorityovertheexternalones.Otherwisewewouldbechangingtheorderinwhichthemessagesarecon-sumedfromtheprocessesinputqueuesandconsequentlywewouldbeimposingadifferentbehaviorintheimplemen-

tation,notcompliantwiththespecification.Thisassump-tionmustbetakensothatwecanchangetheconsumptionorderofthemessages(theinternalonesfirst)withoutvio-latingthespecification.

Withtheassumptionsstatedabove,theinternalmessagesareneveraccumulatedontheinputqueuesoftheprocessesinthegroup.Anotherinterestingcharacteristicisthatiftheorderinwhichtheexternalmessagesarriveatthepro-cessgroupdoesnotmatter,wecantransformtheindividualqueueofeachprocessinasinglegroupqueue,whereonlyexternalmessagesareaccumulated.Ifwecanhaveasin-glequeuefortheexternalmessagesonlyandtheinternalmessagesneveraccumulatesintheprocessesqueues,theprocessesinthegroupcanbecomposedjustbyconnectingtheoutputcommandswiththecorrespondinginputones.Forthesakeofsimplicity,weconsiderthateverytransi-tionwhichemitsaninternalmessagehavetheoutputcom-mandattheendofthetransition(asintheprocessesoftheFigure1),sothatwedonothavetoreorderthetransitioncommands.Wealsoassumethateachtransitionhasatmostoneinternalmessageoutputcommand.

4.3.1.ComposingaGroupofProcesses

Thestateofagroupofprocessesinagiveninstantcanbeobtainedbythecombinationofthelocalstate,currentval-uesoftheinternalvariables,andthemessagesstoredintheinputqueueofeachprocess.However,thenumberofpo-tentiallyreachablestatesisverylargeresultinginaproblemknownasstateexplosion.Wetrytominimizethisproblemabstractingouttheconditionsandassignmentstatementsfromthespecification.Theresultsofthisabstractioncap-turesthecontrolstructureandcommunicationpartoftheprogram,yieldingasetofcommunicatingfinitestatema-chines.Inthisway,theglobalgroupstaterepresentationisreducedtothequeuesstateandthecombinationofthelo-calmachinestates(thesets,andoftheSDLprocess–Definition2–areabstracted).Suchabstractionintroducesnon-determinismtotheFSMsthatwecallre-ducedFSMs.Figure2showsthereducedmachinesfortheprocessesofFigure1.Notethatwhentheinternalassign-mentsareabstracted,soaretheassignmentsresultingfromthemessageconsumptionandconsequentlywecanassumethatallthemessagesdonotcarryanyvalue.

Thewholespecificationcanbereducedsothatalldeci-sionsandinternalassignmentsareabstracted.Thereduc-tionofasystemisdefinedby

.Thespecificationisstillconstitutedofcom-municationqueuesbutthemachinesarerepresentedinthereducedform.Thereducedmachineisrepresentedby.

Definition3(ReducedSDLProcess)Thedefinitionoftheprocessesisalsoamachineassociatedwithaninputqueue

thatstillhaveaglobalviewofthesystemandcanbedefinedasfollows:

ThemachinedefinitionwillnotbeshownbutitcaneasilybeextractedfromDefinition3.Thestateofthepro-cesscanthenberepresentedonlybyitslocalstateandbythecontentofitsqueue.Nowwehavetodefinehowtorepresentthestateofthequeues.

Basedonthefactthattheorderofthemessagesinthegroupsinglequeuedoesnotmatter,wecanrepresentthequeuestateusingavector,whereeachpositionrepresentsthenumberofmessagesofeachtype.Thisqueuestaterepresentationisusedinthereachabilitygraphgeneration.Consequently,theimportantmessagesaretheonescon-sumedbytheprocessesofthegroup,meaningthatemittedexternalmessagesareirrelevantforthequeuestate.Eachmessageisidentifiedbyitstagandbythecombinationoftheprocesssender/receiversothatamessagewiththesametagexchangedbydifferentprocesspairsaretreatedcor-rectly.ExtendingthequeueoperationsdefinedinSection4.2.1,theoperationgetsthenum-berofmessageswiththetagsentbythepro-cessandpresentinthequeue.Suppos-ingthattheprocessesoftheFigure1formagroup,thegroupqueuestatecanberepresentedbyavector

.

Forthesakeofsimplicityagain,weseparatethequeuerepresentationintwovectors,onefortheexternalmes-sages,called,andotherforinternals,called.Us-ingtheFigure1again,thegroupstatequeueis

togetherwith.

Thecompositionofagroupofprocessesisdonethroughtheproductofthelocalstatesofeachprocess.Forthispur-pose,thefirststepistofindallreachablestatesofthegroup.Thereachablestatesarefoundthroughtheconstructionofareachabilitygraphthatrepresentsallthepossiblegroupstates.Eachnodeofthegraphisthecombinationoflocalprocessesstateswithinternalandexternalmessagevectors.Theinitialstateofagroupofprocessesinthereacha-bilitygraphisgivenbythecombinationoftheinitiallo-calstatesofeachprocesstogetherwiththeexternalvectorfilledwith1sandtheinternalwith0s,whichmeansthatthegroupisabletoconsumeanyoftheexternalmessagesinanyorder.Figure2-(b)showsthereachabilitygraphfortheprocessesintheFigure1.Fromtheinitialstate,allpossibletransitionsareexecutedmakingthegraphstatestochangeuntilallreachablestatesarereached.Therectanglenodesrepresentthestablestatesandtheellipticnodestheinternalnodes,whereonlyinternalmessagescanbeconsumedduetothesynchronoushypothesis.

Figure2.(a)-Reducedmachineoftheprocess1and2of

Figure1;(b)-Reachabilitygraph;(c)-Resultingcomposedprocess.

Thereachablestategraphisusefultodeterminehowtheprocessesarecomposed.Afteritsgenerationthesta-blestatesofthereachabilitygrapharethestatesofthecomposedmachine.Thereachabiliygraphalsodetermineswhichoutputcommandsshouldbeconnectedwithwhichcorrespondinginputs.Figure2-(c)showstheresultingcom-posedmachineoftheprocessesofFigure1.Themessageistheconnectionpointbetweenthemachines.Asitdoesnotcarryanyvalue,weneedtojustconnecttheinput/outputcommandsandafterwardsdropthem.Ifthemessagescar-riedavalue,theoutputmessageparameterswouldhavetobeassignedtothecorrespondinginputones.

5.JADESpecificationEnvironment

Inordertoputtheideasofcodegenerationandopti-mizationinpractice,wehaveimplementedJADE,aframe-worktargetedtowardsspecification,analysis,verificationandvalidationofSDLdescriptions.Commercialandre-searchtoolscanbeintegratedtoJADE.

OneofthetoolsalreadyintegratedwithJADEisthecodegeneratorandoptimizerbasedonthetechniquesdescribedinSection4.JADEsupportsthecompleteSDLspecifica-tionprocess,fromthedescriptionoftheSDLspecificationtothecodegenerationandoptimization.Thespecificationiscapturedgraphicallyandathecorrespondingtextualrep-resentationisgenerated,whichisconsequentlyusedbythecodegeneratorandoptimizer.

TheoptimizationphasestartswiththesyntacticanalysisoftheSDLtextualspecificationresultinginanintermediaterepresentationcalledSDL-Graph.TheSDL-Graphisba-sicallytheSDLspecificationformattedasagraph.Inthisway,eachnodeisassociatedwithaSDLconstruct.The

SDL-Graphisusedonthecodegenerationaswellasontheoptimizationphase.

Theusercanchoosetogenerateoptimizedornon-optimizedcode.Whentheoptimizedcodegenerationischosen,theusershouldalsospecifythepartsorgroupsofprocessestobeoptimized.

TheuseoftheSDL-Graphallowsflexibilitytogenerateoptimizedandnon-optimizedcodeaswellasflexibilitytogeneratecodefordifferentplatforms.6.CaseStudies

InthisSectiontheresultsoftwoSDLspecificationswheretheoptimizationwasappliedareshown.ThefirstspecificationisaScannerprototype[12].ItconsistsoffourSDLprocessescalledSCSI,CPU,DSPandADConverter.Aprocessrequestsaframe,thespecificationsamplespixelsoftheimageanddeliverstheformedframe.Inthisexample,itisassumedthatthefourprocessesformagroup.Wegen-eratednon-optimizedandoptimizedcodeandcomparedtheexecutiontimesfor,,,,andframesrequestasshownintheFigure3-(a).Thereductionfromfourtooneprocessinthiscasecausesaspeed-upofabout2.26.

Execution time for the Scanner specification

100000

non-optimized

optimized

80000)skcit( 60000

emiT noituc40000

exE20000

0

0

1000002000003000004000005000006000007000008000009000001e+06

Number of Frames

(a)

Execution time for the XDT Specification

50000non-optimized

45000optimized

40000)s35000kcit( 30000emit n25000oituc20000exE15000100005000

00

500

1000

1500

2000

2500

3000

Number of Packets

(b)

Figure3.(a)-ExecutiontimerfortheScannerspecifica-tion(b)-ExecutiontimerfortheXDTspecification.

TheotherexampleisthespecificationofaprotocolcalledXDT[8].Itisreliable,connection-orientedandbasedonthegobacknprinciple.Thespecificationconsistsof700linesoftextualSDLandithas8SDLprocesses.Fourofthemareusedonthesenderside,oneisusedtosimulate

thephysicalmediumandtheotherthreeareusedonthereceiverside.Forthisspecificationtwoprocessesgroupswerecreated.Thefirstgroupconsistsofthreeprocessesofthesendersideandthesecondgroupconsistsoftwopro-cessesofthereceiverside.Thisresultsinareductionfrom8to5implementationprocesses.Forthemeasurements,datastreamsweregeneratedanditsdurationmeasuredfor

,,,andpacketsasillustratedontheFigure3-(b).Theexperimentsshowedaspeed-upof3.5.

7.Conclusions

Inthispaper,wepresentedanoptimizationtechniquetoenhancetheperformanceofSDLderivedsystemimplemen-tationsaswellasatooltosupportthecompletedevelop-mentprocess,fromthespecificationtothecodegenerationandoptimization.Wealsoexecutedexperimentswithtwocasestudiesthatshownasignificantspeed-upontheopti-mizedcode.

References

[1]G.Berry.TheFoundationsofEsterel.Proof,Languageand

[2]Interaction:C.C.I.T.T.EssaysFunctionalinHonourSpecificationsofRobinandMilnerDescription,1998.

Lan-[3]guageJ.Ellsberger,(SDL).Rec.D.Hogrefe,z.100-z.104,andGeneva,A.Sarma.1984.

SDL-For-malObject-OrientedLanguageforCommunicatingSystems.[4]PrenticeD.D.Gajski,Hall,1997.

F.Vahid,S.Narayan,andJ.Gong.Specifica-tionandDesignofEmbeddedSystems.P.T.R.PrenticeHall,[5]1994.

R.Henke,H.K¨onig,andA.Mitschele-Thiel.Derivationof

EfficientImplementationsfromSDLSpecificationsEmploy-ingDataReferencing,IntegratedPacketFramingandActiv-ityThreads.InSDL’97,Proceedingsofthe8’thSDL-Forum,[6]97.

R.Henke,H.K¨onig,A.Mitschele-Thiel,and

P.Langend¨orfer.AutomatedDerivationofEfficientIm-plementationsfromSDLSpecifications.TechnicalReport[7]11/96,G.Kahn.IMMDTheVII,semanticsUniversityofaofSimpleErlangen-NurembergLanguageForParallel

,96.[8]Programming.K¨onig.eXampleInformationDataTransferProcessingProtocol,74,(XDT).1974.Technical

[9]ReportS.LeueI-18/1997andP.Oechslin.,1997.

OptimizationtechniquesforParal-lelProtocolImplementations.InProceedingsoftheFourthIEEEWorkshoponFutureTrendsinDistribuitedComputers[10]SystemsS.Leue,andpagesP.Oechslin.387–393,On1993.

ParallelisingandOptimizingthe

ImplementationofCommunicationProtocols.IEEE/ACM[11]TransactionsA.Mitschele-ThielonNetworkingandB.,M¨4(1),uller-Clostermann.1996.Perfor-manceEngineeringofSDL/MSCSystems.JournalonCom-[12]puterVerilog:GEODE.NetworksandTechnicalISDNSystemsPresentation,,1998.

Verilog,1994.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top