• Sonuç bulunamadı

S-IDE: a tool framework for optimizing deployment architecture of High Level Architecture based simulation systems

N/A
N/A
Protected

Academic year: 2021

Share "S-IDE: a tool framework for optimizing deployment architecture of High Level Architecture based simulation systems"

Copied!
22
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

ContentslistsavailableatScienceDirect

The

Journal

of

Systems

and

Software

jo u rn al h om epa g e :w w w . e l s e v i e r . c o m / l o c a t e / j s s

S-IDE:

A

tool

framework

for

optimizing

deployment

architecture

of

High

Level

Architecture

based

simulation

systems

Turgay

elik

a,∗

,

Bedir

Tekinerdogan

b

aDepartmentofComputerEngineering,HacettepeUniversity,Ankara,Turkey bDepartmentofComputerEngineering,BilkentUniversity,Ankara,Turkey

a

r

t

i

c

l

e

i

n

f

o

Articlehistory:

Received30June2012

Receivedinrevisedform27February2013 Accepted1March2013

Available online 20 March 2013 Keywords:

Deploymentmodeloptimization Metamodelbasedtooldevelopment Distributedsimulation

HighLevelArchitecture(HLA) FEDEP

Softwarearchitecture Modeltransformations Metamodeling

a

b

s

t

r

a

c

t

OneoftheimportantproblemsinHighLevelArchitecture(HLA)baseddistributedsimulationsystems istheallocationofthedifferentsimulationmodulestotheavailablephysicalresources.Usually,the deploymentofthesimulationmodulestothephysicalresourcescanbedoneinmanydifferentways, andeachdeploymentalternativewillhaveadifferentimpactontheperformance.Althoughdifferent algorithmicsolutionshavebeenprovidedtooptimizetheallocationwithrespecttotheperformance,the problemhasnotbeenexplicitlytackledfromanarchitecturedesignperspective.Moreover,foroptimizing thedeploymentofthesimulationsystem,toolsupportislargelymissing.Inthispaperweproposea methodforautomaticallyderivingdeploymentalternativesforHLAbaseddistributedsimulationsystems. ThemethodextendstheIEEERecommendedPracticeforHighLevelArchitectureFederationDevelopment andExecutionProcessbyprovidinganapproachforoptimizingtheallocationatthedesignlevel.The methodisrealizedbythetoolframework,S-IDE(Simulation-IDE)thatwehavedevelopedtoprovide anintegrateddevelopmentenvironmentforderivingafeasibledeploymentalternativebasedonthe simulationsystemandtheavailablephysicalresourcesatthedesignphase.Themethodandthetool supporthavebeenvalidatedusingacasestudyforthedevelopmentofatrafficsimulationsystem.

© 2013 Elsevier Inc. All rights reserved.

1. Introduction

Simulationsystemsareusedtosimulaterealworldconcepts indifferentdomainssuchasmanufacturing,performanceanalysis, decisionsupport,virtualexercises andentertainment.Thereare differentreasonsforusingsimulationsystemsincludinganalysis andtesting,costreductionindevelopment,training,etc.Dueto thecomplexityofthesimulateddomainveryoftenthesimulation isexecutedacrossmultiplenodesandlikewiseseveraldifferent simulatorsareintegrated withinasingledistributed simulation environment.The reasonfor distributingthesimulation is usu-allyforreducingtheexecutiontime ofthesimulation, enabling geographicdistributionofsimulationparts,andenablinglarge sim-ulationswithalargenumberofusers(Fujimoto,1999).

Developingdistributedsimulationsystemsisnoteasybecause differentsimulatorsmightrunondifferentplatforms,adopt dif-ferentdatatypes,usedifferentcommunicationmechanisms,etc. Hence,animportantchallengeindistributedsimulationsystemsis theintegration,reusabilityandinteroperabilityofthevarious sim-ulators.Toreducetheeffortfordevelopingdistributedsimulations, severalstandardsimulationinfrastructureshavebeenintroduced

∗ Correspondingauthor.Tel.:+905054768307. E-mailaddress:[email protected](T.C¸elik).

including Distributed Interactive Simulation (DIS)(IEEE, 1998), High Level Architecture (HLA) (Kuhl et al., 1999; IEEE, 2010a), andTestandTrainingEnablingArchitecture(TENA)(Noseworthy, 2008).Amongthese,HLAisanimportantIEEEandNATOstandard specifiesa generalpurposesimulation architecturefor realizing interoperableandreusabledistributedcomputersimulation sys-tems(Kuhletal.,1999;IEEE,2010a).

OneoftheimportantproblemsinHLAbaseddistributed simu-lationsystemsistheallocationofthedifferentsimulationmodules totheavailablephysicalresources.Eachdeploymentalternative representsadifferentallocationofmodulestophysicalresources andthiscanbedoneinmanydifferentways.Further,each deploy-mentalternativewillhaveadifferentimpactontheperformance. Thisproblemcanbecategorizedasataskallocationproblemthat hasbeenwidelyaddressedintheliterature(Stone,1977;Lo,1988; Pirim,2006;Mehrabietal.,2009).Tosolvethetaskallocation prob-lemdifferentalgorithmicsolutionshavebeenproposed.Hereby, thealgorithmstakeasinputseveraloptimizationparameterssuch asexecutioncost,communicationcost,memoryrequirementand I/Ocost.Basedontheseinputparametersthetaskallocation algo-rithms aim to derive feasible allocation of tasks to processors (Stone,1977;Lo,1988).Theevaluationofthedeployment alter-nativeisusuallybasedonexpertjudgmentandpostponedtothe implementationphase.Onecannotalwaysrelyonexpertjudgment becausefindingexpertsthathave botha broad andspecialized 0164-1212/$–seefrontmatter © 2013 Elsevier Inc. All rights reserved.

(2)

knowledge onthe correspondingdomains is not easy. Further, humanexpertjudgmentscanbefeasibleforsmalltomedium sys-temsbutareinadequateforlargeandcomplexsystems.Moreover, postponingtheevaluationof thedeploymentalternativetothe implementationphase,might lead tonon-feasible implementa-tionswhichmayrequireunnecessaryiterationofthedesignand therelatedprojectlifecycleartifactssuchasdetaileddesign, imple-mentation,testartifacts,documentation,etc.Onitsturnthiswill leadtodelaysintheprojectscheduleandincreasedcostduetothe unnecessaryreworkofthelifecycleartifacts.

Theneedforearlyanalysisandoptimizationofthedeployment alternativeshasalsobeenaddressedbytheIEEERecommended Practice for High Level Architecture Federation Development andExecutionProcessFEDEP(IEEE,2003).FEDEPdescribes rec-ommendedtasks for evaluating alternative design options and estimatingthesimulationperformanceindesignphasebut delib-eratelydoesnotprovideadetailedprocessandimplementationfor theindicatedtasks.

Tocope withtheabove problemsand address theneedsas addressedbyFEDEP, weproposeamethodandourtool frame-workS-IDE (Simulation-IDE) that supports the earlyanalysis of deployment alternatives and the automatic generation of the deploymentalternativesforHLAbaseddistributedsimulation sys-tems. S-IDE tool framework consists of several tools based on metamodelsthat wehave developed includingFederation Data ExchangeMetamodel,SimulationModulesandPublish–Subscribe RelationsMetamodel,PhysicalResourcesMetamodel,Simulation ExecutionConfigurationMetamodel,andDeploymentMetamodel. Basedonthedesignmodelsdevelopedwiththesetools,the neces-saryparametervaluesforthetaskallocationalgorithmsaredefined, whicharethenusedforautomaticgenerationofafeasible deploy-mentalternative.Inaddition,thetoolframeworkcanbeusedfor designlevelanalysisincluding,theimpactofaddingnew simu-lationsmodulestothesystem,suitabilityoftheselectedphysical resourcesforthegivensimulationdesign,andtheimpactofthe changeofpublish–subscriberelations.Toillustratetheusageofthe methodandS-IDEwehaveusedarealisticcasestudyconcerning thedevelopmentofatrafficsimulation.

Theremainderofthepaperisorganizedasfollows.InSection2 weprovidethebackgroundonHLAandModelDrivenEngineering (MDE).Section3definestheproblemstatementbasedonacase studythatwillbeusedinsubsequentsections.Section4presents themethodforevaluatingalternativedesignoptionsbriefly. Sec-tion5describesthemetamodelsthatS-IDEtoolframeworkisbuilt on.Section6presentsthemodeltransformationsstepbystepfor derivingfeasibledeploymentalternatives.Section7provides real-izationofS-IDEtoolframeworkandusingS-IDEtoderiveafeasible deploymentalternativeforthecasestudy.Section8providesthe evaluationofthetool.Section9providesthediscussion.Section 10describestherelatedworkandfinallyweconcludethepaperin Section11.

2. Preliminaries

Inthissectionwedescribethebackgroundforunderstanding andsupportingtheapproachthatwepresentinthispaper.In Sec-tion2.1wepresentabriefdefinitionoftheHighLevelArchitecture (HLA),followedbyashortoverviewofModel-DrivenEngineering (MDE)inSection2.2.

2.1. HighLevelArchitecture(HLA)

Asstatedbefore,HLAisanIEEEstandardthatsupports develop-mentofreusableandinteroperabledistributedsimulationsystems (Kuhletal.,1999;IEEE,2010a,b,c).Tosupportthedevelopmentof

Ce ntra l Infra s tructure Node

<<Infra s tructure >> Ce ntra l RTI Compone nt (CRC)

S imula tion Node

1..* 0..1

Fe de ra te

<<Infra s tructure >> Loca l RTI Compone nt

(LRC) S imula tion Module

Ins ta nce

Fig.1. Referencearchitectureforthehighlevelarchitecture.

HLAcompliantsimulationsystems,the“FederationDevelopment andExecutionProcess–FEDEP”hasbeendefinedasapartofHLA standard(IEEE,2003).

BasedonadomainanalysistoHLAstandardwecouldderive thereferencearchitectureofHLAbasedsimulationsystemswhich isshowninFig.1.Atypicalsimulation systemisdeployedona numberofSimulationNodes.EachSimulationNodeincludesoneor moreFederateswhichareprocessesthattogetherformthe sim-ulationexecution.EachmemberincludesanumberofSimulation ModuleInstancesandLocalRTIComponent(LRC).Simulation Mod-uleInstancesrepresent objectsfor simulating entitiesor events inthesimulation.RTIrepresentstheruntimeinfrastructurethat realizestheHLAstandard(IEEE,2010a).LRCenablesbi-directional interactionbetweenfederatesfordataexchangeandcollaborative executionofthesimulation.

