MDA – Model Driven Architecture Jean Elder – RARCS (2013-1) Abordaremos OMG MDA – – – – Conceitos Básicos Como é usado Transformações Prática ONTOLOGIA – possibilidades Jean Elder – RARCS (2013-1) OMG – Object Management Group Jean Elder – RARCS (2013-1) OMG – as especificações do grupo http://www.omg.org/spec/index.htm •BUSINESS MODELING SPECIFICATIONS •MIDDLEWARE SPECIFICATIONS oCORBA/IIOP Specifications oData Distribution Service (DDS) Specifications oSpecialized CORBA Specifications •IDL LANGUAGE MAPPING SPECIFICATIONS •ISO ADOPTED SPECIFICATIONS •MODELING AND METADATA SPECIFICATIONS oUML, MOF, CWM, XMI Specifications oUML Profile Specifications •MODERNIZATION SPECIFICATIONS •PLATFORM INDEPENDENT MODEL (PIM), PLATFORM SPECIFIC MODEL (PSM) oCORBAservices Specifications oCORBAfacilities Specifications •CORBA EMBEDDED INTELLIGENCE SPECIFICATIONS •CORBA SECURITY SPECIFICATIONS •OMG DOMAIN SPECIFICATIONS •SIGNAL- AND IMAGE-PROCESSING Especificações OMG Jean Elder – RARCS (2013-1) Onde estamos? OMG MDA – – – – Conceitos Básicos Como é usado Transformações Prática ONTOLOGIA – possibilidades Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Sistemas: é dependente de contexto, pode compreender: um programa, um sistema de computação único, uma combinação de parte de sistemas diversos ... Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Modelo: é uma descrição ou uma especificação de sistema e seu ambiente para algum propósito. Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Orientado a Modelo : é uma abordagem de desenvolvimento de sistema na qual utiliza o potencial de representação de algum domínio. Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Arquitetura : é uma especificação das partes e conectores de um sistema, bem como as regras das interações entre as partes usando os conectores Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Ponto de Vista: é uma técnica de abstração usando um conjunto de conceitos arquiteturais e regras de estruturação. A abstração é usada para suprimir detalhes e estabilizar a simplificação do modelo. Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Visão : é a representação de determinado sistema na perspectiva do ponto de vista escolhido. Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Plataforma : é um conjunto de subsistemas e tecnologias que provêm um conjunto coerente de funcionalidades através de interfaces e padrões utilizados. Jean Elder – RARCS (2013-1) MDA Objetivos principais: • Portabilidade; • Interoperabilidade; • Reusabilidade. Alguns Conceitos: • • • • • • • • Sistemas; Modelo; Orientado a Modelo; Arquitetura; Ponto de Vista; Visão; Plataforma; Aplicação. Aplicação : para a especificação MDA, é utilizado para referenciar uma funcionalidade que está sendo desenvolvida. Jean Elder – RARCS (2013-1) MDA Tipos –Plataforma: • Genéricas; • Especificas por Tecnologias; • Proprietárias. • Genéricas: Objeto | Lote | Fluxo de Dados; • Tecnologia: CORBA | Java 2 Enterprise Edition • Proprietário: CORBA: Iona Orbix | J2EE: IBMWebSphere Jean Elder – RARCS (2013-1) MDA Abstração •Possui uma visão de alto nível, mais abrangente, mais ampla! •Níveis de abstração: ESW: Linguagens de alto nível versus Assembly BD: Modelagem Conceitual / Lógica / Física Jean Elder – RARCS (2013-1) Onde estamos? OMG MDA – – – – Conceitos Básicos Como é usado Transformações Prática ONTOLOGIA – possibilidades Jean Elder – RARCS (2013-1) MDA - Pontos de Vista CIM PIM PSM Jean Elder – RARCS (2013-1) MDA Camadas CIM: Vinculada a domínio: Saúde / Educação / TI Sem qualquer vinculo a tecnologia, seja hard || soft PIM: Independente de plataforma em latus senso Possibilidade de Mapeamentos para diversas plataformas em stricto senso PSM: Incrementa detalhes acima da PIM vinculando a tecnologia especifica. Jean Elder – RARCS (2013-1) Onde estamos? OMG MDA – – – – Conceitos Básicos Como é usado Transformações Prática ONTOLOGIA – possibilidades Jean Elder – RARCS (2013-1) MDA Transformação de Modelos Jean Elder – RARCS (2013-1) MDA Transformações sucessivas Jean Elder – RARCS (2013-1) MDA Adicionando Marcas(MARKS) Jean Elder – RARCS (2013-1) MDA transformação PIM >> PSM Jean Elder – RARCS (2013-1) MDA Como são feitas as “marcas” Na UML: Utilizando o recurso de estereótipos disponibilizado na linguagem. Jean Elder – RARCS (2013-1) MDA Jean Elder – RARCS (2013-1) Onde estamos? OMG MDA – – – – Conceitos Básicos Como é usado Transformações Prática ONTOLOGIA – possibilidades Jean Elder – RARCS (2013-1) MDA Prática Em linhas gerais, iremos trabalhar nas camadas PIM e PSM Para modelagem UML: Utilizaremos o Papyrus (plugin Eclipse) http://www.eclipse.org/papyrus/ Para transformação MDA: Utilizaremos o Acceleo (plugin Eclipse) http://www.acceleo.org Jean Elder – RARCS (2013-1) Acceleo: is a code generator transforming models into code (MDA approach). Gerador de código baseado na linguagem: MOF Model To Text Transformation Language http://www.omg.org/spec/MOFM2T/1.0/ Jean Elder – RARCS (2013-1) Onde estamos? OMG MDA – – – – Conceitos Básicos Como é usado Transformações Prática ONTOLOGIA – possibilidades Jean Elder – RARCS (2013-1) MDA & ONTOLOGIA Casamento ? SIM OU NÃO Jean Elder – RARCS (2013-1)