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.
因篇幅问题不能全部显示,请点此查看更多更全内容