Especificação dos Padrões de Controle de Fluxo em NPDL

Documentos relacionados
Técnicas de Mineração de Dados para Descoberta de Modelos de Processos de Negócio

Modelagem de Processos Redes de Petri e Workflow nets. Silvana Pereira Detro

RELATÓRIO TÉCNICO. Kelly Rosa Braghetto

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

NavigationPlanTool: Uma Ferramenta para o Controle de Processos no Modelo de Dados Relacional

CP Compiladores I Prof. Msc.. Carlos de Salles

Paradigmas de Programação

INE 5423 Banco de Dados I

PADRÕES DE FLUXOS DE PROCESSOS

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS

Linguagens de Programação

INE 5423 Banco de Dados I

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2

O potencial das redes de Petri em modelagem e análise de processos de negócio

FACULDADE LEÃO SAMPAIO

ao paradigma imperativo

Introdução à Programação

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

CAPÍTULO 5 LINGUAGEM LEGAL E EXTENSÕES PROPOSTAS

Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador

Visão Geral... e conceitos básicos

Aula 01 Conceito de Banco de Dados e SGBD

5 Conclusão e trabalhos futuros

Sistemas de Banco de Dados

A modelagem de Negócio com UML

Implementação de Linguagens

Linguagens Formais e Autômatos P. Blauth Menezes

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Matemática Discreta para Ciência da Computação

Ontologias: Definições e Tipos

Revisão: linguagens de programação

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

EMENTAS DAS DISCIPLINAS

CURRÍCULO DO CURSO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO (noturno) [Campus Araranguá] 20171

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Lista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos

Ontologias: Definições e Tipos

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Modelo Entidade Relacionamento

Sistemas Digitais Módulo 4 Álgebra Booleana e Circuitos Lógicos

Universidade Estadual de Santa Cruz

6.CONCLUSÕES CONCLUSÕES

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

EMENTÁRIO - CURSO DE CIÊNCIA DA COMPUTAÇÃO

Linguagens Livres do Contexto. Adaptado de H. Brandão

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

SSC Engenharia de Software. Prof. Paulo C. Masiero

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

Introduzindo um Ambiente de Programação Visual para a Máquina Geométrica

Ferramentas de Suporte

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Calculus of Communicating Systems - CCS (Cálculo de Sistemas Comunicantes)

Pontifícia Universidade Católica do Rio Grande Do Sul Faculdade de Informática Bacharelado em Ciência da Computação - 4/606 Turno Manhã

Teste de Software. Teste Funcional Teste Estrutural. Teste Baseado em Erros (Análise de Mutantes)

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Compiladores. Conceitos Básicos

5 Usando as Representações de Design Rationale

CAP. VI ANÁLISE SEMÂNTICA

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional

Linguagens de Programação

Paradigmas de Linguagem de. Programação Profª. Roberta B Tôrres de programação referem-se a:

Diagrama de Atividades. Ricardo Roberto de Lima UNIPÊ APS-I

Um Sistema de Animação Baseado em Movimento Capturado

ANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

Python e sua sintaxe LNCC UFRJ

IV Gramáticas Livres de Contexto

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

Bacharelado em Ciência da Computação 4/606 Turno Manhã Lista de Ementas

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Recursividade, Tentativa e Erro

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

7 Conclusão e Trabalhos Futuros

6 Conclusão Contribuições da Dissertação

Redes de Petri. Prof. Juan Moises Mauricio Villanueva

Linguagens e Programação Gramáticas. Paulo Proença

Introdução à Gestão de Processos de Negócios

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

V Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC

Linguagens de Domínio Específico

EXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE RONALD GLATZ

Linguagens Formais e Autômatos P. Blauth Menezes

I.2 Introdução a Teoria da Computação

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.

Transcrição:

Especificação dos Padrões de Controle de Fluxo em NPDL MAC5861 - Modelagem de Dados kellyrb@ime.usp.br Departamento de Ciência da Computação Instituto de Matemática e Estatística (IME) Universidade de São Paulo (USP) São Paulo, 14 de Novembro de 2006

Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Contextualização Processos de Negócio Processos de negócio são modelados a partir de um conjunto pré-definido de controles de fluxo, sendo que alguns destes fluxos são considerados padrões [Aalst et al, 2002]. O uso de arcabouços formais para a representação de processos de negócio é importante por propiciar uma modelagem precisa e por apoiar a fase de análise. Formalismos mais utilizados: redes de Petri e álgebras de processos.

O uso de álgebra de processos como arcabouço formal para a especificação de processos de negócio: Possibilita a representação das principais estruturas de controle de fluxo em processos; Facilita a manutenção dos dados de processos em um modelo relacional; Auxilia a criação de mecanismos de apoio à execução de processos.

Nosso trabalho (NPDL) Uma linguagem para definição de processos de negócio baseada em álgebra de processos, desenvolvida como uma extensão da linguagem SQL. Ferramenta que apóia as fases de projeto, instanciação e execução de processos e interpreta a linguagem NPDL.

