Uma introdução sobre MDD Model Driven Design e projeto Oslo



Documentos relacionados
Seja Bem-Vindo. Sharepoint 2007 para Desenvolvedores. Inicio: 19:00 Termino: 22:00

Seja Bem-Vindo. System Center Family. Inicio: 09:00 Termino: 12:00

Uma nova luz na web com Microsoft Silverlight. Leonardo Sobral Consultor de Tecnologia

Grupo de Arquitetos Microsoft Brasil

Uma introdução sobre Frameworks de Desenvolvimento

Centro de Inovação Microsoft-PUCRS

Produzindo Valor com Gerenciamento do Ciclo de Vida de Aplicativos Delivering Value with Application Lifecycle Management (ALM)

NetApp Visão Geral Alguns Desafios de uma Infraestrutura em Nuvem Integração com o System Center 2012

Microsoft Software + Serviços

O poder da cobertura das consultas (Cover Indexes) Estratégias de indexação apropriadas (AND, OR, joins, agregações)

Nova geração de certificações Microsoft: SQL Server 2005/2008 Visual Studio 2008/2010

Uma introdução sobre WF Windows Workflow Foundation

O importante é o utilizador. A tecnologia é o suporte. Todas as tarefas comuns são mais fáceis de fazer

Mobilize seu negócio com a Microsoft. Mário Abreu Technology Specialist, Windows Phone Microsoft Brasil

Rogério Molina Consultor e instrutor rogeriomolina@green.com.br

Miguel Teixeira Unified Communications Solutions-Product Manager Microsoft Portugal

Seminário Tecnológico Microsoft Biztalk Server

Software as a Service (SaaS)

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Marcelo Sincic Consultor e instrutor msincic@green.com.br

Eliminando Fronteiras: Aumente a Produtividade com Soluções de Mobilidade Symantec Arthur Cesar Oreana

PUC-SP São Paulo 30 de abril de 2009

Mitos Desfeitos sobre Prevenção a Perda de Dados

Microsoft TechDays Lisboa

Windows Azure. Uma plataforma para Cloud Computing. I Innovation Day Curitiba Waldemir Cambiucci Arquiteto de Soluções Microsoft Brasil

Gerenciando Mobilidade: Usuários e Dispositivos Seguros

Data Loss Prevention. Uma abordagem estratégica. Vladimir Amarante, CISSP Manager, Systems

Desenvolvimento de Aplicação Windows Mobile Acessando um WebService

Microsoft.NET. Desenvolvimento Baseado em Componentes

Solução Symantec de Gerenciamento de Armazenamento e Proteção de Dados Ministério Rodrigo Pinheiro

PRODEST -I Semana de Conscientização sobre o Uso Adequado das Novas Tecnologias de Informação e Comunicação (TIC)

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

System Center Essentials permite à Cintra gerir a sua infra-estrutura de TI com um mínimo de custos e de recursos

Interoperabilidade Autodesk AutoCAD Plant 3D e Aveva PDMS

COMUNICADO. O Governo do Amazonas não contraiu nenhum tipo de obrigação quanto à aquisição de todos os produtos na Ata de Registro de Preços.

Demo Windows Vista OPK

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Porto Editora acentua ganhos de produtividade e eficiência com investimento em tecnologia Microsoft

Guia E-Learning Acesso dos estudantes aos cursos de e-learning e ao Sistema de Gerenciamento da Aprendizagem

Copyright All rights reserved.

SUPERÀTO DIVULGA: ANALISTA DE SISTEMAS / LÍDER DE PROJETOS

AutoCAD Plant 3D - Inovação em projetos de tubulação

DevOps. Carlos Eduardo Buzeto IT Specialist IBM Software, Rational Agosto Accelerating Product and Service Innovation

Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM

MICROCAT PARA HYUNDAI INSTRUÇÕES PARA INSTALAÇÃO

Setor/Área para desenvolvimento das atividades: Web Designer. Cursos sujeitos a avaliação: Sistemas da Informação ou outro ligado a tecnologia.

Microsoft SQL Server 2005 Performance Dashboard Reports

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud. Como aproveitar o melhor de cada programador?

Faça você mesmo: Do Projeto 3D às Ferramentas de Fabricação Digital

Prof.: Clayton Maciel Costa

Principais características

DESENVOLVIMENTO DE SOFTWARE AULA 1