ThesimulationmayalsoincludeanoptionalCentral Infrastruc-ture Node that contains Central RTI Component (CRC) which is responsibleformanagingthesimulationlifecycle,timing, synchro-nization,anddiscoveryconcerns.Althoughthiscomponentisnot mandatory,asaconvention,majorRTIimplementationsprovide CRCdefinitions.IncaseCRCismissing,theservicesneedtobe sup-portedbytheLRCs.AssuchboththeLRCandCRCprovidesimilar services.InFig.1thisisindicatedthroughthestereotype «Infra-structure».

TheCRCand LRC implementations togetherprovideservices forfederationmanagement,declarationmanagement,object man-agement,ownership management, time management, and data distributionmanagement(IEEE,2010b).

Thebasicinteractionmodelthat isadoptedin theHLA con-formstothePublish/Subscribepattern (Eugster etal.,2003).In thePublish/Subscribepatterntheproducerandconsumer appli-cations(members)are decoupled.Thisincreasesthereusability andinteroperability,whicharekeyconcernsinsimulationsystems. ThePublish/Subscribeinteractionisrealizedbythe«Infrastructure» componentsinthereferencearchitectureinFig.1.Federatesin thesimulationexecutioncanpublishandsubscribedataexchange modelelementsthroughtheservicesprovidedbythe «Infrastruc-ture»components.HLAstandarddefinestheObjectModelTemplate (OMT)thatcanbeusedtodefinedifferentdataexchangemodels whicharecalledFederateObjectModel(FOM)andSimulationObject Model(SOM)(IEEE,2010c).

2.2. ModelDrivenEngineering(MDE)

Intraditional,non-model-drivensoftwaredevelopmentthelink betweenthecodeand higherleveldesign modelsisnotformal butintentional.Requiredchangesareusuallyaddressedmanually usingthegivenmodelinglanguage.Becauseofthemanual adap-tationthemaintenanceeffortisnotoptimalandassuchsooneror laterthedesignmodelsbecomeinconsistentwiththecodesince changesare,inpractice,definedatthecodelevel.Oneofthekey motivationsforintroducingmodel-drivenengineering(MDE)isthe

(3)

S ource

Me ta mode l

S ource

Mode l

conforms to

Tra ns forma tion

Engine

Ta rge t

Me ta mode l

Ta rge t

Mode l

Tra ns forma tion

De finition

re a ds

write s

e xe cute s

re fe rs

to

re fe rs

to

Fig.2. Model-transformationpattern.

needtoreducethemaintenanceeffortandassuchsupport evo-lution(Frankeletal.,2004;Bezivin,2005;Schmidt, 2006).MDE aimstoachievethisgoalthroughdefiningmodelsandmetamodels asfirstclassabstractions,andprovidingautomatedsupportusing modeltransformations.Foragivenchangerequirementthecode isnotchangedmanuallybutautomaticallygeneratedor regener-ated,therebysubstantiallyreducingmaintenanceeffort.Further, becauseoftheformallinksbetweenthemodelsandthecodethe evolutionofartifactsinthemodel-drivendevelopmentprocessis synchronized.Thelinkbetweenthecodeandmodelsisformal.In fact,thereareonlymodels,andassuch,‘thedocumentationisthe code’.

MDErequiresmodeltransformationstoderivethetarget sys-temfromthemodel(semi)automatically.Thegeneralpatternfor modeltransformationsisshowninFig.2(Bezivin,2005;Czarnecki andHelsen,2006).Here,SourceModelisprovidedasinputto Trans-formationEnginethatgeneratesTargetModelbyusingpredefined TransformationDefinition.Bothmodelsconformtotheirrespective metamodels.

WecandistinguishbetweenModel-to-Modeltransformations (M2M),Model-to-Texttransformations(M2T),andText-to-Model (T2M) transformations. In M2M the transformation definition refers to metamodels of both the source and the target mod-els.DifferentM2Mapproacheshavebeenproposedincluding,for example,the“AtlasTransformationLanguage(ATL)”(ATL,2012) and “Query/View/Transformation (QVT)” (QVT, 2012) tools for model tomodeltransformation (Gronback,2009).In Model-to-TextTransformation(M2T)theoutcome istextsuchascodeor documentationand no target metamodel is used. Examples of M2TapproachesareJavaEmitterTemplates(JET)(JET,2012)and XPand(XPand,2012).In Text-to-Model (T2M), the transforma-tiondefinitionreferstometamodelsoftargetmodels.Examplesof approachesthatcanbeusedforT2MareXText(XText,2012)and GrammartoModelLanguage(Gra2Mol)(Gra2Mol,2012;Izquierdo and Molina, 2009) that enables model extraction from source code.

In the context of model driven development, Model Driven Architecture (MDA)is anMDEframework defined bytheOMG thatseparatestheplatformspecificconcernsfromplatform inde-pendent concerns to improve the reusability, portability and interoperabilityofsoftwaresystems(Schmidt,2006;Frankeletal., 2004).Tothisend,MDAdefinesso-calledPlatformIndependent Models(PIMs)andPlatformSpecificModels(PSMs).ThePIMisa modelthatabstractsfromanyimplementationtechnologyor plat-form.ThePIMistransformedintooneormorePSMswhichinclude theplatformspecificdetails.FinallythePSMistransformedtocode providingtheimplementationdetails.Obviouslybyseparatingthe platformspecificconcernsandprovidingmechanismstocompose theseconcernsafterwardsinthecodeMDAprovidesaclean separa-tionofconcernsandassuchthesystemsarebetterreusableeasier toporttodifferentplatformsandhaveincreasedinteroperability.

3. Problemstatement

In this section we define the problem statement and illus-trateourapproachbyusingaconcretecasestudy.Firstsubsection definesthecasestudy,secondsubsectionprovidesasample sce-nariobuildonthecasestudyandfinallythirdsectiondefinesthe problembyusingthedefinedcasestudyandthescenario. 3.1. Casestudy—atrafficsimulation

Thecasestudythatweconsideristhedevelopmentofa traf-ficsimulation.Themainobjectiveofthissimulationistosupport theanalysisandoptimizationofvarioustrafficflowparametersfor efficientmovementoftrafficandminimaltrafficcongestion prob-lems.Thelogicalviewforthecasestudythatdepictssimulation environmentisgiveninFig.3.

Themainparticipantsofthesimulationenvironmentarecars, trucks, drivers, speed cameras, traffic lights, lane closes and a traffic analyzer. Other artifacts such as crossings, pedestrians, fixed/mobileradars,on-rampsandweatherconditionsthataffect

Ca r

S pe e d Ca me ra

Drive r

Tra ffic Light

*

*

*

*

Tra ffic Ana lyze r

Ne twork

La ne Clos e * 1 Truck *

(4)

Table1

Asamplescenarioforthecasestudy.

Simulationmodule Number

Carsimulation 600

Trucksimulation 80

Driversimulation 680

Speedcamerasimulation 5

Trafficlightsimulation 15

Laneclosesimulation 4

Trafficanalyzersimulation 1

thetrafficflowarenotincludedinthecasestudyforthesakeof

simplicity.Inthefigurenoparticularnumberforthesimulation

participantsisgiven,but‘*’isusedtoindicatezeroormore

sim-ulators.Thespecificnumberofsimulatorswillbedefinedbythe

concretescenariowhichwillbeexplainedinthenextsub-section.

Thedefined simulation systemcase study includescars and

trucksasvehicles.Avehiclemodelshallincludepropertiessuchas

modelyear,motorpower,currentdriverid,etc.Drivershave

differ-entphysicalandbehavioralpropertiesthataffectthetrafficflow.

Adrivermodelshallincludepropertiessuchasdriverid,

socio-demographic factors (age, gender, driving experience in years,

etc.),drivingstyle(dissociative,anxious,risky,angry,high-velocity,

distress-reduction,patient,andcareful)(Taubman-Ben-Arietal.,

2004),andaccidentexperiencethatindicateshowmanyaccidents thedriveralreadybeinvolvedinChungandWong(2010).Speed cameras,trafficlights,andlaneclosesareparticipantsthat gener-allyslowdownthetrafficflow.Aspeedcameramodelshalldefine positionand speedlimitvalueparameters.Atrafficlight model shalldefinepositionandlightstate(red,yellow,orgreen).Alane closemodelshalldefineastartposition,anendposition,timeslice thatlaneisclosedandalaneindexthatindicatesclosedlane(like 1stlane,2ndlane).Trafficanalyzerisapassiveparticipantthat col-lectssimulationdatafromotherparticipantssuchasvehiclesand driverstoperformanalysis.

3.2. Asamplescenarioforthetrafficsimulationcasestudy

Afterthedefinitionofthesimulationenvironmentinthecase study section above, we can now define a sample simulation scenario. A scenario includes the types and numbers of major simulationentitiesaccordingtotheearlierdefinedsimulation envi-ronment.Table1showsasamplescenarioforthecasestudy.

The‘SimulationModule’columnofthetableindicatesthe simu-lationparticipantsthattogetherformthesimulationofthesystem. The‘Number’column definesthenumberofsimulation partici-pantsofthe simulationmodule type inthegiven scenario.For example,inthescenarioasdefinedinTable1thereare600carsand 80trucks.Asitcanbeobservedforagivenscenariothetotal num-beroftherequiredsimulationmodulesmightbequitelarge.For thescenariogiveninTable1totalnumberofsimulationmodules is1386.

3.3. Definingtheproblemstatement

After the simulation objectives and a sample scenario are defined,wecanstartdesigningthesimulationsystem.Usingthe referencearchitectureasshowninFig.1andthegivenscenarioin Table1,wecanderivethedeploymentalternative.Adeployment alternativedefinesthemappingofthesimulationmodulesinthe scenariotothenodesandfederates.

