SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Uma introdução sobre
    MDD – Model Driven Design e
    projeto “Oslo”


    Waldemir Cambiucci
    Arquiteto de Soluções        twitter.com/wcamb
    Microsoft Brasil        blogs.msdn.com/wcamb

1
Agenda
      Modelos e Linguagens
      Projeto “Oslo”
      Linguagem “M”
      Conclusões
      Recursos



    Publicação: Outubro/2009
2
Importância de linguagens e
    gramáticas
      Diversas aplicações:
        análise léxica e análise sintática de linguagens
        de programação;
        modelagem de circuitos lógicos ou redes
        lógicas;
        modelagem de sistemas biológicos;
        modelagem de processos de negócio;
        tratamento/interação com dispositivos
        diversos, etc.
3
Gramáticas de Chomsky
     A Hierarquia de Chomsky classifica as linguagens de
     gramáticas de acordo com sua complexidade e
     restrição.
       Chomsky, Noam (1956). Three models for the description of
       language. IRE Transactions on Information Theory (2): 113-
       124.




4
Gramáticas de Chomsky
                                                                         Enumeráveis
                                                                         Recursivamente ou
                                              Gramáticas com
       Aumentando a restrição da linguagem



                                                                         Tipo 0
                                             Estruturas de Frase
                                                  Gramáticas
                                                                            Sensíveis ao
                                             Sensíveis ao Contexto
                                                                            Contexto
                                                   Gramáticas               ou Tipo 1
                                               Livres de Contexto

                                                                         Livres de Contexto ou
                                                                         Tipo 2
                                                  Gramáticas
                                                                         (autômatos de pilhas)
                                                  Regulares

                                                                     Linguagens Regulares ou
    Ref.:                                                            Tipo 3
    http://pt.wikipedia.org/wiki/Hierarquia_de_Chomsky
5
Modelos
     São representações físicas, matemáticas ou
     lógicas de sistema de entidades, fenômenos ou
     processos.
     Fornecem uma visão abstrata e simplificada de
     uma realidade mais complexa.
     Os modelos também empregam regras e
     restrições em suas abstrações.




6
Exemplo: Metrô




                        Tão importante quanto a
                     simplificação é sua capacidade
                        de abstração e o que um
                           modelo esconde!!!
7
Exemplo: Processos
             Call
             Record          base rate: £/s

                                                                   
                          call length
    call
                  store
                                    friend discount rate: £/s
                          friends calls                            
                                                                              - +
                                                                               -
                                              call length
      calendar
      month
                                                                             store
                                                                                     bill


                                                            billing period

8
Linguagens de Modelagem
     Linguagem de Modelagem
       é toda linguagem artificial que pode ser usada para
       expressar informações, conhecimento ou sistemas
       numa estrutura que é definida por um conjunto
       consistente de regras.

       As regras são usadas para a interpretação do
       significado dos componentes na estrutura.