Sistemas Gerenciadores de Bancos de Dados

Uma ( pequena ) volta pelo.net Framework 4. Diego Rodrigo Neufert Coordenador de Sistemas Logísticos ALL América Latina Logística

AutoCAD 2013 Take Design Further

Noções de. Microsoft SQL Server. Microsoft SQL Server

Uso do Action₀NET com o PI System da OsiSoft

OPORTUNIDADES CWI: Analista de Sistemas Sênior

A interface do Microsoft Visual Studio 2005

PROJETO DE REDES

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

UM FRAMEWORK PARA DESENVOLVIMENTO DE

INTERESSADOS DEVERÃO CADASTRAR CURRICULO NO SITE TÉCNICO EM INFORMÁTICA

Aceleradores de Integração Eletrônica

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Manual Instructions for SAP Note Version 1

AMAZON WEB SERVICES - AWS A INFRAESTRUTURA DE NUVEM GERENCIADA

Transcrição:

Uma introdução sobre MDD Model Driven Design e projeto Oslo Waldemir Cambiucci Arquiteto de Soluções Microsoft Brasil twitter.com/wcamb 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

Aumentando a restrição da linguagem Gramáticas de Chomsky Gramáticas com Estruturas de Frase Enumeráveis Recursivamente ou Tipo 0 Gramáticas Sensíveis ao Contexto Gramáticas Livres de Contexto Sensíveis ao Contexto ou Tipo 1 5 Gramáticas Regulares Ref.: http://pt.wikipedia.org/wiki/hierarquia_de_chomsky Livres de Contexto ou Tipo 2 (autômatos de pilhas) Linguagens Regulares ou Tipo 3

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ô 7 Tão importante quanto a simplificação é sua capacidade de abstração e o que um modelo esconde!!!

Exemplo: Processos Call Record base rate: /s call length call store friend discount rate: /s calendar month friends calls call length - - + 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) h 2 2 C(x) ih = t 2m x 2 Declarativas a>b && c==d jo biscuits 24 green <CallRecord> <caller><number>07713248</number> pat cakes 32 pink Textuais Employee name address promote 0..* Job description pay assign Pictóricas class Magnox : NuclearPowerStation { public void droprods () call Call Record store base rate: /s call length 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 DSLs ViISUAIS DSLs TEXTUAIS RUNTIMES 14 MODELOS

Arquitetura Oslo Q QUADRANT [SuaDSL Visual EDITOR FRAMEWORK OUTRAS FERRAMENTAS (VSTS, EXCEL, ) Composição Viewers Genéricos Fluxo de Dados REPOSITORY SQL REPOSITORY SERVER REPOSITORY SQL SERVER [Sua DSL Textual LANGUAGE FRAMEWORK MSchema MGrammar MGraph ADO.NET [Your SQL Models] SERVER [Your Models] Base [Seus Models Modelos] Base Models M Modelos Runtime.Net M Runtime Repositório de Modelos XML, Formatos Customizados, SQL, XML, Formatos Customizados, RUNTIMES [Seu Runtime] Dublin ASP.NET WF WCF SQL/EDM Windows Runtimes de 3s 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

18 Quadrant

19 Domínios alvos

Domínios de Desenvolvimento VISUAL DSLs TEXTUAL DSLs RUNTIMES Quadrant Web Editor Quadrant Service Editor Quadrant Entity Editor Quadrant Schema Editor MWeb ASP.NET WEB MService WCF/WF ( Dublin ) SERVICES MEntity EF ENTITIES MSchema SQL DATABASE 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 Domain Model DSL X DomainX.m Domain Model DSL Y DomainY.m Domain Model GPSLanguage.mg Domain Grammar DomainX.mg Domain Grammar DomainY.mg Domain Grammar "M" Domain-specific data models MSchema Domain-specific grammars MGrammar Abstract data model MGraph type Point { X : Integer where X < 100; Y : Integer?; DistanceFromOrigin() { SQRT(X*X + Y*Y) } } language GPSLanguage { syntax Main = h:integer ("," v:integer)? => Point { X { h }, Y { v }}; } Point { X { 100 }, Y { 200 } } 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 Files\Microsoft Oslo\1.0\bin Modelo.m Modelo.mx SQL Server M.exe Compilador para Domain Model MX.exe Domain Model Loader 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/ebooksobre-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.