您好,欢迎访问三七文档
1ReengineeringaPC-basedSystemintotheMobileDeviceProductLineWeishanZhangandStanJarzabekDepartmentofComputerScience,SOCNationalUniversityofSingaporeLowerKentRidgeRoad,Singapore117543{zhangws,stan}@comp.nus.edu.sgNeilLoughranandAwaisRashidComputingDepartmentLancasterUniversityLancaster,LA14YR,UK{loughran,awais}@comp.lancs.ac.ukAbstractThereisagrowingdemandtoportexistingPC-basedsoftwaresystemstomobiledeviceplatforms.SystemsrunningonmobiledevicessharebasiccharacteristicswiththeirPC-basedcounterparts,butdifferfromthemindetailsofuserinterfaces,applicationmodels,etc.SystemsrunningonmobiledevicesmustalsoperformwellusinglessmemorythanPC-basedsystems.Mobiledevicesthemselvesaredifferentfromeachotherinmanyways,too.Inthispaper,wedescribehowwemadeanexistingPC-basedCityGuideSystemavailableonawiderangeofmobiledevices,inacost-effectiveway.Weapplied“reengineeringintoaproductlinearchitecture”approachtoachievethegoal.Ourproductlinearchitecturefacilitatesreuseviageneration–wegeneratespecificCityGuideSystemsfortargetplatformsincludingPC,PocketPCandothermobiledevices,fromgenericmeta-componentsthatformtheCityGuideSystemproductlinearchitecture.Inourproject,weusedameta-programmingtechniqueofXVCLtobuildaproductlinearchitectureforCityGuideSystems.1.IntroductionMobiledevices(suchasPocketPC,mobilephones,etc.)areubiquitousnow.Withadvancesinhardware,mobiledevicestodayarecapableofrunningsoftwarethatyesterdaycouldonlyrunonaPC.Naturally,thereisagrowingdemandtoportmanyoftheexistingPC-basedsoftwaresystemstosmallermobiledeviceplatforms.WhilesystemsrunningonmobiledevicessharebasiccharacteristicswiththeirPC-basedcounterparts,theyalsodifferfromtheminmanydetails,forexampleuserinterfaces.SystemsrunningonmobiledevicesmustperformwellusinglessmemorythanPC-basedsystems.Therearealsomanyvariationsacrossdifferentmobiledevicesthataffectsystemcharacteristics,suchas320x240colorfulscreenversus100x80monodisplay,lowerendmobilephonewhosememoryislessthan100kbversusPocketPCwhichhasupto64Mmemoryorhigher,etc.Someofthehigh-endmobiledevicescanrunJ2SE1application;whilemostofthemobiledevicesareonlyJ2ME2enabledbecauseofthelimitedresources.Weapplied“reengineeringintotheproductlinearchitecture”approachtomakeanexistingPC-basedCityGuideSystemavailableonarangeofmobiledevices,inacost-effectiveway.Firstly,weanalyzedthePC-basedCityGuideSystem(GS-PCforshort,basedontheLancasterGUIDEproject3)toidentifycandidatesforreusablecomponents.Then,wereengineeredexistingcodeintogeneric,adaptablemeta-componentsthatformedaGSproductlinearchitecture.ThemembersoftheGSproductlineareCityGuideSystemsforPCs(includingdesktop/laptop/tabletPCs)andformobiledevices(includingPocketPCs,mobilephone,etc.).WecanbuiltspecificCityGuideSystemsbyreusing(composingafterpossibleadaptations)meta-componentsoftheGSproductlinearchitecture.Inthispaper,wedescribeboththereengineeringprocessandthestructureoftheproductlinesolution.Weusedameta-programmingtechniqueofXVCLtobuildaGSproductlinearchitectureinourproject.XVCL[1][2]isameta-language,methodandtoolwehavedevelopedforbuildingflexible,adaptableandreusablesoftware.Itisalsoapowerfulvariabilitymanagementmechanism.WehavesuccessfullyappliedXVCLintwomedium-scaledproductlineprojectsandanumberofsmallercasestudies(e.g.,[3]and[4]).AmoredetaileddescriptionofXVCLcanbefoundin[1][2].Thepaperisorganizedasfollows:Inthenextsection,wetalkabouttherelatedworkonreengineering;thensection3introducesGS-PCbriefly;section4providesanoverviewof“reengineeringintotheproductlinearchitecture”approach;thenweanalyzethisCityGuideSysteminsection5.FollowedarethesectionsforCityGuidedomainanalysisandpositioningtheGS-PCforthereengineering.ThedesignandimplementationoftheCityGuideSystemproductlinearchitecturearedescribedinsection8;thenweshowhowtogetaspecificCityGuide1JavaTM2PlatformStandardEdition,http://java.sun.com/j2se2JavaTM2PlatformMicroEdition,http://java.sun.com/j2me3Davies,Netal.LancasterGUIDEprojecthomepagehttp://www.guide.lancs.ac.uk/2Systembycustomizingthisarchitecturewithtwoexamplesinsection9.Section10presentsthediscussionoftheexperimentresults,suchastheadvantagesanddisadvantages.Finally,someconcludingremarksaregiveninsection11.2.RelatedworkReengineeringanoldsystemoftenassuresbetterreturnofinvestmentthandevelopmentfromscratch.Existingsystemsarereengineeredtoimprovemaintainability,toportasystemintoanewplatform,topositionasystemformajorenhancementsortoincreasereusability.Reengineeringinvolvesreverseengineeringandforwardengineering[5].Successstorieswithreverseengineeringhavebeenreported(e.g.,[6]),manytoolshavebeenimplementedbothinindustry(e.g.,[7])andacademia(e.g.,[8][9][10]),butmoreexperimentationisneededtofullyexplorethepotentialandlimitsofautomatedreverseengineering.Canfora,CimitileanddeCarlini[9]identifyanumberofproblemsthathinderwideadoptionofreverseengineeringtools.Inparticular,theauthorsnotethatcurrentreverseengineeringtools:•failtoidentifytherightlevelofdetailsinrecovereddesignandlackproperdesignpresentationstrategies,•recoveronlysmallportionofthedesigninformationsoftwaremaintainersneed,and•arenotflex
本文标题:Reengineering a PC-based System into the Mobile De
链接地址:https://www.777doc.com/doc-974 .html