Sei sulla pagina 1di 8

Agenda

Meta-modelo
Conceitos Caractersticas

Meta-modelos
-

Franklin Ramalho
Universidade Federal de Campina Grande UFCG

MOF XMI Pacotes Meta-modelo MOF 2.0 Alinhamento entre meta-modelos dos padres da OMG KM3 Meta-modelagem vs Outras aplicaes

SI2- UFCG

Meta-modelo
Um meta-modelo um modelo que descreve um modelo
Ex: Meta-modelo de UML, meta-modelo de Java, meta-modelo de redes de Petri, etc. Conceitos e relaes entre conceitos

Meta-modelo

Um modelo uma instncia de um meta-modelo Meta-linguagem a linguagem usada para descrever metamodelos

[Fig. Kleppe et al.] 3 4

SI2- UFCG

SI2- UFCG

Meta-modelo
Base para especificao de transformaes
Define linguagens envolvidas na transformao (fonte e destino)

Meta-modelos

Metamodelo

Meta-modelo pode especificar:


Sintaxe de linguagens Sintaxe de formalismos Processos, Domnios, etc

Meta-modelo de uma linguagem descreve sua sintaxe


Meta-modelo = sintaxe abstrata

Modelo

Modelo

Modelo

No define semntica
Alguns consideram as regras OCL como semntica esttica
5 6

SI2- UFCG

SI2- UFCG

Exemplo de meta-modelo
1 .. * extends 0 ..* system +name

Meta-modelos e OMG
Formalismos:
MOF Ecore KM3, etc...

Meta-Modelo de Casos de Uso

actor 0 ..1 +name

useCase +title

includes

MOF
OMG Verses: 1.3, 1.4, ..., 2.0

Padres da OMG trazem junto:


e-Store

Um meta-modelo MOF (UML, OCL, QVT, Semntica d Aes, etc) Verso 1.4 (mais simples)

Modelo UML: Diagrama de Casos de Uso

PedirItem

Verso 2.0
ValidatarCartao

Complexa Verses alinhadas: UML, OCL, Semntica de Aes, ...


7 8

SI2- UFCG

SI2- UFCG

Meta-modelos e OMG
UML 2.0 no apenas uma atualizao de UML 1.4
Voltada para DDM

Meta-Object Facility (MOF)


Reusa diagrama de classes e OCL para especificar metamodelos Conceitos
Pacote Classe Tipo de dados Associao Generalizao

Especialista levaram 3 anos para projetar o meta-modelo de UML 2.0 UML 2.0 uma instncia de MOF 2.0 Diagramas UML 2.0 so baseados em meta-modelos

Meta-modelo
UML 2.0 d suporte a abstraes em diferentes perspectivas Casos de uso, diagramas de sequncia, diagramas de classe, diagramas de atividades, etc.
9

Conceitos e relaes entre conceitos

Classes

Associao e generalizao
10

SI2- UFCG

SI2- UFCG

Meta-Object Facility (MOF)


Terminologia
Meta-classe Meta-atributo Meta-operao Tipo de Dados Meta-parmetro Meta-associao associationEnd Referncia

XMI - Motivao
Intercmbio de meta-dados em geral Interoperabilidade entre ferramentas
Grande quantidade dos softwares utilizam diversas aplicaes modeladas por diferentes empresas e ferramentas Exemplo: modelo UML desenvolvido no Poseidon e a empresa s possui licena do Rational Rose.

Cooperao entre definies de meta-modelos


Contedo da informao trocada entre duas ferramentas limitado ao quanto cada ferramenta pode entender deste contedo

MOF possui um meta-modelo Meta-meta-modelo


11

Atualizao de modelos em ambientes distribudos Gerao de cdigo a partir de modelos OO


12

SI2- UFCG

SI2- UFCG

XMI - Introduo
XMI (XML-based Metadata Interchange) um formato de intercmbio para meta-dados, definidos de acordo com o padro MOF Padro da OMG Envolvidos: Unysis, IBM, Rational, Sybase, Genesis, Xerox, etc. XMI d suporte ao intercmbio de qualquer tipo de meta-dados que pode ser expresso em MOF Intercmbio serializado de meta-dados XMI mostra como salvar modelos MOF em XML!
13

XMI - Caractersticas
Integra UML, MOF e XML D suporte a um conjunto de meta-dados completo, assim como fragmentos de meta-dados Documentos XML que possuem meta-dados de acordo com XMI, possuem:
Elementos XML que so requeridos por XMI Elementos XML que contm meta-dados de acordo com MOF Elementos XML que contm meta-dados de acordo com um metamodelo estendido

Namespaces permite que um documento XML use mltiplos meta-modelos ao mesmo tempo

14

SI2- UFCG

SI2- UFCG

Exemplo de codificao XMI