Forexample,wecandefineadeploymentalternativewithfour nodesinwhichallcar simulationmodules aredeployedonthe firstnode,alltrucksimulationmodulesaredeployedonthesecond node,alldriversimulationmodulesaredeployedonthethirdnode, andtherestofthesimulationmodulesaredeployedonthefourth

node.Thisalternativeactuallyfollowstheconceptualseparationof concernsinwhichaseparatenodeislogicallydefinedforeach sim-ulationmoduletype.Further,thecommunicationoverheadamong samesimulationmoduletypessuchascars,trucks,etc.are min-imizedbecauseofbeingdeployedonsamenode. Althoughthis alternativeiseasytounderstandbecauseofthelogicalseparation ofconcerns,itdoesnotalwayspay-off.Thisisbecauseseparately deployedsimulationmodulessuchascar,truckanddriver mod-ulesmayneedtointeractveryfrequentlywitheachotherforglobal coordination.

Asecond exampledeployment alternative maycontainonly threenodes. Inthis alternativecar, truckand driversimulation modulesarealldeployedonfirstnode,thespeedcamera,traffic lightandlaneclosemodulesaredeployedonsecondnodewhile trafficanalyzermoduleisdeployedonthirdnodeseparately.This alternativereducesthecommunicationoverheadamongcar,truck anddriversimulationmodulesbydeployingallofthemonthesame node,butontheotherhandthisdeploymentconfigurationmay causeresource(memory,processingpower,etc.)sufferingonthis node.

Wecanderivemanymore differentdeployment alternatives which may differ with respect to the number of deployment nodes,themappingofsimulationmodulestothefederates,etc. Obviously,thenumberofdeploymentalternativesisverylargeand eachdeploymentalternativewillperformdifferentwithrespect todifferentqualityconsiderationssuchaslogical separationfor understandability,optimizingcommunicationoverhead, enhanc-ingutilizationofphysicalresources,etc.

Asstatedbefore,theevaluationofthedesignandthe perfor-manceestimationiseitherdeferredtothedevelopmentphaseor performedbasedonexpertjudgmentinthedesignphase. How-ever,deferringthesedesigntaskstothedevelopmentphasemight leadtonon-feasibleimplementationswhichmayrequire unneces-saryiterationofthedesignandtherelatedprojectlifecycleartifacts suchasdetaileddesign,implementation,testartifacts, documen-tation,etc.Onitsturnthiswillleadtodelaysandhighercostinthe project.Ontheotherhand,expertjudgmentsarealsolimitedifthe systemgetstoocomplex.

In the following section we will provide a tool framework for designing thesimulation environment andderivingfeasible deploymentalternativesforHLAbasedsimulationsystems.

4. Methodforderivingfeasibledeploymentalternatives

Inthissectionweprovidethemethodforderivingand evalu-atingfeasibledeploymentalternativesbrieflybeforedefiningthe designandtheimplementationoftheS-IDEtoolframework.The methodwillbeusedinthedesignphasewherethesystemisnot developedyet,andthecodeisnotavailable.

The process flow of the methodis represented as an activ-ity diagram as shown in Fig. 4. Finding a feasible deployment modelmayrequireseveraliterationsofprocesssteps.Further,the finaldeploymentmodelis actuallybuiltonseveraliterationsof thedesign,development,andintegration/testactivitiesdefinedin FEDEP(IEEE,2003).Hereby,theinitialdeploymentmodelis pro-totypedandtestedindevelopmentandintegration/testactivities, andtheresultsarefed backtothedesigneruntil asatisfactory alternativeisderived.Theprocessstepscanbebrieflyexplained asfollows:

1.DesignFederationDataExchangeModel.Thisstepdefinesan ini-tialversion oftheFederation DataExchangeModel (FDEM) thatisnecessarytoenabledataexchangeamongsimulation modules.Actually,aFDEMisanextendedversionofanHLA

(5)

DesignSimulation Modules DesignPhysical Resources Design Pub/Sub Relations of Simulation Modules Design Simulation Execution Configuration Generate Input Parameters for Allocation Algorithm Find Feasible Deployment(s) Generate Deployment Model(s) Design Federation Data Exchange Model [feasiblealternative(s) found] [a feasible alternative not found] [feasible alternative not found

and changeofsimulation configurationnotsuitable]

AnalyzeTool Feedback Evaluate Generated Deployment Model(s) [Generated deploymentmodels are satisfactory] [Generated deploymentmodels are not satisfactory] [Generated deployment models are not satisfactory andchangeofsimulationconfigurationnotsuitable]

Fig.4. Methodforderivingfeasibledeploymentalternatives.

FederationObjectModel(FOM)(IEEE,2010c).Detailsofthis extensionrelationwillbeexplainedinSection5.

2.DesignSimulationModules.Thisstepincludesthedefinitionof simulationmodulesthatareartifactsofasimulationsystem responsibleformodelingeachpartofthesystem.Inthegiven examplescenarioasgiveninTable1simulationmodulesare, forexample,Car,Truck,Driver,SpeedCamera,etc.

3.DesignPub/SubRelationsofSimulationModules.Thisstepdefines thepublish/subscriberelationsofsimulationmodulesbasedon theFederationDataExchangeModelwhichisdefinedinfirst stepoftheprocess.Forexample,aCarobjectcanbepublished byCarModuleandsubscribedbySpeedCameraModule. 4.DesignPhysicalResources.Paralleltotheabovethreesteps,this

stepdefinestheavailablenodestogetherwiththeirprocessing power and memory capacity, as well as the network con-nectionsamongthenodes.For example,onemaydecideto adopt4nodesonwhichthesimulationparticipantsneedto bedeployed.Furtheritcouldbedecidedthateachnodehas amemorycapacityof36,840MBandcontainstwoprocessing unitsatthefrequencyof3.0MHz.Equally,thenodescouldalso havedifferentmemorycapacityandprocessingpower. 5.DesignSimulationExecutionConfiguration.Thisstepdefinesthe

run-timepropertiesof themodulesdefined in theprevious steps.Thisincludesthedefinitionofthenumberofsimulation moduleinstances,thedefinitionoftheupdaterateformodule instancesforeachpublication(inthepublish/subscribe defini-tion),andthedefinitionoftheexecutioncostofeachmodule instanceoneachtargetnode.

6.Generate Input Parameters for AllocationAlgorithm.After the stepsabove,boththestaticandrun-timepropertiesofthe sim-ulationparticipants,thesimulationentitiesandthephysical resourcesaredefined,thisstepderivesthenecessary parame-tervaluesforthealgorithmsthatdefineafeasibledeployment alternative.

7.FindFeasibleDeploymentModel(s).Thisactivitytakesthe out-putsofthepreviousactivityasinputparametersandexecutes thealgorithmstocomputefeasibledeploymentalternatives.If afeasibledeploymentisfound,thisactivityyieldsatablethat representsthemappingof tasks(moduleinstances) to pro-cessors(nodes).Itisalsopossibletogeneratemorethanone feasibledeploymentalternativeandpresenttheresultstothe designerfordecidingthedeploymentmodel.

8.AnalyzeToolFeedback.Ifnofeasiblesolutionwasfoundinthe previousstep,detailedfeedbackispresentedtothedesignerto optimizethedesignmodel.Thedesignerwillfirsttrytoupdate thesimulation executionconfiguration.If afeasible deploy-mentcanstillnot befoundthenthedesignercandecideto return tothe beginningof theprocess torefine/update the design.

9.Generate Deployment Model(s). The task-processor mapping tablesthataretheoutputofthepreviousstepwillbeusedin thisstepgenerateoneormoredeploymentmodels.

10.Evaluate Generated Deployment Model(s). In this step, the designerevaluatesthegenerateddeploymentmodelby com-paringitwith:(1)otherdeploymentmodelsgeneratedbythe selectedCTAPalgorithm(2)generatedalternativeswithother CTAPalgorithms(3)manuallygenerateddeploymentmodels withexpertjudgment.TheS-IDEtoolprovidesautomatic analy-sisandcomparisonfeaturesthatenableevaluatingdeployment modelswithrespecttodifferentqualityfactors.Thegenerated deploymentmodelswillbeimproveduntiltheyare consid-eredtobesatisfactorywithrespecttothedefinedgoalsofthe designer.Here asatisfyingalternativedefinesanalternative that meets the expectedimprovement rateof the commu-nicationandexecutioncostsforthedeploymentmodel.Ifa satisfactorysolutionisfound,thefeasibledeployment alterna-tivederivationprocesswillend.Otherwise,thedesignercan generatedesigndiagnosticfeedbackreportwiththeS-IDEtool and analysestheprovided feedback.Thedesigner firsttries tofind a satisfyingdeployment alternativeby updating the simulationexecutionconfiguration.Ifupdatingthesimulation executionconfigurationisnotenoughtoachieveasatisfying deploymentalternative,thedesignercandecidetoreturnto thebeginningoftheprocesstorefine/updatethedesign.

5. Metamodels

Inthissectionwewilldescribethemetamodelforthemodels thataredefinedinthemethodasshowninFig.4.Themetamodel isshowninFig.5.Asitcanbeseenfromthefigurethemetamodel consistsoffivemainpartsincludingFederationDataExchange, Sim-ulationModulesandPublish/SubscribeDefinitions,PhysicalResources, Simulation Execution Configuration and Deployment metamodels. Weexplaineachofthesemetamodelsinthefollowingsubsection. 5.1. Federationdataexchangemetamodel

TheFederationDataExchangeMetamodelisusedtodescribe Fed-erationDataExchangeModelsinStep1ofthemethoddescribed in Section 4. We have defined this metamodel byreusing and extendingtheHLAOMT(IEEE,2010c)standardwhich definesa standardmetamodelforderivingFederationObjectModels(FOM) andSimulationObjectModels(SOM).TheresultingFederationData

(6)

Fig.5.Highlevelviewofthemetamodels.

ExchangeMetamodelcorrespondstotheHLAOMTartifactswith anadditionoftheaveragesizeattributetoarraydatatype.Lateron, thisisnecessarytoallowtheestimationofthesizeofanexchanged objectduringfeasibledeployment analysisatthedesign phase. Sincetheresultedmetamodelisquitelargeinsize,wehaveonly shownthepartofthemetamodelthatrelatestotheotherpartsof ourmetamodelinFig.5.Asitisshowninthefiguretheelement ObjectModelElementisthepartthatdefinestheconnectionwiththe otherpartsofourmetamodel.

