• Save
AAB302 - Model Driven Design e Oslo - wcamb
Upcoming SlideShare
Loading in...5
×
 

AAB302 - Model Driven Design e Oslo - wcamb

on

  • 1,194 views

Uma introdução a Model Driven Design e o projeto Oslo.

Uma introdução a Model Driven Design e o projeto Oslo.
Publicação: Outubro/2009.
Autor: Waldemir Cambiucci

Statistics

Views

Total Views
1,194
Views on SlideShare
1,059
Embed Views
135

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 135

http://blogs.msdn.com 131
http://www.slideshare.net 2
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    AAB302 - Model Driven Design e Oslo - wcamb AAB302 - Model Driven Design e Oslo - wcamb Presentation Transcript

    • 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