20
OCLE Object Constraint Language Environment Fábio Moura CIn-UFPE

OCLE Object Constraint Language Environment

  • Upload
    sissy

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

OCLE Object Constraint Language Environment. Fábio Moura CIn-UFPE. Roteiro. Introdução Projetos Modelos Compilando Especificações OCL Model Checking Geração de Código Java Exemplo. OCLE – Introdução. - PowerPoint PPT Presentation

Citation preview

Page 1: OCLE Object Constraint Language Environment

OCLEObject Constraint Language Environment

Fábio MouraCIn-UFPE

Page 2: OCLE Object Constraint Language Environment

Roteiro

Introdução Projetos Modelos Compilando Especificações OCL Model Checking Geração de Código Java Exemplo

Page 3: OCLE Object Constraint Language Environment

OCLE – Introdução

OCLE foi especialmente projetada e implementada para auxiliar usuários UML no desenvolvimento de expressões OCL

Erros no desenvolvimento dos modelos podem ser facilmente detectados e corrigidos

Permite fácil criação de expressões OCL É uma ferramenta poderosa, de uso muito simples

e intuitivo Permite acesso completo tanto a nível de meta

modelos como de modelos É gratuita !

http://lci.cs.ubbcluj.ro/ocle/index.htm http://www.cin.ufpe.br/~in1006/2005/OCLE

Page 4: OCLE Object Constraint Language Environment

Projetos

Permite o gerenciamento flexível de modelos e especificações OCL Poder ser desenvolvidos em arquivos separados e

posteriormente unidos em um projeto

Um mesmo arquivo OCL ou modelo UML pode ser usado em mais de um projeto OCLE

Um projeto pode conter mais de um modelo UML Um deles deve ser o modelo ativo

A sua criação é opcional A estrutura do projeto ativo é mostrada no

Project panel Contém o Project Browser Mostra os arquivos contendo os componentes do projeto

Page 5: OCLE Object Constraint Language Environment

Projetos

Project Browser

Page 6: OCLE Object Constraint Language Environment

Criando Novos Projetos

Menu Project – New ...

Page 7: OCLE Object Constraint Language Environment

Modelos

OCLE permite a importação de modelos UML realizados usando ferramentas CASE como o Rational Rose A precondição é que estes modelos estejam armazenados

no formado XMI

OCLE também permite a criação de modelos UML dentro de uma interface gráfica e então exportá-los para arquivos XMI

O modelo ativo é mostrado no model browser Completa navegação e representação do modelo Filtragem Edição

Page 8: OCLE Object Constraint Language Environment

Model Browser, Estereótipos e Propriedades

Page 9: OCLE Object Constraint Language Environment

Diagramas Suportados

Use Case Classe Objetos

Page 10: OCLE Object Constraint Language Environment

Diagrama de Classes

Page 11: OCLE Object Constraint Language Environment

Diagrama de Use Case

Page 12: OCLE Object Constraint Language Environment

Diagrama de Objetos

Page 13: OCLE Object Constraint Language Environment

Compilando Especificações OCL

O compilador OCL permite ao usuário checar a corretude da sintaxe e da semântica de expressões OCL

Componente chave de qualquer ferramenta OCL Menu Tools – Compile project specifications Tipos de arquivos com especificações OCL

.ocl – especificações expressas no nível de meta modelo .bcr – especificações expressas no nível de modelo

(restrições de negócio)

Page 14: OCLE Object Constraint Language Environment

Mensagens de Erro

Page 15: OCLE Object Constraint Language Environment

Model Checking

OCLE realiza a checagem do modelo através da avaliação de restrições especificadas pelo usuário em diferentes elementos do modelo

Ajuda a corrigir erro nos modelos e nas especificações OCL

Maneira mais simples de checar o modelo Compile as especificações OCL Menu Tools – Check model Problemas são mostrados no painel Evaluation

Page 16: OCLE Object Constraint Language Environment

Avaliação Local

Característica poderosa do OCLE que permite a avaliação parcial de uma expressão OCL em um determinado contexto

Passos Escolha a regra que deseja avaliar – clique duas vezes em sua

declaração de contexto Um menu popup será mostrado contendo todas as instâncias

possíveis para a classe mencionada na declaração de contexto Selecione uma instância clicando duas vezes sobre ela OCLE automaticamente irá modificar o contexto para todas as

regras Uma vez que o contexto foi escolhido, clique duas vezes em

diferentes partes da expressão escolhida, OCLE irá tentar avaliar a expressão selecionada, mostrando o resultado no painel OCL Output

Dê um duplo clique sobre o estereótipo da expressão (inv) para avaliar a expressão inteira

Page 17: OCLE Object Constraint Language Environment

Geração de Código Java

O principal objetivo do gerador de código é produzir uma aplicação completamente executável a partir do modelo UML e suas especificações OCL associadas

Transforma classes, interfaces e tipos de dados em seu código fonte Java correspondente

Adicionalmente, restrições OCL associadas são transformadas em código executável, integrado ao código do modelo UML, produzindo uma aplicação Java que checa suas próprias restrições

O código Java produzido é compilável, embora não seja completo Uma vez que o código foi gerado, ainda se faz necessário

escrever o corpo dos métodos gerados

Page 18: OCLE Object Constraint Language Environment

Geração de Código Java

Para invocar o gerador de código, use a opção do menu Tools – Generate code ...

Page 19: OCLE Object Constraint Language Environment

ExemploFinance_Business_ClassDiagram

Page 20: OCLE Object Constraint Language Environment

ExemploCódigo Gerado (.java)

. . . public void check_Order_first() {

Enum enumType = Order.this.type; boolean bEquals = enumType.equals(Enum.buy); float fMatchedPrice = Order.this.matchedPrice; float fLimit = Order.this.limit; boolean bLessOrEqual = fMatchedPrice <= fLimit; boolean bImplies = !bEquals || bLessOrEqual; if (!bImplies) { System.err.println("invariant 'first' failed for object

"+Order.this); }

}. . .