9
Linguagens de Modelagem
              C(x)     h2 2C(x)                 Declarativas
           ih       = –
              t       2m  x2
      a>b && c==d
                                jo   biscuits 24     green
                                pat cakes    32      pink
     <CallRecord>
      <caller><number>07713248</number>


                                                   Employee             Job
 Textuais                                            name
                                                    address   0..*
                                                                     description
                                                                        pay
                                                                                      Pictóricas
                                                    promote            assign


                                                                                   Call
                                                                                   Record       base rate: £/s
     class Magnox : NuclearPowerStation
                                                                                                             
     {
                                                                                               call length
        public void dropRods ()                                             call       store



10                                                 Procedurais
Linguagens de Modelagem
        Linguagem Específica de Domínio (DSL)
          é uma linguagem de programação ou de especificação
          dedicada a um domínio de problemas em particular.




11
Visão Oslo
             Analista Neg   Arquiteto   Desenv   IT Pro




                 Ferramentas de Modelagem

                  Linguagem de Modelagem

                    Repositório de Modelos

                     Servidor de Processos

                    Barramento de Serviços

                        Serviços na Nuvem

12
Oslo
      UMA PLATAFORMA PARA MODEL-DRIVEN APPLICATIONS


                         “M”
                         Linguagem de Modelagem



                         “Quadrant”
                         Ferramenta de Modelagem



                         Repositório
                         Armazenamento de Modelos
13
Conceitos chaves



       DSLsViISUAIS             DSLsTEXTUAIS




                                               RUNTIMES




                      MODELOS
14
Arquitetura Oslo
              Q    “QUADRANT”

                   [Sua DSL Visual           [Sua DSL Textual
              EDITOR                            LANGUAGE
              FRAMEWORK                         FRAMEWORK
                    Composição                  MSchema
                                                                                                        RUNTIMES
                  Viewers Genéricos            MGrammar
                   Fluxo de Dados                MGraph                                              [Seu Runtime]
                                                                    XML, Formatos Customizados , …
                                                                                                        “Dublin”
                                                                                                       ASP.NET

                                            ADO .NET                                                      WF
                                                                                                         WCF
                                                                                                       SQL/EDM
                                REPOSITORY                                                             Windows
                                  REPOSITORY
                                SQL SERVER
                                     REPOSITORY
                                  SQL SERVER
                                                                                                     Runtimes de 3s
                               [Your Models]
                                    SQL SERVER
                                 [Your Models]
                                Base Models
                                   [Seus Modelos]          SQL, XML, Formatos Customizados, …
   OUTRAS                         Base Models
FERRAMENTAS                     “M”Modelos .Net
                                    Runtime
     (VSTS, EXCEL, …)             “M” Runtime
                               Repositório de Modelos
15
Recursos
       Microsoft "Oslo" - May 2009 CTP
         http://www.microsoft.com/downloads/details.aspx?FamilyID=82712
         2a5-3ca0-4389-a79e-87af37cbf60d&displaylang=en


       Sample Model Data for Microsoft code name
       "Quadrant“
         http://download.microsoft.com/download/2/8/9/289A2F7D-CCAC-
         4B0B-BFAD-F1544DE34A44/QuadrantSamples.msi




16
Instalando Samples
      Quadrant Samples…




                          Set PATH




                           Loader MX.EXE


17
Quadrant




18
Domínios alvos




19
Domínios de Desenvolvimento


        VISUAL DSLs     TEXTUAL DSLs      RUNTIMES
        “Quadrant”
                          “MWeb”           ASP.NET         WEB
        Web Editor

        “Quadrant”
                        “MService”     WCF/WF (“Dublin”)   SERVICES
       Service Editor

       “Quadrant”
                         “MEntity”            EF           ENTITIES
       Entity Editor

        “Quadrant”
                        “MSchema”            SQL           DATABASE
       Schema Editor

20
Por que “M”?
      Criação e interação com modelos de forma
      simples e natural
        Ter uma experiência visual de design é importante
        Ter uma experiência textual complementar é
        igualmente importante

      “M” é a ferramenta para conseguir a experiência
      textual



21
O que é “M”?
      “M” é uma linguagem para definir modelos de
      domínios e linguagens especificas de domínios
      Define esquemas e pesquisas sobre dados
      estruturados
        Valores, Restrições (Constraints) e Visões (Views)
        Projeção natural para o SQL
      Define projeções de texto Unicode para dados
      estruturados
        Transformações baseadas em regras


22
Especificação “M”
      “M” Specification Community
        Garante um forte suporte da indústria para a “M”
        Melhora o design da “M”
        Provê um caminho para a eventual padronização

      Inscreva-se através do link:
        http://msdn.microsoft.com/en-us/oslo/msc.aspx

      Open Specification Promise
        Garante que qualquer um possa implementar “M”
          LanguageSpecification20090506 - May 2009 CTP.pdf
23
“M” Specification Community




                                  Evolução da
                               especificação da
                                linguagem “M”
24
A Família “M”
     DSL   Point.m                 DSLX   DomainX.m               DSLY     DomainY.m
           Domain Model                   Domain Model                     Domain Model

           GPSLanguage.mg                 DomainX.mg                       DomainY.mg
           Domain Grammar                 Domain Grammar                   Domain Grammar


     "M"
           Domain-specific data models    type Point {
                                            X : Integer where X < 100;
                                            Y : Integer?;
                                            DistanceFromOrigin() { SQRT(X*X + Y*Y) }
           MSchema                        }

           Domain-specific grammars       language GPSLanguage {
                                            syntax Main = h:Integer ("," v:Integer)?
                                                        => Point { X { h }, Y { v }};
                                          }
           MGrammar
           Abstract data model            Point { X { 100 }, Y { 200 } }
           MGraph


25
Conceitos básicos da M
      Linguagem:
        coleção de regras para reconhecimento de texto.
      Dados:
        representação textual de um modelo para ser
        armazenada.
      Restrições:
        regras para as estruturas dos dados.
      Transformações:
        mapeamento entre dados fonte e destino.


26
Ferramentas do SDK hoje
     c:Program FilesMicrosoft Oslo1.0bin


      Modelo.m                 Modelo.mx                   SQL
                                                          Server
                  M.exe                     MX.exe
                  Compilador               Domain Model
                 para Domain                  Loader
                    Model




27
28
Conclusões
      Oslo é uma visão de um universo de TI Dirigido a
      Modelos integrando TI (SOA) e Nuvem (Cloud
      Computing).
      Nesta visão, são essenciais as ferramentas de
      modelagem visuais e textuais assim como seu
      repositório.
      “M” é uma linguagem para definir modelos de
      domínios e DSLs textuais no Oslo.
      Repositório e “M” são a base para um conjunto de
      Linguagens, Modelos e Ferramentas visuais destinadas
      a vários domínios.
29
Recursos
      Site do Oslo:
        http://msdn.microsoft.com/en-us/oslo
      Oslo Connect site:
        https://connect.microsoft.com/oslo
      Oslo SDK documentation at MSDN Online:
         http://msdn.microsoft.com/en-us/library/cc709420.aspx
      Quadrant:
        http://msdn.microsoft.com/en-us/library/dd857491(VS.85).aspx
      M tools:
        http://msdn.microsoft.com/en-us/library/dd129517(VS.85).aspx
      Oslo Language Specification:
        http://msdn.microsoft.com/en-us/library/dd285282.aspx
30
Recursos
      Microsoft "Oslo" - May 2009 CTP
        http://www.microsoft.com/downloads/details.aspx?FamilyID=827122a5-
        3ca0-4389-a79e-87af37cbf60d&displaylang=en


      Wcamb’s Blog / Tag [OSLO]
        http://blogs.msdn.com/wcamb/archive/tags/OSLO/default.aspx


      LINGUAGENS FORMAIS
      Teoria Modelagem e Implementação
        by Marcus Vinícius Ramos, João J. Neto e
        Ítalo Santiago Vega
        Editora BOOKMAN / ISBN 857780453-4

31
Recursos (cont.)
       ArqBR.Groups
         http://arqbr.groups.live.com/

       ArqCasts no Channel9/Brasil
         http://channel9.msdn.com/brasil/


       ebook Arquitetura de Soluções
         http://blogs.msdn.com/wcamb/archive/2009/10/01/ebook-
         sobre-arquitetura-de-solu-es.aspx


       Centro de Arquitetura MSDN
         http://msdn.microsoft.com/pt-br/architecture/default.aspx
32
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
     The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
      not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
                                                                                IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.




33

Weitere ähnliche Inhalte

Ähnlich wie AAB302 - Model Driven Design e Oslo - wcamb

TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...Rogério Moraes de Carvalho
 
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...Rogério Moraes de Carvalho
 
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#Rogério Moraes de Carvalho
 
TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#Rogério Moraes de Carvalho
 
The Language VolcanX - ABMSL
The Language VolcanX - ABMSLThe Language VolcanX - ABMSL
The Language VolcanX - ABMSLMichel Alves
 

Ähnlich wie AAB302 - Model Driven Design e Oslo - wcamb (8)

1.1.paradigmas
1.1.paradigmas1.1.paradigmas
1.1.paradigmas
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
 
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
 
Modelo osi finish
Modelo osi finishModelo osi finish
Modelo osi finish
 
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
 
TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#
 
The Language VolcanX - ABMSL
The Language VolcanX - ABMSLThe Language VolcanX - ABMSL
The Language VolcanX - ABMSL
 

AAB302 - Model Driven Design e Oslo - wcamb

  • 1. Uma introdução sobre MDD – Model Driven Design e projeto “Oslo” Waldemir Cambiucci Arquiteto de Soluções twitter.com/wcamb Microsoft Brasil blogs.msdn.com/wcamb 1
  • 2. Agenda Modelos e Linguagens Projeto “Oslo” Linguagem “M” Conclusões Recursos Publicação: Outubro/2009 2
  • 3. Importância de linguagens e gramáticas Diversas aplicações: análise léxica e análise sintática de linguagens de programação; modelagem de circuitos lógicos ou redes lógicas; modelagem de sistemas biológicos; modelagem de processos de negócio; tratamento/interação com dispositivos diversos, etc. 3
  • 4. Gramáticas de Chomsky A Hierarquia de Chomsky classifica as linguagens de gramáticas de acordo com sua complexidade e restrição. Chomsky, Noam (1956). Three models for the description of language. IRE Transactions on Information Theory (2): 113- 124. 4
  • 5. Gramáticas de Chomsky Enumeráveis Recursivamente ou Gramáticas com Aumentando a restrição da linguagem Tipo 0 Estruturas de Frase Gramáticas Sensíveis ao Sensíveis ao Contexto Contexto Gramáticas ou Tipo 1 Livres de Contexto Livres de Contexto ou Tipo 2 Gramáticas (autômatos de pilhas) Regulares Linguagens Regulares ou Ref.: Tipo 3 http://pt.wikipedia.org/wiki/Hierarquia_de_Chomsky 5
  • 6. Modelos São representações físicas, matemáticas ou lógicas de sistema de entidades, fenômenos ou processos. Fornecem uma visão abstrata e simplificada de uma realidade mais complexa. Os modelos também empregam regras e restrições em suas abstrações. 6
  • 7. Exemplo: Metrô Tão importante quanto a simplificação é sua capacidade de abstração e o que um modelo esconde!!! 7
  • 8. Exemplo: Processos Call Record base rate: £/s   call length call store friend discount rate: £/s friends calls   - + - call length calendar month store bill billing period 8
  • 9. Linguagens de Modelagem Linguagem de Modelagem é toda linguagem artificial que pode ser usada para expressar informações, conhecimento ou sistemas numa estrutura que é definida por um conjunto consistente de regras. As regras são usadas para a interpretação do significado dos componentes na estrutura. 9
  • 10. Linguagens de Modelagem C(x) h2 2C(x) Declarativas ih = – t 2m  x2 a>b && c==d jo biscuits 24 green pat cakes 32 pink <CallRecord> <caller><number>07713248</number> Employee Job Textuais name address 0..* description pay Pictóricas promote assign Call Record base rate: £/s class Magnox : NuclearPowerStation  { call length public void dropRods () call store 10 Procedurais
  • 11. Linguagens de Modelagem Linguagem Específica de Domínio (DSL) é uma linguagem de programação ou de especificação dedicada a um domínio de problemas em particular. 11
  • 12. Visão Oslo Analista Neg Arquiteto Desenv IT Pro Ferramentas de Modelagem Linguagem de Modelagem Repositório de Modelos Servidor de Processos Barramento de Serviços Serviços na Nuvem 12
  • 13. Oslo UMA PLATAFORMA PARA MODEL-DRIVEN APPLICATIONS “M” Linguagem de Modelagem “Quadrant” Ferramenta de Modelagem Repositório Armazenamento de Modelos 13
  • 14. Conceitos chaves DSLsViISUAIS DSLsTEXTUAIS RUNTIMES MODELOS 14
  • 15. Arquitetura Oslo Q “QUADRANT” [Sua DSL Visual [Sua DSL Textual EDITOR LANGUAGE FRAMEWORK FRAMEWORK Composição MSchema RUNTIMES Viewers Genéricos MGrammar Fluxo de Dados MGraph [Seu Runtime] XML, Formatos Customizados , … “Dublin” ASP.NET ADO .NET WF WCF SQL/EDM REPOSITORY Windows REPOSITORY SQL SERVER REPOSITORY SQL SERVER Runtimes de 3s [Your Models] SQL SERVER [Your Models] Base Models [Seus Modelos] SQL, XML, Formatos Customizados, … OUTRAS Base Models FERRAMENTAS “M”Modelos .Net Runtime (VSTS, EXCEL, …) “M” Runtime Repositório de Modelos 15
  • 16. Recursos Microsoft "Oslo" - May 2009 CTP http://www.microsoft.com/downloads/details.aspx?FamilyID=82712 2a5-3ca0-4389-a79e-87af37cbf60d&displaylang=en Sample Model Data for Microsoft code name "Quadrant“ http://download.microsoft.com/download/2/8/9/289A2F7D-CCAC- 4B0B-BFAD-F1544DE34A44/QuadrantSamples.msi 16
  • 17. Instalando Samples Quadrant Samples… Set PATH Loader MX.EXE 17
  • 20. Domínios de Desenvolvimento VISUAL DSLs TEXTUAL DSLs RUNTIMES “Quadrant” “MWeb” ASP.NET WEB Web Editor “Quadrant” “MService” WCF/WF (“Dublin”) SERVICES Service Editor “Quadrant” “MEntity” EF ENTITIES Entity Editor “Quadrant” “MSchema” SQL DATABASE Schema Editor 20
  • 21. Por que “M”? Criação e interação com modelos de forma simples e natural Ter uma experiência visual de design é importante Ter uma experiência textual complementar é igualmente importante “M” é a ferramenta para conseguir a experiência textual 21
  • 22. O que é “M”? “M” é uma linguagem para definir modelos de domínios e linguagens especificas de domínios Define esquemas e pesquisas sobre dados estruturados Valores, Restrições (Constraints) e Visões (Views) Projeção natural para o SQL Define projeções de texto Unicode para dados estruturados Transformações baseadas em regras 22
  • 23. Especificação “M” “M” Specification Community Garante um forte suporte da indústria para a “M” Melhora o design da “M” Provê um caminho para a eventual padronização Inscreva-se através do link: http://msdn.microsoft.com/en-us/oslo/msc.aspx Open Specification Promise Garante que qualquer um possa implementar “M” LanguageSpecification20090506 - May 2009 CTP.pdf 23
  • 24. “M” Specification Community Evolução da especificação da linguagem “M” 24
  • 25. A Família “M” DSL Point.m DSLX DomainX.m DSLY DomainY.m Domain Model Domain Model Domain Model GPSLanguage.mg DomainX.mg DomainY.mg Domain Grammar Domain Grammar Domain Grammar "M" Domain-specific data models type Point { X : Integer where X < 100; Y : Integer?; DistanceFromOrigin() { SQRT(X*X + Y*Y) } MSchema } Domain-specific grammars language GPSLanguage { syntax Main = h:Integer ("," v:Integer)? => Point { X { h }, Y { v }}; } MGrammar Abstract data model Point { X { 100 }, Y { 200 } } MGraph 25
  • 26. Conceitos básicos da M Linguagem: coleção de regras para reconhecimento de texto. Dados: representação textual de um modelo para ser armazenada. Restrições: regras para as estruturas dos dados. Transformações: mapeamento entre dados fonte e destino. 26
  • 27. Ferramentas do SDK hoje c:Program FilesMicrosoft Oslo1.0bin Modelo.m Modelo.mx SQL Server M.exe MX.exe Compilador Domain Model para Domain Loader Model 27
  • 28. 28
  • 29. Conclusões Oslo é uma visão de um universo de TI Dirigido a Modelos integrando TI (SOA) e Nuvem (Cloud Computing). Nesta visão, são essenciais as ferramentas de modelagem visuais e textuais assim como seu repositório. “M” é uma linguagem para definir modelos de domínios e DSLs textuais no Oslo. Repositório e “M” são a base para um conjunto de Linguagens, Modelos e Ferramentas visuais destinadas a vários domínios. 29
  • 30. Recursos Site do Oslo: http://msdn.microsoft.com/en-us/oslo Oslo Connect site: https://connect.microsoft.com/oslo Oslo SDK documentation at MSDN Online: http://msdn.microsoft.com/en-us/library/cc709420.aspx Quadrant: http://msdn.microsoft.com/en-us/library/dd857491(VS.85).aspx M tools: http://msdn.microsoft.com/en-us/library/dd129517(VS.85).aspx Oslo Language Specification: http://msdn.microsoft.com/en-us/library/dd285282.aspx 30
  • 31. Recursos Microsoft "Oslo" - May 2009 CTP http://www.microsoft.com/downloads/details.aspx?FamilyID=827122a5- 3ca0-4389-a79e-87af37cbf60d&displaylang=en Wcamb’s Blog / Tag [OSLO] http://blogs.msdn.com/wcamb/archive/tags/OSLO/default.aspx LINGUAGENS FORMAIS Teoria Modelagem e Implementação by Marcus Vinícius Ramos, João J. Neto e Ítalo Santiago Vega Editora BOOKMAN / ISBN 857780453-4 31
  • 32. Recursos (cont.) ArqBR.Groups http://arqbr.groups.live.com/ ArqCasts no Channel9/Brasil http://channel9.msdn.com/brasil/ ebook Arquitetura de Soluções http://blogs.msdn.com/wcamb/archive/2009/10/01/ebook- sobre-arquitetura-de-solu-es.aspx Centro de Arquitetura MSDN http://msdn.microsoft.com/pt-br/architecture/default.aspx 32
  • 33. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 33