1 / 20

OCLE Object Constraint Language Environment

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.

sissy
Télécharger la présentation

OCLE Object Constraint Language Environment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OCLEObject 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. ExemploFinance_Business_ClassDiagram

  20. 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); } } . . .

More Related