J Boss Drools

Post on 16-Apr-2017

3.539 views 0 download

Transcript of J Boss Drools

Inteligência Artificial I

1

BRMS (Business Rule Management System)◦ Requisitos◦ Regras◦ SOA

Implentação de um Rules Engine Implementado com o ReteOO

◦ Tailoring para Java do Rete Programação Declarativa DSL (Domain Specifics Language)

◦ SQL

2

Maior independência dos setores de negócio Aumento do controle sobre as regras de

negócio de sisitema Expressar regras na linguagem do

usuário(DSL) Representação gráfica de regras

◦ Tabelas de decisão◦ Árvores◦ Fluxos de regras

3

Expressivas Normalmente Simples Base do BRMS Forward Chaining *

◦ Premissas -> Conclusões BackwardChaining

◦ Conclusões -> Premissas (Pilha)

4

Composto basicamente de:◦ Máquina de inferências

Responsável pela execução das regras.◦ Memória de trabalho

Armezena as conclusões (fatos) gerados pela execução das regras.

◦ Base de conhecimento É o repositório das regras a serem utilizadas pela

máquina de inferências.

5

6

Programação Declarativa◦ Fácil de Expressar soluções

Separação da Lógica e dos Dados◦ Desacoplamento dos Dados e Lógica◦ Lógica toda nas Regras

Velocidade e Escalabilidade◦ ReteOO◦ Datasets que não mudam tudo (Lembraça dos

patterns anteriores) Centralização do Conhecimento

◦ Repositório de Conhecimento Executável

7

Centralização do Conhecimento◦ Regras são documentação

Explanação◦ Log da decisões e os porques

Regras Legíveis◦ Graças ao DSL

8

Versão otimizada do algoritmo de Rete para execução de ações em um sistema.

Gera uma máquina de estado de regras. Novos fatos alimentam a máquina de

estados. Máquina de estados tem memória dos

estados anteriores Resolução de conflitos não está no

algoritmo mas está ao redor da solução. (Baseado em saliência-> Prioridade)

9

Linguagem para propósito específico Domínio restrito Aproveitamento da Expêriencia usuário Não necessita de pessoal técnico Exemplos:

◦ SQL◦ Comandos Unix

Esconder detalhes de implementação Edição controlada das regras

10

11

12

13

1. Authoring 2. Runtime

14

15

16

17

18

Exemplos práticos com o IDE Eclipse...

19

http://www.jboss.org/drools/ http://blog.athico.com/ http://en.wikipedia.org/wiki/BRMS http://en.wikipedia.org/wiki/Rete_algorithm http://en.wikipedia.org/wiki/Domain-specific

_programming_language

20