Especificação dos Padrões de Controle de Fluxo em NPDL
|
|
- Melissa Caires
- 5 Há anos
- Visualizações:
Transcrição
1 Especificação dos Padrões de Controle de Fluxo em NPDL MAC 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
2 Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
3 Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
4 Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
5 Conteúdo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
6 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.
7 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.
8 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.
9 Plano de Navegação Padrões de Controle de Fluxo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
10 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.
11 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
12 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
13 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).
14 Plano de Navegação Padrões de Controle de Fluxo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
15 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.
16 Plano de Navegação Padrões de Controle de Fluxo 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
17 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.
18 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
19 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
20 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.
21 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
22 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;
23 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
24 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
25 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)
26 Padrões Básicos de Controle de Fluxo 5. Junção Simples SET P = (%r 1 A + %!r 1 B).C
27 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))
28 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
29 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)
30 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)
31 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 )
32 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.
33 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
34 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
35 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
36 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
37 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)
38 Padrões Baseados em Estados 18. Marco (Milestone) - Exemplo SET P 1 = A.P 1 + C SET P = B.P 1
39 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.
40 1 2 Plano de Navegação Padrões de Controle de Fluxo 3 4
41 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
42 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
43 O Interpretador NPDL Estrutura Relacional de Dados
44 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.
45 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.
46 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.
47 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.
Técnicas de Mineração de Dados para Descoberta de Modelos de Processos de Negócio
Técnicas de Mineração de Dados para Descoberta de Modelos de Processos de Negócio Kelly Rosa Braghetto Orientador: João Eduardo Ferreira Co-orientador: Roberto M. Cesar Jr. Departamento de Ciência da Computação
Leia maisModelagem de Processos Redes de Petri e Workflow nets. Silvana Pereira Detro
Modelagem de Processos Redes de Petri e Workflow nets Silvana Pereira Detro Redes de Petri Propostas por Carl Adam Petri (1962), constituem se em uma técnica de modelagem que permite a representação de
Leia maisRELATÓRIO TÉCNICO. Kelly Rosa Braghetto
A NAVIGATION PLAN DEFINITION LANGUAGE E A NAVIGATIONPLANTOOL RELATÓRIO TÉCNICO Kelly Rosa Braghetto Departamento de Ciência da Computação Instituto de Matemática e Estatística - IME Universidade de São
Leia maisMecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas
Arquitetura de Computadores, Arquitetura de Computadores Organização de Computadores, Conjunto de Instruções, Sistemas Operacionais, Sistemas Operacionais, Sistemas Mecanismos de Interrupção e de Exceção,
Leia maisBanco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas
Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar
Leia maisProjeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações
Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento
Leia maisNavigationPlanTool: Uma Ferramenta para o Controle de Processos no Modelo de Dados Relacional
NavigationPlanTool: Uma Ferramenta para o Controle de Processos no Modelo de Dados Relacional Kelly Rosa Braghetto 1, Osvaldo K. Takai 1, João Eduardo Ferreira 1, Calton Pu 2 1 Instituto de Matemática
Leia maisCP Compiladores I Prof. Msc.. Carlos de Salles
CP 5017.9 Prof. Msc.. Carlos de Salles 1 - EMENTA O Processo de Compilação. Deteção e Recuperação de Erros. Introdução à geração de Código Intermediário. Geração de Código de Máquina. Otimização. Uma visão
Leia maisParadigmas de Programação
Paradigmas de Programação Sintaxe e semântica Aula 4 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Sintaxe A sintaxe de uma linguagem de programação é a forma
Leia maisINE 5423 Banco de Dados I
UFSC-CTC-INE Curso de Ciencias da Computação INE 5423 Banco de Dados I 2010/2 http://www.inf.ufsc.br/~ronaldo/ine5423 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma (Previsto)
Leia maisPADRÕES DE FLUXOS DE PROCESSOS
PADRÕES DE FLUXOS DE PROCESSOS EM BACO DE DADOS RELACIOAIS Kelly Rosa Braghetto DISSERTAÇÃO APRESETADA AO ISTITUTO DE MATEMÁTICA E ESTATÍSTICA DA UIVERSIDADE DE SÃO PAULO PARA OBTEÇÃO DO TÍTULO DE MESTRE
Leia maisFERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS
FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS Acadêmico: Roger Anderson Schmidt Orientador : Marcel Hugo Supervisor : Ricardo de Freitas Becker Empresa
Leia maisLinguagens de Programação
45 Linguagens de Programação O paradigma de programação imperativo está diretamente atrelado à arquitetura básica dos computadores sobre os quais os programas eram executados. Boa parte dos computadores
Leia maisINE 5423 Banco de Dados I
UFSC-CTC-INE Curso de Ciências da Computação INE 5423 Banco de Dados I 2011/1 http://www.inf.ufsc.br/~ronaldo/ine5423 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma (Previsto)
Leia maisCRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2
UNIVERSIDADE FEDERAL DE PERNAMBUCO PRÓ-REITORIA PARA ASSUNTOS DE PESQUISA E PÓS-GRADUAÇÃO ESTRUTURA CURRICULAR STRICTO SENSU (baseada na Res. 10/2008 do CCEPE) NOME DO CURSO: Pós-Graduação em Ciência da
Leia maisO potencial das redes de Petri em modelagem e análise de processos de negócio
O potencial das redes de Petri em modelagem e análise de processos de negócio Agenda Motivação Introdução: conceito de workflow, importância, barreiras enfrentadas nas pesquisas desenvolvidas, redes de
Leia maisFACULDADE LEÃO SAMPAIO
FACULDADE LEÃO SAMPAIO Paradigmas de Programação Curso de Análise e Desenvolvimento de Sistemas Turma: 309-5 Semestre - 2014.2 Paradigmas de Programação Prof. MSc. Isaac Bezerra de Oliveira. 1 PARADIGMAS
Leia maisao paradigma imperativo
PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de
Leia maisIntrodução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Leia maisIntrodução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos
Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional
Leia maisCAPÍTULO 5 LINGUAGEM LEGAL E EXTENSÕES PROPOSTAS
CAPÍTULO 5 LINGUAGEM LEGAL E EXTENSÕES PROPOSTAS Os operadores de manipulação de campos geográficos implementados neste trabalho tiveram como ambiente de desenvolvimento a Linguagem Espacial para Geoprocessamento
Leia maisDouglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador
Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador Introdução Objetivos Fundamentação teórica Desenvolvimento da ferramenta Operacionalidade Resultados e discussão Conclusões Versões futuras
Leia maisVisão Geral... e conceitos básicos
Visão Geral.. e conceitos básicos 1 Curso de... Programação O que se estuda aqui? Algoritmos 2 E o que são algoritmos? Sequência finita e não ambígua de passos para a solução de um problema. Lembre- se
Leia maisAula 01 Conceito de Banco de Dados e SGBD
Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com
Leia mais5 Conclusão e trabalhos futuros
5 Conclusão e trabalhos futuros Neste capítulo fazemos uma retrospectiva do trabalho realizado, uma avaliação da proposta de solução de integração de dados ou conhecimentos mostrada na dissertação e também
Leia maisSistemas de Banco de Dados
Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática
Leia maisA modelagem de Negócio com UML
A modelagem de Negócio com UML Introdução A passagem do Modelo do Negócio para o Modelo do Sistema envolve a definição de quais Casos de Uso do Negócio deverão ser automatizados; No momento em que os requisitos
Leia maisImplementação de Linguagens
Implementação de Linguagens Pedro Vasconcelos DCC/FCUP 11 de Abril de 2016 Objectivos Introdução à implementação de linguagens de programação funcionais. Enfoce sobre técnicas de interpretação/compilação
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisSEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica
UNIVERSIDADE ESTADUAL DE SANTA CRUZ CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO DOCENTE: ROGÉRIO VARGAS DISCENTE: MARIANNA NOVAES Semântica SEMÂNTICA Semântica é a área
Leia maisLinguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.
LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica
Leia maisMatemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação
Leia maisOntologias: Definições e Tipos
Ontologias: Definições e Tipos Ricardo de Almeida Falbo Ontologias para Engenharia de Software Departamento de Informática Universidade Federal do Espírito Santo Agenda O que é uma ontologia Tipos de Ontologias
Leia maisRevisão: linguagens de programação
Revisão: linguagens de programação Definição, histórico, paradigmas e semântica Prof. Thiago A. S. Pardo taspardo@icmc.usp.br Definição Uma linguagem de programação é uma linguagem destinada a ser usada
Leia maisMatéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento
Leia maisEMENTAS DAS DISCIPLINAS
EMENTAS DAS DISCIPLINAS CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Algoritmos e Linguagem de Programação I: Ensino dos conceitos básicos de algoritmos estruturados (estruturas condicionais e de repetição),
Leia maisCURRÍCULO DO CURSO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO (noturno) [Campus Araranguá] 20171
Documentação: Objetivo: Titulação: Diplomado em: Reconhecimento do Curso - Port.nº 122, de 05/07/2012/MEC Autorizado Portaria nº 322/SESU/2011, de 02/08/2011. Resolução nº 022/CEG/2008 de 10/12/2008,(Criação
Leia maisIntrodução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga
Leia maisLista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos
Lista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos Uma das formas de se especificar a gramática de uma linguagem de programação é utilizar a Backus-Naur Form (BNF Ingerman
Leia maisOntologias: Definições e Tipos
Ontologias: Definições e Tipos Ricardo de Almeida Falbo Departamento de Informática Universidade Federal do Espírito Santo Agenda O que é uma ontologia Tipos de Ontologias Ontologia Origem: Filosofia Ont-
Leia maisPORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações
Leia maisAula 2 BD Introdução. Profa. Elaine Faria UFU
Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações
Leia maisModelo Entidade Relacionamento
Programa DCC011 Introdução a Banco de Dados Modelo Entidade Relacionamento Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos
Leia maisSistemas Digitais Módulo 4 Álgebra Booleana e Circuitos Lógicos
Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 4 Álgebra Booleana e Circuitos Lógicos Graduação em Sistemas de Informação Prof. Dr. Daniel A. Furtado Conteúdo Introdução
Leia maisUniversidade Estadual de Santa Cruz
Universidade Estadual de Santa Cruz Conceitos de Linguagens de Programação Linguagens Imperativas e Funcionais Prof. Dr. Rogério Vargas Ilhéus-Ba, 16 de Maio de 2013. Linguagens Imperativas Linguagens
Leia mais6.CONCLUSÕES CONCLUSÕES
6.CONCLUSÕES 193 6 CONCLUSÕES Este trabalho apresentou uma proposta para modelagem e análise de Sistemas de Controle envolvidos na geração de energia elétrica hidráulica, tendo como base dois desenvolvimentos:
Leia maisModelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Leia maisBanco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011
Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza
Leia maisEMENTÁRIO - CURSO DE CIÊNCIA DA COMPUTAÇÃO
1 ATIVIDADE FÍSICA E QUALIDADE DE VIDA I EMENTÁRIO - CURSO DE CIÊNCIA DA COMPUTAÇÃO Propiciar conhecimentos referentes à atividade física relacionada ao bem estar e a saúde em todas as idades com vistas
Leia maisLinguagens Livres do Contexto. Adaptado de H. Brandão
Linguagens Livres do Contexto Adaptado de H. Brandão Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres do Contexto; Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres
Leia maisSEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.
SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão
Leia maisCONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO
CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO ROTEIRO 1. INTRODUÇÃO 2. LINGUAGENS IMPERATIVAS 1. CONCEITO 2. PARADIGMA IMPERATIVO 3. ORIGENS 4. MODELO COMPUTACIONAL 1. ARQUITETURA DE VON NEUMANN 2. CARACTERISTICAS
Leia maisModelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Leia maisSSC Engenharia de Software. Prof. Paulo C. Masiero
SSC - 5764 Engenharia de Software Prof. Paulo C. Masiero Processo de Software: Fases ou Subprocessos DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO Análise de Sistema Análise de Requisitos Projeto Projeto Processo pelo
Leia mais!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional
Nuno Melo e Castro !" # Modelos de dados 1ª geração Modelo Hierárquico Modelo Rede 2ª geração Modelo Relacional 3ª geração Extensões ao modelo relacional Modelo lógico-dedutivo Modelo orientado a objectos
Leia maisIntroduzindo um Ambiente de Programação Visual para a Máquina Geométrica
Introduzindo um Ambiente de Programação Visual para a Máquina Geométrica Marcos B. Cardoso, Renata H. Sander Reiser, Antônio C. da R. Costa, Lucas L. Borba, Diego G. Prestes Escola de Informática Universidade
Leia maisFerramentas de Suporte
Cálculo Numérico Módulo I Prof Reinaldo Haas Como estudar Métodos Numéricos? 2 Uso do método numérico Computador Programa Desenvolver Utilizar Verificar validade dos resultados obtidos 3 Programas para
Leia maisUm Tradutor de Esquemas Relacionais em XML para Esquemas SQL
UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA SISTEMAS DE INFORMAÇÃO Resumo do Trabalho de Conclusão de Curso Entitulado Um Tradutor de Esquemas Relacionais
Leia maisCalculus of Communicating Systems - CCS (Cálculo de Sistemas Comunicantes)
(Cálculo de Sistemas Comunicantes) Caesar Ralf Franz Hoppen¹, Elias Ricken Medeiros¹ ¹Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal 15.064 91.501-970 Porto Alegre
Leia maisPontifícia Universidade Católica do Rio Grande Do Sul Faculdade de Informática Bacharelado em Ciência da Computação - 4/606 Turno Manhã
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ã www.pucrs.br/facin/curso/ciencia-da-computacao/ Nível I Lista de
Leia maisTeste de Software. Teste Funcional Teste Estrutural. Teste Baseado em Erros (Análise de Mutantes)
Teste de Software Teste Funcional Teste Estrutural Teste Baseado em Erros (Análise de Mutantes) Profa Rosana T. V. Braga Material adaptado do material dos profs. Ellen Francine Barbosa e José Carlos Maldonado
Leia maisSERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
Leia maisCompiladores. Conceitos Básicos
Compiladores Conceitos Básicos Processadores de Linguagem De forma simples, um compilador é um programa que recebe como entrada um programa em uma linguagem de programação a linguagem fonte e o traduz
Leia mais5 Usando as Representações de Design Rationale
5 Usando as Representações de Design Rationale Como mencionamos anteriormente, representar design rationale em uma linguagem formal usando o modelo formal dos artefatos nos permite atribuir semântica ao
Leia maisCAP. VI ANÁLISE SEMÂNTICA
CAP. VI ANÁLISE SEMÂNTICA VI.1 Introdução Semântica SIGNIFICADO, SENTIDO LÓGICO, COERÊNCIA,... Diferença entre SINTAXE e SEMÂNTICA Sintaxe : descreve as estruturas de uma linguagem; Semântica : descreve
Leia maisSERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
Leia maisSERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
Leia maisSERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
Leia maisIntrodução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO
Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO Introdução A qualidade do armazenamento dos dados, permitem uma melhor extração de informações, e consequentemente,
Leia mais23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional
Processamento de Consultas em BD Distribuídos Decomposição de consultas e Localização de dados IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias
Leia maisLinguagens de Programação
O estudante estuda muito. Regras: 7 9 12 14. . Regras: 2 4 . Regras: 1 Representar através de uma árvore de derivação. 77 O estudante estuda muito.
Leia maisParadigmas de Linguagem de. Programação Profª. Roberta B Tôrres de programação referem-se a:
Paradigmas de Linguagem de Programação Conceitos Elementares Profª. Roberta B Tôrres rbtorresiff@gmail.com Conceitos Elementares de uma Linguagem de Programação Os conceitos mais elementares, suportados
Leia maisDiagrama de Atividades. Ricardo Roberto de Lima UNIPÊ APS-I
Diagrama de Atividades Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I Diagramas de atividades Variação de uma máquina de estados Os estados são as atividades representando a execução de operações. As transições
Leia maisUm Sistema de Animação Baseado em Movimento Capturado
Um Sistema de Animação Baseado em Movimento Capturado Fernando Wagner Serpa Vieira da Silva LCG - COPPE/SISTEMAS - UFRJ Rio de Janeiro - Brasil Outline da Apresentação Animação por Computador Animação
Leia maisANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira
ANÁLISE DE SISTEMAS Diagrama de atividades por Antônio Maurício Pitangueira 1 Diagrama de atividade Há diversos diagramas da UML que descrevem os aspectos dinâmicos de um sistema. diagramas de estados,
Leia maissumá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...
sumário 1 introdução e conceitos básicos 1 1.1 introdução à matemática discreta... 2 1.2 conceitos básicos de teoria dos conjuntos... 3 1.2.1 conjuntos...3 1.2.2 pertinência...5 1.2.3 alguns conjuntos
Leia maisPython e sua sintaxe LNCC UFRJ
Python e sua sintaxe LNCC UFRJ Linguagens naturais e formais Linguagens naturais Linguagem formal Um conjunto finito e não-vazio cujos elementos são símbolos Qualquer cadeia finita de símbolos justapostos
Leia maisIV Gramáticas Livres de Contexto
IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S
Leia maisQ d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )
ELEMENTOS BÁSICOS DA LINGUAGEM JAVA Patricia Della Méa Plentz INE-CTC-UFSC E-Mail: plentz@inf.ufsc.br URL: http://moodle.ufsc.br INE5605-Turma 0238B Sumário 2.1 Classes e Objetos na POO 2.2 2 Revisão da
Leia maisMATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro
MATA60 BANCO DE DADOS Aula: Otimização Prof. Daniela Barreiro Claro Introdução a Otimização SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem
Leia maisBacharelado em Ciência da Computação 4/606 Turno Manhã Lista de Ementas
Bacharelado em Ciência da Computação 4/606 Turno Manhã Lista de Ementas Nível I 41153-04 - Cálculo A (CC) Estudo e caracterização das funções de uma variável real. Definição e apresentação das propriedades
Leia maisIntrodução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos
Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional
Leia maisRecursividade, Tentativa e Erro
Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas
Leia maisGrupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java
Grupo de Usuários Java do Noroeste Paulista Tópicos Avançados em Java Aula 1 Objetivos Programa exemplo; Programação Orientada a Objetos. Conceitos Orientada a Objetos Mundo real Conceitos Orientada a
Leia mais7 Conclusão e Trabalhos Futuros
7 Conclusão e Trabalhos Futuros Como um novo e poderoso paradigma para o design e a implementação de sistemas de software (Lind, 2001;Wooldridge et al., 2001), o SMA requer metodologias, linguagens de
Leia mais6 Conclusão Contribuições da Dissertação
6 Conclusão Neste trabalho, foi apresentado um sistema colaborativo capaz de controlar as versões das edições de um vídeo no formato MPEG-2, sem que os editores estejam no mesmo local, ao mesmo tempo.
Leia maisRedes de Petri. Prof. Juan Moises Mauricio Villanueva
Redes de Petri Prof. Juan Moises Mauricio Villanueva jmauricio@cear.ufpb.br Redes de Petri Publicado em 1962, por Carl Adam Petri Uma rede de Petri (RP) pode ser interpretada como um grafo direcionado
Leia maisLinguagens e Programação Gramáticas. Paulo Proença
Linguagens e Programação Gramáticas Gramáticas Ferramenta para a descrição e análise de linguagens; Baseada num conjunto de regras que especificam o modo de construção das frases válidas na linguagem;
Leia maisIntrodução à Gestão de Processos de Negócios
Introdução à Gestão de Processos de Negócios Profa. Dra. Elisa Yumi Nakagawa 2. Semestre de 2016 SSC0531 - Gestão de Sistemas de Informação Slides inicialmente preparados por Roberto Rocha e Prof. João
Leia maisUniversidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores
Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise
Leia maisV Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC
V Análise Sintática V.1 Fundamentos Teóricos V.1.1 G.L.C V.1.2 Teoria de Parsing V.2 Especificação Sintática de Ling. de Prog. V.3 - Implementação de PARSER s V.4 - Especificação Sintática da Linguagem
Leia maisLinguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2016.1 http://www.dcc.ufrj.br/~fabiom/dsl Processamento de uma DSL Padrão Visitor A outra técnica para implementar um percurso consiste em usar o padrão
Leia maisEXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE RONALD GLATZ
PROTÓTIPO TIPO PARA TRANSFORMAÇÃO DE UMA EXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE 1 OBJETIVO DESTE TRABALHO ALGUNS CONCEITOS BÁSICOS
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes
Leia maisI.2 Introdução a Teoria da Computação
I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?
Leia mais- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.
Unidade V Evolução de Sofware - Engenharia Reversa - Profa. Dra. Sandra Fabbri Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Manutenção Teste Sistema Requisitos Desenvolvimento
Leia mais