<<

ProjectProject ProposalProposal toto MExEMExE forfor aa MobileMobile ServicesServices FrameworkFramework basedbased onon CommonCommon LanguageLanguage InfrastructureInfrastructure

MikeMike D.D. SmithSmith GroupGroup ProgramProgram ManagerManager DeveloperDeveloper DivisionDivision MicrosoftMicrosoft CorporationCorporation AgendaAgenda

„ BackgroundBackground // ContextContext „ MobileMobile FrameworksFrameworks ProposalProposal

082800 MExE Proposal 2 CommonCommon LanguageLanguage InfrastructureInfrastructure StandardizationStandardization ProjectProject BriefBrief HistoryHistory

„ CommonCommon LanguageLanguage InfrastructureInfrastructure (CLI)(CLI) isis thethe specificationspecification forfor aa multimulti-- languagelanguage runtimeruntime environmentenvironment designeddesigned toto fitfit manymany devicesdevices andand platformsplatforms „ ProposedProposed toto ECMAECMA TC39TC39 forfor standardizationstandardization „ ComplementsComplements andand supportsupport thethe workwork thatthat isis alreadyalready ongoingongoing inin TC39TC39 ECMAScriptECMAScript

082800 MExE Proposal 4 StatusStatus ofof ProposalProposal

„ JulyJuly 20002000 InitialInitial proposalproposal mademade toto ECMAECMA TC39TC39 StrongStrong interestinterest evidencedevidenced „ SeptSept 2828 20002000 NextNext TC39TC39 meetingmeeting ProposalProposal toto addadd toto TC39TC39 workwork programmeprogramme „ IfIf approved…approved… WorkWork mostmost likelylikely toto beginbegin laterlater inin 20002000

082800 MExE Proposal 5 AnAn OpenOpen LanguageLanguage ModelModel

„ CLICLI isis languagelanguage neutralneutral All languages can be first class players Leverage existing development skills Leverage existing code Future proofing „ ExtensibleExtensible languagelanguage supportsupport ECMAScript, /C++, C#, VB, … WMLScript? APL, COBOL, Eiffel, Haskell, ML, Oberon, Pascal, , Python, Scheme, , … (many research & industry language partners)

082800 MExE Proposal 6 AA ProfiledProfiled SpecificationSpecification

„ CLICLI isis aa profiledprofiled specificationspecification FullFull--featuredfeatured profileprofile forfor desktop/serverdesktop/server-- levellevel devicesdevices EconomyEconomy--focusedfocused profileprofile forfor embeddedembedded devicesdevices OpenOpen andand flexibleflexible ““VerticalVertical”” frameworksframeworks forfor specificspecific scenarioscenario categoriescategories layerlayer onon toptop

082800 MExE Proposal 7 GeneralGeneral DesignDesign ConsiderationsConsiderations

„ CLICLI designdesign considersconsiders thethe following:following: ScalableScalable SecuritySecurity centralcentral toto thethe designdesign EconomyEconomy // PerformancePerformance tradeoffstradeoffs AdaptabilityAdaptability // ProfilesProfiles ApplicationApplication andand toolstools compatibilitycompatibility PortabilityPortability andand easyeasy devicedevice integrationintegration SeamlessSeamless connectivityconnectivity PeacefulPeaceful realreal--timetime coexistencecoexistence

082800 MExE Proposal 8 MobileMobile ConsiderationsConsiderations

„ EconomyEconomy Efficient battery use RAM: ~ 128 KB Flash / ROM: ~ 512 KB „ GoodGood performanceperformance JIT compilation Ability to trade off performance against resource usage (RAM, Flash, ROM) „ GranularGranular andand configurableconfigurable securitysecurity modelmodel „ XMLXML--basedbased transporttransport--independentindependent protocolsprotocols enableenable provisioning,provisioning, crosscross--devicedevice interopinterop,, webweb servicesservices 082800 MExE Proposal 9 MobileMobile FrameworksFrameworks ProposalProposal ProposalProposal toto MExEMExE

