Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEdite Teves Malheiro Alterado mais de 8 anos atrás
1
OCLE Object Constraint Language Environment Fábio Moura CIn-UFPE
2
Roteiro Introdução Projetos Modelos Compilando Especificações OCL Model Checking Geração de Código Java Exemplo
3
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
4
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
5
Projetos Project Browser
6
Criando Novos Projetos Menu Project – New...
7
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
8
Model Browser, Estereótipos e Propriedades
9
Diagramas Suportados Use Case Classe Objetos
10
Diagrama de Classes
11
Diagrama de Use Case
12
Diagrama de Objetos
13
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)
14
Mensagens de Erro
15
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
16
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
17
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
18
Geração de Código Java Para invocar o gerador de código, use a opção do menu Tools – Generate code...
19
Exemplo Finance_Business_ClassDiagram
20
Exemplo Có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); } }...
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.