Plano de Navegação Padrões de Controle de Fluxo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Plano de Navegação Padrões de Controle de Fluxo Trata da especificação e manipulação de termos de processos por meio de uma coleção de operadores, constituindo um arcabouço para o raciocínio formal sobre processos. Pode ser usada para detectar propriedades indesejáveis e formalmente derivar propriedades desejáveis de uma especificação de sistema. Sua representação algébrica puramente textual é apropriada para a manipulação computacional.

Plano de Navegação Padrões de Controle de Fluxo Composição de uma álgebra de processos Um conjunto de símbolos de ações; Um conjunto de operações; Um conjunto de axiomas (ou leis equacionais) que especificam a equivalência de processos. Conceitos e Operadores empregados da ACP (Algebra of Communicating Processes) Composição seqüencial:. a.b Composição alternativa: + a + b Composição paralela (merge): a b Recursão P = a.p + b

Plano de Navegação Padrões de Controle de Fluxo Exemplo - Sistema de Processamento de Reclamações P 1 = I.J.(K.P 1 + L) P = A. ((B.(C + D) F.G).P 1 + (B.(C + D) F.H)). E

Plano de Navegação Padrões de Controle de Fluxo Redes de Petri X Redes de Petri (+) Baseadas em grafos (representação gráfica); (+) Diferenciam precisamente estados e atividades; (-) Dificuldade na análise de modelos extensos (complexidade exponencial árvore de alcançabilidade). (+) Baseadas em descrição textual; (+) São composicionais por definição; (+) Apropriadas para manipulação computacional; (-) Modelam somente fluxo de eventos (não há representação explícita de estados).

Plano de Navegação Padrões de Controle de Fluxo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Plano de Navegação (PN) Plano de Navegação Padrões de Controle de Fluxo O PN é um dos conceitos da arquitetura RiverFish [Ferreira et al, 2005], uma arquitetura para representação, controle e execução de processos de negócio. Esta arquitetura sugere uma estrutura em banco de dados para a manutenção dos passos de negócio, processos e suas instâncias.

Plano de Navegação Padrões de Controle de Fluxo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Padrões de Controle de Fluxo Plano de Navegação Padrões de Controle de Fluxo Aalst, Hofstede, Kiepuszewski, e Barros definiram 20 padrões de fluxos existentes em workflows. A partir dos padrões de controle de fluxo, é possível modelar os comportamentos mais freqüentes em sistemas de workflow. Os padrões servem como base para a avaliação do poder de representação das linguagens de workflow.

Padrões de Controle de Fluxo Plano de Navegação Padrões de Controle de Fluxo Os padrões estão divididos em 6 categorias: 1 Padrões Básicos de Controle de Fluxo 2 Padrões Avançados de Ramificação e Sincronização 3 Padrões Estruturais 4 Padrões de Múltiplas Instâncias 5 Padrões Baseados em Estados 6 Padrões de Cancelamento

1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

NPDL Apresentação A NPDL é uma linguagem que se baseia em operadores de álgebra de processos e no conceito de Plano de Navegação para viabilizar o controle de processos de negócio em um modelo relacional de dados. Características Está implementada na forma de extensão da linguagem SQL. A sintaxe atual da NPDL possibilita a definição de processos compostos a partir de todos os padrões de controle de fluxo definidos por Aalst et al.

NPDL Características Processos em NPDL são definidos por meio de expressões algébricas, envolvendo principalmente operadores e ações. A NPDL possui, além dos operadores mais comuns da álgebra de processos ( +,. e ), operadores adicionais ( %, %!, *, &, e? ) que facilitam a representação dos padrões de controle de fluxo e superam algumas limitações da álgebra de processos quando empregada a este fim. A sintaxe completa da NPDL está especificada no formato BNF (Backus-Naur Form) e disponível em www.ime.usp.br/~jef/kelly/bnf_npdl.pdf.

NPDL Exemplos de Comandos CREATE ACTION A1 LerPrimeiroValor ; CREATE ACTION A2 LerSegundoValor ; CREATE ACTION A3 CalcularAdicao ; CREATE ACTION A4 CalcularMultiplicacao ; CREATE ACTION A5 MostrarResultado ; CREATE PROCESS P1 AuxProcessoCalculo ; CREATE PROCESS P2 ProcessoCalculo ; SET P1 = (A1 A2).( A3 + A4 ).A5; SET P2 = P1.P2 + P1;

1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

Padrões Básicos de Controle de Fluxo 1. Seqüência SET P = A.B 2. Divisão Paralela 3. Sincronização SET P = A.(B C) SET P = (A B).C

Padrões Básicos de Controle de Fluxo 4. Escolha Exclusiva SET P = A.(%r 1 B + %!r 1 C) 16. Escolha Postergada SET P = A.(B + C)

Padrões Básicos de Controle de Fluxo 5. Junção Simples SET P = (%r 1 A + %!r 1 B).C

Padrões Avançados de Ramificação e Sincronização 6. Escolha Múltipla SET P = A.(%r 1 (B C) + %!r 1 (%r 2 B + %!r 2 C))

Padrões Avançados de Ramificação e Sincronização 7. Junção Sincronizada SET P = A.(%r 1 (B C) + %!r 1 (%r 2 B + %!r 2 C)).D

