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++, C#, VB, … WMLScript? APL, COBOL, Eiffel, Haskell, ML, Oberon, Pascal, Perl, Python, Scheme, Smalltalk, … (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