WorkWork togethertogether toto definedefine andand standardizestandardize aa CLICLI-- basedbased MobileMobile ServicesServices programmingprogramming framework.framework.

Mobile Framework

1. Collaborate on Mobile Framework classes

Base Classes 2. Leverage CLI base profile as open app execution Common Language Infrastructure environment. Ensure suitable profile, policies, configuration.

082800 MExE Proposal 11 PotentialPotential BenefitsBenefits

„ BroadBroad developerdeveloper accessibilityaccessibility „ NewNew applicationapplication scenariosscenarios „ GranularGranular securitysecurity modelmodel „ CostCost--effectiveeffective solutionsolution „ SynergySynergy withwith existingexisting MExEMExE workwork „ OptionalOptional -- supportsupport forfor ECMAScriptECMAScript

082800 MExE Proposal 12 BroadBroad DeveloperDeveloper AccessibilityAccessibility

„ MultiMulti--languagelanguage supportsupport AllAll languageslanguages cancan bebe firstfirst classclass playersplayers LeverageLeverage existingexisting developmentdevelopment skillsskills LeverageLeverage existingexisting codecode FutureFuture proofingproofing thethe platformplatform „ ReachReach thethe fullfull developerdeveloper communitycommunity ~~ 66 MMMM professionalprofessional devsdevs worldwideworldwide „ BroadBroad partnerpartner supportsupport ToolsTools vendorsvendors andand languagelanguage researchersresearchers ManyMany choiceschoices forfor developersdevelopers 082800 MExE Proposal 13 GranularGranular SecuritySecurity ModelModel

„ ScaleableScaleable securitysecurity modelmodel –– developerdeveloper consistencyconsistency UntrustedUntrusted TrustedTrusted domainsdomains (operator,(operator, manufacturer..)manufacturer..) Rich,Rich, flexibleflexible permissionspermissions && policiespolicies „ CodeCode accessaccess securitysecurity „ TypeType safesafe andand verifiableverifiable codecode

082800 MExE Proposal 14 CostCost--EffectiveEffective DesignDesign

„ ProfiledProfiled standardstandard TargetsTargets realisticrealistic hardwarehardware constraintsconstraints ScalesScales upup andand downdown „ TradeTrade offoff functionalityfunctionality andand runtimeruntime performanceperformance againstagainst useuse ofof batterybattery power,power, RAM,RAM, FlashFlash andand ROMROM

082800 MExE Proposal 15 SynergySynergy withwith MExEMExE WorkWork

„ PotentialPotential forfor synergysynergy withwith CM2,CM2, CM3CM3 HardwareHardware constraintsconstraints ReferenceReference pointspoints forfor multimulti--languagelanguage mobilemobile programmingprogramming frameworkframework PotentialPotential forfor APIAPI interoperabilityinteroperability „ PotentialPotential forfor optionaloptional integration/integration/ interoperabilityinteroperability withwith ClassmarkClassmark 11 RichRich programmingprogramming frameworkframework DomainDomain basedbased securitysecurity forfor codecode actionsactions HigherHigher performanceperformance forfor MExEMExE applicationsapplications andand ScriptScript 082800 MExE Proposal 16 OptionalOptional SupportSupport forfor ECMAScriptECMAScript „ PotentialPotential synergysynergy withwith WAPWAP--NGNG investigatoninvestigaton ofof ECMAScriptECMAScript „ ECMAScriptECMAScript asas aa compiledcompiled languagelanguage HigherHigher performanceperformance CodeCode accessaccess securitysecurity AvailabilityAvailability ofof programmingprogramming frameworkframework

082800 MExE Proposal 17 LookingLooking AheadAhead

„ WeWe believebelieve thethe proposedproposed projectproject hashas goodgood potentialpotential toto enhanceenhance andand complementcomplement MExEMExE’’ss missionmission „ WeWe welcomewelcome youryour feedbackfeedback „ WeWe looklook forwardforward toto workingworking withwith youyou onon thisthis opportunityopportunity

082800 MExE Proposal 18