<umlModel> <useCase id = uc1> <title visib = pub> pedirItem </title> </useCase> <useCase id = uc2> <title visib = pub> validarCartao </title> </useCase> <actor id = a1> <name visib = pub> Cliente </name> </actor> <actor2useCase id = a12uc1> <in idref = a1/> <out idref = uc1/> </actor2useCase> <actor2useCase id = a12uc2> <in idref = a1/> <out idref = uc2/> </actor2useCase> </umlModel>

MOF 2.0
Construo do meta-modelo MOF 2.0
Voltada para reuso Abordagem modular

extends actor +name useCase +title includes 0 ..* * system +name

0 ..1

Pacotes MOF baseado em UML


alinhados

UML 2.0
UML 2.0 Infrastructure (30 pacotes) UML 2.0 Superstructure (50 pacotes)

e-Store pedirItem validarCartao Cliente

Meta-modelo MOF 2.0 reusa:


UML 2.0 Infrastructure
15 16

SI2- UFCG

SI2- UFCG

Meta-modelos de padres da OMG

Pacotes
Agrupa um conjunto de elementos UML
namespace

UML: :InfraStruct ure

Operadores Entre pacotes

Cada elemento do modelo deve pertencer, no mximo, a um pacote Relaes entre pacotes:

UML: :SuperStructure MOF

Dependncias
Aninhamento (sub-pacotes) Import elementImport Merge

17

18

SI2- UFCG

SI2- UFCG

Pacotes

Merge entre pacotes


Integra elementos de dois pacotes em um pacote resultante

19

20

SI2- UFCG

SI2- UFCG

UML 2.0 Infrastructure

UML 2.0 Infrastructure::Core

UML::InfrastructureLibrary:: Core

PrimitiveTypes

Abstractions

Basic

Constructs

21

22

SI2- UFCG

SI2- UFCG

UML::Infrastructure::Core::PrimitiveTypes

UML::Infrastructure::Core::Abstractions

23

24

SI2- UFCG

SI2- UFCG

UML::Infrastructure:: Core::Abstractions

UML::Infrastructure:: Core::Abstractions

25

26

SI2- UFCG

SI2- UFCG

UML::Infrastructure:: Core::Abstractions

UML::Infrastructure:: Core::Abstractions

27

28

SI2- UFCG

SI2- UFCG

UML::Infrastructure:: Core::Abstractions

UML::Infrastructure:: Core::Basic

29

30

SI2- UFCG

SI2- UFCG

UML::Infrastructure:: Core::Constructs

UML 2.0 Superstructure


Dividido em 3 pacotes de alto nvel:
Structure
Diagramas estruturais

Behavior
Diagramas comportamentais

Supplement
Conceitos adicionais

Sub-dividida em outros sub-pacotes


31 32

SI2- UFCG

SI2- UFCG

UML 2.0 Superstructure Part I Structure


Conceitos relativos ao diagrama de classes

UML 2.0 Superstructure Part II Behavior

Conceitos que permitem especificar a estrutura interna de uma classe (composio de elementos interconectados) Conceitos relativos ao diagrama de componentes

Conceitos necessrios aos aspectos dinmicos

Conceitos relativos ao diagrama de implantao

Conceitos relativos Semntica de Aoes


33 34

SI2- UFCG

SI2- UFCG

UML 2.0 Superstructure Part III Supplement

MOF 2.0
UML::Infrastructure

Prim itiveTypes

<<import>> <<import>> <<im port >> <<import>> Constructs <<im port>>

Basic

Essential MOF para elaborao de metamodelos sem associao


35

<<merge>>

<<merge>> MOF

EMOF

CMOF

Complete MOF para elaborao de metamodelos com associao


36

SI2- UFCG

SI2- UFCG

Meta-modelo EMOF

Meta-modelo EMOF - Tipos EMOF

37

38

SI2- UFCG

SI2- UFCG

Meta-modelo EMOF - Tipos de Dados EMOF

Meta-modelo EMOF - Pacotes EMOF

39

40

SI2- UFCG

SI2- UFCG

Meta-modelo EMOF - Classes EMOF

Meta-modelo CMOF

41

42

SI2- UFCG

SI2- UFCG

Meta-modelo CMOF

MOF
Reusa diagrama de classes e OCL para especificar metamodelos Vantagens:
Mais clara (notao visual) Baseada em grafos (abstrai ordem de leitura) Entidades (classes) tm uma estrutura e comportamento. Relaes incluem generalizao e associaes indiretas Facilita o reuso Permite expressar constraints nos elementos da linguagem

Modularidade refinada trouxe grande complexidade!

43

44

SI2- UFCG

SI2- UFCG

Exerccio
Especificar em MOF, um meta-modelo simplificado para XML

Meta-modelo de XML em MOF

45

46

SI2- UFCG

SI2- UFCG

Exerccios
Especificar em MOF, um meta-modelo simplificado para Java Especificar em MOF um meta-modelo para uma gramtica EBNF Estudar os meta-modelos de diagrama de classes e de casos de uso em UML

47

SI2- UFCG

Potrebbero piacerti anche