Torepresentsimulationentities,HLAOMTspecificationdefines thethreekeyelementsofObjectClasses,InteractionsandDataTypes (notshowninthefigure).ObjectClassesareusedtodefinethe sim-ulationentities.Inourcase,ObjectClassesareusedtorepresent, forexample,Car,Truck,SpeedCamera,etc.Interactionsareusedto representthemessagingsemanticsamongsimulationparticipants. Forexample,messageslikeSpeedLimitViolation,TrafficLightChange areexamplesofinteractions.Finally,DataTypesrepresenttypesof theattributesofObjectClassesandparametersofInteractions.For example,theObjectClassCarcouldhave anattribute positionof typePosition2D,andtheInteractionSpeedLimitViolationcanhave aparametercarIDofStringtype.

5.2. Modulesandpublish/subscriberelationsmetamodel

TheSimulation Modules andPublish/Subscribe Relations Meta-model is used to describe Simulation Modules and Simulation Publish/SubscribeModelsinsteps2and3ofthemethoddescribed inSection4.Wehavedefinedacommonmetamodelthatcanbe usedtodefineboththesimulationmodulesandthecomposition relations.SimilartotheDiscreteEventVirtualSimulation(DEVS) specification (Zeigler, 2003)themetamodel defines atomic and coupledmodelsthatformthesimulationsystems.

AsshowninFig.5,ModuleDefinitionModelrepresentsamodule definitionmodelthatdefinesmodulesandtheirPublish/Subscribe relations. ModuleDefinitionModel contains elements of Atomic-Module, CoupledModule and PubSubRelation. An AtomicModule represents elementary simulation models while CoupledModule represents more complex simulation models that may contain other atomic or coupledmodules. Thiscontainment relation is shown as moduleContent reference in the metamodel. Module is the abstract base class for AtomicModule and CoupledModule definitions.PubSubRelationclassinthemetamodeldefinesa pub-lish/subscriberelationbetweenasimulationmoduleModuleand

(7)

FederationDataExchangeModel(FDEM)element ObjectModelEle-ment.

5.3. Physicalresourcesmetamodel

ThePhysicalResourceMetamodelisusedtorepresentthe arti-factsformodelingtheavailablephysicalresourcesinStep4ofthe methoddescribedinSection4.

PhysicalResourceModeldefinesaphysicalresourcemodelwhich canhaveoneormoreNodesthatrepresentcomputationresources. ThepowerFactorattributedefinestheprocessingpowerofthenode relativetoothernodes.Anodecanhaveoneormoreprocessors, memorycapacity,andoneormorecustomnodeproperties. Proces-sordefinespropertiesofaprocessingunitusingtheattributesname, frequencyandcoreCount.MemoryCapacityhasavalueattributethat representsthememorycapacityofthenodeintermsofmegabytes. CustomNodePropertycanbeusedtodefineadditionalpropertiesfor thenodeasname-valuepairs(e.g.diskCapacity–340GB).

Therecanbeoneormorenetworksinaphysicalresourcemodel. TheNetworkclassistheabstractbaseclassforLocalAreaNetwork (LAN)andWideAreaNetwork(WAN)classes.WideAreaNetworkclass hasspeedFactorattribute thatdefines thespeedof thenetwork incomparisonwithaLAN.LANConnectionrepresentsthe connec-tionofanodetoaLAN.Routerrepresentsroutersforconnecting networkswitheachother.LANRouterConnectionclassrepresents connectionofaLANtoarouterwhiletheRouterNetworkConnection classrepresentsconnectionofaroutertoanetwork.

5.4. SimulationExecutionConfigurationMetamodel

The Simulation Execution Configuration Metamodel is usedto definetheartifactstomodelthesimulationexecutionconfiguration inStep5ofthemethoddescribedinSection4. SimulationExecu-tionConfigurationclassdefinesasimulationexecutionconfiguration whichcontainselementsofMetadata,ModuleInstance, MultiMod-uleInstance,andPublication.Metadatadefinesname,version,creator, andcreation dateofa simulation executionconfiguration. Mod-uleInstancerepresentsaninstanceofasimulationmodulethatis definedintheSimulationModulesandPublish/SubscribeRelations Metamodel.

Eachmoduleinstancecanhaveadifferentexecutioncostfor differentnodes.For this ModuleInstanceincludestheparameter nodeExecutionCostTablethatdefinestheexecutioncostvaluesfor thenodesonwhichthemoduleinstancecanexecute.Notethat theexecutioncostisdependentontheselectedexecution configu-ration.Forexample,theexecutioncostofaSpeedCameramodel changes accordingto existing Carsand Trucks inthe execution configuration.Theexecutioncostisascaledvaluethatshowsthe executioncostofaSimulationModuleInstanceincomparisonwith otherSimulationModuleInstancesintheexecutionconfiguration. Forexample,theexecutioncostforeachCarmoduleinstanceis definedusingscaledvalueanddefinedas7over20foronenode, 14over20foranothernode,etc.Theexecutioncostsofsimulation modulesareinfluencedbytheprocessor’spowerFactorand memo-ryCapacityattributes.Inasimilarsense,thecommunicationcosts amongsimulationmodulesareinfluencedbythenetworks speed-Factorattribute.Sincetheexecutionandcommunicationcostsof moduleinstancescanonlybeexactlymeasuredafterthesystemis developed(Lauterbachetal.,2008),duringdesigntimetheirvalues canonlybeestimated.Thisestimationcanbeconductedbyusing, forexample,designphasecomplexitycalculationmethodssuchas proposedbyPodgorelecandHericko(2007),orprototyping.

TheattributerequiredMemoryofModuleInstancerepresentsthe estimatedmemoryamountthatthemoduleinstancewillrequire duringexecution.Similartotheexecutioncost,thisparametercan beestimatedinthedesignphase.TheattributeinstanceCountof

MultiModuleInstancedefinesthenumberofinstancesinthe exe-cutionconfiguration.Thisattributeisaddedbecausetheremaybe multipleinstancesofthesamemoduleinanexecution configu-ration.Forexampleinalargescaletrafficscenario,therecanbe hundredsofCarsanditisnotfeasibletoaddonemoduleinstance foreachofthemtotheexecutionconfigurationseparately.

TherelationcontainedModuleInstancesofModuleInstanceclass showsthemoduleinstancesthatacoupledmodulecontains.The relationrelatedModuleassociatesaModuleInstancewithaModule thatisdefinedintheactivityDesignSimulationModules. ModuleIn-stancecanhavezeroormorePublicationsthatrepresenttheupdate rateandtherelatedelementfromFDEM.Eachpublicationis associ-atedwithanobjectclassattributesetoraninteractionclassdefined inFDEM.

The updateRate attribute shows how many times a module instancewillupdateaFDEMelementinasecond.Forexample, wecoulddecidetohave1000Carmoduleinstanceswhereeachof thempublishesaCarobjectwithupdaterateof2timespersecond. 5.5. DeploymentMetamodel

TheDeploymentMetamodelisusedtodescribethedeployment modelinStep8ofthemethoddescribedinSection4.The deploy-ment Metamodel contains Membersand Nodes. EachMember is deployedononeoftheNodesdefinedinPhysicalResourceModel. OneormoreModuleInstancescanbedeployedonaMember.

6. Modeltransformations

ThemethodinSection4hasbeenrealizedasasetofmodel trans-formations.ThemodeltransformationchainisshowninFig.6.This modeltransformationchainconsistsofthethreebasic transfor-mationsModels-to-CTAP-ParamsTransformations,CTAPSolver,and TaskAlloc-to-DeploymentModelTransformation.These transforma-tionsaregeneric and donot dependontheuseof aparticular CTAPalgorithm.Weexplainthesetransformationsinthefollowing subsections.

6.1. Manualdesignofsimulationmodels

Theprocessstartswithdefiningthefederationdataexchange model,simulationmodulesandpub-subrelationsmodels,physical resourcesmodel,andsimulation executionconfigurationmodel. These are theoutputs of thefirst five activitiesof the method definedinSection4.Eachofthemodelsconformstotheir corre-spondingmetamodel,whichweredescribedinSection5.

6.2. Models-to-CTAPparameterstransformation

The simulation models are provided to the model trans-formation Models-to-CTAPParams which generates inputs for the“Capacitated TaskAllocation Problem (CTAP)”(Pirim,2006; Mehrabietal.,2009)algorithm.TheCTAPisarefinementofthe taskallocationproblem(TAP) towhichitaddsconstraintssuch asmemorycapacityandprocessingpowertotheproblem formu-lation.TheobjectiveintheCTAPistominimizethesumoftotal executioncostandtotalcommunicationcostamongthesimulation moduleinstances.Hereby,thememorycapacityandtheprocessing powerofeachnodeshouldnotbeexceeded.

Themetamodel for CTAPparameterspecification isgiven in Fig.7.Infact,therequiredparametersofCTAPcanbeextracted fromthesimulation design that hasbeen definedin the previ-ousactivities.InTable2wedescribeeachparameterandhowit isextractedfromthedesign.Theseparametersareindependentof thevariousCTAPalgorithmimplementations.Thetransformation

(8)

M M22 ((MMEETTAAMMOODDEELL)) M M11 ((MMOODDEELL)) Fe de ra tion Da ta Excha nge Me ta mode l S imula tion Module a nd P ub/S ub Re la tions Me ta mode l P hys ica l Re s ource s Me ta mode l S imula tion Exe cution Configura tion Me ta mode l Fe de ra tion Da ta Excha nge Mode l S imula tion Module s Mode l S imula tion P ub/S ub Re la tions Mode l S imula tion Exe cution Configura tion Mode l P hys ica l Re s ource s Mode l Mode l Me ta mode l Mode l Tra ns forma tion L

LEEGGEENNDD

Mode ls toCTAP -P a ra ms Tra ns forma tion

CTAP S olve r P a ra me te r-S pe c mode l flow Conforms to re fe rs Ta s kAlloc-to-De ployme nt Mode l Tra ns forma tion

Ta s k Alloca tion Ta ble (s )/ Fa ilure Fe e dba ck De ployme nt Mode l(s ) De ployme nt Me ta mode l P a ra me te r-S pe c Me ta mode l Ta s k Alloca tion Ta ble Me ta mode l

