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
MOO:
An
architectural
framework
for
runtime
optimization
of
multiple
system
objectives
in
embedded
control
software
Arjan
de
Roo
a,
Hasan
Sözer
b,∗,
Lodewijk
Bergmans
a,
Mehmet
Aks¸
it
a aUniversityofTwente,Enschede,TheNetherlandsbÖzye˘ginUniversity, ˙Istanbul,Turkey
a
r
t
i
c
l
e
i
n
f
o
Articlehistory: Received29June2012
Receivedinrevisedform28March2013 Accepted1April2013
Available online 15 April 2013 Keywords: Architecturalframework Multi-objectiveoptimization Runtimeadaptation Embeddedsystems Controlsoftware
a
b
s
t
r
a
c
t
Today’scomplexembeddedsystemsfunctioninvaryingoperationalconditions.Thecontrolsoftware
adaptsseveralcontrolvariablestokeeptheoperationalstateoptimalwithrespecttomultiple
objec-tives.Thereexistwell-knowntechniquesforsolvingsuchoptimizationproblems.However,current
practiceshowsthattheappliedtechniques,controlvariables,constraintsandrelateddesigndecisions
arenotdocumentedasapartofthearchitecturedescription.Theirimplementationisimplicit,tailored
forspecificcharacteristicsoftheembeddedsystem,tightlyintegratedintoandcoupledwiththecontrol
software,whichhindersitsreusability,analyzabilityandmaintainability.Thispaperpresentsan
archi-tecturalframeworktodesign,documentandrealizemulti-objectiveoptimizationinembeddedcontrol
software.Theframeworkcomprisesanarchitecturalstyletogetherwithitsvisualeditorand
domain-specificanalysistools,andacodegenerator.Thecodegeneratorgeneratesanoptimizermodulespecific
forthegivenarchitectureanditemploysaspect-orientedsoftwaredevelopmenttechniquesto
seam-lesslyintegratethismoduleintothecontrolsoftware.Theeffectivenessoftheframeworkisvalidatedin
thecontextofanindustrialcasestudyfromtheprintingsystemsdomain.
© 2013 Elsevier Inc. All rights reserved.
1. Introduction
A current trend in embedded systems is toward adaptivity undervaryingcircumstances(e.g.,environmentalconditions,user needs and input). For example, current high-end printing sys-temsperformadaptiveoptimizationofmultiplesystemobjectives, suchasmaximizingproductivityandminimizingenergy consump-tion.Theyapplytrade-offdecisionsconcerningseveraluserneeds, conflictingqualityattributesandobjectives.Adaptiveoptimization resultsinmorecompetitivesystemsthatleveragebettercustomer satisfactionandcosteffectiveness.
Adaptiveandoptimizedbehaviorisachievedbyadjusting cer-taindecisionvariablesinthesystem.Examplesofdecisionvariables arethespeedofthesystemandthetemperaturesetpointofa heat-ingdevice.Thevaluesofthedecisionvariablesareoftensubject toconstraints.Forexample,thespeedofthesystemislimitedto amaximumspeedandtheamountofconsumedpowerislimited totheamountofpoweravailable.Theproblemofbalancing mul-tiplesystemobjectivesbyinfluencingasetofdecisionvariables
∗ Correspondingauthorat:SchoolofEngineering,Özye˘ginUniversity,Nis¸antepe Mah.OrmanSk.No.13,Alemda˘g–C¸ekmeköy34794, ˙Istanbul,Turkey.Tel.:+90216 5649383;fax:+902165649057.
E-mailaddress:hasan.sozer@ozyegin.edu.tr(H.Sözer).
thataresubjecttoconstraintsisknownasmulti-objective opti-mization(MOO)(KeeneyandRaiffa,1976).Inmodernembedded systems,thesetofstrategiesandtechniquestofacilitateMOOare implementedinsoftware,aspartofthecontrollogic.
Embedded systems can comprise many differentcontrollers implementedinseveralsoftwaremodules,eachcontrollingapart of thesystem.Asaresult, MOO havetoberealizedby manip-ulatingandcoordinatingmanycontrollers,scatteredthroughout theembeddedcontrolsoftware.Forexample,powerconsumption andproductivityofthesystemcannotbecontrolledbyaspecific controller;theyareinfluencedbythebehaviorofthesystemas awhole.Thismanipulationandcoordinationofmanycontrollers introducesadditionalstructuralcomplexitywithintheembedded controlsoftware.
Thereisalackofsystematicmethodsandtechniquestodesign andimplementMOOinembeddedcontrolsoftwareandto man-age theresulting complexity. Usually theimplemented control behaviorissufficient,butnotoptimal,asbetteroptimizing solu-tionswould betoocomplextoimplement.Whenimplemented, the applied optimization techniques, controlled variables, con-straints and related design decisions are not documented as a partofthearchitecturedescription.Theyusuallyremainimplicit, makingithardtocommunicate,analyze,maintainandreusethe embeddedcontrol software.Moreover,the lackof explicit rep-resentationofthedecisionvariablesandtheirinterrelationships 0164-1212/$–seefrontmatter © 2013 Elsevier Inc. All rights reserved.
leadstoimplicitdependenciesamongthesoftwaremodules.Asa result,anymodificationofthecontrolledsystemand/orthecontrol softwarebecomeserror-prone.
Previously,wehaveproposedanarchitecturalstyle(deetal., 2009),whichintroducesagraphicalnotationtodocumentthe soft-warearchitecturefromtheMOOpointofview.Thisstyleenables thedocumentationofdecision variables, constraintsand trade-offsat thearchitectural level. In this work, we have extended the style with domain-specific models. In particular, we use SIDOPS+(Broenink,1997)for documenting physical characteris-tics/modelsregardingthecontrolledsystem.Severalsuchphysical modelsareimplementedinembeddedcontrolsoftware.Indigital printingsystemsforinstance,physicalmodelsareusedfor esti-matingtheheatexchangeamongcomponentslikethetonerbelt andthepaperpath.Inpractice,however,thesemodelsare imple-mentedinageneral-purposeprogramminglanguageandtangled withthecontrolsoftware,justliketheimplementationofMOO. Thenewstyle,whichwecallastheMOOarchitecturalstyle,isnot basedonjustonelanguageornotation.Itmakesuseofmultiple domain-specificmodelinglanguages(DSMLs)together.
In this paper, we also introduce a complete framework for documenting,analyzingandrealizingMOOinembeddedcontrol software.Wehavedevelopedatoolchainconsistingofvisual edit-ors,analysistools,codegeneratorsandweavers.Theframework generatesoptimizers basedontheMOO architectural model.It alsocomposesthegeneratedcodewithboththephysicalmodels andtherestofthecontrolsoftwarebymeansofaspect-oriented software developmenttechniques. The coreapplication is kept modularandindependentfromtheoptimizationdetails.Assuch, ourapproachsupportsthereusabilityandmaintainabilityofthe MOOsolutionsandphysicalmodels,whicharemodularizedand specified with separate DSMLs. Separate specification of MOO aspects,relatedphysicalmodelsandthecontrollogicalsoenables ustoperformdomain-specificanalysisandverification.
Wehaveillustratedtheeffectivenessofourframeworkinthe context of an industrial case study from the printing systems domain.WehavemodularizedthespecificationoftheMOO solu-tionandtheimplementationofthephysicalmodelsforapartofthe controlsoftwarethatisresponsibleforheatcontrolonthepaper path.Thesespecificationsareverifiedbythetoolchainofthe frame-work.Partofthecontrolsoftwareisautomaticallygeneratedbased ontheverifiedMOOarchitecturalmodeland therelated physi-calmodels.Thegeneratedcodeisautomaticallycomposedwith therestofthecontrolsoftware.Wehavecompared the perfor-manceoftheautomaticallygeneratedcontrolsoftwarewiththree otheralternativesthatusestate-of-the-practiceengineering solu-tionsforoptimization.Wehaveseenthatourapproachcanleadto anincreaseinproductivityby20%,anditcandecreasetheenergy consumptionby10%.Wehavealsoseenthatourapproachreduces thedeviationinprintquality.Inaddition,thecontrolsoftwareturns outtobemoremodularized,reusableandmaintainable.
Theremainderofthispaperisorganizedasfollows.Thenext sectionprovidesbackgroundinformationonmulti-objective opti-mization.Section3introducestheindustrialcasestudyandputs theproblem in context. Section4 presents an overview of our approach.WeexplaintheMOOarchitecturalstyleandthetoolchain oftheMOOframeworkinSections5and6,respectively.In Sec-tion7,weexplaintheexperimentalsetupandpresenttheresults. Finally Section8 provides the conclusions and discusses some futureworkdirections.
2. Background:multi-objectiveoptimization(MOO)
MOOisamathematicalprobleminwhichthegoalistooptimize multipleobjectives.Theobjectivescanbeinfluencedbyasetof
decisionvariables.Thevaluesofthesedecisionvariablesaresubject toconstraints.AMOOproblemisdefinedasfollows(Colletteand Siarry,2003):
Definition1(MOOproblem). AMOOproblemcanberepresented byatupleo(x),g(x),h(x),where
• x∈Rnrepresentsthevalueofthendecisionvariables.
• o(x)∈Rn→Rkisavectorofkobjectivefunctionsinthedecision variablesxthatprovideavaluationforthekobjectives.
• g(x)∈Rn→Rlisavectoroflfunctionsthatdescribeinequality constraints.Aninequalityconstraintmeansthatxshouldbe cho-seninsuchawaythattheoutcomeofeachofthelfunctionsing issmallerthan0.
• h(x)∈Rn→Rmisavectorofmfunctionsthatdescribeequality constraints.Anequalityconstraintmeansthatxshouldbechosen suchthattheoutcomeofeachofthelfunctionsingisequalto0. Thesolutiontothisproblemarethex∈Rnthatminimizeo(x) undertheconstraints
∀
i∈[1...l]gi(x)≤0and∀
j∈[1,...,m]hj(x)=0. Theconstraintslimitthepossiblevaluesforthedecision vari-ablestoasubsetofRn.Thissubsetiscalledthefeasibledecision space.Thesolutiontotheoptimizationproblemisselectedfrom thefeasibledecisionspace.Eachvaluexinthefeasibledecision spacecanbeinputtotheobjectivefunctionso(x).Thesetofall objectivevaluesthatresultfromapplyingallvaluesinthefeasible decisionspacetotheobjectivefunctionsiscalledobjectivespaceor criterionspace.Optimizing a singleobjective is straightforward, as there is a one-dimensional objective spacein which there is one point thathasasmallerobjectivevaluethanalltheotherpointsinthe objectivespace.Butwhentherearemultipleobjectives,thereis usuallynotasinglepointintheobjectivespacethathasthe min-imal/optimalvalueforallobjectives.Inthiscase,onepointinthe objectivespaceissaidtodominateanotherpointifitimprovesupon atleastoneoftheobjectives,withoutcompromisingontheother objectives.InaMOOproblem,theremightnotbeasinglepointthat dominatesallotherpoints.Instead,therecanbemultiplepointsin theobjectivespacethatarenotdominatedbyanyotherpointin theobjectivespace.ThesepointsarecalledParetooptimalpoints (Paretoetal.,1896).Forpracticalapplications,suchasinthecontrol ofembeddedsystems,asingleresult/solutionoftheMOOproblem isnecessary.Basedontherelativeimportanceoftheobjectives(e.g., basedoncustomerneeds),asingleoptimalvaluecanbeselected. Apreferencerelationshipontheobjectivesisusuallyspecifiedin theformofatrade-offfunction,providingascalarvalueforeach pointintheobjectivespace,andassuchprovidingatotalordering relationshipamongtheParetooptimalpoints.
We have employed existing theoryon multi-objective opti-mization(EhrgottandGandibleux,2002;MarlerandArora,2004; YoonandHwang,1995;Eckenrode,1965;HwangandYoon,1981; Geilenetal.,2007)toformamathematicalbasisforourapproach. Hence,wedonotcontribute,butratherutilizeexistingmethods andtechniquesinthisdomain.Several(open-source) implemen-tationsofmulti-objectiveoptimizationalgorithmsexist,suchasin Gnulinearprogrammingkit(2012)andlpsolve(2012).Matlab pro-videsafunction,calledfmincon,toperformoptimizationofasingle objective(Findminimumofconstrainednonlinearmultivariable function,2013),whichcanalsobeutilizedtogetherwitha trade-offfunctionregardingmultipleobjectives.Wehaveemployedthis functionwithinthecodethatisgeneratedbytheMOOframework. 3. Industrialcasestudyandproblemstatement
Wehavedevelopedandevaluatedourapproachwithinthe con-textoftheOctopusproject(Octopusproject,2012).Inthissection,
Toner Belt Paper Path PaperHeater Radiator Contact Point Belt Temperature Sensor Pph Tph Prad Tbelt Tcontact v
Fig.1.SchematicviewoftheWarmProcess.
wefirstdescribetheprojectcontext.Then,weintroducean indus-trialcasestudy,takenfromthedigitaldocumentprintingsystems domain.Finally,weprovidetheproblemstatement.
3.1. Thecontext
In traditional embedded systems development, trade-offs between(conflicting)systemqualities(e.g.,productivity,energy consumption)aremadeatdesigntime.Thisresultsinembedded systemsinwhichthetrade-offbetweenthesequalitiesisfixed.For example,theembeddedsystemiseitherahigh-productivesystem withhighenergyconsumption,oranenergy-savingsystemwith lowproductivity.Nowadays,marketforcesdemandmoreflexible andadaptablemachines,inwhichthetrade-offsbetweensystem qualitiescanbemadeatruntime.For example,acustomerofa printingsystemmightsometimesneedahigh-productivemachine (e.g.,fortime-criticalprintjobs),whileingeneralanenergy-saving systemispreferred.Theembeddedsystemhastodynamically opti-mizethesystemqualitiesunderchangingcircumstances,suchas changesinenvironmentalconditionsandchangesinuserinput.In thefollowingsubsection,weintroduceanexamplecasestudyin thiscontext.
3.2. Casestudy:WarmProcess
Apartoftheprintingprocessindigitaldocumentprinting sys-temsis calledtheWarmProcess.Thisprocessis responsiblefor transferringatonerimagetopaper.
Fig.1depictsaschematicoverviewofthepartsintheprinting systemresponsiblefortheWarmProcessbehavior.TheWarm Pro-cesshastwomainparts;apaperpathtotransportsheetsofpaper andatonerbelttotransporttonerimages.Thecontactpointisthe locationwherethepaperpathmeetsthetonerbelt.Atthis loca-tionthetonerimageistransferredfromthetonerbelttothesheet ofpaper.For correctprinting, boththesheets ofpaperandthe tonerbeltshouldhaveacertaintemperatureatthecontactpoint. Therefore,theWarmProcesscontainstwoheatingsystems;apaper heatertoheatthesheetsofpaperandaradiatortoheatthetoner belt.Thereisnosensortomeasurethetemperatureofthetonerbelt atthecontactpoint(Tcontact).Instead,thephysicalsystemprovides thefollowingsensorsandactuators:
• Tph:Sensorthatmeasuresthepaperheatertemperature. • Tbelt:Sensorthatmeasuresthetemperatureatthesensorlocation
onthetonerbelt.
•
v:
Actuatortosettheprintingspeed.11Notethatthisonlygivesasimplifiedandabstractviewofaprintingsystem.In reality,thereisnosingleactuatorinthephysicalsystemtosettheprintingspeed.
• Pph:Actuatortosettheamountofpowersuppliedtothepaper heater.
• Prad:Actuatortosettheamountofpowersuppliedtotheradiator. Theprintingspeedcanbeadapteddependingontheneedsand objectives.Forexample,itcanbeloweredtoreduceenergy con-sumptionor raisedwhenprinting onlighterpaper(to increase productivity).Ifthespeedofthesystemchanges,thetemperatures ofthepaperheaterandbeltalsoneedtochange,tomaintain cor-rectprintquality.Engineersidentifiedarelationshipbetweenthe threevariables:speed(v),paperheatertemperature(Tph)andthe temperatureofthebeltatthecontactpoint(Tcontact).Correctprint qualityisensuredifthisrelationship,asfollows,holds(c1,c2and c3areconstants):
Tcontactdesired= c1·
v
−c2·Tph+c3 (1)Thepaperheaterreacts slowlytochangingtemperature set-points,whiletheradiatorcanquicklyinfluenceTcontact.Therefore, engineersdecidedtomainlyusetheradiatortoadjustthe tem-peratureswhenthespeedchanges.ThismeansthatEq.(1)isused todeterminetherequiredTcontact(i.e.,thesetpoint).Asthereisno sensortodirectlymeasureTcontact,engineershadtoidentifythe followingrelationshipbetweenTcontactandTbelt(c4isaconstant): Tcontact=c4·
P√rad
v
+Tbelt (2)In the following subsection, we analyze important aspects, designdecisionsandissuesregardingtheimplementationofMOO inthecontextoftheWarmProcesscasestudy.
3.2.1. AnalysisofoptimizationintheWarmProcesscasestudy IntheWarmProcesscasestudy,engineersaimtointroducethe possibilityfortheusertomaketrade-offsatruntimebetweenthe twoconflictingobjectivespowerconsumptionandproductivityof theprintingsystem.Theyidentifiedthedecisionvariablesthatcan beusedtoinfluencetheobjectives,thedifferentconstraintsinthe systemandtheobjectivefunctions:
• Decisionvariables:Speedofthesystem(v),temperaturesetpoint ofthepaperheater(Tphsp).
• Constraints:
–60≤
v
(minimalspeedis60). –v
≤120(maximalspeedis120).–40≤Tphsp(minimalsetpointforthepaperheateris40). –Tphsp≤90(maximalsetpointforthepaperheateris90). –Pph≤1200(maximalpowertothepaperheateris1200W). –Prad≤800(maximalpowertotheradiatoris800W).
–Ptotal≤Pavail(totalpowerconsumptionshouldnotexceedthe amountofpowerthatisavailabletothesystem).
• Objectivefunctions:
–Totalpowerconsumption:Ptotal=Pph+Prad.
–Productivity:Prod=1/v(productivityisdefinedasaninverse ofspeed,asinMOOthegoalistominimizetheobjective func-tions).
Fig.2shows thearchitectureof thecontrolsoftwarefor the WarmProcesscasestudy.Thesoftwarearchitecturecontainssix
Instead,thepaperpathconsistsofmultiplemotorsandpinches,eachofwhichcan becontrolledindependently.Ifthiscontrolisdoneinacoordinatedway,thisleads tocorrectpapertransportationatacertainspeed.Nevertheless,avirtualspeed actuatorcanbeimplemented,whichtakescareofcontrollingthedifferentmotors inthepaperpathtoobtaintherequestedspeed.
System I/O Paper Path v PrintQuality Tcontact Tph v Belt Temperature Prad Tcontact Tbelt v Paper Heater Controller Tph Tspph Pph Radiator Controller Tcontact Tsp contact Prad
Pph Pph Tph Tbelt Prad Prad v v
KEY
: Component Connector In-port Out-portFig.2. WarmProcesssoftwarearchitecture.
differentcomponents.Componentshaveinterfaces,whichare rep-resentedasin-ports/out-portstoprovide/retrieveavalueto/from thecomponent.
TheSystem I/Ocomponentprovidesaninterfacetothe sen-sorsandactuatorsinthesystem.Thecomponenthasanout-port foreachsensor(TphandTbelt).Thecomponenthasbothanin-port andanout-portforeachactuator(Pph,Pradand
v).
Theout-portfor anactuatorprovidesthecurrentleveloftheactuator(i.e.,thelast valuethathasbeenprovidedtothein-port).PaperHeaterControllerandRadiatorControllerare com-ponentsthatcontainthecontrollogicforrespectivelythepaper heater and the radiator. The components PrintQuality and BeltTemperature implement respectively the equation that determinesprintquality(Eq.(1))andtheequationthatdetermines belttemperature(Eq.(2)).PaperPathisthecomponentthat con-trolsthebehaviorofthepaperpath.Itdeterminesthespeedofthe systemandprovidesthistotheWarmProcesscontrolcomponents. IfwerelatetheMOO-relevantvariables todifferentportsin thesoftwarearchitecture,wecanconcludethatthesevariables arerelatedtodifferentarchitecturalelements(e.g.,ports),which arespreadthroughthesoftwarearchitecture.Thisillustratesthe factthatoptimizationcanaffectseveralcomponentsatdifferent partsofthesystem.Dependingonthescaleofthesystemandthe functionalitybeingoptimized,thescatteringcanbeworse,which complicatestheimplementationand increasesthemaintenance effort.
3.3. Problemstatement
Thereis a lack of systematic methods todesign and imple-mentMOOinembeddedcontrolsoftware.Thisusuallyresultsin adhocsolutionsthataretailoredtothespecificsystemand there-foreinflexiblewhenthesystemchangesorevolves.Moreover,the implementationofMOOgetstightlycoupledandintegratedwith, andspreadoutovermultiplecontrolsoftwarecomponents.2The
overallimpactisareductioninsoftwarequality:adhocandtightly coupledsolutionsaremoredifficulttocomprehend,theirinflexible naturehinderstheirevolvabilityandreusability.Thelackofa com-monmethodologyandcorrespondingterminologymakesitharder todocumentandcommunicatethedesigndecisions.Theresultis higherdevelopmentandmaintenancecosts(Bankeretal.,1993). Alternatively,aswehavewitnessedinpractice,theseproblemscan leadtothedecisiontoremovetheruntimeoptimization require-ment,asthebenefitsofamoreoptimalsystemdonotoutweigh thereducedsoftwarequalityandincreasedcosts.Therefore, sys-tematicmethods,techniquesandtoolsarerequiredtosupportthe realizationofMOOandthemanagementofsoftwarecomplexity introducedbyitsrealization.
2Theissueofcrosscuttingandalargenumberofdependencieswasconfirmedas amajorissuebyourindustrialpartnersintheproject.
Fig.3.Theoverviewoftheapproach.
3.3.1. Relatedwork
Optimizationofsoftwaredesign hasreceivedmoreattention in recentyears (Aletiet al., 2013).Usually there existmultiple (conflicting)quality attributes toconsider in a software design (Sozeretal.,2011;Meedeniyaetal.,2010).Therefore,MOO tech-niqueshavebeenappliedtobalancethefeasibledesignalternatives withrespecttodifferentqualityfactorssuchasenergy consump-tionvs.reliability(Aletietal.,2009),resourceutilizationvs.data flowlatency(Lietal.,2011),andperformancevs.reliability(Sozer etal.,2011).Inthispaperwedonotfocusontheoptimizationof thedesignitselfbuttheimplementedcontrolbehaviorinstead.We aimatsupportingthedesignandrealizationofasoftwaresystem thatemploysMOOforcontrollingembeddedsystems.
Anarchitecturalframework(Calinescuetal.,2011)hasbeen introducedforthedevelopmentandadaptationofservice-oriented systems.TheframeworkemploysMOOforselectingoptimal com-position of available services based on QoS requirements. In general,service-orientedsystemsarebuiltthroughthedynamic compositionoflooselycoupledservices.Inthiswork,wefocuson adifferentapplicationdomainthatimposedifferentchallenges.In ourproblemdomain,softwarestructureismainlyfixedanditis embeddedinaphysicalenvironment.Themainchallengeisto facil-itatetheoptimalcontrolofasetofdevicesthatinteractwiththis physicalenvironment.
Theimplementationofmulti-objectiveoptimizationincontrol systemshasbeenpreviouslydiscussedbyLuietal.(2002).Weaim atintroducingtwo newperspectivestothesediscussions.First, previousimplementationsmainlyconsiderlocalizedcontrol prob-lems,i.e.,optimizedbehaviorofaspecificcontroller.Ourgoalisto optimizesystemqualities(e.g.,energyconsumptionandthe perfor-manceoftheoverallsystem),whichhasanimpactonthesystem asawhole.Hence,manydifferentcontrollershavetocooperate and an architectural focus is required to manage the incorpo-rationof theMOO functionalityaspartofthecontrolsoftware. Second,previousdiscussionsmainlyfocusonthemathematical designofanoptimizationalgorithm.Ourgoalistoenablemodular specification, analysisand automated composition of optimiza-tiontechniques.Hence,inthefollowing,weintroducetheMOO frameworktofacilitatebettermanagementofsoftware complex-ityincontrolsoftwarewithoutcompromisingtheeffectivenessof optimization.
4. OverviewoftheMOOframework
Weintroduce theMOO frameworktodesignandimplement controlsoftwarethatemploysMOO.TheMOOframeworkemploys anapproachasdepictedinFig.3basedontheMOOarchitectural styleandtheMOOtoolchain.
TheMOOarchitecturalstyleprovidestheabilitytospecifya spe-cializedComponent-and-Connectormodel(Clementsetal.,2002) forthearchitectureofthecontrolsoftware.Themodel includes elementsoftheMOOsolution(decisionvariables,constraintsand objectivefunctions)inastructuredway,aspartofthe architec-turedescription.Werefertoanarchitecturalmodelthatiscreated accordingtotheMOOarchitecturalstyleasMOOarchitecturalmodel orMOOmodel.
Inadditiontothedecisionvariables,constraintsandobjective functions,thereexistcomputationallogicandphysical character-istics/modelsregardingthecontrolledsystemthatinfluencethe controlbehavior.TobeabletoanalyzeaMOOmodeland gener-ateanoptimizermodule,theseelementsshouldalsobespecified. Therefore, theMOO methodprovidesthepossibility torefer to modelsthat specify thecomputational logic(e.g., controllogic, implementedphysicalcharacteristics)ofcomponentsinthe archi-tecture.Inthiswork,weadopttheSIDOPS+languageofthe20-Sim toolset(Broenink,1997;Kleijn,2009),becauseofthesuitabilityof thislanguagetomodelcontrollogicandphysicalcharacteristics. ThemodelscreatedwiththeSIDOPS+languagearecalled20-Sim models.
AMOOmodeltogetherwiththe20-Simspecificationsare pro-vided asinput totheMOO toolchain.The toolchaincontains a graphicaleditor,whichisanextensionoftheArchStudio4toolset (Dashofyetal.,2007),tocreateandeditMOOmodels.TheMOO ConsistencyValidatorcheckstheconsistencyoftheMOOmodel.If theMOOmodelisconsistent,itcanbeprovidedtotheMOOcode generator,togenerateanoptimizermodulespecificforthegiven architectureandgivenMOOsolution.Thesoftwaremodulesthat implementthebasiccontrolarchitectureareprovidedtotheMOO codeweaver.Thecodeweavercomposesthesesoftwaremodules andthegeneratedoptimizermodulebyweavinginstrumentation inthesoftwaremodules.Theresultisembeddedcontrolsoftware thatincludesMOOfunctionality.ThenextsectionsexplaintheMOO architecturalstyleandtheMOOtoolchaininmoredetail.
5. MOOarchitecturalstyle
Inthissection,weintroducetheMOOarchitecturalstyle3 for
documentingembeddedcontrol software architecturefromthe multi-objectiveoptimizationpointofview.Specificstylesfor con-trolsoftwarehavebeendevelopedbefore(Hofmeisteretal.,2000), liketheProcessControlstylesdescribedinShawandGarlan(1996). However,thesestylestakeamoregeneralviewoncontrol;they describethesystemintermsofacontrolledsystem,sensors, con-trollers and actuators. The MOO style is applicable to a more specifictypeoffunctionalityincontrolsoftware,multi-objective optimization,andthereforecanexpressspecificpropertiesofthis functionality.Inthefollowing,wefirstprovideabriefdescription oftheMOOstyle,usingthesamedescriptionstructureasusedin Clementsetal.(2002)todescribearchitecturalstyles.Then,the differentcharacteristicsofthestylearedescribed.
5.1. Styledescription • Elements:Component; • Interfaces:In-port,out-port; • Relations:Connector;
• Propertiesofelements:Componentimplementsthecontrollogic, consistingof,amongothers,controlalgorithmsandmodelsof physicalcharacteristics.Componentshavethefollowing proper-ties:
–20SimReference:Anoptionalreferencetoa 20-Simmodel. This20-Simmodeldescribesthecomputationallogicbetween thein-portsandout-portsofthecomponent.Ifthis computa-tionallogicisnecessarytoanalyzethespecifiedMOOsolution, areferencetoa20-Simmodelshouldbeprovided.Otherwise, itcanbeomitted.
–constraints:Alistofconstraintsonthevariables correspond-ingtotheportsofthecomponent.
–isOblivious:Aflagthatindicateswhetherthecomponent isoblivious.Thismeansthatthereisnosoftwaremodulethat implementsthecomponent:thecomponentisonlyusedfor specifyingtheMOOsolutiontobeprovidedtothetooling.4If
theisObliviousflagisset,thecomponentshouldalwayshave areferencetoa20-Simmodel.
–subModelReference:AnoptionalreferencetoanotherMOO model. This represents encapsulation of MOO models, to providehierarchicalapplicationoftheMOOstyle.
• Propertiesofinterfaces:Aportcommunicatesthevalueofaspecific (physical)variable.Anin-portisusedbyacomponenttoreceive thevalueofavariablefromothercomponents.Anout-port is usedbyacomponenttocommunicate thevalueof avariable toothercomponents.In-portsandout-portshavethefollowing properties:
–variableName:Stringcontainingthenameofthe correspond-ing(physical)variable.
–constraints:Alistofconstraintsonthevalueofthisport. –isDecisionVariable:Aflagthatindicateswhetherthe
vari-ablecorrespondingtothisportisadecisionvariable(i.e.,the optimizationalgorithmmaydeterminethevalueoftheport). –isObjective: Aflag that indicatesthatthe variable
corre-spondingtothisport representstheoutcomeofone ofthe objectivefunctionsintheMOOproblem.
• Propertiesofrelations:SameastheC&Cviewtype(Clementsetal., 2002).
3 IntheparlanceofIEEE1471(Maieretal.,2001),theMOOarchitecturalstylecan beregardedasaviewpoint.
4 Hencethetermobliviouscomponent,toindicatethattheactualimplementation ofthesoftwareisnotawareofthiscomponent.
Table1
NotationoftheMOOstyle. Notation Description
Componentwithastereotypeandaname.Three stereotypesareavailable:Analyzable,Oblivious and SubModel.Ifacomponenthasareferencetoa20-Sim model,thenithasthestereotypeAnalyzable.Ifa componenthastheflagisOblivious set,thenithasthe stereotypeOblivious.Obliviouscomponentshaveby definitionareferencetoa20-Simmodel,sothestereotype Analyzable isomitted.Ifthecomponentreferences anotherMOOmodel(i.e.,hierarchicalcomposition),the stereotypeisSubModel.
◦ In-port
• Out-port
In-port/out-portwiththeisDecisionVariable flagset. In-port/out-portwiththeisObjective flagset.
Usageofaport:Theportsthatbelongtoacomponentare attachedtotheedgeofthecomponent.Theportmaybe labeledwithitsvariableName.
→ Connector
Informallabelindicatingthatthecomponentorporthas constraints.
• Topology:Connectorsconnectports.Thestart-pointofaconnector isalwaysanout-port.Theend-pointofaconnectorisalwaysan in-port.Thesemanticsof aconnectoristhat thevalueonthe end-pointoftheconnector(in-port)issettothevalueofthe start-pointoftheconnector(out-port).Anout-portcanbethe start-pointofmultipleconnectors.Anin-portcannotbethe end-pointofmorethanoneconnector.Eachconnectorfacilitates one-to-oneconnection.Onecanmakeuseofmultipleconnectorsto createmultipleconnections.
TheMOOstylehasalsoanotationtocreategraphical represen-tationsofMOOmodels.Thesegraphicalrepresentationsarecalled MOOviews.Table1showsthedifferentelementsofthenotation andFig.4showstheMOOviewofthearchitecturefortheWarm Processcasestudy.Thelabels1–5indicatethatconstraintshave beenaddedtothecorrespondingport/component.Thisexample MOOviewwillbeusedinthenextsubsectionstoillustratethe differentcharacteristicsofthestyle.
5.2. SpecifyingaMOOsolution
ThissubsectionexplainsthecharacteristicsoftheMOOstyle thatcanbeusedforspecifyingMOOconcernswithinasoftware architecture.
5.2.1. Portsprovidingdecisionvariablesandobjectivefunctions PortshavetheflagsisDecisionVariableandisObjective. BysettingtheisDecisionVariableflag,adesignerindicatesthat theportrepresentsadecisionvariable.Thismeansthatthe opti-mizationalgorithmmaychoosethevalueontheport.Iftheport alsogetsavaluefromaconnector(incaseofanin-port)ora compo-nent(incaseofanout-port),thevalueprovidedbytheoptimization algorithmoverridesthevalueprovidedbytheconnectororthe component.Fig.4showstwoportswiththeisDecisionVariable flagset:Thein-portTphspofthePaper Heater Controller compo-nentandtheout-port
v
ofthePaper Pathcomponent.Thismakes thespeedandthesetpointofthepaperheaterthetwodecision variablesintheMOOmodel.BysettingtheisObjectiveflag,adesignerindicatesthatthe valueontheportrepresentstheoutcomeofanobjectivefunction. Fig.4showstwoportswiththeisObjectiveflagset:The out-portPtotal ofthePowercomponentandtheout-portproductivity
System I/O
Paper Path v 1 «Analyzable» PrintQuality Tcontact Tph v «Analyzable» Belt Temperature Prad Tcontact Tbelt v «Analyzable» Paper Heater Controller Tph Tspph Pph «Analyzable» Radiator Controller Tcontact Tsp contact Prad 2 «Oblivious» Productivity v «Oblivious» Power Prad Pph 4Pph Pph Tph Tbelt Prad Prad v v Pavail
Pavail
3
Ptotal productivity
5
Fig.4. MOOmodeloftheWarmProcesscasestudy.
oftheProductivitycomponent.Thismeansthattherearetwo objectivesinthesystem:totalpowerconsumptionand productiv-ity.NotethatthisMOOmodeldoesnotspecifyatrade-offfunction betweenthetwoobjectives.
5.2.2. Constraints
Componentsandportshavethepropertyconstraints,which contains a list of constraints. Component constraints provide a constraint among the values on the component’s ports (e.g., Ptotal≤Pavail).Portconstraintsonlyconstrainthevalueonthat spe-cificport.Assuch,everyconstraintisassociatedwiththerelated architecturalelementdirectly.
IntheMOOviewshowninFig.4,therearefourports(labeled 1,2,3and5)thathaveconstraintsandonecomponent(labeled4) thathasconstraints.Thesefiveconstraintsare:
1Port:
v
(a)value≥60 (b)value≤120 2Port:Prad (a)value≥0 (b)value≤800 3Port:Pph (a)value≥0 (b)value≤1200 4Component:Power (a)Ptotal≥0 (b)Ptotal≤Pavail 5Port:Tphsp (a)value≥50 (b)value≤90Thetwoconstraintsontheout-portthatislabeled1provide boundaries on the speed. The two constraintson the out-port labeled2 provideboundaries onthepowergiven tothe radia-tor.Notethattheoptimizerisabletoinfluencethevalueonthis out-port byadjustingthespeed;thecontrollogicimplemented withincomponentsPrint QualityandRadiator Controller relatespeedtothevalueontheout-portlabeled2,i.e.,thepower giventotheradiator(Prad).Thetwoconstraintsontheout-port labeled3constrainthepowergiventothepaperheater.Itcanbe influencedbythedecisionvariableTphsp.Thetwoconstraintsonthe Powercomponentlimitthepowerconsumptionofthesystemto theamountofpoweravailable.Thetwoconstraintsonthedecision variableTphspgiveboundariesforthisdecisionvariable.
5.2.3. 20-Simreference/analyzablecomponent
In a MOOmodel, constraintsand objectivefunctionscan be specifiedusingvariables(i.e.,ports)otherthanthedecision vari-ables.However,thereshouldbecomputationallogicimplemented in the components that provides mathematical relationships betweenthedecisionvariablesandtheothervariablesusedaspart ofconstraintsandobjectivefunctions.Otherwise,theconstraints andobjectivefunctionscannotbeinfluencedbythedecision vari-ables.TobeabletoanalyzetheMOOmodel,itshouldincludethese mathematicalrelationships.Therefore,thecomponentsofaMOO modelhaveaproperty20SimReference.Thispropertycanbeused tomakeareferencetoa20-Simmodelthatspecifiesthe computa-tionallogic(e.g.,amodelofphysicalcharacteristicsorcontinuous controllogic)ofthecomponent.Itisnotnecessarytoincludea 20-Simmodelforeachcomponent.Suchamodelshouldbeincluded onlyforcomponentsthatrelateconstraintsandobjectivefunctions tothedecisionvariables.
Fig.5. Overviewofthetoolchain.
Fig.4 shows fourcomponents withstereotypeAnalyzable. Theirreferenced20-Simmodelscontainthephysicalrelationships explainedinSection3.2.
Fig.4alsoshowstwoobliviouscomponents:Powerand Pro-ductivity. The purpose of thesecomponents is to model the objectivefunctionsandtomodeltheconstraintthatthepower con-sumptionofthesystemislimitedtotheamountofpoweravailable. ThePowercomponentreferencesa20-Simmodelcontainingthe equation:Ptotal=Pph+Prad. TheProductivity component refer-encesa20-Simmodelcontainingtheequation:productivity=1/v.5
Inthefollowingsection,weintroducetheMOOtoolchainthat cananalyzeaMOOmodelandgeneratecodeforrealizationof opti-mizedcontrolinembeddedsoftware.
6. MOOtoolchain
Fig.5showsanoverviewoftheMOOtoolchain.Thefigureshows severalartifactsandanumberof(automated)processesthat con-sume/generatecertain(intermediate)artifacts.Oneoftheartifacts istheMOOmodelthatistheinputtothetoolchain.TheMOOmodel canbeeditedbytheMOOModelEditor.Thiseditorisanextensionof Archstudio(Dashofyetal.,2007).Itprovidesagraphicalmodeling environmenttocreateandedit MOOmodels.MOOModelEditor parsesthestored MOOmodelsand SIDOPS+specifications (con-taining20-Simmodels)togenerateamathematicalrepresentation oftheMOOmodel,includingthesemanticsfromthereferenced 20-Simspecifications.Thismathematicalrepresentationisusedby theConsistencyValidatortochecktheconsistencyoftheMOO solu-tion.IftheMOOsolutionisconsistent,theCodeGeneratorgenerates anoptimizationsoftware module,basedonapredefined/selected
5 Strictlyfollowingthemathematicaldefinition,thegoalofMOOistominimize theobjectivefunctions.Therefore,productivityisexpressedastheinverseofspeed: higherspeedleadstoaloweroutcomeoftheproductivityobjectivefunction.
optimizationalgorithm6andthespecificMOOproblemprovidedby
themathematicalrepresentation.Thisoptimizationmoduleneeds tointeractwiththesoftwaremodulesthatimplementthebasic controllogic,toobtainvaluesofcertain(physical)variablesandto influencethedecisionvariables.TheCodeWeaverweavesthis inter-actionintothecontrolsoftwaremodules.Thisresultsinembedded controlsoftware that includesMOO functionality. Thedifferent tools/processes/artifactsin theMOO toolchain are discussed in detailinthefollowingsubsections.
6.1. MOOModelEditor
TheArchstudiotoolsuite(Dashofyetal.,2007)offersa graph-icaleditor forComponent-and-Connector models.We extended thistoolsuitetoobtainagraphicaleditorforMOOmodels.Fig.6 presentsascreenshotoftheextendedArchstudiotooling,showing astructuraldiagramthatrepresentstheMOOmodelinFig.4.
Archstudiostoresthearchitecturalmodelsinanarchitecture descriptionlanguagecalledxADL(Dashofyetal.,2001).xADLisan XML-basedarchitecturedescriptionlanguagethatisdefinedusing anXMLschema.ThexADLschemacanbeextendedtobeableto expressnewelementsandpropertiesinanarchitecture descrip-tion.WeextendedxADLtobeabletoaddthedifferentelements oftherealizedMOO(decisionvariables,constraintsandobjective functions)tothecomponentsandportsinthestructuraldiagrams ofxADL.TheextensionisspecifiedintheformofaXMLschema(de Roo,2012)conformingtotheMOOarchitecturalstyle.
6.2. Derivingamathematicalrepresentation
Thissubsectiondescribesthemathematicalrepresentationofa MOOmodel(togetherwiththe20-simmodelsreferredbyits com-ponents),andexplainshowthisrepresentationiscreated.Thebasic
6The current toolset uses Matlab libraries (Find minimum of constrained nonlinearmultivariablefunction,2013)foroptimization.Inprinciple,any optimiza-tionalgorithm/approachcanbeused.
Fig.6.ScreenshotoftheMOOModelEditor.
modeloftherepresentationiscalledaderivationgraph.A deriva-tiongraphofaphysicalmodelisadirectedgraphthatreflectshow thevaluesofthephysicalvariablesarederivedfromoneanother. AformaldefinitioncanbefoundindeRoo(2012).Thederivation graphiscreatedintwosteps:
1AderivationgraphofeachcomponentintheMOOmodelis cre-ated.
2Thederivationgraphsofthecomponentsarecombinedaccording totheconnectionsbetweenthecomponentsintheMOOmodel. Thesetwostepsareexplainedinthefollowing.Forbothsteps, weapplystandarddata-flowanalysistechniques.
Step1.Creatingacomponent’sderivationgraph.Thederivation graphofacomponentiscreatedusingthefollowingprocedure:
Step1a.Createthe dependencygraph.Adependencygraphisa directedgraphthatrelatesvariablesandequationsinaphysical modeltoeachother.AformaldefinitioncanbefoundindeRoo (2012).IfthecomponentreferencesaSIDOPS+specification,this specificationisparsedandthecorrespondingdependencygraphis created(deRoo,2012).
Fig.7showsanexamplecomponent,twoequationsfromthe component’sreferredSIDOPS+specificationandaconstraintofthe component.Fig.8showsthedependencygraphthatiscreatedfor thisexample.
Step1b.MatchportstovariablenodesEachportofacomponent correspondstoavariable.Thevariablenodesinadependencygraph
Fig.7. Examplecomponent,SIDOPS+specificationandcomponentconstraint.
d e eq1 b c a eq2 f KEY: Equation Node Variable Node Relationship
Fig.8. Dependencygraphcorrespondingtotheexamplecomponentand specifica-tioninFig.7.
alsocorrespondtovariables.Usingnamematchingofthe corre-spondingvariables,portsofthecomponentarematchedtovariable nodesinthedependencygraph.Foreachportthathasno match-ingvariablenodeinthedependencygraph,anewvariablenodeis addedtothedependencygraph.7
The result of this step is the relationship portMatch-ing:ports→vNodes.Thisrelationshipisusedbyotherprocessesin theMOOtoolchain.Fig.9showsthematchingofthecomponent’s portstothevariablenodesinthedependencygraph.Theout-port forvariablegdidnothaveacorrespondingvariablenode.Therefore, anewvariablenodeisaddedtothedependencygraph.
Step 1c. Handling component’s constraints. A component can haveconstraintsattached.8Theseconstraintsshouldbereflected
inthecomponent’sdependencygraph.Toincludeacomponent’s
7Thismeansthatthevariablecorrespondingtotheportisnotusedinthe SIDOPS+specification.Notethatthisdoesnotmeanthatthecomponent’s imple-mentationdoesnotuse(incaseofin-ports)orcompute(incaseofout-ports)the valuesofthatport.TheSIDOPS+modelofacomponentonlyneedstoincludethe partofthesemanticsthatrelatesconstraintsandobjectivefunctionstothedecision variables.Therefore,themodelmayleaveoutunimportantrelationships,inthisway excludingcertainvariables.
8Constraintscanalsobeattachedtoports.Constraintsonportsonlyconstrain thevariablecorrespondingtothatport,noothervariables.
g d e eq1 b c a eq2 f
KEY
:
Port
Variable
Node
mapping
«Analyzable Component»
C
a b c e
f g
Fig.9. Matchingofportstovariablenodes.
constraintCCiinthecomponent’sdependencygraph,thefollowing approachisadopted:
1TheconstraintCCiisrewritteninoneofthefollowingforms: (a)expressionCCi<0,for‘greaterthan’and‘lessthan’constraints.
Forexample,g<a*bbecomesg−a*b<0.
(b)expressionCCi<=0, for ‘greater than or equal to’ and ‘less thanandequalto’constraints.Forexample,c≥a+bbecomes a+b−c≤0.
(c)expressionCCi=0, for equality constraints. For example, b+c=dbecomesb+c−d=0.
2A structure reflecting the mathematical equation
cci=expressionCCi is added to the dependency graph. In this equation,cciisa newvariable.expressionCCi istheexpression formedinthepreviousstep.Thestructurethatisaddedtothe dependencygraphconsistsofanequationnode,whichreflects expressionCCiandavariablenode,whichreflectscci.
3Dependingonthetypeoftherewrittenconstraintinthefirst stepofthisapproach,theccivariablenodeisannotatedwiththe constraintvalue<0,value<=0orvalue=0.Themappingfromthe constrainttothevariablenodeisaddedtotherelationship con-straintMatching:constraints→vNarch.Thisrelationshipisusedby otherprocessesintheMOOtoolchain.
Fig.10 shows the component’sdependencygraph extended withanequationnodeCC1 andavariablenodecc1 forthe con-straint. The constraint g≤a*b is rewritten as g−a*b≤0. The equationnodeCC1reflectstheequationcc1=g−a*b.Thecci vari-ablenodegetsannotatedwiththeconstraintvalue≤0.
Step1d.Transformthedependencygraphtothederivationgraph. Thedependencygraphonlyspecifiesthedependenciesbetween variablesasspecifiedbythe20-Simmodel.Itdoesnotrepresent howthevaluesofcertainvariablesarederivedfromthevaluesof othervariables.Forthispurpose,aderivationgraphiscreated(de Roo,2012).Thevariablenodesthatprovidetheinputforthe deriva-tionarethose variablenodesthatmatch withthecomponent’s in-ports.Fig.11showsthecomponent’sderivationgraph,which iscreatedfromthedependencygraphinFig.10.Thegraphshows thatthein-portslabeleda,b,candeareindependentvariablesfor equationseq1andeq2.Furthermore,thedependentvariabledof
eq1isanindependentvariableforeq2.Thedependentvariableof eq2isf,whichisanout-portofthecomponent.
Step2.ConstructingthederivationgraphfortheentireMOOmodel. SupposeGisthesetofderivationgraphsofthecomponentsina MOOmodel.Thederivationgraphgarch=(vNarch,eNarch,Earch)for theentireMOOmodelisthencreatedbycombiningthederivation graphsinG,asfollows:
1ThesetofvariablenodesinthederivationgraphoftheMOO modelistheunionofthesetsofvariablenodesinthederivation graphofeachcomponent:vNarch=
gi=(vNi,eNi,Ei)∈GvNi. 2ThesetofequationnodesinthederivationgraphoftheMOO
modelistheunionofthesetsofequationnodesinthederivation graphofeachcomponent:eNarch=
gi=(vNi,eNi,Ei)∈GeNi. 3Thesetofedgesisconstructedintwosteps:
(a)First,createtheunionofthesetsofedgesinthederivation graphofeachcomponent:Earch=
gi=(vNi,eNi,Ei)∈GEi. (b)Foreach connectorinthearchitecture:supposethe
corre-sponding out-port has matchingvariable noden1∈vNarch andthecorrespondingin-porthasmatchingvariablenode n2∈vNarch,thenadd(n1,n2)toEarch.9
4TheportMatchingmappingfortheMOOmodeliscreatedby tak-ingtheunionoftheportMatchingmappingsforeachcomponent: portMatchingarch=
iportMatchingi.The portMatchingmapping isstillneededtobeabletorelatenodesinthegraphbackto portsintheMOOmodel.
5TheconstraintMatchingmappingfortheMOOmodeliscreated bytakingtheunionoftheconstraintMatchingmappingsforeach component:constraintMatchingarch=
iconstraintMatchingi.
Fig.12showsthederivationgraphcreatedfortheexampleMOO modelfortheWarmProcesscasestudy.Thederivationgraphs cre-atedforthedifferentcomponentsareindicatedbydashedboxes.
9Notethatthein-portandout-portattachedtoaconnectoralwayshavea corre-spondingvariablenode.
g d e eq1 b c a eq2 f
KEY
:
Equation
Node
Variable
Node
Relationship
CC1 cc1 {value ≤ 0}{...}
Annotation
Fig.10.Dependencygraphextendedwiththecomponent’sconstraint.
KEY
:
Equation
Node
Variable
Node
Derivation
g d e eq1 b c a eq2 f CC1 cc1Fig.11.Thecomponent’sderivationgraph.
6.3. MOOConsistencyValidator
The MOO Consistency Validator analyzes a MOO model to ensuretwoproperties:(i)whetheralltheconstraintsandobjective functionsareassociatedwithamathematicalrelationshipinterms ofthedecisionvariables.(ii)ifthereexistcomponentsthatneed tohaveareferencetoaSIDOPS+specification(i.e.,20-Simmodel). Thecorrespondinganalysisstepsareexplainedinthefollowing. 6.3.1. Overallconsistencyanalysis
Ifeachconstraintand objectivefunctionhasamathematical relationshipwiththedecisionvariables,thenanoptimizerisable toinfluenceallconstraintsandobjectivefunctionsbychangingthe valuesofthesevariables.Inthisway,theoptimizercan guaran-teethesatisfactionoftheconstraintsandtheoptimizationofthe objectivefunctions.10TheMOOConsistencyValidatorensuresthis
intwosteps.
First,theMOOConsistency Validatorperformsadependency analysisonthederivationgraphtodetectdependentvariablenodes.
10Undertheassumptionthattheconstraintsthemselvesareconsistent,i.e., feasi-bledesignspaceisnotempty.
Thesenodesareassociatedwithvariablesthatareinfluencedby oneormoredecisionvariables.Theanalysisisperformedby check-ingforeachvariablenodewhetherthereisapathtoitfromanother variablenodethatcorrespondstoadecisionvariable.Thealgorithm isstraightforwardandexplainedindetailindeRoo(2012).Fig.13 showsthesetofdependentnodesamongthevariablenodesofthe examplederivationgraphpreviouslyshowninFig.12.Theseare thenodesthatarereachablefromthedecisionvariablenodes(v andTphsp)inthegraph.
Inthesecondstep,theMOOConsistencyValidatorchecksfor eachnodethathasconstraintsorthatistheoutcomeofan objec-tivefunction,whetheritisadependentnodeornot.Ifnot,this meansthatthereisnomathematicalrelationshipwiththe deci-sionvariables,soaninconsistencyhasbeendetected.Fig.13shows thatallvariablenodesthathaveconstraints(thevariablenodes labeled1–5)aredependentvariablenodes.Furthermore,the vari-ablenodesthatrepresenttheoutcomeofobjectivefunctions(Ptotal andProd)aredependentvariablenodes.Therefore,thespecified MOOmodelisconsistent.
6.3.2. DetectingwhichcomponentsneedaSIDOPS+specification ToconstructaconsistentMOOmodel,someofthecomponents that takepartin the architectureshouldhave a reference toa
h f e Prad (curr) v (curr) Tbelt Tph Prad v Tbelt BeltT PQ Tph v v Tcontact Tcontact Rad contr Tcontact Tcontact SP Prad Pph Power Prad Ptotal Prod. Prod. v PH contr Tph Tph SP Pph a b c d g
a : Paper Heater Controller b : Radiator Controller c: Print Quality d : Belt Temperature e: Paper Path f : System I/O g: Power h : Productivity
KEY
:
Equation
Node
Variable
Node
Derivation
Pavail Pavail CC1 cc1 Pph (act) Prad (act) v (act) Pph (curr)Fig.12.Derivationgraphfortheexamplearchitecture.
SIDOPS+specification(i.e.,20-Simmodel).TheMOO Consistency Validatorchecksthispropertyasfollows.
First,astructuregraphoftheMOOmodeliscreated.Astructure graphshowsthepotentialrelationshipsbetweenportsasspecified bythecomponentsandconnectors.Thealgorithmforderivingthe structuregraphisstraightforwardandexplainedindetailindeRoo (2012).
Then,thefollowingstepsareperformedtoidentifytheneedfor areferencetoa20-Simmodelforeachportthathasconstraintsor thatistheoutcomeofanobjectivefunction,andforeach compo-nentthathasconstraints:
• Findall pathsin the structure graph fromany decision vari-ablenodetotheport/componentnode.Paths withcyclescan beexcluded,astheyarenotrelevantfortheresult.Supposethe resultisthesetpaths.
• Thereshouldbeatleastonepath∈paths,forwhichallthe compo-nentsthatcorrespondtothecomponentnodesonthispathrefer toa20-Simmodel.Onlyinthiscaseamathematicalrelationship mightbepresentthatrelatestheconstraintsorobjectivefunction tothedecisionvariables.
6.4. MOOcodegenerator
MOOcode generatoris responsiblefor generatinga software modulethatcontainstheoptimizationfunctionalityspecificforthe givenembeddedcontrolsoftware.Thefollowingartifacts consti-tuteasinputtothetool:
• TheMOOmodel:mooModel.
• ThederivationgraphoftheMOOmodel.
• TheportMatchingrelationship,whichmatchesportsintheMOO modeltovariablenodesinthederivationgraph.
• TheconstraintMatchingrelationship,whichmatchescomponent constraintsintheMOOmodeltovariablenodesinthederivation graph.
• Thesetofdependentvariablenodes.
Theseartifactsarefirstanalyzedtoextractthesetofdecision variables,asetofconstraintsonthesedecisionvariablesandaset ofobjectivefunctionsregardingthesedecisionvariables.Detailed analysisproceduresareprovidedindeRoo(2012).Next,codeis generatedbasedontheextractedinformation.Thegeneratedcode performsthefollowingtasks:
1InformationforcertainpartsoftheMOOproblemstructureare collectedfrombasiccontrolcomponentsatruntime.This infor-mationcanbethevalueatacertainport(valueOf(aPort)),a valueinthestateofacomponent(valueInState(aVariable, aComponent)),oraresultofanexpressionina20-Simmodel. TheMOOcodeweaverinstrumentsbasiccontrolcomponentsto facilitateaccesstotheinformation.
2ProvidetheMOO problemstructure toan optimization algo-rithm(function).Theoptimizationalgorithm thendetermines aParetospaceorasingleoptimaloutcome(incasethereisa trade-offfunction).Thecurrentimplementationonlysupports the Matlab function fmincon (Find minimum of constrained
h f e Prad (curr) v (curr) Tbelt Tph Prad v Tbelt BeltT PQ Tph v v Tcontact Tcontact Rad contr Tcontact Tcontact SP Prad Pph Power Prad Ptotal Prod. Prod. v PH contr Tph Tph SP Pph a b c d g
a: Paper Heater Controller b : Radiator Controller c: Print Quality d : Belt Temperature e: Paper Path f : System I/O g : Power h : Productivity 1-5: Nodes with constraints
KEY
:
Equation
Node
Variable
Node
Derivation
Pavail Pavail CC1 cc1 Pph (act) Prad (act) v (act) Pph (curr)Dependent
Variable
Node
1 2 3 4 5Decision
Variable
Fig.13.Dependentnodesintheexamplederivationgraph.
nonlinear multivariable function, 2013) as an optimization algorithm.
3Setthedecisionvariablesinthebasiccontrolcomponentstothe resultoftheoptimization.
4Iterateovertheabovestepsatacertainfrequency(controlloop).
6.5. MOOcodeweaver
TheMOOcodeweavertoolinstrumentsthebasiccontrol compo-nents.TheoptimizationcodegeneratedbytheMOOcodegenerator usesthis instrumentation tocollectinformation fromthebasic control components and to set the optimized values for the decision variables. In this work, we assumethat get functions arealreadyavailabletoobtaintherequiredinformation. Aspect-orientedmechanismsareusedtointerceptcallstosetfunctions ofthedecisionvariablesandreplacetheargumentwiththevalue determinedbytheoptimizer.
Previously,a layeredarchitecture(Brunatoand Battiti,2010) hasbeenproposed, wheretheimplementationof the optimiza-tiontechniquesaremodularizedat thebottomlayer,providing optimizationfunctionalityasaservicetotheupperlayer(s).Even iftheimplementationofanoptimizationtechniqueis modular-ized, it needs to access and update several variables scattered throughouttheembeddedcontrolsoftware.Therefore,alayered structureisnotsufficientforproperseparationofconcernssince thenecessaryinteractionsofanoptimizercrosscuttherestofthe
controlsoftware.Weemployspecializedaspectualconstructsfor modularizingsuchcrosscuttingconcerns(deRoo,2012).
7. Experimentationandevaluation
WeclaimthattheuseoftheMOOframeworkreduces devel-opmentandmaintenanceeffort,whilebeingabletoimplement controlsoftwarerealizingmulti-objectiveoptimization.Wemake thisclaimforthefollowingreasons.
First,ourapproachisautomatedend-to-endwithatoolset.The manualeffortislimitedtothespecificationoftheinputmodels. Even mostof these models (SIDOPS+specifications)are already beingspecifiedbydomainengineersand directlyreusedin our approach.
Second, theuseof theMOO architecturalstyle makes MOO an explicit part of the architecture models. Decision variables, constraints,trade-offsandtheirdependenciesareexplicitly rep-resented byports, connectorsand components of thesoftware architecture.Assuch, softwarearchitecturedesign directly sup-portstherealizationandmaintenanceofaMOOimplementation.
Third, our approach supports separation of concerns in a uniqueway.The controllogicand applicationspecificconcerns areimplementedinageneral-purposelanguage(GPL).The phys-icalphenomenaisdefinedwithaDSML.Ourtoolsautomatically compose(weave)artifactsdefinedinDSMLswith(into)software modulesdefinedinGPLs.Hence,twodifferenttypesofconcerns
Java
Control Software Implementation 1, 2, 3 or4
Matlab SimulinkSimulation
sensor values actuator values
Simulink Model
Warm Process Thermodynamics
Seed (scenario) Results
Fig.14. Simulationsetup.
areseparated.Inaddition,theyareimplementedwithdifferent lan-guagesthataremostappropriateforexpressingthecorresponding concerns.
WewerealsoconcernedwiththeimpactoftheMOO frame-workonqualityattributesotherthanmaintainability.Inparticular, customimplementationsofstate-of-the-practiceengineering solu-tionsmightbeconsideredbetterintermsofrun-timeperformance. It turns out that thecontrol software that is generated by the MOOframeworkactuallyperformsevenbetterthanthemanually implementedsystem.Toevaluateourframeworkinthisrespect, thissectiondescribesanexperimentbasedontheWarmProcess case study.We have developed an embeddedcontrol software implementationusingtheMOOframework.Thisimplementationis comparedwiththreeotherstate-of-the-practiceengineering solu-tionswithrespecttotheleveragedsystemproductivity,Wehave usedaMatlabSimulinkmodeltosimulatetheprinterhardware behaviorand employeddifferentsimulation scenariosinvolving alimitedand fluctuatingamountofavailablepower.Inthe fol-lowing,wefirstdiscusstheexperimentalsetup,followedbythe implementationandresults.
7.1. Experimentalsetup
WehavedevelopedanexperimentalsetupbasedonaMatlab Simulink(MATLABSimulink,2012)modeloftheWarmProcess thermodynamics.Thismodelhasbeenprovidedbyourindustrial partner,andisarealisticmodelofarealprintersystem.Fig.14 showsthesetupofthissimulation.Thesimulationmodelcanbe seededwithavalueforthepseudo-randomnumbergeneratorthat determinestheamountofpoweravailableintheSimulinkmodel. Afterthesimulation,theresultsconcerningproductivitycanbe obtained.
BesidestheSimulinkmodel of theWarmProcess,thesetup comprises one ofthe alternative controlsoftware implementa-tions.ThecontrolsoftwareisimplementedinJavaandincluded intheMatlabenvironment,whichnativelysupportsaJavavirtual machine.Thefollowing fourcontrolimplementationsaretested andcompared11:
1MOO:AnimplementationcreatedwiththeMOOframework. 2IntelligentSpeed:TheIntelligentSpeedalgorithm(deRoo,2012)is
thestate-of-the-practiceapproach,aswehavelearnedfromour industrialpartner.Thisalgorithmworksasfollows.Theamount ofpowerthatisnotutilized(Pmargin)iscalculated.WhenPmargin ittoolow,speedisdecreasedby20ppm.WhenPmarginishigher thanacertainboundary(200W),thenthespeedisincreasedby anamountthatisproportionaltotheactualvalueofPmargin. 3Intelligent Speed 2: This is a variant of the Intelligent Speed
algorithm. TheIntelligent Speed algorithmdoesnot optimize thepowermarginPmarginto0W.Instead,itmaintainsacertain
11 FurtherdetailsabouttheseimplementationscanbefoundindeRoo(2012).
amountofmargin(varyingbetween0Wand200W)tocopewith suddendropsintheamountofpoweravailable.Inthe exper-iment,sucha marginresultsinlower productivity,asnotall theavailablepowerisutilized.Tomakeafaircomparisonwith respecttotheMOOimplementation,whichoptimizesforapower margin(Pmargin)of0W,wealsotestasecond,adapted implemen-tationoftheIntelligentSpeedalgorithm,calledIntelligentSpeed 2(deRoo,2012).ThisalgorithmadaptsspeedtooptimizePmargin toapproximately0W.
4EcoMode:TheEcoModealgorithm(deRoo,2012)employsa strat-egyasfollows;iftheamountofavailablepowerissufficientto printatthehighestspeed(120ppm),thenprintingisperformed atthehighestspeed.Otherwise,printingisperformedatlowest possiblespeed(60ppm).
Thefollowing settings and configurationsare usedwiththe experimentalsetup:
• Tcontactismaintainedatthesetpointdeterminedbythe Print-Qualityphysicalmodel(Eq.(1)).
• Thespeedofthesystemcanvarybetween60and120ppm.Itis assumedthatthespeedcanbechangedinstantaneously. • Thepaperheatertemperature(Tph)iscontrolledtoitsdefined
setpointaslongasthespeedandtheavailablepowerpermit. • 11scenariosaretestedwithfixedamountofpoweravailable.
Hereby,theamountofpoweravailablevariesinfixedstepsof 50Wfrom700W(minP)to1200W(maxP).
• 20 scenarios are tested with fluctuating power. Hereby, the amountofpoweravailablefluctuatesbetweenanamount suf-ficienttoprintatthehighestspeed(maxP)andanamountbarely sufficienttoprintatlowestspeed(minP).Eachscenarioiscreated usingapseudo-randomgeneratorwhichprovidesaneven distri-butionbetweenminPandmaxP.Experimentsareperformedfor thefollowing7differentfluctuationintervals(i.e.,theinterval afterwhichtheamountofavailablepowerchanges):10s,25s, 50s,100s,250s,500s,and1000s.
• Foreachtestedscenario,thesimulationrunsfor20,000timesteps (i.e.,simulatedseconds).
7.2. Experimentresults
Thissectionpresentstheresultsof theexperiment.Thefour differentimplementationsarecomparedaccordingtothefollowing fourcriteria:
• Productivity:Theaveragespeedofthesystem,inpagesperminute (ppm).
• Energyconsumption:Theaverageenergyconsumedperprinted page,inJ/page.
• Powermargin:Theaveragepowermargin(thedifferencebetween theavailableandtheconsumedpower),inW.
• PrintQuality:Theaveragedeviationfromperfectprintquality,as definedbythePrintQualityphysicalmodel.
Figs.15–18showtheresultsoftheexperimentforeachofthese fourcriteria.Foreachofthesevenpowerfluctuationintervalsthe meanvalueoverthe20scenariosisshown.
Fig.15 shows theresultsfor thecriterion productivity. Here wecanseethatforlowerpowerfluctuationintervals,theMOO implementationperformssignificantlybetterthantheotherthree controlimplementations.FortheMOO,EcoModeandIntelligent Speedimplementation, theperformanceis stableforthe differ-entpower fluctuationintervals.However, theIntelligent Speed 2 implementation performs better with higher power fluctua-tionintervals,givingalmostthesameperformanceastheMOO
0 20 40 60 80 100 120 10 25 50 100 250 500 1000 Average speed (ppm)
Power fluctuaon interval (s)
MOO Eco Mode Intelligent Speed Intelligent Speed 2
Fig.15.Averageprintingspeed.
8,8 9,0 9,2 9,4 9,6 9,8 10,0 10,2 10,4 10,6 10,8 10 25 50 100 250 500 1000
Average Energy Consumpon (J/page)
Power fluctuaon interval (s)
MOO Eco Mode Intelligent Speed Intelligent Speed 2
Fig.16.Averageenergyconsumption(lower⇒better).
implementationforthehighesttwo powerfluctuationintervals (500sand1000s).
Fig. 16 shows the results for the criterion energy consump-tion.The figureshows that theMOO implementationperforms significantly better than the Eco Mode and Intelligent Speed
implementation.TheIntelligentSpeed2implementationperforms betterwithhigherpowerfluctuationintervals.
Fig.17 shows theresultsfor thecriterion power margin. As expected, theaverage powermargin is high for theIntelligent Speedimplementation.TheEcoModeimplementationalsoshows
0 20 40 60 80 100 120 140 10 25 50 100 250 500 1000
Average Power Margin (W)
Power fluctuaon interval (s)
MOO Eco Mode Intelligent Speed Intelligent Speed 2
0,00 0,05 0,10 0,15 0,20 0,25 0,30 10 25 50 100 250 500 1000
Average Print Quality Deviaon
Power fluctuaon interval (s)
MOO Eco Mode Intelligent Speed Intelligent Speed 2
Fig.18.Averagedeviationfromprintquality(lower⇒better).
asignificantaveragepowermargin.Theaveragepowermarginof theIntelligentSpeed2implementationislowerforhigherpower fluctuationintervals.TheMOOimplementationhasalowpower margin.NotethatthepowermarginoftheMOOimplementationis notnecessarily0,becauseforsomescenarios,thereismorepower availablethanneededtoprintatthehighestpossiblespeed.
Fig.18showstheresultsforthecriterionprintquality.Thefigure showsthattheEcoModeimplementationperformssignificantly worsethantheotherthreeimplementations.TheMOO implemen-tationperformsbetterthantheotherimplementations,exceptfor thelowestpowerfluctuationinterval.
Fig.19showstheaveragespeed(i.e.,productivity)ofthefour implementationsforthe11scenarioswithaconstantamountsof poweravailablewithineachscenario.Thefigureshowsthatwitha constantamountofpoweravailable,theproductivityofthe Intelli-gentSpeed2implementationisalmostthesameastheproductivity oftheMOOimplementation.TheIntelligentSpeedandEcoMode implementationperformless.
Fig.20showstheaveragespeed(i.e.,productivity)ofthefour implementationsforthe20testscenarioswithafluctuation inter-val of 1000. The figure shows that the MOO implementation performsconsistently betterthan theEcoModeand Intelligent Speedimplementations.TheperformanceoftheIntelligentSpeed2 implementationisconsistentlyalmostthesameastheperformance oftheMOOimplementation.
7.3. Evaluation&discussion
Inthissubsection,wediscussexperimentresultsandcomment onasetofissueswehaveobserved.Firstofall,Figs.15and19 showsthatMOOimplementationhasthebestperformance con-cerningproductivityinallthetestedscenarios.Thedifferencewith theIntelligentSpeedandEcoModeimplementationsis consider-able,butthisismainlyduetothefactthattheseimplementations havelargepowermargins.TheIntelligentSpeed2 implementa-tionapproachestheperformanceoftheMOOimplementationfor largerpowerfluctuationintervals,asitminimizesthepower mar-gin.Forsmallerpowerfluctuationintervals,theIntelligentSpeed2 implementationisnotabletoperformasgoodastheMOO imple-mentation.
Alsoontheotherthree criteria,energy consumption,power margin and print quality, the MOO implementation performs equallywellorbetterthantheotherthreeimplementations.So, wecanconcludethattheMOOframeworkleadstosystemsthatare abletofunctionatthesameorahigherlevelthansystemsapplying otherengineeringsolutionstooptimizeasystemquality. Addition-ally,theMOOframeworkprovidestheabilitytooptimizemultiple systemqualitiesanddynamicallymaketrade-offsbetweenthem.In thisway,solutionscreatedwiththeMOOframeworkdiffersfrom theothersolutions,whichtypicallyoptimizeforasinglesystem quality. 40 50 60 70 80 90 100 110 120 130 140 700 750 800 850 900 950 1000 1050 1100 1150 1200 Average speed (ppm) Power available (W) MOO Eco Mode Intelligent Speed Intelligent Speed 2
60 65 70 75 80 85 90 95 100 105 110 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Average speed (ppm) Scenario MOO Eco Mode Intelligent Speed Intelligent Speed 2
Fig.20.Performanceofthefourimplementationsconcerningproductivityfor20scenarioswithafluctuatingpowersupply.
Inaddition,weobservedthatthecontrolsoftwarecreatedwith theMOOframeworkisabletoprovideapreciseandstablepower margin,as opposed toIntelligentSpeed algorithm, which gives anunpredictablemarginbetweentheamountofpoweravailable and the amountof powerconsumed (de Roo,2012).We have alsoobservedthattheEcoModeimplementationhasveryinstable speedbehavior:thesystemacceleratesanddecelerates continu-ously.Thisbehaviorisundesirablefromauserexperiencepoint ofviewanditincreaseswear-and-tearoftheprintersystem.Also, thefrequentspeedchangesleadtomoredeviationinprint qual-ity.Therefore,theEcoModeimplementationperformsworstwith respecttoprintquality,ascanbeseeninFig.18.Wehaveobserved smoothspeedtransitionsforMOO,IntelligentSpeedand Intelli-gentSpeed2implementations.Experimentalresultsanddetailed discussionsregardingtheseobservationscanbefoundindeRoo (2012).
Figs. 15 and 16 suggest that there is a reverse correlation betweenproductivityandenergyconsumedperprintedpage.This reversecorrelationcanbeexplainedfromthefactthattheprinter losesanamountofenergytotheenvironmentwhichisunrelated tothespeedofthesystem.Ifproductivityislower,theamountof energylosttotheenvironmentisattributedtolessprintedpages, leadingtoahigherenergyconsumptionperprintedpage.
8. Conclusionandfuturework
WehavepresentedtheMOOframework,todesignand docu-mentMOOwithinthearchitectureofembeddedcontrolsoftware. Thisframeworkhasanarchitecturalfocus,basedontheMOO archi-tecturalstyle.AMOOarchitecturalmodelthatconfirmstothisstyle definesessentialelementsofaMOOsolution(i.e.,decision vari-ables,constraintsandobjectivefunctions).ThetoolsoftheMOO frameworkcandetectinconsistenciesinthespecificationofthe MOOsolution.Ifthespecificationisconsistent,itisusedfor gener-atingtheimplementationofanoptimizer.Thetoolsalsoinstrument theimplementationofthecontrolsoftwarecomponents,toconnect thegeneratedoptimizertothecontrolsoftwarecomponents.This deliversanimplementationofMOOinembeddedcontrolsoftware. We have applied the approach in the context of an indus-trial case study from the printing systems domain. Results showedthatthecontrolsoftwaredevelopedwiththeMOO frame-work performs at least as good as, and typically better than state-of-the-practicesolutionstooptimizeproductivity.In addi-tion, theMOO framework enablesdynamic trade-offs between multiple objectives. Above all, the adoption of the MOO style
leverages better separation of concerns, modularity and main-tainability.Thestyleseparatestheimplementationofthecontrol logic and domainmodels that definephysical phenomena.The controllogicandthedomainmodelsarespecifiedindifferent lan-guagesandcanbemaintainedseparately.ThetoolsoftheMOO frameworkautomaticallycomposetheseartifacts.
Currently,theMOOarchitecturestylecapturesonlyastaticview (structureatruntime)oftheoptimizationprocess.Asfuturework, weareplanningtoextendthestylewithdynamicviews.Wealso wanttoextendthestyletoincludeprobabilisticdistributionsas constraints,astherelationshipsbetweendecisionvariablesmight notbealwaysexactlyknown.
Acknowledgements
ThisworkhasbeencarriedoutaspartoftheOCTOPUSproject undertheresponsibilityoftheEmbeddedSystemsInstitute.This projectispartiallysupportedbytheNetherlandsMinistryof Eco-nomicAffairsundertheEmbeddedSystemsInstituteprogram. References
Aleti,A.,Bjrnander,S.,Grunske,L.,Meedeniya,I.,2009. ArcheOpterix:an extend-abletoolforarchitectureoptimizationofAADLmodels.In:Proceedingsofthe WorkshoponModel-basedMethodologiesforPervasiveandEmbedded Soft-ware(MOMPES),pp.61–71.
Aleti,A.,Buhnova,B.,Grunske,L.,Koziolek,A.,Meedeniya,I.,2013.Software archi-tectureoptimizationmethods:asystematicliteraturereview.IEEETransactions onSoftwareEngineering,http://dx.doi.org/10.1109/TSE.2012.64.
Banker,R.D.,Datar,S.M.,Kemerer,C.F.,Zweig,D.,1993. Softwarecomplexityand maintenancecosts.CommunicationsoftheACM36,81–94.
Broenink,J.,1997.Modelling,simulationandanalysiswith20-sim.JournalA38(3), 22–25.
Brunato,M.,Battiti,R.,2010. Grapheur:asoftwarearchitectureforreactiveand interactiveoptimization.In:Proceedingsofthe4thInternationalConferenceon LearningandIntelligentOptimization.Springer-Verlag,Berlin,Heidelberg,pp. 232–246.
Calinescu,R.,Grunske,L.,Kwiatkowska,M.,Mirandola,R.,Tamburrelli,G.,2011. DynamicQoSmanagementandoptimizationinservice-basedsystems.IEEE TransactionsonSoftwareEngineering37(3),387–409.
Clements,P.,Garlan,D.,Bass,L.,Stafford,J.,Nord,R.,Ivers,J.,Little,R.,2002. Docu-mentingSoftwareArchitectures:ViewsandBeyond.Addison-Wesley,Boston. Collette,Y.,Siarry,P.,2003.MultiobjectiveOptimization:PrinciplesandCase
Stud-ies,1sted.Springer-Verlag,Berlin.
Dashofy, E.M.,Hoek,A.V.d., Taylor,R.N., 2001. Ahighly-extensible, xml-based architecturedescriptionlanguage.In:WICSA‘01:ProceedingsoftheWorking IEEE/IFIPConferenceonSoftwareArchitecture,IEEEComputerSociety, Wash-ington,DC,USA,p.103,http://dx.doi.org/10.1109/WICSA.2001.948416. Dashofy,E.,Asuncion,H.,Hendrickson,S.,Suryanarayana,G.,Georgas,J.,Taylor,R.,
2007.Archstudio4:anarchitecture-basedmeta-modelingenvironment.In:ICSE COMPANION’07:CompaniontotheProceedingsofthe29thInternational Con-ferenceonSoftwareEngineering,IEEEComputerSociety,Washington,DC,USA, pp.67–68,http://dx.doi.org/10.1109/ICSECOMPANION.2007.21.
de,A.R.,Sözer,H.,sit,M.A.,2009. Anarchitecturalstyleforoptimizingsystem qualitiesinadaptiveembeddedsystemsusingmulti-objectiveoptimization.In: JointWorkingIEEE/IFIPConferenceonSoftwareArchitecture,2009&European ConferenceonSoftwareArchitecture,WICSA/ECSA2009,Cambridge,UK,pp. 349–352.
deRoo,A.2012.Managingsoftwarecomplexityofadaptivesystems.Ph.D.Thesis. UniversityofTwente.
Eckenrode,R.T.,1965. Weightingmultiplecriteria.ManagementScience2(3), 180–192.
Ehrgott,M.,Gandibleux,X.,2002. MultipleCriteriaOptimization:StateoftheArt AnnotatedBibliographicSurveys.KluwerAcademicPublishing,Norwell, Mas-sachusetts.
Findminimumofconstrainednonlinearmultivariablefunction,2013.http://www. mathworks.nl/help/toolbox/optim/ug/fmincon.html(accessed2013). Geilen,M.,Basten,T.,Theelen,B.,Otten,R.,2007. Analgebraofparetopoints.
FundamentaInformaticae78(1),35–74.
Gnulinearprogrammingkit,2012.http://www.gnu.org/software/glpk/(accessed 2012).
Hofmeister,C.,Nord,R.,Soni,D.,2000. AppliedSoftwareArchitecture,1sted. Addison-WesleyProfessional,Reading,Massachusetts.
Hwang,C.,Yoon,K.,1981.MultipleAttributeDecisionMaking:Methodsand Appli-cations:AState-of-the-ArtSurvey,vol.13.Springer-Verlag,Berlin.
Keeney,R.L.,Raiffa,H.,1976. DecisionswithMultipleObjectives:Preferencesand ValueTradeoffs.JohnWiley&Sons,Inc.,NewYork.
Kleijn,C.,2009.20-Sim4.1ReferenceManual.
Li, R., Etemaadi, R., Emmerich, M.M., Chaudron, M.V., 2011. An evolu-tionary multiobjective optimization approach to component-based soft-warearchitecturedesign.In:IEEECongress onEvolutionaryComputation, pp.432–439.
lpsolve,2012.http://lpsolve.sourceforge.net/(accessed2012).
Lui,G.,Yang,J.,Whidborne,J.,2002. MultiobjectiveOptimisationandControl. ResearchStudiesPress,Baldock,Hertfordshire,England.
Maier,M.W.,Emery,D.,Hilliard,R.,2001. Softwarearchitecture:introducingIEEE standard1471.IEEEComputer34(4),107–109.
Marler,R.,Arora,J.,2004.Surveyofmulti-objectiveoptimizationmethodsfor engi-neering.StructuralandMultidisciplinaryOptimization26,369–395. MATLAB Simulink, 2012. http://www.mathworks.com/products/simulink/
(accessed2012).
Meedeniya,I.,Buhnova,B.,Aleti,A.,Grunske,L.,2010.Architecture-drivenreliability andenergyoptimizationforcomplexembeddedsystems.In:Proceedingsofthe 6thInternationalConferenceonQualityofSoftwareArchitectures. Springer-Verlag,Berlin,Heidelberg,pp.p52–67.
Octopusproject,2012.ESI.http://www.esi.nl/projects/octopus
Pareto,V.,1896.CoursD’ÉconomiePolitique.F.Rouge,Lausanne,Switzerland. Shaw,M.,Garlan,D.,1996. SoftwareArchitecture:PerspectivesonanEmerging
Discipline.Prentice-Hall,Inc.,UpperSaddleRiver,NJ,USA.
Sozer,H.,Tekinerdogan,B.,Aksit,M.,2011. Optimizingdecompositionofsoftware architectureforlocalrecovery.SoftwareQualityJournal,1–38.
Yoon,K.,Hwang,C.,1995. MultipleAttributeDecisionMaking:AnIntroduction. SagePublications,ThousandOaks,California.
ArjandeRooreceivedhisMScdegreeincomputersciencefromtheUniversityof TwenteintheNetherlandsin2007.HereceivedhisPhDdegreein2012fromthe sameUniversity.Currently,heisanindependententrepreneur.
HasanSözerreceivedhisBScandMScdegreesincomputerengineeringfromBilkent University,Turkey,in2002and2004,respectively.HereceivedhisPhDdegreein 2009fromtheUniversityofTwente,TheNetherlands.From2002until2005,he workedasasoftwareengineeratAselsanInc.inTurkey.From2009until2011,he workedasapost-doctoralresearcherattheUniversityofTwente.Heiscurrentlyan assistantprofessoratÖzye˘ginUniversity.
LodewijkBergmansisapart-timeAssistantProfessorattheComputerScience DepartmentoftheUniversityofTwenteinTheNetherlands.HeholdsanMScand PhDdegreefromthesameinstitute.Hehasampleindustrialexperiencein object-orientedsoftwareengineering,mostnotablyonanalysisanddesign,andsoftware architectureofembeddedsystems.Lodewijk’slong-termresearchgoalistoachieve adeeperunderstandingofsoftwarecomposition.Inaddition,Lodewijkworksatthe SoftwareImprovementGroup,wherehehelpsorganisationsmakingsoundIT deci-sions,throughafact-basedandmetrics-basedanalysisoftheirsoftwaresystems anddevelopmentprocesses.
MehmetAks¸itholds anMSc degreefromthe EindhovenUniversityof Tech-nology and a PhD degree from the University of Twente. Currently, he is workingasafullprofessorattheDepartmentofComputerScience,University ofTwenteandaffiliatedwiththeinstituteCentreforTelematicsandInformation Technology.