Criação de Regras de Negócio Desaclopadas dos Modelos MDA

1.379 visualizações

Publicada em

Criação de Regras de Negócio
desacopladas dos Modelos MDA (Model-driven Architecture)

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.379
No SlideShare
0
A partir de incorporações
0
Número de incorporações
20
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Criação de Regras de Negócio Desaclopadas dos Modelos MDA

  1. 1. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Universidade Federal da Bahia Especialização Avançada em Sistemas Distribuídos Jaguaraci Silva
  2. 2. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Introdução & Motivação Contribuições Recursos Utilizados Construção do Estudo de Caso Conclusões Trabalhos Futuros
  3. 3. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Várias tecnologias recentes buscam tratar os aspectos de variabilidade em um domínio conceitual de aplicação; Alguns trabalhos vistos na literatura utilizam as aproximações entre MDA (Model-Driven Architecture) e ontologias [Djuric et al, 2004] ou MDA e AOP (Aspect-Oriented Programming) [Dhondt et al, 2008].
  4. 4. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Principal Objetivo da AOP e MDA: Separação de interesses (e.g. requisitos não-funcionais) [AOSD, 2005]; Regras de Negócios [Dhondt et al, 2006]; Geração de Modelos PSM em uma LOA (Linguagem Orientada a Aspectos) [AOSD, 2005];
  5. 5. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Principal Objetivo da MDA e Ontologias: Reuso de Modelos Conceituais de Domínio [OMG, 2003]; Geração de Modelos com base no Perfil OWL [Djuric et al, 2004][OMG, 2004]; Formalização de artefatos em UML por ser uma linguagem semi-formal [Freitas, 2003] [Silva et al, 2007];
  6. 6. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Problemas relacionados as abordagens: O Modelo PSM normalmente é gerado sem as regras de negócio (e.g. estruturas condicionais); As regras de negócios são semânticas, peculiares e precisam aderir de forma coesa a um conceito (e.g. Um forno só pode ser abastecido por um operador);
  7. 7. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) A geração de um Modelo PSM para as regras de negócios pode ser feito automaticamente, porém não é feita qualquer verificação formal das regras; Problema 1: Como garantir a satisfação das regras de negócio em relação aos Modelos MDA?; Hipótese 1: Formalizar as regras Junto ao Modelo Conceitual;
  8. 8. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Problema 2: Como reutilizar as regras de negócio se elas estarão acopladas aos Modelos PSMs?; Hipótese 2: Extrair as regras do Modelo Conceitual antes da geração do PSM; Problema 3: As regras não podem sofrer alterações manuais, pois foram formalmente verificadas; Hipótese 3: Criação de uma ferramenta para extração e geração de regras de negócios com base nas tecnologias utilizadas;
  9. 9. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Introdução & Motivação Contribuições Recursos Utilizados Construção do Estudo de Caso Conclusões Trabalhos Futuros
  10. 10. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Ao realizar uma aproximação entre as tecnologias emergentes: MDA, OWL e AOP criou-se uma ferramenta única para este propósito; Foi criado um Modelo de Processo para nortear as atividades; Metodologia para Construção e Verificação de Ontologias;
  11. 11. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Introdução & Motivação Contribuições Recursos Utilizados Construção do Estudo de Caso Conclusões Trabalhos Futuros
  12. 12. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Foi criado e utilizado um processo de desenvolvimento baseado em casos de uso [Booch et al, 1999]; O processo pode ser incorporado a qualquer modelo de processo existente (e.g. Rational Unified Process (RUP), Extreme Program (XP) e metodologias ágeis). Define os passos desde a captura até a verificação das regras em run-time;
  13. 13. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  14. 14. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  15. 15. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  16. 16. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Introdução & Motivação Contribuições Recursos Utilizados Construção do Estudo de Caso Conclusões Trabalhos Futuros
  17. 17. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Foi desenvolvido um estudo de caso para uma aplicação de supervisão e controle de abastecimento de fornos industriais; São nesses tipos de aplicações, que se pode obter grandes vantagens na utilização da verificação formal de um domínio conceitual; A verificação do domínio foi realizada com um editor de ontologias Protégé e um reasoner Racer [Haarslev, 2004] [Silva et al, 2006];
  18. 18. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  19. 19. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  20. 20. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Formalização do Domínio Conceitual: Definição da relação Casos de Uso x Elementos da Ontologia; Conceitos, Propriedades, Axiomas e Relacionamentos entre os Conceitos; Criação da Ontologia de Domínio; Verificação das Instâncias; Verificação das Regras de Negócios;
  21. 21. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  22. 22. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Regras PAL 1- Para cada forno, é produzido um único tipo de produto. Possui_um_Forno min 1 2- Quando do carregamento do forno, o mesmo não deve Produz_um_Produto exactly 1 aceitar um insumo que não seja parte da receita do seu Possui_uma_Receita exactly 1 produto. Possui_uma_Receita only Receita 3- Os insumos devem ser carregados com suas respectivas Possui_uma_Unidade exactly 1 unidades, ex: Kg, m3. 4 - O administrador não pode abastecer o forno, apenas o E_Carregado_por_Operador only operador. Operador Not (Carrega_Forno some Forno) 5 - Cada forno está residente em uma unidade de Possui_um_Forno max 1 fabricação. 6 - No momento da carga do forno, o usuário deve ser A regra 4 já contempla o requisito. identificado. 7 – Uma receita possui ao menos 1 insumo. Possui_Insumos some Insumo 8- Um silo só pode armazenar um tipo de insumo. E_Armazenado_no_Silo max 1
  23. 23. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  24. 24. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Criação dos Modelos PSMs: Verificação da conformidade do Modelo PIM gerado com MOF; Classes, Atributos e Relacionamentos entre as Classes; Criação do Modelo para plataforma Java; Criação do Modelo de Regras de Negócio: Utilização da Ferramenta OWLtoAspectJ; Extração e geração automática das Regras de Negócios com base no Domínio Conceitual;
  25. 25. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  26. 26. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  27. 27. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) <owl:Restriction> <owl:onProperty> <owl:onProperty> onProperty <owl:ObjectProperty rdf:ID=quot;E_Armazenado_no_Siloquot;/> owl: rdf:ID=quot;E_Armazenado_no_Siloquot;/> </owl:onProperty> </owl:onProperty> onProperty <owl:maxCardinality rdf:datatype=quot;http://www.w3.org/2001/XMLSchema intquot;> <owl:maxCardinality rdf:datatype=quot;http://www.w3.org/2001/XMLSchema#intquot;> 1 =quot;http://www.w3.org/2001/XMLSchema# </owl:maxCardinality> </owl:maxCardinality> maxCardinality </owl:Restriction> <owl:ObjectProperty rdf:about=quot;#E_Armazenado_no_Siloquot;> owl: rdf:about=quot;#E_Armazenado_no_Siloquot;> <rdfs:domain rdf:resource=quot;#Insumoquot;/> rdfs:domain rdf:resource=quot;#Insumoquot;/> :resource=quot;#Insumo <rdfs:range rdf:resource=quot;#Siloquot;/> rdfs:range rdf:resource=quot;#Siloquot;/> <owl:inverseOf rdf:resource=quot;#Possui_Insumoquot;/> owl: rdf:resource=quot;#Possui_Insumoquot;/> </owl:ObjectProperty> </owl:ObjectProperty> owl
  28. 28. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  29. 29. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) package businessRules; import abastecimento.Operador; public aspect FornoE_carregado_por_Operador { public pointcut Operador() : call(* *.*Forno(..)) && (!(call(* *.getForno(*)) || call(* *.setForno(*)))); before():Operador() { Object obj = thisJoinPoint.getTarget(); if (!(obj instanceof Operador)){ System.out.print(quot;n Exception Rule: FornoE_carregado_por_Operadorquot;); } } }
  30. 30. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture)
  31. 31. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Introdução & Motivação Contribuições Recursos Utilizados Construção do Estudo de Caso Conclusões Trabalhos Futuros
  32. 32. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Foi possível formalizar as regras Junto ao modelo conceitual rapidamente utilizando um editor de Ontologias e um Reasoner; A extração das regras do Modelo Conceitual antes da geração do PSM, possibilita o Reuso das Regras em outros PSMs para plataforma Java; A criação da ferramenta OWLtoAspectJ possibilitou a extração e geração de regras de negócios automaticamente garantindo a semântica e satisfação da regras verificadas no domínio;
  33. 33. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Os métodos são definidos no Modelo PIM e não possuem implementação de regras; Através dos pontos de combinação [Chaves, 2005], as regras encontram dinamicamente quais os métodos devem ser verificados, assim, podem ser capturados vários métodos em uma única regra; Diminuição no tempo total de codificação;
  34. 34. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Introdução & Motivação Contribuições Recursos Utilizados Construção do Estudo de Caso Conclusões Trabalhos Futuros
  35. 35. Criação de Regras de Negócio desacopladas dos Modelos MDA (Model-Driven Architecture) Avaliar a concorrência entre aspectos, sob o ponto de vista de sobreposição das regras de negócio; Melhorar a ferramenta OWLtoAspectJ para padronizar as mensagens de violação de regras e gerar as regras para a plataforma WEB;

×