Fig.6. Model-transformationchainthatrealizesthemethodforderivingfeasibledeploymentalternative.

Models-to-CTAP-ParamsTransformationsperformsageneric trans-formationtoextracttheseCTAPparametervaluesthatcanbeused bytheselectedCTAPalgorithmimplementations.

6.3. CTAPsolver

Theinputparametersthatweregeneratedinthepreviousstep areprovidedtotheCTAPSolverwhichaimstofindatask-processor allocation.TheCTAPSolverdoesnotmandatetheuseofa partic-ularCTAPalgorithmimplementation.Wehaveprovidedageneric mechanismtoenabletheselectionandadaptationofdifferentCTAP algorithmimplementationsintheCTAPSolver.Forthis wehave usedtheOSGIserviceregistrycapabilitiesoftheEclipseEquinox platform(McAfferetal.,2010;OSGI,2011; Equinox,2012).The S-IDEtooldefinesagenericserviceinterfaceplug-inthatcanbe realizedbyvarious plug-insto providespecificCTAPalgorithm implementations.TheCTAPSolvermodulequeriestheregistered

CTAPalgorithmimplementationsviaOSGIserviceregistryandas suchenablestheusertoselectoneoftheregisteredalternative algorithms.For detailedinformation onaddingnewCTAP algo-rithmimplementations we refer to theproject web site (SIDE, 2012).

Forourproblem,wefocusonoptimizingtheallocationof sim-ulationmoduleinstancestonodesbyconsideringexecutioncost, memoryrequirement,communicationcost,processingpower,and memorycapacityparametersasdefinedinthesimulationdesign. Pleasenotethat wedo not focusona particularalgorithm but recommendusingapracticaloneforthecorrespondingcase.The outputoftheCTAPSolverisTaskProcessorAllocationTablewhich describesthemappingoftaskstoprocessors.Themetamodelfor TaskProcessorAllocationisgiveninFig.8.

Fordifferentsimulationcontextsthedesignercanchoose dif-ferentCTAPSolverimplementations.Tosupportthedesignerin selectingtheappropriate algorithm implementations, theS-IDE

(9)

Table2

ExtractingCTAPparametersfromthedesign.

CTAPparameter Extractionfromdesign

T Setofmtasks.Tasksareextractedfrommodule instancesdefinedinSimulationExecution ConfigurationModel.

P Setofnnon-identicalprocessors.Processorsare extractedfromnodesdefinedinPhysicalResource Model.

Mp Memorycapacityofprocessorp.Memorycapacityis

extractedfrommemoryCapacityattributeofeachnode definedinPhysicalResourceModel.

Cp Processingpowerofprocessorp.Processingpoweris

extractedfrompowerFactorattributeofeachnode definedinPhysicalResourceModel.

mi Amountofmemoryneededfortaski.Amountof

requiredmemoryisextractedfromrequiredMemory attributeofModuleInstancedefinedinSimulation ExecutionConfigurationModel.

xip Processingpowercostofexecutingtaskionprocessor

p.Processingpowercostisextractedfrom nodeExecutionCostTableattributeofModuleInstance definedinSimulationExecutionConfigurationModel. cij Communicationcostcijiftasksiandjareassignedto

differentprocessorscalculatedbyusing:Publications definedinSimulationExecutionConfigurationModel, SubscriptionsdefinedinPublish/SubscribeRelations Model,ObjectmodelelementsdefinedinFederation DataExchangeModelCommunicationcostbetween twonodesisnegligibleiftwotasksareassignedtothe sameprocessor.

toolprovidestheobjectivesand characteristicsofthealgorithm

thataredefinedbythealgorithmdeveloper.

TheCTAPparameterscanbeprioritizediftheselectedCTAP

algorithmsupportssuchaprioritization.Forexample,thegenetic

algorithmbasedCTAPimplementationthatwehaveusedforour

experimentsdefinesthesamecoefficientsforexecutionand

com-municationcosts,thustheparameterprioritiesareequal.However,

as stated before the S-IDE tool doesnot mandatea particular

implementationofthealgorithm,andifneededdifferent

imple-mentationsmightbeselectedthatsupporttheprioritization.The

S-IDEtoolasksthedesignertodefinetheprioritiesiftheselected

CTAPalgorithmsupportstheprioritizationoftheparameters.

6.4. Taskallocation-to-deploymentmodeltransformation

TaskProcessor Allocation Table generated in previous step is

providedasaninputtoTaskAllocation-to-DeploymentModel

Trans-formationthatgeneratesthefinaldeploymentmodels.Incasethe

CTAPSolvercannotfindafeasibletasktoprocessorallocation

alter-nativeorifthealternativeisnotsatisfying,thedesignercanusethe

S-IDEDesignAnalysisToolthatprovidesadetaileddesign

diagnos-ticfeedback.Thedesigndiagnosticfeedbackcontainsthefollowing

information:

• Thecommunicationcostsamongsimulationmoduleinstances

orderedbysizeoftransferreddatapersecond.

• Thesimulationdataexchangemodelobjectsorderedbysize.

• Thesimulationmoduleinstancesorderedbyrequiredamountof

memory.

• Thephysicalresourcesorderedbycapacitylimits.

Thedesignercanusethisdiagnosticfeedbacktoanalyzethe

sim-ulationdesign,updatethemodels,andrestartthetransformation

processagainuntilafeasibleandsatisfyingsolutionisfound.In

gen-eral,distributedsystemsareoptimizedusingdesignheuristicsfor

reducingeitherthecostparametervaluessuchasbandwidthusage

and/orenhancingthecapacitiesoftheadoptedphysicalresources

(Izosimovetal.,2005;WhiteandSchmidt,2010).Basedonthese generaldesignoptimizationheuristicsaswellasourownlessons learnedfromrealindustrialHLAbaseddistributedsimulation sys-tems(C¸eliketal.,2012)andOMGDDSbasedrealtimesystemswe havedefinedthefollowingcategoriesofheuristicrulesthatcanbe appliedinthemethodtooptimizethesystemifafeasibletaskto processorallocationcannotbefound:

1.Simulation Execution Configuration Optimizations.The designer may first try to reduce update rates in the simulation exe-cution configuration. For example, for the given traffic case study,thedesignermaydecidethat trucksareslowvehicles andtheirupdateratesinthesimulationcanbereducedfrom 2updates/secondto1updates/second.

2.SimulationDesignOptimizations:

(a)Ifreducingtheupdateratesinthesimulationexecution configu-rationdoesnothelpfindingafeasiblesolution,thedesignercan re-organizethesubscribeddatasetsandsplitthefederationdata exchangemodelobjectstructures.Inmanycasesthesubscriber onlyrequiresaspecificsetofdataclassattributes(e.g.speedof theobject).

(b)Thedesignermaycheckthereliabilitylevelsofthedataexchange modelelements.InHLA,aFOMobjectcanbesharedamong fed-erateseitherwithReliableor BestEffortreliabilitylevels.The communicationcostofsharingreliabledataishigherthanbest effortsharing.ThereliabilityleveloftheFOMobjectsdefined ReliablecouldbereducedtoBestEffortwherepossibleto fur-theroptimizethesimulationdesign.Forexampleinthetraffic simulationcasestudy,thepositionofthevehiclesisfrequently updatedandcanbedefinedasBestEffort.Insuchacase,the sub-scribersshallusedeadreckoningmethods(Fujimoto,1999)for calculatingthevehiclepositions.

3.PhysicalResourcesModelEnhancements:Ifalldesignlevel opti-mizationsdescribedaboveareappliedanditisstillnotpossible tofindafeasibledeploymentalternative,theonlyalternativeis enhancingthephysicalresources.

Thedesigndiagnosticfeedbackisautomaticallygeneratedifat leastonedeploymentalternativecannotbefound.Thedesigner canalsomanuallytriggerdesigndiagnosticprocessinS-IDEtoolif he/sheisnotsatisfiedwiththequalityofthegenerateddeployment models.Inthiscase,thedesignercanfollowtheheuristicslisted abovetoimprovesimulationdesignuntilasatisfyingdeployment alternativecanbederived.

6.5. Implementationandverificationofthetransformationrules In the above transformations we have basically applied model-to-model transformations in which the transformation

(10)

P hys ica l Re s ource s De s ign Tool

Fe de ra tion Da ta Excha nge Mode l De s ign Tool S imula tion Module s a nd P ublis h/S ubs cribe Re la tions

De s ign Tool S imula tion Exe cution Configura tion

De s ign Tool De ployme nt Mode l Ge ne ra tion Tool

Eclips e P la tform EMF GEF GMF E m fa ti c EuGEN ia

Fig.9. LayeredarchitectureofS-IDEenvironment.

rules refer to metamodels of the source and target models. Therearedifferentapproachesforimplementingmodel-to-model transformationsincludingdirectmanipulation,structure-driven, operational,template-based,relationalandgraph transformation-basedandhybridapproaches(CzarneckiandHelsen,2006).We preferredto adopt thedirect model manipulation withEclipse EMFin which aninternal model representation plus some API is provided tomanipulate the models.The advantage of direct manipulation approach is that we could implement complex transformation rules using ouradopted programminglanguage (Java).Likewisewecouldmoreflexiblyimplementthecomplex functionalityofthemodeltransformationssuchascalculating com-municationcostparameters.

Validatingtheimplementedtransformation rulescanalsobe doneindifferentwaysbasedontheselectedmodel transforma-tionapproach(Büttneretal.,2011).Sinceweuseddirectmodel manipulationapproachwecouldverifythecorrectnessoftherules usingunittestingcapabilitiesoftheJavaprogramming environ-ment(JUnit,2012).Wehavetestedeachmodel-transformationunit usingdifferentinputs.

7. S-IDEtoolframework

