Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras...

58
Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora: Patrícia Dockhorn Costa

Transcript of Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras...

Page 1: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Modelagem Conceitual

Orientada a Regras

Aluno: Diorbert Corrêa Pereira

Orientador: João Paulo A. Almeida

Co-Orientadora: Patrícia Dockhorn Costa

Page 2: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

o Modelagem Conceitual o Motivação o Objetivos o Framework Comparativo o Sintaxe Concreta o Expressividade o Conclusão

Page 3: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Abstração Abstração Modelo

Page 4: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Abstração Abstração Modelo

Page 5: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• As abordagens possuem características diferenciadas

• A escolha da abordagem correta pode

aumentar a qualidade da representação

Page 6: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Criar um framework comparativo • Fornecer uma base de experiência

Page 7: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Sintaxe Concreta

• Expressividade

• Apoio Ferramental

Page 8: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

LINGUAGENS AVALIADAS

Linguagem Aplicação Tipo de Modelagem

Apoio Ferramental

AORML Sistemas Multi-Agentes Visual -

ECA-DL Sensibilidade ao Contexto Textual -

OMT-A Geral Visual -

rBPMN Geral Visual • Editor: rBPMN Editor

Drools Geral Textual • Editor: Eclipse • Motor: Drools Expert

Reaction RuleML

Web Semântica Textual • Editor: Reaction RuleML Editor • Motor: jDREW

BROCOM Regras de Negócio Híbrida -

Page 9: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Metodologia • Avaliação das linguagens segundo as

características apresentadas em (Moody,2009)

Page 10: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Variáveis de Codificação Utilizadas • Clareza Semiótica • Discriminalidade Perceptiva • Transparência Semântica • Gerenciamento de Complexidade • Integração Cognitiva • Expressividade Visual • Ajuste Cognitivo

Page 11: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Variáveis de Codificação Utilizadas

Page 12: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Redundância de Símbolos • Sobrecarga de Símbolos • Excesso de Símbolos • Déficit de Símbolos

Page 13: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Redundância de Símbolos

Símbolos Construtores Semânticos

Page 14: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Redundância de Símbolos

Page 15: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Redundância de Símbolos

Page 16: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Sobrecarga de Símbolos

Símbolos Construtores Semânticos

Page 17: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Excesso de Símbolos

Símbolos Construtores Semânticos

Page 18: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Déficit de Símbolos

Símbolos Construtores Semânticos

Page 19: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Clareza Semiótica • Déficit de Símbolos

Como representar

eventos complexos ?

Page 20: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Discriminalidade Perceptiva

Page 21: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Transparência Semântica

Page 22: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Gerenciamento de Complexidade

Page 23: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Gerenciamento de Complexidade

Page 24: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Gerenciamento de Complexidade

Page 25: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Integração Cognitiva

Page 26: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Expressividade Visual

Page 27: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Ajuste Cognitivo

Classe de Usuários A Classe de Usuários B

Complexidade

Page 28: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Metodologia • Definição de características comuns

recorrentes em sistemas reativos

Page 29: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Utilizar eventos complexos • Utilizar eventos temporais

• Possuir regras que geram cadeia de eventos

(fluxo de regras)

• Avaliar condições baseando-se no vocabulário do domínio

Page 30: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

• Possuir regras com tempo de vida programado

• Possuir regras aplicáveis a um subconjunto de instâncias de um tipo do vocabulário

Page 31: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Metodologia • Definição de características comuns

recorrentes em sistemas reativos

• Definição de um estudo de caso e modelagem do mesmo a partir das linguagens

Page 32: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Domínio: Venda por Atacado

Page 33: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:
Page 34: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R1 - “Desconto promocional” Evento: E01:Alteração dos itens da venda(Venda v) Condição: (v.valorTotal > 200 & dayOfWeek() = Monday) | (v.valorTotal > 1000) Ação: A01:v.setDescontoTotal(5) Requisitos: REQ04, REQ06

Page 35: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Business Rule [R1] 'Desconto promocional' ON (Alteracao dos itens da venda) IF ((totalVenda > 200) AND (dia da semana é segunda-feira)) OR (totalVenda > 1000) THEN Fornecer desconto de 5%

BROCOM

Page 36: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R3 - “Encaminhamento para entrega rápida” Evento: E02:Finalização de Venda(Venda v) Condição: now() <= 14:00 Ação: A03:v.cliente.solicitarEntrega(v,today()); trigger(E03) Requisitos: REQ03, REQ06

Page 37: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

rule ‘Encaminhamento para entrega rápida’ when $venda : Venda (recemFinalizada == true) new GregorianCalendar()).get(Calendar.HOUR_OF_DAY) <= 14 then $venda.cliente.solicitarEntrega(v,today()); $venda.cliente.entregaRecemSolicitada = true; $venda.recemFinalizada = false; update($venda); end