Padrões Avançados de Ramificação e Sincronização 8. Junção Múltipla SET P = A.(%r 1 (B C) + %!r 1 (%r 2 B + %!r 2 C))&D Em álgebra de processos É preciso distribuir a atividade D: P = A.((B.D) (C.D) + B.D + C.D)

Padrões Avançados de Ramificação e Sincronização 9. Discriminador SET P = A.(%r 1 (B C) + %!r 1 (%r 2 B + %!r 2 C)) D Em álgebra de processos É preciso distribuir a atividade D: P = A.((B.D) C + B (C.D) + (B C).D + B.D + C.D)

Padrões Estruturais 10. Ciclos Arbitrários SET P 3 = D.(%r 1 E + %!r 1 (F.(%r 2 G + %!r 2 P 2 ))) SET P 2 = C.P 3 SET P 1 = %r 3 (A.P 2 )%!r 3 (B.P 2 )

Padrões Estruturais 11. Terminação Implícita Definição: um dado subprocesso pode ser encerrado quando não há nada mais a ser feito, ou seja, quando não há mais atividades ativas no workflow. Na ACP, o estado final de um processo é representado implicitamente. A NPDL se comporta de forma semelhante: não existe um termo em NPDL que indique estado final de processo.

Padrões de Múltiplas Instâncias 12. Múltiplas Instâncias Sem Sincronização Em álgebra de processos utiliza-se processos recursivos. Exemplo: P = P A + A P = P B.C Em NPDL utiliza-se o operador?*. Exemplo: P = A? B.C

Padrões de Múltiplas Instâncias 13. Múltiplas Instâncias Com Conhecimento Prévio em Tempo de Projeto Em álgebra de processos (exemplo com 3 instâncias da atividades A): P = A A A P = P.B.C Em NPDL utiliza-se o operador?n. Exemplo: P = A?3.B.C

Padrões de Múltiplas Instâncias 14. Múltiplas Instâncias Com Conhecimento Prévio em Tempo de Execução Em álgebra de processos não é possível representar este padrão. Em NPDL utiliza-se o operador?f. Exemplo: P = A?f 1.B.C

Padrões de Múltiplas Instâncias 15. Múltiplas Instâncias Sem Conhecimento Prévio em Tempo de Execução Em álgebra de processos (de modo análogo ao padrão 12) utiliza-se processos recursivos. Exemplo: P = P A + A P = P.B Em NPDL utiliza-se o operador?*. Exemplo: P = A?.B

Padrões Baseados em Estados 17. Roteamento Paralelo Entrelaçado Em álgebra de processos SET P = A.(B C) P = A.(B.C + C.B)

Padrões Baseados em Estados 18. Marco (Milestone) - Exemplo SET P 1 = A.P 1 + C SET P = B.P 1

Padrões de Cancelamento 19. Atividade Cancelável Definição: ocorre quando uma atividade pode ser desabilitada durante a execução de uma instância do processo. 20. Caso Cancelável SET P = A.(B + #).(C + D) Definição: ocorre quando a instância do workflow pode ser removida completamente. Não está relacionado à modelagem do workflow é uma responsabilidade do serviço de execução.

1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4

A Ferramenta O interpretador da NPDL é parte da ferramenta. Foi implementada como uma biblioteca de funções Java e é composta por três serviços: Interpretador NPDL Serviço de Instanciação de Processos Serviço de Monitor de Execução de Instâncias de Processos

O Interpretador NPDL Operações: 1 Criação das estruturas de dados relacionais (tabelas) para o armazenamento dos dados resultantes da definição, instanciação e execução dos processos 2 Análise léxica, sintática e semântica de comandos escritos em NPDL 3 Geração de comandos SQL a partir de comandos NPDL

O Interpretador NPDL Estrutura Relacional de Dados

Conclusões O uso da álgebra de processos como base formal auxiliou: A criação de um modelo relacional para a representação de dados de processos de negócio e uma linguagem de manipulação desses dados - a NPDL; O desenvolvimento de um mecanismo de controle de execução escalável, que se beneficia dos axiomas e regras de transição da álgebra de processos.

Conclusões Vantagens da Abordagem: Esta abordagem propicia o compartilhamento de especificações de processos (reuso) em um ambiente cooperativo. Essa característica se deve principalmente a dois motivos: O aspecto composicional da álgebra de processos; A flexibilidade de representação dos processos e suas instâncias proporcionada pelo modelo relacional de dados.

Conclusões NPDL Seus operadores adicionais superam algumas limitações da álgebra de processos e facilitam a representação dos padrões de controle de fluxo.

Limitações Representação do Fluxo de Dados A versão atual da NPDL não é capaz de representar de modo explícito o fluxo de dados. Essa limitação está associada à álgebra de processos. Conseqüência: impossibilidade de estabelecer uma regra geral para o mapeamento do padrão Marco (Milestone). Dificuldade de Integração Há uma dificuldade de integração da NPDL com outras soluções, ainda, devido à grande heterogeneidade de abordagens e ausência de padrões na área de GPN. Desejável: ambiente gráfico para a modelagem.