InthissectionwewillpresenttheS-IDEtoolframeworkwhich providesanintegrateddevelopmentenvironmentforsupporting themethodasdefinedinSection4(SIDE,2012).S-IDEtool frame-workis based on themetamodels as defined in Section 5 and themodeltransformationsasdefinedinSection6.S-IDEisbuilt ontheEclipseplatformandisimplementedasasetofplug-ins. Thedevelopedplug-insarebuiltonotherEclipseframework plug-insincludingEclipseModelingFramework(EMF)(Budinskyetal., 2003),GraphicalEditingFramework(GEF)(Mooreetal.,2004),and GraphicalModelingFramework(GMF)(Voelteretal.,2006).EMF isamodelingframeworkandcodegenerationfacilitythatweuse todevelopthemetamodels.GEFisaframeworkthatisusedfor generatingrichgraphicaleditorsandviews.GMFisagenerative componentandruntimeinfrastructurethatweusefordeveloping graphicaleditorsforthedevelopedmetamodels.Further,weuse Emfatic(Daly,2004),whichprovidesatexteditorandalanguage foreditingEMFmodels.InadditionweuseEuGENia(Kolovosetal., 2010)GMFtoolthatprovidesmechanismsfor abstractingaway thecomplexityofGMFandforeasierdevelopmentofGMFeditors. EuGENiatoolisapartofEpsilonproject(Kolovosetal.,2006).The layeredtoolarchitectureoftheS-IDEisgiveninFig.9.

Inthefollowingsubsectionswedescribethetop-leveltool archi-tecture(Section7.1),showtheapplicationofS-IDEfordesigning thesimulationmodelsfortheselectedcasestudy(Section7.2),and

describethegenerationofthedeploymentmodelforthecasestudy (Section7.3).

7.1. Toolarchitecture

S-IDEconsistsoffivedifferenttools.Thecommonperspective ofS-IDEtoolsisgiveninFig.10.TheleftpaneincludestheModel Navigatorthatshowstheavailablemodelsandtheirelements.The ModelEditingPaneinthemiddleprovidesthemaindrawingarea forthesimulationdesign.TheItemPaletteontherightprovides theobjectsandtheconnectionsthatareusedforcreatingadesign model.TheitemsinthispalettecanbeaddedtotheEditingpaneby dragginganddropping.ThePropertiesViewatthebottomprovides aneditingareafortheattributesofthedesignmodelelementsthat areselectedfromtheEditingPaneortheModelNavigator. 7.2. UsingS-IDEtodesignsimulationmodelsforthecasestudy andderiveafeasibledeployment

InthissectionweusetheS-IDEtodesignthetrafficcasestudy definedinSection3.2andwederiveafeasibledeploymentmodel forthecasestudy.Restofthissectionexplainseachstepofusing S-IDEforthecasestudy.

7.2.1. Designingtrafficsimulationfederationdataexchange model

Figs.11and12togethershowTrafficSimulationFederationData ExchangeModel(FDEM)that hasbeendesigned usingtheS-IDE framework.Fig.11definestheobjectclassesofdatamodelwhile Fig.12definestheinteractionclasses.Bothfiguresalsodefinethe necessarydatatypes.

InFig.11,theHLAObjectRootobjectclassisdefinedasrootclass forallotherobjectclassesinconformancewithHLAOMTstandard. PhysicalEntityobjectclassderivesfromtherootclassanddefines twobasicproperties–positionand identification–of aphysical entity.PositionattributeofPhysicalEntityisdefinedbyPosition2D datatypewhichprovideslocationinformationinmeansoflatitude andlongitudevalues.Car,Truck,TrafficLight,SpeedCameraandDriver objectclassesaredefinedinasimilarfashionwithnecessarydata typedefinitionssuchasDrivingStyleEnumenumeratedvaluethat representsdrivingcharacteristicsorTraficLightEnumthatspecifies currentlightstate,oneofRed,Yellow,andGreenvalues.

InFig.12,theHLAInteractionRootinteractionclassisdefinedas rootclassforallotherinteractionclassesinconformancewithHLA OMTstandard.Speedlimitviolations,trafficlightviolationsand accidentsaredefinedasinteractions.Fig.12alsodefinesvarious parameterssuchasviolatingvehicleidorvehicles/pedestriansthat areinvolvedintheaccident.

7.2.2. Designingtrafficsimulationmodulesandpublish/subscribe relations

Fig.13showsthedesignoftrafficsimulationmodulesand pub-lish/subscriberelationsinmeansofTrafficSimulationFederation DataExchangeModeldefinedinpreviousstep.

Asshown in figure,CarModel,TruckModel,DriverModel, Traf-ficLightModel,LaneCloseModel,andSpeedCameraModelsimulation modules defined in according to case study. TrafficAnalyzer simulationmoduledefinedinthecasestudyisrefinedand Driver-Tracker, VehicleTracker, AccidentTracker,and RuleViolationTracker sub-modulesaredefinedasartifactsofTrafficAnalyzermodule.This decompositionmakestheTrafficAnalyzermodulea“coupled mod-ule”thatiscomposedofseveral“atomicmodules”(see“Modules andPublish/SubscribeRelations”metamodelgiveninSection5.2 foratomicandcoupledmoduledefinitions).

Eachmodulepublishestheobjectandinteractionclassesthat they own modeling responsibility (e.g. CarModel publishes Car

(11)

Fig.10.GeneralperspectiveofS-IDEtool.

objectclassandAccidentInteractioninteractionclass).Modulesalso subscribe toobjectand interaction classesto receivenecessary updatesofinteresteddata.Forexample,DriverModelsubscribesto TrafficLightandVehicleobjectclassesformodelingbehaviorofthe driver.

7.2.3. Designingphysicalresourcemodel

Fig.14showsanexamplePhysicalResourceModelforthecase, whichhasbeendesignedusingthePhysicalResourceDesignTool. Intheexample,wehavedefined4nodeswithdifferentprocessors andmemorycapacities.Asshowninthefiguresomenodes,like Node-4,canhavemorethanoneprocessor.Although,theexample showsonlyoneLocalAreaNetworkonwhichthenodesare con-nected,thetoolalsoenablesthedesignofheterogeneousLAN/WAN networks.

7.2.4. Designingtrafficsimulationexecutionconfiguration

TheModuleandPublish–SubscribeRelationsModel (Fig.13) andPhysicalResourceModel(Fig.14)areusedintheSimulation ExecutionConfigurationDesignTooltodefinetheSimulation Exe-cutionConfiguration.PartofthelattermodelisshowninFig.15. Here we show an example simulation execution configuration for the scenario as defined in Table 1. The simulation module instances areshown using rectangles.Thenumber of instances for the corresponding module is shown betweenbrackets. For example, in the figure it is indicated that SpeedCameraModel has5instancesinaccordancetotheearlierscenario.Note, how-ever, that in this model the scenario is further refined. More specifically, in Table 1 it is indicated that should be a Traffic Analyzermodule. In the Simulation Execution Configurationin Fig.15,TrafficAnalyzermoduleinstancecontainsfoursub mod-uleinstances(AccidentTrackerModel,VehicleTrackerModel, etc.) justlikeitisdefinedinModuleandPublish–SubscribeRelations Model (Fig. 13).The instances also showthepublication prop-erties (published FDEM element and update rate) as shown in figure.ForexampleCarModelInstance publishesCarobjectclass 2times/second.

7.3. Generatingthedeploymentmodelsforthecasestudy

Sofar,the inputmodels for generatingfeasibledeployment alternativeshavebeendevelopedmanually.Basedonthese mod-els,feasibledeploymentalternativesareautomaticallygenerated. Thetop-levelalgorithmthatisusedfortheautomaticgeneration isshowninFig.16.

As stated in line 1, the algorithm

GENER-ATEFEASIBLEDEPLOYMENTS takes two input parameters: a physical resource modeland a simulation executionconfiguration asdefined, forexample, inFigs. 14and 15,respectively. Line2 extracts processors from the physical resource model by call-ing EXTRACTPROCESSORS in which a processor is created for each node in thephysical resource model. In Line3, tasks are extracted from the simulation execution configuration by call-ing EXTRACTTASKS in which a taskis created for each module instanceandexecutioncostamongtasksiscalculated.InLine4, theactualCTAPalgorithmis executedbycallingEXECUTECTAP. The result of this is stored in assignmenttables that includes a list of assignments of tasks to the processors. Likewise, each memberofassignmenttablesdefinesanabstractspecificationof afeasibledeploymentalternative.InLine5,thedeploymentsare actuallygeneratedbycallingCREATEDEPLOYMENTMODELSwith theparameterassignmenttables.

Asshown inthepseudo code ofFig.16 theCTAPalgorithm cangeneratemultipledeployment alternatives.Twosamplesof deploymentalternativesthataregeneratedbytheCTAPalgorithm areshowninFigs.17and18.Thefiguresrepresentfeasible deploy-mentmodelsforthecasestudyasdescribedinTable1.Asitcanbe observedfromthefigureseachdeploymentmodelincludes4nodes asitwasgiven beforeinthephysicalresourcedefinitionmodel inFig.14.Further,theexecutionconfigurationmodelasdefined in Fig.15hasbeendeployedtothephysicalnodes tooptimize thevaluesforthemetricsexecutioncost,communicationcostand memoryrequirements(seeSection6.2).Asitcanbealsoobserved fromthefigures,thetwodeploymentalternativesinclude differ-entnumberandtypesofdeployedsimulationmoduleinstancesper node.

(12)

Fig.11.Federationdataexchangemodel–objectclasses.

8. Evaluation

InthissectionweevaluatetheS-IDEtoolanddiscussthe feasibil-ityofthegenerateddeploymentmodel,andthetimeperformance forgeneratingthedeploymentalternatives.

8.1. Feasibilityofthegenerateddeploymentmodel

Foranalyzingthefeasibilityofthegenerateddeploymentmodel alternativeweusetwodifferentapproaches.

Thefirstapproachisaninformalandpracticalapproachbased on visual inspection of the generated deployment alternative byanexpert.Thisapproach thusrelies ontheassumptionthat an expert can provide logical reasoning about the feasibility of thedeployment alternative. Note that the generationof the

alternativeisdoneautomaticallyandnotperformedbytheexpert. Anexamplereasoningofanexpertcouldbebasedonthe deploy-mentalternativegiveninFig.17.Acloseanalysisofthisgenerated deploymentalternativeshowsthatthetotalresourcerequirements ofsimulationmoduleinstancesdonotexceedthecapacityofthe correspondingnodes.Further,basedontheadoptedgenetic algo-rithm,itappearsthatsimulation moduleinstancesthat interact frequentlyandwhichhavehighcommunicationcosts,areasmuch aspossibleco-locatedonthesamenode.Forexample,the simula-tionmodulesVehicleTracker,CarModel,TruckModelandDriverModel appearedtohavefrequentinteractions inthepublish–subscribe relationsmodel(Fig.13)andinthesimulationexecution configu-ration(Fig.15)wecanobservethattheyhavehighupdate-rates. Likewise,inFig.17theadoptedalgorithmhasco-locatedinstances ofthesemodulesasmuchaspossible.Thesimulationinstancesthat