DROOLS

Page 38: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R4 - “Encaminhamento para entrega agendada” Evento: E02:Finalização de Venda(Venda v) Condição: now() > 14:00 Ação: A03:v.cliente.solicitarEntrega(v,nextUsefulDay()); trigger(E03) Requisitos: REQ03, REQ06

Page 39: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R5 - “Calculo do valor de entrega” Evento: E03:Entrega Solicitada(Venda v,Entrega e) Condição: v.cliente.volumeCompras <= 500 Ação: A04:e.setTaxa(10) Tempo de Vida: Regra válida no período de Janeiro a Novembro Requisitos: REQ04, REQ05, REQ06

Page 40: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

//R5 - Calculo do valor da entrega Upon EntregaSolicitada(v,e) When v.cliente.volumeCompras <= 500 Do e.setTaxa(10); from <January> to <November>

ECA-DL

Page 41: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R6 - “Iniciar contagem de hora extra” Escopo: Para todo Funcionário (f) em Caixa Evento: E05:Fim de Expediente Condição: f.ehEfetivo = True Ação: A06:f.iniciarContagemHoraExtra() Requisitos: REQ04, REQ06

Page 42: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

rBPMN (R2ML)

Page 43: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

//R6 - Iniciar contagem de hora extra Scope(Select(Caixa.*;c;c.aberto = true);c) { Upon FimExpediente When c.funcionario.ehEfetivo = True Do c.funcionario.iniciarContagemHoraExtra(); }

ECA-DL

Page 44: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R7 - “Hora extra” Escopo: Para todo Funcionário (f) em Caixa Evento: E05:Fim de Expediente BEFORE E06:Saída de Funcionário(Funcionario f) Condição: f.ehEfetivo = True & f.getVolumeVendas(Today,Today) > 300 Ação: A05:f.contabilizarHoraExtraDia() Requisitos: REQ01, REQ02, REQ04, REQ06

Page 45: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

rBPMN (R2ML)

Page 46: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

rBPMN

Page 47: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

//R7 - Hora extra Scope(Select(Caixa.*;c;c.aberto = true);c) { Upon FimExpediente; SaidaFuncionario(f) When f = c.funcionario and f.ehEfetivo = True and f.getVolumeVendas(Today,Today) > 300 Do f.contabilizarHoraExtraDia(); }

ECA-DL

Page 48: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R8 - “Verificar saúde do estoque” Escopo: Para todo Produto (p) presente na venda Evento: E02:Finalização de Venda(Venda v) Condição: p.verificarNivelCritico() = True Ação: trigger(E04) Requisitos: REQ03, REQ04, REQ06

Page 49: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Business Rule [R8] 'Verificar saúde do estoque' ON Finalização de Venda IF Produto vendido está em nível crítico THEN raise event 'Alerta Estoque Nível Crítico'

BROCOM

Page 50: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

rule ‘Verificar saúde do estoque’ when $estoque : Estoque($estoque.nivelCritico == false); $venda : Venda (recemFinalizada == true) $itens : ArrayList(Size >= 1) from collect(ItemVenda(venda == $venda)) eval($itens.produto.verificarNivelCritico() == true) then $estoque.setNivelCritico (true); update($estoque); end

DROOLS

Page 51: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

R2 - “Pré-processamento de pedido de compra” Evento: E04:Alerta Estoque Nível Crítico | E07:Fim de Semana Condição: Ação: A02:Estoque.gerarPedidoCompra() Requisitos: REQ01, REQ02

Page 52: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Business Rule [R2] 'Pré-processamento de pedido de coompra' ON (Alerta estoque nível crítico) OR (Fim de semana) IF THEN Gerar pedido de compra

BROCOM

Page 53: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

rule ‘Pré-processamento de pedido de compra’ when $estoque : Estoque(nivelCritico == true || (new GregorianCalendar()).get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY)) then $estoque.gerarPedidoCompra(); end

DROOLS

Page 54: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

OMT-A

Page 55: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

OMT-A

Page 56: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

EVENTOS COMPLEXOS

ACESSO AO

VOCABULÁRIO DO

DOMÍNIO

TEMPO

DE VIDA

SELEÇÃO DE

SUBCONJUNTO DE

INSTÂNCIAS CONJ. DISJ. TEMP.

AORML +

BROCOM + + +

Drools + + - +

ECA-DL + + + + + +

OMT-A + + +

rBPMN + - + + +

Reaction

RuleML

+ + +

Page 57: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

O modelador deve verificar... • Compatibilidade da linguagem ao

problema • Maturidade da abordagem • Apoio ferramental • A fase de desenvolvimento que

deseja apoiar

Page 58: Modelagem Conceitual Orientada a Regras - inf.ufes.br · Modelagem Conceitual Orientada a Regras Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida Co-Orientadora:

Obrigado pela atenção