(13)

Fig.12.Federationdataexchangemodel–interactionclasses.

areremainingandwhichwouldexceedthecapacityofNode-1are deployedtoothernodesinasimilarmanner.

Thesecond,moreformalapproachforevaluatingthegenerated deploymentalternative istocomparethegenerated alternative

withanotherdeploymentalternative(Aletietal.,2009a;Malek et al., 2012). The S-IDE tool provides a quality evaluation tool that enables the comparison of two deployment models with respecttogivensimulationexecutionconfigurations.The gener-ateddeployment modelcanbeevaluatedby comparingit with otherdeploymentmodelsasit wasdescribedinSection4,Step 10.

ThecomparisonprocessprovidedintheS-IDEisgenericand canbeappliedinasimilarwayforthealternativesgeneratedwith allthethreeapproaches.Weshowtheevaluationofthegenerated deploymentmodel(Fig.17)withamanuallygenerateddeployment modelthatisbasedonthefirstexampleexpertjudgment deploy-mentmodelgiveninSection3.3(problemstatement).Wehave manuallydefinedthedeploymentmodelfortheexpertjudgment deploymentalternativeinS-IDEenvironment(Fig.19).Asshownin thefigure,allcarsimulationmodulesaredeployedonthefirstnode, alltrucksimulationmodulesaredeployedonthesecondnode,all driversimulationmodulesaredeployedonthethirdnode,andthe restofthesimulationmodulesaredeployedonthefourthnodeas itwasdescribedinSection3.3.

The comparison of theautomatically generated deployment modelalternative(Fig.17)withtheexpertjudgmentdeployment alternative(Fig.19)isgiveninTable3.Thetableshowsthe exe-cutionandcommunicationcostcomparisonsforeachsimulation moduleoftheexpertjudgmentdeploymentalternativeand the generateddeploymentmodelalternative.Theleftcolumnincludes

(14)

Fig.14.Asamplephysicalresourcemodelforthecasestudywithfournodes.

themodulesofthedeploymentalternatives.Thetotalnumberof eachentityinthescenarioisshowninparenthesis(e.g. TruckMod-elInstance(×80)meansthatthereare80TruckModuleInstancesin thescenario).ThecolumnExecutionCostdefinesthevaluesfor exe-cutioncostfortheexpertjudgmentandthegeneratedalternative aswellastheimprovementpercentageofthegeneratedalternative overthemanualalternative.Similarly,thecolumnCommunication Costdefinesthevaluesforthecommunicationcostforboth alter-nativemodelsandtheimprovementpercentage.Thelastrowofthe tableshowsthetotalcostsforeachdeploymentalternativeandthe improvementpercentages.

Asshowninthetable,thetotalexecutioncostisoptimizedby 13.63%intheparticularcase.Itisinterestingtoseethatforsomeof

thesimulationmodules(e.g.DriverTrackerModelInstance, Traffic-AnalyzerModelInstance,etc.)theexecutioncostsseemtobebetter intheexpertjudgmentdeploymentalternative.Thisisbecausethe purposeofthedeploymentmodeloptimizationistooptimizethe totalperformanceofthesystem.Forthegivencase,themodules withthetotalhighestexecutioncostappearedtobethemodules DriverModuleInstances,CarModuleInstances,and TruckModuleIn-stanceswithtotalcostof4200,2400and400respectively.Forthese modulestotalimprovementof21.94%,2.88%and1.72%havebeen achieved.Althoughthetotalexecutioncostoftheothermodule instances seemtobeworse,theimpactoftheimprovement of thesethreemodulesseemtodefinethetotalimprovementinthe executioncost.

Table3

Comparinggenerateddeploymentmodelwithmanuallydevelopeddeploymentmodelwithexpertjudgment.

Module Totalexecutioncost Totalcommunicationcost(MB/second)

ExpertJudg. GeneratedbyS-IDE Improv.(%) ExpertJudg. GeneratedbyS-IDE Improv.(%)

DriverTrackerModelInstance(×1) 5.63 11.25 −100.00 0.0 0.0 0.00 TruckModelInstance(×80) 400 393.13 1.72 6.53 4.90 24.97 SpeedCameraModelInstance(×5) 6.25 8.50 −36.00 0.08 0.06 23.79 TrafficAnalyzerModelInstance(×1) 6.25 12.50 −100.00 0.00 0.00 0.00 CarModelInstance(×600) 2400 2331.00 2.88 29.34 22.00 25.03 RuleViolationTrackerModelInstance(×1) 5.63 9.00 −60.00 0.00 0.00 0.00 VehicleTrackerModelInstance(×1) 5.63 9.00 −60.00 0.00 0.00 0.00 AccidentTrackerModelInstance(×1) 6.25 10.00 −60.00 0.00 0.00 0.00 DriverModelInstance(×680) 4250 3317.50 21.94 0.11 0.08 25.59 LaneCloseModelInstance(×4) 7.50 10.50 −40.00 0.10 0.07 24.15 TrafficLightModelInstance(×15) 18.75 30.50 −62.67 0.18 0.13 25.13 Totalcosts 7111.88 6142.88 13.63 36.34 27.25 25.02

(15)

Fig.15.Simulationexecutionconfigurationforthecasestudy.

The total communication cost is optimized by 25.02% for

thisparticular case.Againwe canobservethatthedeployment

modelisoptimizedwithrespecttothetotalcommunication

per-formance of the system. As shown in the table, to avoid the

duplication of the communication costs, some of the

simula-tion module instances such as DriverTrackerModelInstance and

TrafficAnalyzerModelInstancearenotchargedanycommunication

costs.For example,theDriverTrackerModelInstancesubscribesto

DriverobjectwhichispublishedbyDriverModelInstanceasgiven

in Fig. 13. The cost of this data exchange is only charged to the publisher (DriverModelInstance) and is not charged to the subscriber (DriverTrackerModelInstance).Since DriverTrackerMod-elInstancedoesnotpublishanyotherobject,nocommunication costischarged.

Wehavealsocarriedoutthesameevaluationforthe automati-callygenerateddeploymentalternativeofFig.18.Theimprovement

(16)

Fig.17.Sampleofgeneratedfeasibledeploymentalternative.

ofthetotalexecutioncostwithrespecttothedeploymentmodel definedbytheexpert(Fig.19)is14.30%.Theimprovementofthe communicationcostappearedtobe24.99%.

We have also compared the two automatically generated deploymentalternativesofFigs.17and18.Itappearsthatthe sec-ondalternativeseemstohave 0.78%lowerexecution costwith respecttothefirstalternative.Further,thefirstalternativeseems

tohave0.03%lowercommunicationcost.Basedontheseresults, inthiscaseonewouldslightlypreferthefirstalternativeif opti-mizingthecommunicationcostisconsideredmoreimportantthan optimizingtheexecution cost.Thesecondalternativewouldbe selectedifexecutioncostisconsideredmoreimportant.The evalua-tionofotherdeploymentalternativescanbecarriedoutinasimilar mannertofindthefeasibledeploymentalternative.

(17)

Fig.18. Anothersampleofgeneratedfeasibledeploymentalternative.

8.2. Deploymentmodelgenerationperformance

Theperformanceofthedeploymentmodelgenerationprocess islargelyinfluencedbytheperformanceoftheselectedCTAP algo-rithm.Forourparticularcase,theselectedgenerationalgorithm (Mehrabietal.,2009)isimplementedinJavaandexecutedonan IntelCoreI-72.70GHz64-Bitcomputerwith4GBofRAM.Wehave usedtheS-IDEtool toprovidefourdifferentsimulationsofthe

trafficsimulation case study.The resultsof thesimulationsare shown inTable4.In additiontothetrafficsimulation wehave alsodefinedfourdifferentsimulationsintheElectronicWarfare (EW)domain(AdamyandDavid,2006).Eachsimulationhasbeen separatelydefinedandexecuted.Furtherwehavemeasuredthe time to generatethe deployment alternativefor each scenario. Wehavetriedtodefinesimulationswhicharealsorealisticfrom anindustrialperspective.Fromourownindustrialexperiencesin

(18)

Fig.19.Expertjudgmentdeploymentalternative.

thedistributed simulationdomainwe canstatethatcasesfrom 4to 12nodes are realistic,whereby 12 nodes is usuallyrarely used.Wehavechosenthesimulationexamplesfrom4to12nodes whichareallrealistic froman industrialperspective.Regarding thenumberofsimulationentitieswehaveusedsimulationswith verylownumberofentities(thelowest17)toveryhighnumber 1596entities.Alsointhiscasetheseexamplesarerealisticinthe industrialsetting.Amediumsizeofarealscenariointhiscontext istypicallya simulationincluding4–6nodeswitharound1000 simulationentities.

FromTable4wecanfurtherobservethatthegenerationtimes ofdeploymentalternativesareacceptableforevaluationatdesign time.Theexecutiontimeofthealgorithmappearstobedependent onthenumberofsimulationentitiesandthenumberofnodes.The higherthenumberofsimulationentitiesthehigherthegeneration timeofthedeploymentalternative.Further,ifthenumberofnodes increasethenfindingafeasibledeploymentalternativewillbe eas-ierandthiswillresultinafastergenerationofthedeployment

alternative.Theseobservationscountforbothcases.However,for thetrafficcasestudythegenerationofthefeasibledeployment alternativestooklongerthanfortheEWsimulationsinthe simu-lationswithlargenumberofsimulationentities.Thisisduetothe differentcommunicationpatternsandexecutioncost characteris-tics.Infactthetrafficcasestudythatwehavedescribediseven morecomplexthanintheEWdomainwithrespectto communi-cationpatternsandexecutioncostcharacteristics.

Asstatedbefore,forthesimulationwehaveusedaparticular implementationoftheCTAPalgorithm.OfcoursedifferentCTAP algorithmimplementationscanleadtodifferentgenerationtimes. TheCTAPalgorithmimplementation(Mehrabietal.,2009)thatwe haveselectedseemstoperformreasonablyfordesigntime deploy-mentalternativegeneration.Afurtheranalysiscouldbeperformed toidentifythebestperformingalgorithm(e.g.Aletietal.,2009a). Theapproachthatwehavepresenteddoesnotmandateaparticular implementationoftheCTAPalgorithm,andweconsiderthe analy-sisofthealgorithmimplementationsbeyondthescopeofthiswork.

Table4

GenerationtimevaluesforscenariosusinganimplementationofCTAPalgorithm.

Simulation no. Simulation Numberof simulationentities Numberof nodes Generation time(s) 1. Trafficsimulation 17 4 2 2. Trafficsimulation 81 4 8 3. Trafficsimulation 1389 4 12,115 4. Trafficsimulation 1389 12 4273 5. EWsimulation 17 4 50 6. EWsimulation 81 4 182 7. EWsimulation 141 5 325 8. EWsimulation 1596 6 360

(19)

9. Discussion

Inthisworkwehaveprovidedatoolframeworkforderiving

afeasibledeploymentalternativebasedonthesimulationsystem

andtheavailablephysicalresourcesforHLAbaseddistributed

sim-ulations.The tool frameworkassists thedesignerto designthe

simulationsystemandderiveafeasibledeploymentmodelinearly

systemdesignphase.Thenecessityandpracticalvalueofderiving

afeasibledeploymentmodelinthedesignphaseisbasedonthe

alternativedesignevaluationrelatedrecommendationsdefinedby

theIEEEstandardFEDEP.

Avalidquestioninthiscontextiswhethertheadopted

algo-rithminthetoolframeworkleadstoasolutionandwhetherthis

solutionisoptimal.Wehavedesignedthetoolframeworktoenable

the utilization of different CTAP solver algorithms which have

beenwidelyaddressedintheliterature.Thetoolframeworkdoes

notmandatetheusageofaparticularalgorithmbutprovidesthe

requiredinputparametersforthesealgorithms.Thecorrectnessof

thesealgorithmshasbeendiscussedinthecorrespondingpapers

andbasedonthiswecanassumethatagoodfeasiblesolutioncanbe

derived.Inaddition,dependingonthestateofthesystem,different

CTAPsolveralgorithmsmaybeusedtoderiveafeasibledeployment

alternative.

AsstatedbeforeinSection6.3,theS-IDEtoolcanadopt

differ-entCTAPSolveralgorithmimplementationsthroughOSGIservice registry.Sincedifferentsimulationcontextsmightrequire differ-entCTAPSolverimplementations,theselectionoftheappropriate algorithmimplementationislefttothedesigner’sdecision.To sup-portthedesignerinselectingthealgorithmimplementation,the S-IDEtoolprovidestheobjectivesandcharacteristicsofthe algo-rithmthataredefinedbythealgorithmdeveloper.Ifneeded,the designercanusemultipledifferentalgorithmimplementationsand comparethesimulationresultswiththeS-IDEdesignevaluation tools(seeSection8.1),toselectthemostappropriateone.

WehavealsodefinedgeneralrulestoimprovetheCTAPcost parametervaluestobeabletofindafeasibledeployment alter-nativewithrespect tothe projectrequirements, if theoriginal parametersdonotresultinafeasiblesolution(seeSection6.4). TheS-IDEtoolalsoprovidesdesigndiagnostictoolsthatenablethe analysisofthesimulationdesigntodetectpotentialbottlenecks suchasbigsizeddataexchangeobjects,highcommunicationcosts, limitedphysicalresourcesandhighmemoryrequirementsofthe simulationmodules.

Besidesofthealgorithmicperformance,wealsofocusonthe organizationlevelperformancegain.Existingpracticesusuallybase thegenerationofthedeploymentmodelontheexpertjudgment ordeferthegenerationofthedeploymentmodeltothe imple-mentationphase.Unfortunately,expertjudgmentislimiteddue tothemanualeffort.Wegoonestepfurtherbyintegratingthe existingCTAPsolutiontechniquesearlyinthesystemdesign,and automatethedecision processtosupporttheevaluation ofthe designalternativesbytheexperts.AsstatedbeforeinSection3 (problemstatement),deferringthedefinitionofthedeployment tothedevelopmentphasemightleadtonon-feasible implementa-tionswhichwillrequireiteratingthedesignandtherelatedproject lifecycleartifactssuchasdetaileddesign,implementation,test arti-facts,documentation,etc.Onitsturnthiswillleadtodelaysand highercostintheproject.ThisisalsothereasonwhyFEDEP recom-mendsevaluatingthedesign alternativesintheearlyphasesof thedevelopmentlifecycle.Atdesigntimethevaluesforexecution costandmemoryrequirementsareestimatedwhilethe commu-nicationcostsarecalculated.Obviously,thebettertheestimation the more feasible the derived deployment model will be. The estimationofthevaluescanbeenhancedbyanalyzingexisting sim-ilarmodelsorbydevelopingprototypes.Likewise,theidentified deploymentmodelmayberefinedandoptimizedifmoreaccurate

informationisavailableinsubsequentphasesoftheproject life-cycle.Theapproachitselfcanactuallybeusedatanytimeduring theprojectlifecycleand,ifpossible,evenafterthesystemhas beendeveloped.Inthelattercase,themeasuredrun-time param-etervaluescanbeused,insteadofestimatedvalues,toderivethe deploymentmodel.Theruntimeparametervaluescanbecollected usingHLAManagementObjectModel(MOM)servicesasdefined inIEEE(2010b).

TheS-IDE toolframework canbeusedfordesign level anal-ysis including, the impactof adding new simulations modules tothe system,suitabilityof theselected physical resourcesfor the given simulation design, and the impact of the change of publish–subscriberelations.Toperformsuchanalyses,thedesigner candefinedifferentalternativedesignmodels,generate deploy-mentmodels,andcomparequalityofthegenerateddeployment modelsasdefinedinSection8.1.Assuch,thedesignercanobserve theeffectofdesignvariationsontheperformanceofeach simula-tionmoduleandtheoverallsystem.

The primary goal of our analysis is to findfeasible deploy-mentalternativesgiventhesimulationexecutionconfigurations, whichisbasedonuser-definedscenarios.Wehavechosenforthis approach becausein FEDEPalso firstscenarios aredefined and basedonthesethedesignmodelsarederived.Infacttheoutput ofthetoolframeworkcanbefurtherdetailed,byaddressing,for example,maximumnumberofsimulationmoduleinstancesthat canbe deployedontheavailable physicalresources,theupper boundfortheupdaterateofthesimulationmoduleinstances,the minimumprocessorfrequencyand/ormemorycapacitythatis nec-essaryforthedefinedsimulationmoduleinstances,etc.However, theseanalysiswouldrequireexecutingthecorrespondingCTAP Solveralgorithm manytimeswhichwouldbelesstractableand assuchlesspractical.Thisisbecauseinthesimulationdomainthat wehavefocusedon,thereallifescenarioscancontainthousands ofentitiesanduptodozensofnodes.Nevertheless,ifneededthe designercanexecutethedeploymentmodelgenerationtoolseveral timestofindouttheboundaryvalues.

InthisworktheS-IDEtoolframeworkisusedforderiving fea-sibledeploymentalternativesforHLAbasedsimulationsystems. However,thetoolframeworkcanalsobeadaptedforother archi-tecturesthat adoptpublish–subscribemodel, suchasOMGDDS (OMG,2006)orTENA(Noseworthy,2008).Inthiscase,the meta-modelsandtoolswillbemodifiedforthetargetarchitecture.For example,thedataexchangemodelmayneedtobechangeddueto theparticulardataexchangemodelsforthegiveninfrastructure.In ourfutureresearchwewillanalyzethisinmoredetail.

In the industrial context we have applied our approach to derivefeasibledeploymentalternativesforanElectronicWarfare (EW)simulation.TheEWsimulationscenariosincludearound4–8 nodesandabout1600simulationentities.Wehavedeliberately notchosenthisdomainasarunningexampleinthispaperbecause understandingtheEWcase studyrequiresmoreeffortthanthe moreconceptualdomainoftrafficsimulation.Yet,thesimulations thatwehaveselectedforthetrafficdomainareatleastas com-plexasthatoftheEWsimulationdomain.Inthisrespective,the simulationsthatwehavecarriedarerealistic.Thescalabilityand outputqualityoftheapproachhavebeenanalyzedwithrespect tothenumberandcharacteristicsofsimulationentities,the num-berofnodesandtheadoptedimplementationofthealgorithmin Section8.

10. Relatedwork

Inthispaperwehaveprovidedamodel-drivendevelopment approachforgeneratingandevaluatingdeploymentalternatives forHLA-basedsimulationsystems.Theadoptionofmodel-driven

Şekil

Fig. 1. Reference architecture for the high level architecture.
Fig. 3. Logical view of the case study.
Fig. 4. Method for deriving feasible deployment alternatives.
Fig. 5. High level view of the metamodels.
+7

Referanslar

Benzer Belgeler

Introducing the aesthetics of the uncanny, this thesis will argue that rather than being in harmony with the discourse of the unified, meaningful and instrumental ‘body’, masked

443 As excerpted from ibid.. to persuade Dr. Dominik to work in the said region with a salary of 1200 guruş. 444 The said physician must have been in need of persuasion either for

High-speed resonant cavity enhanced Schottky photodiodes operating in 800–850 nm wavelength region are demonstrated.. The devices are fabricated in the AlGaAs/GaAs

In earlier work we had shown that in a flexible Rydberg aggregate, a pulse of atomic dislocation in a regular chain, with ensuing fast motion, combined with electronic

because the CBRT considers this tool as the main indicator of its monetary policy stance (see CBRT, 2013; 2016 ).. Responses of economic state variables to interest rate

The fall o f the Berlin Wall and the unification o f Germany marked the end o f the Cold War, causing a domino wave in the Soviet Union towards disintegration into

Parallel images in constant height mode are obtained by using the linear photodetector array to measure the intensity change in the 2nd order of each cantilever.. The 2nd order

Because of wide bandgap and strong bond properties, Group III nitrites can be used for blue and green light emitting devices, high temperature transistors.. Group III nitrites