Estudo e Análise de Modelagem de Sistemas de Workflow baseada em Redes de Petri

Tamanho: px
Começar a partir da página:

Download "Estudo e Análise de Modelagem de Sistemas de Workflow baseada em Redes de Petri"

Transcrição

1 UNIVERSIDADE FEDERAL DE GOIÁS - UFG CAMPUS CATALÃO - CaC DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO - DCC Bacharelado em Ciência da Computação Projeto Final de Curso Estudo e Análise de Modelagem de Sistemas de Workflow baseada em Redes de Petri Autora: Kênia Santos de Oliveira Orientador: Márcio de Souza Dias Co-Orientadora: Liliane do Nascimento Vale Catalão

2 Kênia Santos de Oliveira Estudo e Análise de Modelagem de Sistemas de Workflow baseada em Redes de Petri Monografia apresentada ao Curso de Bacharelado em Ciência da Computação da Universidade Federal de Goiás - Campus Catalão como requisito parcial para obtenção do título de Bacharel em Ciência da Computação. Área de Concentração: Engenharia de Software Orientador: Márcio de Souza Dias Co-Orientadora: Liliane do Nascimento Vale Catalão

3 Oliveira, Kênia Santos Estudo e Análise de Modelagem de Sistemas de Workflow baseada em Redes de Petri/ Márcio de Souza Dias/ Liliane do Nascimento Vale - Catalão, Número de páginas: 78 Projeto Final de Curso (Bacharelado) - Universidade Federal de Goiás, Campus Catalão, Curso de Bacharelado em Ciência da Computação, Palavras-Chave: 1. Workflow. 2. Redes de Petri. 3. Modelagem.

4 Kênia Santos de Oliveira Estudo e Análise de Modelagem de Sistemas de Workflow baseada em Redes de Petri Monografia apresentada e aprovada em de de, pela Banca Examinadora constituída pelos professores: Presidente da Banca - Márcio de Souza Dias Prof. Dr. Alexsandro Santos Soares Prof. Acrísio José do Nascimento

5 Agradecimentos Agradeço a Deus, todo poderoso, pelo dom da vida e por me amparar em todos os momentos. Agradeço a Deus pela benção de ter meus pais Maria da Luz e Donizete ao meu lado, sempre me guiando e sempre oferecendo todo apoio e confiança. Agradeço a Deus pelos meus irmãos Clayton e Cássio que sempre foram irmãos protetores e nunca deixaram de acreditar em mim. E também por minhas cunhadas Zélia e Sirlene por também terem me acompanhado durante esse tempo. Agradeço a Deus pelos meus lindos sobrinhos (Adriell e Raquell) que nos momentos de cansaço me fizeram rir e esquecer dos problemas. Agradeço a Deus por ter colocado em meu caminho José Ricardo, uma uma pessoa amável com quem pude compartilhar os maus e bons momentos dessa jornada. Agradeço a Deus por ter permitido encontrar no início dessa minha caminhada três amigas (Dayse, Fabiola e Glenda) que viveram juntas comigo todo o esforço nesses quatro anos de estudo. Amigas que, cada uma com seu jeito especial, se tornaram muito importantes em minha vida e jamais serão esquecidas. Agradeço a Deus pelos colegas, Osias, Leonardo, Alex, Thiago e Eduardo pela amizade e pela ajuda mútua durante esses anos. Agradeço também por todos os colegas de sala que foram companheiros, e pelos amigos que conheci durante o curso, em especial ao amigo Douglas que muitas vezes abdicou-se do seu tempo para ajudar os amigos. Agradeço a Deus pelos meus orientadores Márcio de Souza e Liliane do Nascimento, por terem me auxiliado no desenvolvimento desse trabalho e por todos professores que contribuíram para a minha formação.

6 Faça as coisas o mais simples que você puder, porém não as mais simples. (Einstein)

7 Resumo Oliveira, K. S., Estudo e Análise de Modelagem de Sistemas de Workflow baseada em Redes de Petri, Departamento de Ciência da Computação, Campus Catalão, UFG, Catalão, Brasil, 2007, 78P. As organizações têm buscado cada vez mais por maiores índices de qualidade e eficiência no gerenciamento de seus processos de negócio. Para alcançar esses índices a tecnologia de Workflow (fluxo de trabalho) tem sido bastante utilizada, proporcionando maior produção e desempenho das organizações. Workflow ainda é recente e muitos ainda desconhecem suas potencialidades e problemas. Uns dos principais obstáculos enfrentados é a falta de métodos e ferramentas que possam permitir a especificação dos processos que fazem parte do sistema de Workflow. Neste contexto, o presente trabalho procura realizar um estudo da utilização das Redes de Petri (RdPs) para a modelagem de Workflow. Para isso, é apresentado os principais conceitos referentes ao Workflow e as RdPs. Posteriormente, é apresentado a aplicação da modelagem de Workflow com as RdPs no cenário do processo de Colação de Grau da UFG/Campus Catalão. Palavras-Chave: Workflow, Redes de Petri, Modelagem. i

8 Sumário Resumo Lista de Figuras i iv 1 Introdução Visão Geral Objetivos Organização do Trabalho Sistemas de Workflow Introdução Contexto Histórico Conceitos e Definições Participante Atividades Papéis Tipos de Workflow Workflow Management Coalition - WfMC Ferramentas de Definição de Processos (Process Definition Tools) Serviços de Ativação de Workflow (Workflow Enactment Services) Aplicações Clientes (Workflow Client Applications) Aplicações Invocadas (Invoked Applications) Ferramentas de Administração e Monitoramento (Administration and Monitoring Tools) Outros serviços de ativação de Workfow (Other Workflow Enactment Service(s)) Outros modelos de Workflow Modelagem de Workflow Exemplo de Workflow Importância e Desafios da Tecnologia de Workflow ii

9 3 Redes de Petri Introdução Contexto Histórico Máquina de Estados Finitos ou Autômatos Finitos Conceitos Fundamentais das Redes de Petri Rede de Petri Ordinária Conflito, Concorrência, Paralelismo e Disparo em Sequência Propriedades das Redes de Petri Propriedades Estruturais Propriedades Comportamentais Análise das Propriedades das Redes de Petri Enumeração das marcações Análise Estrutural Redução Redes de Petri com Representação do Tempo Redes de Petri Temporizada Redes de Petri Temporal Redes de Petri Estocástica Redes de Petri de Alto-Nível Redes de Petri Coloridas Redes de Petri Predicado-Transição Redes de Petri Objetos Aplicação das Redes de Petri na Modelagem de Sistema de Workflow Introdução Processo de Colação de Grau do Campus Catalão Identificando Dados do Processo Modelando o Processo de Colação de Grau Processo de Colação de Grau Modelado em Rede de Petri Ordinária Processo de Colação de Grau Modelado em Rede de Petri Colorida Processo de Colação de Grau Modelado em Rede de Petri Colorida com Representação do Tempo Comparando os Modelos Conclusão 73 Referências Bibliográficas 75 iii

10 Lista de Figuras 2.1 Modelo de referência da WfMC Meta-modelo da WfMC Processo de Avaliação de Canditados a Emprego Exemplo da lista de trabalho do Analista do Recursos Humanos Exemplo de Máquina de Estados Finitos Máquina de Estados Elementos que Representam Graficamente uma RdP Representação das Condições nas RdPs Representação do Disparo de Transições Exemplo de uma RdP Ordinária Matriz P re para o exemplo da Figura Matriz P ost para o exemplo da Figura Matriz C para o exemplo da Figura Exemplo de uma RdP não pura Exemplo de Conflito em RdP Exemplo de Concorrência em RdP Exemplo de Paralelismo em RdP Exemplo de Disparo em Sequência em Rede de Petri Exemplo de Invariantes Matriz C da Figura Rede de Petri Ordinária Grafo de Marcações da Figura Lugar Substituível p Rede Reduzida Lugar Implícito p Rede Reduzida Transição Idêntica Rede reduzida RdP Temporizada com Tempo Associado aos Lugares iv

11 3.26 RdP Temporizada com Tempo Associado as Transições RdP Temporal Grafo de Marcações da Figura Matriz Q do exemplo na Figura Matriz Q do exemplo na Figura Resolvendo a equação O Problema do Jantar dos Filósofos Modelado por uma RdP Colorida Matriz P re para a RdP Colorida Matriz P ost para a RdP Colorida Matriz W para a RdP Colorida Matriz P re da função f Matriz P ost da função f O problema do Jantar dos Filósofos Modelado em uma RdP Predicado-Transição Matriz P re para RdP Predicado-Transição Matriz P ost para RdP Predicado-Transição Matriz W para RdP Predicado-Transição Classe Filosofo Classe Garfo Fluxograma do Processo Colação de grau Janela Principal do HPSim Processo de Colação de Grau modelado em Rede de Petri Ordinária Primeira Matriz Pre Segunda Matriz Pre Primeira Matriz Post Segunda Matriz Post Primeira Matriz C Segunda Matriz C Rede de Petri Ordinária Reduzida Grafo de Marcações para Rede de Petri Ordinária do Processo Colação de Grau Parte 1 do Grafo de Marcações Janela Principal da Ferramenta CPN Rede de Petri Colorida do Processo Colação de Grau Matriz W Matriz cm e ses Grafo de Marcações para RdP Colorida do Processo Colação de Grau Quadro de Informações do Estado RdP Colorida com representação do tempo v

12 4.20 Marcação Inicial da RdP Colorida com Tempo vi

13 Capítulo 1 Introdução 1.1 Visão Geral O gerenciamento de processos de trabalho nas organizações/empresas tem sido um fator essencial para que essas respondam de forma mais ágil às necessidades do mercado. Nos últimos anos, as empresas vem buscando cada vez mais o melhoramento de seus processos 1 de trabalho para manterem ou até mesmo aumentarem a produtividade, a agilização das informações, a minimização de custos, a competitividade e o atendimento com eficiência e qualidade à seus clientes. Para isso, muitas dessas empresas tem utilizado como principal ferramenta a tecnologia de Workflow aplicada em seus processos de trabalho. A tecnologia de Workflow busca oferecer soluções flexíveis para criação de novos processos e/ou a modificação dos já existentes, permitindo a integração entre todas as atividades ao invés de automatizá-las de forma isolada. Assim, é possível atender à demanda das organizações por maiores índices de qualidade e eficiência no gerenciamento de seus processos de negócio. Porém, a tecnologia de Workflow ainda é recente e o conhecimento pela comunidade em geral de suas potencialidades e problemas ainda está se iniciando. Um dos problemas a ser destacado neste trabalho é a falta de métodos e ferramentas que possam permitir a especificação dos processos que fazem parte do sistema de Workflow. O método de modelagem utilizado para especificar processos de Workflow precisa permitir a definição dos procedimentos, das atividades, do controle do fluxo de trabalho entre os processos bem como análises antes da completa automatização. As análises realizadas em fase de modelagem impedem que situações indesejáveis, como deadlock, ocorram durante a execução do sistema. É necessário representar em uma modelagem de sistemas de Workflow um grande conjunto de relacionamentos de processos, assim como o dinamismo, o paralelismo e a sincronização 1 Um processo pode ser entendido como uma ordenação de atividades de trabalho através do tempo e do espaço, com um início, um fim e um conjunto claramente definido de entradas e saídas [Davenport 1994]. 1

14 desse sistema. Portanto, é fundamental que a ferramenta utilizada para modelagem seja capaz de representar as ocorrências destas características. Devido a essas questões, as Redes de Petri (RdPs) podem ser uma solução útil na busca de uma boa formalização de sistemas de Workflow. As RdPs possuem representações gráficas com uma linguagem de comunicação compreensível entre especialistas de diversas áreas, descreve os aspectos estáticos e dinâmicos do sistema a ser representado e ainda usufruem em um formalismo matemático que permite a utilização de diversos métodos de análise [Pádua & et al 2004]. A Rede de Petri é uma técnica de especificação formal largamente difundida e adequada para modelagem de sistemas com atividades paralelas, concorrentes, assíncronas e não determinísticas [Murata 1989]. 1.2 Objetivos Diante das características descritas no item 1.1, esse trabalho tem como principal objetivo avaliar a modelagem de Workflow utilizando as RdPs. Para isso, é impossível deixar de estudar, analisar, entender e explicar os conceitos de Workflow e de RdP. Outro objetivo, é explorar mais de um tipo de RdP e realizar uma análise comparativa entre os modelos aplicados. A aplicação é realizada na modelagem do processo de Colação de Grau da UFG/Campus Catalão, que se caracteriza como um processo de Workflow. 1.3 Organização do Trabalho O trabalho está organizado em cinco capítulos incluindo este de Introdução que apresenta uma visão geral e também os objetivos do trabalho. No Capítulo 2 é abordado os principais conceitos sobre Workflow. No capítulo 3 é abordado os principais conceitos sobre RdP e também algumas propriedades verificáveis em uma RdP. No capítulo 4 é apresentado um estudo de caso que aplica as RdPs na modelagem de Workflow. Por fim, no capítulo 5 são apresentadas as conclusões do trabalho realizado. 2

15 Capítulo 2 Sistemas de Workflow 2.1 Introdução No atual mercado competitivo os sistemas de Workflow tem se tornado importantes ferramentas para as organizações por oferecerem apoio às decisões importantes. Grande parte do trabalho dentro das organizações ocorre em um grupo mais do que em um contexto individual, o que torna o alcance de um objetivo mais rápido e melhor. Sendo assim a coordenação, comunicação e cooperação são os principais fatores de uma atividade em grupo, e os sistemas de Workflow surgiram justamente com o objetivo de facilitar e coordenar as atividades do grupo. Os sitemas de Worklfow oferecem uma integração entre máquinas, sistemas de computacionais e redes de telecomunicações que podem controlar e interligar departamentos e empresas inteiras permitindo que trabalhos humanos sejam transferidos por esses meios. Dessa forma a tecnologia de Workflow se torna uma ótima oportunidade para melhorar os processos de trabalho dentro de uma organização. 2.2 Contexto Histórico A origem dos sistemas de Workflow se dá por volta dos anos 70 quando pesquisadores da área de computação, começaram a realizar várias pesquisas para a automatização de escritórios, visando a diminuição da manipulação física de documentos em papel. O objetivo era oferecer soluções sobre como gerar, armazenar, compartilhar e rotear documentos [Araujo & Borges 2001]. Processadores de textos e planilhas eletrônicas, por exemplo, se tornaram tradicionais ferramentas de automação de escritório. De acordo com Jablonski & Bussler [Jablonski & Bussler 1996], os sistemas de Workflow pioneiros não obtiveram sucesso por falta de flexibilidade. Muitos dos sistemas projetados tornaram-se inadequados aos objetivos das organizações pois, a rigidez dos sistemas não per- 3

16 mitiam, em caso de necessidade, que as pessoas desobedecessem aos procedimentos definidos, por isso, a maioria dos projetos foram abandonados. Segundo Nicolau [Nicolao 1998], outros motivos que colaboraram para o não sucesso do Workflow foram: a não aceitação social dos computadores nas organizações; a falta de informação dos requisitos e das armadilhas da tecnologia de grupo; a tecnologia das redes de computadores não estava geralmente disponível, ou seja, não haviam profissionais qualificados e nem tecnologia suficiente disponíveis para a automação dos processos de negócio. A partir da década de 80 pesquisas em trabalho cooperativo suportado por computador (CSCW ou Computer-Supported Cooperative Work) influenciaram na definição dos sistemas de Workflow como ferramentas para a coordenação do trabalho em equipes. Assim, o principal objetivo dessa tecnologia estava em unir os trabalhos e informações de cada membro de uma organização, buscando a integração através do roteamento do trabalho entre elas [Araujo & Borges 2001]. Portanto, ao invés de automatizar diversas atividades isoladamente, como é o caso das tradicionais ferramentas de automação de escritório, o objetivo dos sistemas de Workflow era de realizar uma integração das atividades que se queria automatizar. Mas, foi somente nos anos 90 que realmente começou a ser dada mais ênfase ao Workflow. Nas conferências da CSCW começaram a aparecer questões e estudos relativos ao Workflow. Nessa época, devido ao rápido crescimento das infra-estruturas de redes de computadores, a tecnologia de sistemas de Workflow evoluiu muito, o que trouxe, por questões relacionadas ao processamento distribuído, novos desafios à definição de arquiteturas para sistemas de Workflow e sua construção [Nicolao 1998]. Hoje, a tecnologia de Workflow não se limita ao roteamento de documentos em organizações pois, tem se tornado uma principal ferramenta para soluções de apoio automatizado às atividades como: comércio eletrônico, relacionamento com clientes (Customer Relationship Management) e outras formas de negócios em larga escala [Araujo & Borges 2001]. A tecnologia de Workflow oferece um conjunto de soluções para atender à demanda das organizações por maiores índices de qualidade e eficiência no gerenciamento de seus processos de negócio. Porém, ainda é uma tecnologia recente e o conhecimento pela comunidade em geral de suas potencialidades e problemas ainda está se iniciando. Várias publicações e informações atualizadas sobre Workflow podem ser vistas no site Workflow Patterns [workflow patterns 2007]. 4

17 2.3 Conceitos e Definições Segundo Jablonski e Bussler [Jablonski & Bussler 1996] um sistema de Workflow é definido como um sistema pró-ativo 1, que gerencia o fluxo de trabalho entre participantes, de acordo com um procedimento predefinido, composto por um conjunto de atividades. Esse sistema coordena usuários e outros sistemas, juntamente com os recursos de dados apropriados para que alcancem objetivos bem definidos com prazo para conclusão. Segundo a WfMC [WfMC 1995], um Workflow é a automação total ou parcial de um processo de negócio, durante a qual documentos, informações e tarefas são passadas entre participantes do processo. Assim, a tecnologia de sistemas de Workflow é a automação e gerência de processos, ou seja, um sistema onde um trabalho (tarefa) pode ser transferido automaticamente de uma pessoa para outra, através de um sistema de rede de computadores, de acordo com um conjunto de regras definidas. Os processos podem ser representados através de fluxos de trabalho, ou seja, modelos que especificam: as atividades que compõem o processo, a ordem e as condições que as atividades devem ser executadas, os executores de cada atividade, as ferramentas a serem utilizadas e os documentos manipulados durante sua execução. As representações de processos sob a forma de fluxos de trabalho podem ser automatizadas através de sistemas de Workflow [Araujo & Borges 2001] Participante Um participante ou ator de Workflow, segundo Grala [Grala & et al 1997], é responsável pela execução parcial ou total de um trabalho, ou seja, um participante realizará as atividades designadas a ele. Normalmente o participante é um ser humano mas também pode ser um agente computacional (componente de software) em que as atividades que realiza não precisam do controle e nem da intervenção humana constantemente. Silva [Silva 2001] define participante como usuários e os divide em dois tipos: os operacionais e os gerenciais. Para os usuários operacionais o sistema de Workflow oferece auxílio para a execução das atividades. Uma das características importantes desses sistemas é que eles possuem uma lista de trabalho (Work List - é uma lista de itens de trabalho associados em que há um determinado participante ou um grupo de participantes do Workflow que podem compartilhar uma lista de trabalho em comum [Nicolao 1998]) onde o profissional pode observar todas as suas tarefas organizadamente, podendo os processos estar em prioridade ou não. Para os usuários gerenciais a maioria dos sistemas de Workflow possuem funcionalidades para o acom- 1 Por um sistema pró-ativo tem-se aquele sistema que realiza alguma tarefa sem que o usuário precise solicitá-la voltado para apoio a interações [Loh & et al 2004]. 5

18 panhamento da situação dos processos. Outra característica é que o sistema de Workflow pode estar programado para gerar relatórios periódicos, o que permite uma análise do desempenho dos processos Atividades As atividades correspondem à tarefas que devem ser executadas dentro do processo para atingir um determinado objetivo [Araujo & Borges 2001]. É através das atividades que os participantes saberão o que deve ser feito. A atividade pode ser manual, quando depende do manuseio do participante, ou automatizada, quando é realizada pelo próprio computador. As atividade podem ser executadas das seguintes maneiras [Araujo & Borges 2001]: sequencialmente - logo que uma atividade é terminada, a atividade subsequente é ativada e roteada para execução pelo participante responsável; em paralelo - quando duas atividades são ativadas e colocadas para execução simultaneamente; sob condições - podem ser definidas condições para que um determinada atividade se realize, isso implica que, baseado nas informações da execução do processo, é necessário a tomada de uma decisão para que a atividade continue sendo executada. Os caminhos que a execução de uma determinada atividade segue é chamada de rota [Araujo & Borges 2001]. De acordo com a WfMC [WfMC 1995] em uma instância de processos podem estar associadas várias instâncias de atividades, mas uma instância de atividade só pode ser associada a uma instância de processo. Como Nicolau [Nicolao 1998] define instância como a ocorrência de um processo ou de uma atividade, então isso significa que em um processo pode ocorrer várias atividades mas a ocorrência de uma atividade só pode estar associada apenas à um processo Papéis Papel é um conjunto de responsabilidades que cada participante possui para a execução de cada tarefa [Silva 2001]. Os participantes podem estar associados a mais de um papel, assim um mesmo participante pode participar de um mesmo processo ou em processos distintos sob diferentes papéis. Um exemplo de papel dentro de uma organização poderia ser o Gerente de Recursos Humanos. A execução de cada atividade está associada a papéis e estes, por sua vez, estão associados à participantes, ou seja, cada participante possui um papel que corresponde ao tipo de atividade que realizará no processo. 6

19 2.4 Tipos de Workflow Com o crescimento da tecnologia de Workflow diferentes sistemas de gerenciamento de fluxos de trabalho tem sido implementados. No objetivo de obter uma classificação dos sistemas existentes alguns autores apresentam tipos de Workflow. Araujo & Borges [Araujo & Borges 2001] apresentam a classificação de sistemas de Workflow quanto à abordagem de comunicação e quanto ao grau de estruturação de processos. A abordagem referente a comunicação está relacionada em como ela ocorre entre os participantes do processo. Os sistemas de Workflow quanto a essa abordagem compreendem o compartilhamento de documentos ou o uso de mensagens. No compartilhamento de documentos, os documentos manipulados são armazenados em um local comum a todos os participantes, o acesso a esse local deve ser oferecido pelo sistema de Workflow e cada participante, por meio de sua lista de trabalho, é informado sobre quais documentos utilizar para que determinada tarefa se realize. Já nos sistemas que utilizam as mensagens para comunicação a solicitação para que uma determinada atividade se realize se da por meio do envio de mensagens, que podem conter também os documentos ou formulários necessários. Os processos estruturados podem ser considerados aqueles cujas atividades podem ser definidas a priori. Para essa classificação quanto ao grau de estruturação de processos Cruz [Cruz 2000] cita três categorias: ad-hoc, administrativos e de produção. ad-hoc - estes sistemas possuem a capacidade de automatizar processos não estruturados. Workflows do tipo ad-hoc executam processos de negócios, tais como documentação de produtos ou venda de produtos, onde não há um padrão pré-determinado de movimentação de informação entre pessoas [Nicolao & Oliveira 1996]. Segundo Schael & et al [Schael & et al 1991], tarefas do tipo ad-hoc envolvem a coordenação humana, ou seja, a ordenação e a coordenação de tarefas em um Workflow do tipo ad-hoc são controladas por humanos [Schael & et al 1991]. Esta classe de Workflow tipicamente envolve pequenos grupos de profissionais que tem a intenção de apoiar pequenas atividades que requerem uma solução rápida, e o roteamento das informações são baseados em [Nicolao & Oliveira 1996]. De acordo com Silva [Silva 2001], sistemas de Workflow ad-hoc geralmente não possuem capacidades de segurança e tratamento de grandes volumes de dados, e por este motivo não são recomendados para automação de processos críticos 2. administrativo - os sistemas administrativos possuem uma capacidade de automatizar processos com um maior grau de estruturação em relação aos sistemas ad-hoc. 2 Sistemas críticos são aqueles que geralmente lidam com vidas humanas, meio ambiente ou econômico. 7

20 Um Workflow administrativo envolve processos repetitivos com regras de coordenação de tarefas simples, há uma maior previsibilidade no encadeamento das tarefas [Nicolao & Oliveira 1996]. Pedidos de compra, análises de currículos, por exemplo, são processos administrativos que podem ser automatizados. produção - ao contrário dos sistemas ah-hoc e administrativos, os sistemas de produção possuem um alto grau de estruturação, pois as tarefas são bem definidas. Segundo Araujo & Borges [Araujo & Borges 2001] as regras e encadeamento do processo são de conhecimento prévio e facilmente determinados por meio de uma análise básica do processo corrente. Estes processos têm uma alta freqüência de repetição e sua execução torna-se a atividade principal de seus usuários. Os sistemas de produção englobam um processamento de informações complexas envolvendo acesso a múltiplos sistemas de informação, portanto a automatização é mais complexa. Já Koulopoulos [Koulopoulos 1995], classifica o sistema de Workflow de acordo com os métodos de desenvolvimento e os modelos de processos. Os métodos de desenvolvimento são: ad-hoc, baseados em transações, baseados em objetos, e baseados em conhecimento. Os modelos de processos: baseados em e baseados em documentos. O método de desenvolvimento ad-hoc equivale ao tipo já descrito anteriormente e o de transação equivale à categoria de produção. Nos sistemas de Workflow baseados em objetos, as principais características estão diretamente relacionadas as capacidades apresentadas pelas linguagens e ferramentas de desenvolvimento de sistemas baseados em objetos. A primeira dessas características é o fato de os documentos que circulam pelos processos serem tratados pelo sistema de Workflow como objetos que contém toda a informação e comportamento necessários ao seu funcionamento [Silva 2001]. Os sistemas de Workflow baseados em conhecimento utilizam-se de algoritmos e técnicas relacionados à inteligência artificial para o tratamento de exceções e roteamento inteligente dos objetos de Workflow. Esse tipo de sistema de Workflow seria o mais indicado para processos que estejam sujeitos a variáveis complexas cujo comportamento não pode ser previsto [Silva 2001]. Os sistemas de Workflow baseados em enfatizam a utilização dos serviços de comunicação existentes na empresa, com foco no o para o roteamento das informações e tarefas de Workflow [Silva 2001]. Os sistemas de Workflow baseados em documentos utilizam o documento como objeto central do sistema. Os documentos possuem donos, aplicações e regras que definem seu roteamento e processamento [Silva 2001]. Kobielus [Kobielus 1997] apresenta uma nova classificação para os sistemas de Workflow chamada de Workflow baseado na Web. A principal característica deste tipo de Workflow é a 8

21 possibilidade de ser acessado remotamente através de um navegador Web. Este tipo de sistema poderá contribuir para a automação de processos entre empresas. 2.5 Workflow Management Coalition - WfMC A Workflow Management Coalition (WfMC) é a principal organização, formada por grupo de companhias, que busca a padronização da tecnologia de Workflow [WfMC 1995]. Desde 1993, ano em que foi fundada, essa organização vem destacando-se pelo trabalho desenvolvido pela padronização da tecnologia de Workflow e também pela busca em promover e desenvolver o uso dessa tecnologia. Em 1995 a WfMC publicou seu modelo de referência que vem sendo seguido por grande parte dos desenvolvedores de Workflow. Esse modelo de referência propõe um sistema de Workflow composto por seis componentes, como mostra a Figura 2.1. Figura 2.1: Modelo de referência da WfMC. [WfMC 1995] Ferramentas de Definição de Processos (Process Definition Tools) Essas ferramentas são sistemas que permitem a definição dos processos que serão automatizados, elas devem permitir a modelagem de processos compostos por atividades au- 9

22 tomáticas e manuais pois nem todas as atividades de um processo são passíveis de automação [WfMC 1995]. A WfMC desenvolveu o Meta Model, ou seja, um modelo geral de definição de processos que determina as características mínimas de modelagem que todo sistema de Workflow deve possuir [WfMC 1995]. O objetivo da criação desse modelo é que os fornecedores de Workflow desenvolvam seus sistemas com base nessas características mínimas definidas, o que permitirá que a definição de processos em qualquer ferramenta de modelagem possa ser facilmente transferida para o sistema de Workflow. Esse modelo é ilustrado na Figura 2.2. Figura 2.2: Meta-modelo da WfMC. [WfMC 1995] Definição dos atributos do Workflow (Workflow Type Definition) Definir atributos é definir uma série de parâmetros que identifica o processo e como ele deve ser tratado pelo software, a WfMC determina os seguintes parâmetros: Nome do processo de Workflow (Workflow process name) - o nome identifica os processos diferenciando-os uns dos outros para a ferramenta de Workflow. Número da versão (Version number) - os processos precisam seguir as mudanças que podem ocorrer no ambiente de trabalho, então devem ser alterados para continuarem a ser adequados para a realização de uma atividade, por isso, é necessário a identificação da sua versão. 10

23 Condições de iniciação e de conclusão (Process start and termination conditions) - o parâmetro de condição de iniciação relaciona as condições que devem ser satisfeitas para que a execução de um processo se inicie. Essas condições geralmente estão vinculadas à ocorrência de determinados eventos internos ao sistema de Workflow (como login de usuário, criação de um novo documento ou conclusão de outro processo) [Silva 2001]. O parâmetro de conclusão contém informações sobre as condições de conclusão de um processo. Silva [Silva 2001] afirma que essas condições podem estar associadas à posição da atividade sendo executada no fluxo, ao executor da atividade, ao tipo de atividade sendo executada e, assim como nas condições de início, condições relacionadas a eventos e condições relacionadas ao tempo. Segurança, auditoria ou outros dados de controle (Security, audit or other control data) - para garantir que o sistema de Workflow seja seguro é necessário que os participantes de um processo sejam autenticados pelo sistema e também que possuam apenas privilégios necessários à execução das atividades associadas ao seu fluxo de trabalho. A auditoria é realizada nos processos para verificar sua legalidade e possíveis correções. Atividades (Activity) Para a construção de um processo as atividades precisam ser definidas cada uma com suas respectivas características, os parâmetros para essa definição são: Nome da atividade (Activity name) - o nome de cada atividade identifica-a diferenciando umas das outras, é importante que, sempre que possível o nome informe o significado da atividade. Tipo da atividade (Activity type) - como as atividade podem possuir características em comum então estas podem ser classificadas em categorias, ou seja, tipos de atividades. Condições de pré-atividade e de pós-atividade (Pre- and post- activity conditions) - para que uma determinada atividade se inicie é necessário que certas condições, que variam de sistema para sistema, sejam cumpridas. Para as condições de pós-atividade também é necessário certas condições para que a atividade seja tratada como concluída. Outros parâmetros de desempenho (Other scheduling constraints) - estes parâmetros são um conjunto importante de informações que possibilitam indicar o desempenho de um processo e também, utilizando valores de tempo, avaliar o efeito real da automação do processo comparando estes valores antes e depois da aplicação da tecnologia de Workflow. 11

24 Papel (Role) Os papéis identificam os participantes dos fluxos, relacionados a cada atividade. Para a definição de papel o modelo de referência da WfMC define o parâmetro: Nome e entidade organizacional (Name and organisational entity) - o nome identifica o papel que é referente a cada participante. Entidade organizacional determina a posição relativa de um papel na estrutura organizacional. Condições de Transação (Transition Conditions) Para as condições de transação segue o seguinte parâmetro. Condições de fluxo ou de execução (Flow or Execution conditions) - são as condições que determinam quando um item de trabalho deve passar de um participante para outro e como esse item deve ser processado na atividade. Dados de Workflow relevantes (Workflow relevant data) Os dados relevantes são aqueles que são utilizados durante a execução do Workflow. Os parâmetros definidos são: Nome e caminho dos dados (Data name and path) - o nome identifica o dado e o caminho especifica a localização desse dado. Tipo de dado (Data types) - os dados podem possuir características em comum, por isso são classificados em categorias, ou seja, em tipos de dados. Aplicações Invocadas (Invoked Application) As aplicações invocadas são aquelas que serão utilizadas para a execução das atividades e manipulação dos dados. A definição dos parâmetros são: Tipo Genérico ou nome (Generic type or name) - nome que identifica a aplicação. Parâmetros de execução (Execution parameters) - esses parâmentros determina sob quais condições uma aplicação deve ser iniciada. Localização ou caminho de acesso (Location or access path) - determina a localização da aplicação. 12

25 2.5.2 Serviços de Ativação de Workflow (Workflow Enactment Services) A WfMC define Serviços de Ativação de Workflow como sendo um componente de software que consiste em um ou mais Workflow Engines (Motor de Workflow), com o objetivo de criar, executar, sequenciar e gerenciar instâncias de Workflows, adicionar itens nas listas de trabalho dos usuários e lançar aplicações quando necessário. Por sua vez, a WfMC define Workflow Engine como sendo um serviço de software que fornece um ambiente de execução em tempo real para uma instância de Workflow. Os motores de Workflow podem ser instalados/configurados para funcionar de modo centralizado, como se fossem uma única máquina controlando todos os processos da organização, ou descentralizado, várias máquinas distribuídas em servidores de aplicações, controlando diversos processos ou partes de processos. Tal software fornece facilidades como [WfMC 1995]: interpretação da definição de processo, ou seja, iniciar, executar e controlar fluxos de trabalho de acordo com suas definições; permitir o login e logoff de usuários no sistema; efetuar a autenticação desses usuários; adicionar, excluir e modificar itens nas listas de trabalho dos usuários; iniciar aplicações externas para apoio à execução das atividades; recuperar arquivos a partir das aplicações; controlar o status dos fluxos de trabalho; permitir o controle, administração e auditoria dos fluxos de trabalho; arquivar todos os dados sobre os fluxos de trabalho. A interação com os recursos externos acessíveis ao serviço particular da ativação ocorre através da interface Aplicação Cliente e da interface Aplicação Invocada Aplicações Clientes (Workflow Client Applications) Aplicações Clientes correspondem à interface de acesso ao serviço de ativação do Workflow, ou seja, um software que permite aos participantes do Workflow interagir com os serviços de ativação do Workflow, a fim de iniciar processos, mostrar listas de tarefas, lançar aplicações e acessar dados relativos ao Workflow [WfMC 1995]. No modelo do Workflow a interação entre a aplicação do cliente e o Motor de Workflow ocorre através de uma interface bem definida adotando o conceito de uma lista de trabalho - 13

26 a fila dos itens de trabalho é atribuída a um usuário particular (ou, possivelmente, a um grupo de usuários comuns) pela máquina de Workflow. No nível mais simples a lista de trabalho é acessível pelo Motor de Workflow com as finalidades de manipular listas de trabalho e de atribuir itens de trabalho a fim de recuperá-los para a apresentação do processo ao usuário. O manipulador da lista de trabalho é a entidade do software que interage com o usuário final nas atividades que requerem o envolvimento de recursos humanos. O manipulador da lista de trabalho pode ser fornecido como parte de um produto da gerência do Workflow ou pode ser escrito por um usuário. Geralmente as empresas adquirem o módulo cliente no pacote com o mesmo fornecedor do software de Workflow. As principais funções desses módulos clientes são [Silva 2001]: Prover ao usuário o acesso à sua caixa postal ou lista de trabalho; Fornecer a interface de login para o usuário que queira utilizar as funções do sistema de Workflow; Requerer a iniciação de instâncias de processos (que serão iniciadas e controladas pelo Motor de Workflow correspondente); Invocar a aplicação adequada para execução da atividade (invoked applications); Prover acesso organizado aos dados do sistema de Workflow (dados de auditoria, execução dos processos, dados gerados pela aplicação executada etc.) Aplicações Invocadas (Invoked Applications) Aplicações invocadas são aquelas lançadas pelo serviço de ativação do Workflow, de acordo com a definição do processo, para apoiar a execução de uma determinada atividade, ou até mesmo para iniciá-la [WfMC 1995]. Essas aplicações podem ser executadas pelo serviço de ativação do Workflow ou pelo gerenciador de lista de trabalho. De acordo com Silva [Silva 2001] o serviço de ativação de Workflow é ideal quando a aplicação a ser executada deve ser selecionada automaticamente com base em regras sob o controle do sistema de Workflow ou quando a própria aplicação reside em um servidor, o gerenciador de lista de trabalho é ideal quando a seleção da aplicação a ser executada fica a cargo do usuário ou quando a própria aplicação reside na estação de trabalho do usuário.- 14

27 2.5.5 Ferramentas de Administração e Monitoramento (Administration and Monitoring Tools) As ferramentas de administração e monitoramento são aquelas que vão controlar, acompanhar e avaliar o ambiente de Workflow. A WfMC descreve as principais funções dessas ferramentas: gerenciamento de usuários - permite a realização de tarefas comuns como criar, excluir e suspender atividades, e também criação de grupos, associação à papéis e atribuição de restrições de acesso; gerenciamento de papéis - permite o gerenciamento dos papéis associado às atividades definidas para os fluxos de trabalho, permitindo, entre outras coisas, a definição de restrições de acesso relacionadas à definição de processos; gerenciamento de auditoria - permite a manipulação dos registros das trilhas de auditoria associados a processos em execução ou completados/interrompidos, permitindo a geração de relatórios, arquivamento e realização de análises estatísticas; controle de recursos - permitem a otimização das configurações de hardware, software e rede necessárias ao funcionamento do ambiente de Workflow; auditoria de processos - permite a manipulação de definições de processos, bem como de instâncias de processos (em execução); Consulta ao status dos processos - permite verificar em qual estado o processo se encontra Outros serviços de ativação de Workfow (Other Workflow Enactment Service(s)) Segundo Araujo e Borges [Araujo & Borges 2001] são serviços que permitem que aplicações de Workflow heterogêneas compartilhem dados relevantes ou aplicações em momentos apropriados ao processo. Esse serviço permite também o desenvolvimento de aplicações de automação de processos usando diferentes produtos de encenação. 2.6 Outros modelos de Workflow Além do modelo proposto pela WfMC existem outros definidos por diferentes autores, seguem abaixo dois deles descritos de forma resumida, apenas para título de conhecimento: Modelo de Gatilhos - esse modelo foi proposto por Stef Joosten [Joosten 1994], seu propósito é descrever o comportamento dinâmico do sistema em termos de Gatilhos que 15

28 convencionalmente são modelados por meio de Redes de Petri. Nesse modelo o processo é definido por um conjunto de atividades e estas por um conjunto de eventos. A relação de uma atividade com outra ocorre através de gatilhos. A descrição do modelo é através de entrevistas que permitem determinar os papéis a serem representados e quais atividades são executadas por estes papéis [Nicolao 1998]. Modelo de Casati/Ceri - esse modelo utiliza gráficos, símbolos e textos para descrever as tarefas envolvidas e especificar os mecanismos de disparo e término das ações previstas. A descrição do Workflow consistem em um conjunto de tarefas e um conjunto de conexões entre elas, assim como quais tarefas podem ser executadas, em qual ordem, quem está encarregado delas e quais operações podem ser executadas [Telecken 2002]. 2.7 Modelagem de Workflow A atividade de modelagem é considerada como chave para a aplicação da técnica de Workflow, assim como para qualquer outro tipo de sistema. A modelagem vai consistir da descrição do processo através de modelos que possam representar suas principais características. A modelagem, além de contribuir para o registro dos processos, também incentiva o raciocínio sobre a melhor maneira de reorganizá-lo em fase de modelagem. Para a modelagem de sistemas de Workflow é importante considerar alguns critérios, Nicolau [Nicolao 1998] aponta alguns importantes: formalismo apresentado pelo modelo - descrição formal na modelagem dos processos, o que garante uma interação correta dos participantes, a consistência dos dados e um processo seguro; formalismo na definição de papéis - associar uma atividade à uma pessoa ou à um grupo de pessoas demonstrando a possibilidade de agrupar participantes, e também representar a definição dos papéis de cada participante do processo de Workflow; representação formal de tarefas automáticas - representação das atividades automáticas, ou seja, que não precisa da intervenção humana; formalismo na representação das atividades - permitir o monitoramento do processo de Workflow com relação as características que permitem determinar o término e o andamento das atividades; representação da estrutura do fluxo - definir as dependências entre atividades através de uma relação de causalidade (predecessor/sucessor) ou envolver a sucessão de caminhos alternativos; 16

29 representação de aspectos relacionados a tempo - considerar o fator tempo que pode determinar situações de disparo automático de atividades, lembretes, auditorias, pré condições temporais de execução, etc. Podem ser definidos atributos como: data de início e data limite de início de uma atividade, prazos limites e outros; representação formal do tratamento de excessões - permitir especificar quais ações devem ser tomadas caso uma tarefa falhe ou um Workflow não consiga ser completado. Portanto, de acordo com os itens apresentados acima, para a garantia de um modelo que permita identificar e corrigir problemas eventuais antes da implementação é necessário que o método de modelagem escolhido consiga representar o máximo possível das características apresentadas. 2.8 Exemplo de Workflow Um exemplo muito corrente na literatura de uma situação de trabalho que poderia ser automatizado através de sistema de Workflow é o processo de avaliação de candidatos a emprego. O processo de avaliação de candidatos a emprego consiste do seguinte: Gerente de Recursos Humanos inicia o processo de Seleção Secretária recebe currículos e encaminha para analistas Analista de Recursos Humanos avalia currículo e envia resposta para Secretária Secretária envia aviso aos candidatos. Esse processo pode ser visualizado na Figura 2.3. Alguns pontos que podem ser destacados são: Atividades do processo - iniciar o processo, canditados enviar currículos, secretário receber currículos, secretário encaminhar currículos, avaliar currículos, enviar resposta aos canditados. Papéis - Gerente de Recursos Humanos, Analista de Recursos Humanos, Secretárias. Participantes (atores) - nome específico do participante que está ligado à algum papel. Documentos - currículo, e também um formulário para que fique registrado o resultado e comentários da análise do currículo. Rotas - as atividades são executadas de forma sequencial, ou seja, uma atividade só pode ser iniciada depois que a anterior tiver sido encerrada. Porém, a última atividade (enviar resposta aos canditados) pode seguir dois caminhos diferentes pois, se o currículo foi recusado a atividade a ser executada corresponde ao envio de uma mensagem de recusa, mas caso contrário, o fluxo deve seguir para o agendamento de uma entrevista. Os canditados podem enviar os currículos ao mesmo tempo, então essa seria uma atividade em paralelo. 17

30 Figura 2.3: Processo de Avaliação de Canditados a Emprego. [Araujo & Borges 2001] Um exemplo da lista de trabalho é mostrado em Araujo e Borges [Araujo & Borges 2001] e pode ser observado na Figura Importância e Desafios da Tecnologia de Workflow A tecnologia de Workflow oferece uma solução flexível aos processos de negócio permitindo uma integração entre máquinas, sistemas computacionais e redes de telecomunicações. Assim facilita a comunicação entre os membros de uma organização que fazem parte de um mesmo processo e agiliza as atividades necessárias para o alcance de determinado objetivo. Com tanta competição no mercado atual, Workflow apresenta-se como uma ótima solução por oferecer apoio às decisões importantes, manipulando e monitorando a informação relativa ao fluxo de trabalho para gerenciar, coordenar e controlar o trabalho mais eficientemente, minimizando o problema da coordenação do trabalho nos processos de negócio. Contudo, sistemas de Workflow ainda são recentes, por isso é uma área que está em constante pesquisa. Alguns aspectos como a modelagem ainda se encontram como um desafio pois, há falta de ferramentas adequadas para identificar, analisar e simular processos de negócios, 18

31 Figura 2.4: Exemplo da lista de trabalho do Analista do Recursos Humanos. [Araujo & Borges 2001] principalmente em relação ao controle do fluxo de trabalho. De acordo com autores como Pádua et al [Pádua & et al 2004], Nicolau [Nicolao 1998], Silva[Silva 2001] e outros, a ausência de técnicas mais complexas para análise do gerenciamento do Workflow é um dos principais problemas enfrentados. É importante empregar alguns tipos de formalismos na modelagem para reduzir os riscos de decisões errôneas em relação ao projeto do modelo de negócios e muitos dos métodos existentes de modelagem não possuem uma definição bem formalizada no que se refere à sintaxe e à semântica dificultando assim análises mais complexas dos modelos [Pádua & et al 2004]. 19

32 Capítulo 3 Redes de Petri 3.1 Introdução A RdP é uma ferramenta gráfica e matemática utilizada para a modelagem de vários tipos de sistemas. Segundo Peterson [Peterson 1977], RdP é um poderoso método para descrever e analisar o fluxo de informações e controle de sistemas, principalmente aqueles que apresentam comunicação síncrona, assíncrona, atividades concorrentes e paralelas. Devido à essas características, desde o seu surgimento, as RdPs são utilizadas para especificação de sistemas aplicados em diversas áreas do conhecimento. As análises dos modelos em RdP fornecem informações úteis sobre a estrutura e o comportamento dinâmico dos sistemas descritos. 3.2 Contexto Histórico A Rede de Petri, ou simplesmente RdP, teve sua origem a partir da tese de doutorado, Kommunikation mit Automaten (Comunicação entre autômatos), defendida por Carl Adam Petri na Faculdade de Matemática e Física da Universidade de Darmstadt na Alemanha em Carl tinha o objetivo de desenvolver um modelo em que as máquinas de estado fossem capazes de se comunicarem, assim ele apresentou um tipo de grafo bipartido 1 com estados associados, na época os autômatos eram utilizados para representar sistemas a eventos discretos 2 [Murata 1989]. 1 Um grafo bipartido é o grafo cujos vértices podem ser divididos em dois conjuntos, nos quais não há arestas entre vértices de um mesmo conjunto. 2 De um modo geral, um sistema discreto é um sistema no qual as mudanças de estado ocorrem em instantes precisos [Cardoso & Valette 1997]. Nesses sistemas os valores das variáveis de estado, ou ao menos de algumas delas, variam bruscamente a certos instantes. 20

33 A característica principal alcançada por este modelo foi a possibilidade de representar a concorrência. Este modelo recebeu o nome de Rede de Petri em homenagem ao próprio autor. De acordo com Marranghello [Marranghello 2005a] as primeiras aplicações de RdP aconteceram em 1968, no projeto norte-americano Information System Theory (Teoria de Sistemas de Informação), da A.D.R. (Applied Data Research, Inc.) e muito da teoria inicial, da notação e da representação da RdP foram desenvolvidos neste projeto. Na década de 70 é que ficou marcado o desenvolvimento da teoria de RdP e a expansão de seu campo de aplicação. O trabalho de Petri despertou a atenção de pesquisadores de um grupo de Estruturas Computacionais do MIT (Massachusetts Institute of Technology), com isso, surgiram importantes pesquisas e publicações sobre RdP. Esse grupo organizou duas importantes conferências: Conferência sobre Sistemas Concorrentes e Computação Paralela, em 1970 e a Conferência sobre RdP e Métodos Relacionados, em 1975 [petri net world 2007]. Ainda na década de 70, surgiram RdPs capazes de modelar características temporais, são elas, RdP Temporal introduzida por Merlin [Merlin 1974] e as RdPs Temporizadas por Ramchandani [Ramchandani 1974]. Na década de 80 surgiram as chamadas RdPs Estocásticas introduzidas por Molloy [Molloy 1981], que atribui um tempo estocástico à rede. A partir da década de 80 surgiram as chamadas RdPs de alto-nível, tais redes permitiram a construção de modelos mais compactos e também permitiram aumentar a descrição na modelagem pois, as marcas utilizadas passaram a ter identidade. Surgiram as RdPs Coloridas definidas por Jesen [Jensen 1991] e as RdPs Predicado-Transição definidas por Genrich [Genrich & et al 2000]. Conforme referido por Jesen, as RdPs Predicado-Transição se diferem muito pouco das RdPs Coloridas porém essas últimas são muito mais conhecidas e utilizadas, Barros em seu trabalho [Barros 2006] julga esse acontecimento provavelmente devido a existência de muito mais ferramentas para RdPs Coloridas. Com a finalidade de estruturar os dados em uma RdP foi proposto as RdPs Objetos [Sibertin-Blanc 1985]. Em 1995 foi levada à ISO (International Standards Organization) pelo professor Jonathan Billington uma proposta de padronização das redes de alto-nível pois, cada grupo que sentia necessidade de determinada característica estava propondo sua extensão de RdP. Foi designado padrão ISO/IEC-15909, tendo sido dividido em três partes: a parte 1, designada por High-level Petri Nets Concepts, Definitions and Graphical Notation (Redes de Petri de Alto-nível - Conceitos, Definições e Notação Gráfica); a parte 2, designada por High-level Petri Nets Transfer Format (Redes de Petri de Alto-nível - Formato de Transferência); e a parte 3, designada por High-level Petri Nets Extensions (Redes de Petri de Alto-nível - Extensões). Estas três partes iniciaram sua tramitação pelo longo processo de aprovação de padrões ISO em momentos diferentes e, conseqüentemente, estão em fases diferentes de padronização [petri net world 2007]. Devido ao fato de se adaptar facilmente a modelagem de vários tipos de sistema, as RdPs atingiram áreas como a modelagem de componentes de hardware, controle de processos, linguagens de programação, sistemas distribuídos e protocolos de comunicação [Marranghello 21

34 2005a]. Além disso, as RdPs podem ser bastantes úteis ao ensino dos conceitos fundamentais de sistemas concorrentes, e de protocolos de comunicação. No ano de 2000 Berthelot & Petrucci [Berthelot & Petrucci 2000] apresentaram o trabalho que realizaram em alguns anos, um curso que ensinava aos estudantes especificação e validação de sistemas concorrentes, utilizando para isso modelos de RdP. Outro trabalho nesse sentido foi realizado em 2004 por Christensen & Jorgensen [Christensen & Jorgensen 2004]. As RdPs se caracterizam principalmente por serem um método formal 3 e é exatamente essa característica que causa uma resistência na utilização dessas redes. Segundo Barros [Barros 2006], entre o início da década de 70 e o final da década de 80 houve uma energética discussão entre defensores da utilização de métodos matemáticos no desenvolvimento de software e defensores da impossibilidade de aplicação efetiva desses métodos. Somente no início da década de 90 é que se torna a opinião, de se utilizar métodos formais, mais aceita. Sendo assim, surgiram vários autores referindo a necessidade de integração entre métodos formais e informais. Apesar disso, as RdPs ainda são pouco reconhecidas e utilizadas. De acordo com Barros [Barros 2006], as resistências que se apresentam mais importantes são: A identificação das RdPs como um método formal que afasta de forma imediata os engenheiros de software que não reconhecem utilidade prática nos denominados métodos formais. O desconhecimento muito generalizado das RdPs. Barros diz, por sua própria experiência, que grande parte dos alunos de engenharia e mesmo de recéns licenciados em Portugal e no estrangeiro, desconhecem totalmente a existência de RdP ou, mais frequentemente, conhecem o nome mas identifica-o apenas com RdP de baixo-nível. Contudo, vários trabalhos tem sido desenvolvidos com a utilização das RdPs. Em 2000 Genrich & et al [Genrich & et al 2000], utilizaram as RdPs para a simulação de caminhos metabólicos. O trabalho discute os passos que levam a obtenção do conhecimento necessário sobre o envolvimento de enzimas e substâncias, utilizando RdP de alto-nível para estabelecer uma série de simulações e análises sobre os resultados obtidos. Também em 2000 Chandler & et al [Chandler & et al 2000], discutem o uso de RdP como um recurso de modelagem e teste do controle de um robo móvel, concentrando especificamente no teste de alcançabilidade do modelo de RdP através do uso de bases de Gröbner 4 No ano de 2001 Lindstrom [Lindstrom 2001], descreve como obter o controle, a simulação e a interpretação dos resultados, através dos modelos em RdPs Coloridas, das interfaces básicas para Web. 3 Método com técnicas matemáticas para especificação. 4 Seja K um corpo e I um ideal de K[X 1,...X n ] que admite um conjunto gerador finito. Uma base de Gröbner de I é um conjunto gerador especial que permite, à custa de um algoritmo de divisão generalizado, saber se um dado polinômio está ou não em I [Freitas 2002]. 22

35 No site Petri Nets World [petri net world 2007] encontra-se os outros projetos com RdP, assim como as principais literaturas escritas até o momento e também os principais eventos que acontecem sobre RdP. 3.3 Máquina de Estados Finitos ou Autômatos Finitos Como citado na seção anterior, o modelo RdP proposto por Carl Adam Petri foi desenvolvido para modelar a comunicação entre autômatos, por isso, é importante conhecer um pouco sobre esse assunto, sendo assim, essa seção apresenta os principais conceitos referentes aos Autômatos Finitos. De acordo com Pellanda [Pellanda 2000], Máquinas de Estados Finitos (MEF s) ou Autômatos Finitos são máquinas, aparelhos ou dispositivos que executam certos trabalhos ou funções. O comportamento das MEF s é representado por um modelo matemático que é composto por estados, transições e ações, e também entradas e saídas. Esses componentes são necessários pois, ao receberem uma entrada essas máquinas mudam de estado de acordo com uma função de transição (evento) realizando assim uma ação e produzindo uma saída [Pellanda 2000]. Dessa forma, tem-se que: Os estados apresentam valores das variáveis à um dado instante. Os eventos apresentam os instantes de observação e de mudança do estado do sistema. Como o sistema evolui entre dois eventos, define-se essa evolução como atividade. Portanto, os eventos correspondem ao início e ao fim de uma atividade [Cardoso & Valette 1997]. E por fim, as seqüências de eventos e de atividades interdependentes são definidas como processos. Segundo Rangel & Guedes [Rangel & Guedes 1997] o modelo matemático é representado por: M = (S, Σ, s 0, δ) (3.1) onde, M - é a máquina de estados finitos; S - é o conjunto finito de estados; Σ - é o alfabeto de entrada que identifica os eventos possíveis de ocorrer; 23

36 s 0 - é o estado inicial, um elemento de S. δ - é uma função de transição de estado, δ : SxΣ S, que associa a cada par estado-entrada o próximo estado; O modelo também pode ser representado por uma notação gráfica, observe o exemplo na Figura 3.1. Figura 3.1: Exemplo de Máquina de Estados Finitos. Para o exemplo da Figura 3.1 seguem os seguintes dados: S = {e1, e2, e3} é o conjunto de estados; Σ = {t1, t2, t3} é o alfabeto de entrada; As transições de estado são: δ(e1, t1) = e2, δ(e2, t2) = e3, δ(e3, t3) = e2; s 0 = e1 é o estado inicial. Desse modo, tem-se que os círculos representam os estados que a máquina pode assumir e as setas indicam qual será o evento assumido quando a transição respectiva ocorrer. Em Cardoso & Valette [Cardoso & Valette 1997] o seguinte exemplo é apresentado para ilustrar uma MEF s: Considere um sistema simples de triagem numa esteira T em movimento. Os objetos pesados devem ser retirados por um operador. Um sensor P indica a presença de um objeto pesado; quando isto acontece, a esteira deve parar para que o operador possa retirar o objeto. Uma vez retirado, a esteira entra novamente em movimento. A Figura 3.2 mostra a MEF s deste sistema. Para esse exemplo tem-se: Figura 3.2: Máquina de Estados. [Cardoso & Valette 1997] S = {M, P a} é o conjunto de estados, o estado M representa a esteira em movimento e o estado P a representa a esteira parada. Σ = {P, P } é o alfabeto de entrada que forma os eventos possíveis de ocorrer no sistema, o evento P indica a presença de um objeto pesado e o evento P a ausência. 24

37 As transições são : δ(m, P ) = P a, δ(p a, P ) = M, δ(p a, P ) = P a, δ(m, P ) = M. O formalismo das MEF s permite representar de forma clara, qualquer processo composto por um conjunto de estados. Com a noção desse formalismo é possível obter uma interpretação mais compreensível das RdPs. 3.4 Conceitos Fundamentais das Redes de Petri Assim como as MEF s, a RdP pode ser representada por uma notação gráfica. Para essa representação são necessários três elementos básicos [Peterson 1977]: Lugar - representa uma condição, uma atividade, um recurso, uma espera, etc; Transição - representa um evento; Ficha - representa o estado de um sistema, pode representar um objeto, recurso ou peça em uma posição, etc; A ligação entre lugar/transição e transição/lugar ocorre através de arcos direcionados. A Figura 3.3 mostra a representação gráfica de cada elemento que forma uma RdP. Figura 3.3: Elementos que Representam Graficamente uma RdP. É importante notar que as interpretações dos lugares e fichas são bastantes variadas, ou seja, dependem do contexto que serão criados. Segundo Cardoso & Valette [Cardoso & Valette 1997] os lugares e as fichas podem ser utilizados para descrever entidades abstratas como condições ou estados, mas também entidades físicas como peças ou depósitos. Cada lugar representa na RdP um estado parcial do sistema modelado, quando ocorre um evento o sistema passa do estado atual para um próximo estado. Mas para que um evento possa ocorrer é necessário que todas as suas pré-condições (condições precedentes, Figura 3.4) sejam satisfeitas. Após a ocorrência do evento será gerado uma saída que é representado pela pós-condição (condições decorrentes Figura 3.4). Cada evento está associado a uma transição, assim a representação da ocorrência de um evento no sistema é dada pelo disparo da transição ao qual está associado. Para o disparo de uma transição é necessário retirar as fichas dos lugares de entrada da transição (condição precedente) 25

38 Figura 3.4: Representação das Condições nas RdPs. e logo após depositar as fichas em cada lugar de saída (condição decorrente). Acompanhe na Figura 3.5 a sequência de disparos das transições. Figura 3.5: Representação do Disparo de Transições. As mudanças das fichas de lugares, que ocorrem na Figura 3.5, representam o comportamento dinâmico do sistema modelado. 3.5 Rede de Petri Ordinária A RdP Ordinária é considerada o modelo básico das RdPs. Esse tipo de rede é considerada como RdP de baixo-nível pois, as fichas utilizadas para a marcação da rede representam apenas o seu estado. As RdPs de alto-nível são aquelas em que as fichas, além de apresentar o estado da rede, conseguem carregar algum tipo de informação. As RdPs de alto-nível, que ainda serão comentadas nesse trabalho, são as RdPs Coloridas, RdPs Predicado-Transição e RdPs Objeto. Tanto nas redes de alto-nível como nas de baixo-nível é possível realizar uma associação de tempo, as redes que representam essa associação são as RdPs Temporizada, RdPs Temporal e RdPs Estocástica. De acordo com Peterson [Peterson 1977] a definição de uma RdP Ordinária marcada, ou seja, uma rede que possui fichas distribuídas nos lugares, é um conjunto de lugares, transições, lugares precedentes, lugares decorrentes e marcação inicial da rede. Dessa forma segue a seguinte definição das RdPs Ordinárias: R =< P, T, P re, P ost, M 0 > (3.2) onde: P é um conjunto finito de lugares de dimensão n; T é um conjunto finito de transições de dimensão m; 26

39 P re : P x T IN. Define para cada transição t T um conjunto de lugares de entrada (lugares precedentes). Com IN sendo o conjunto dos números naturais; P ost : P x T IN. Define para cada transição t T um conjunto de lugares de saída (lugares decorrentes). Com IN sendo o conjunto dos números naturais; M 0 é a marcação inicial dada pela aplicação: M : P IN. Para representar o número de fichas contidas em um lugar p utiliza-se M(p) ou p x onde x é o número de fichas. Por exemplo, na Figura 3.6, M(p 1 ) = 4 ou p 4 1. Utilizando os elementos apresentados na seção anterior (lugar, ficha, transição e arco) a RdP Ordinária pode ser associada a um grafo orientado constituído de dois tipos de nós: nós lugares (correspondem às condições que devem ser certificadas para os eventos acontecerem) e nós transições (correspondem aos eventos que caracterizam as mudanças de estado do sistema). As arestas, ou seja, a ligação dos nós, se dá através dos arcos direcionados. Para exemplificar a definição das RdPs Ordinária, observe a Figura 3.6. Este exemplo representa o compartilhamento de um conjunto de quatro recursos, representado pelas fichas contidas no lugar p 1, entre duas atividades representadas pelos lugares p 2 e p 3. Figura 3.6: Exemplo de uma RdP Ordinária. Analisando a Figura 3.6 é possível obter: P = {p 1, p 2, p 3 }, T = {t 1, t 2, t 3, t 4 }, P re(p 1, t 1 ) = 3, P re(p 1, t 3 ) = 2, P re(p 2, t 2 ) = 3, P re(p 3, t 4 ) = 2 P ost(p 1, t 2 ) = 3, P ost(p 1, t 4 ) = 2, P ost(p 2, t 1 ) = 3, P ost(p 3, t 3 ) = 2 M 0 = p 4 1 É importante considerar que uma transição só pode ser disparada quando ela está sensibilizada, ou seja, quando o número de fichas em cada um dos lugares de entrada for maior ou igual ao peso (valor) do arco que liga este lugar à transição. Se uma transição for disparada a partir de uma marcação M então uma nova marcação M será obtida. Quando um arco não estiver marcado com nenhum peso então, significa que o valor do peso é 1. 27

40 A RdP Ordinária também pode ser dada por uma notação matricial, onde as linhas representam os lugares e as colunas representam as transições. Para representar essa notação é necessário ter os elementos que indicam o peso de cada arco que liga o lugar à transição e também os elementos que indicam o peso de cada arco que liga a transição ao lugar [Cardoso & Valette 1997]. A representação é obtida através de três matrizes, P re, P ost e C, onde C é dada por P ost P re e permite obter um balanço das fichas (distribuição das fichas na rede) quando acontecer o disparo de alguma transição. A matriz P re representa o peso de cada arco que liga um lugar à uma transição e a matriz P ost representa o peso de cada arco que liga uma transição à um lugar. Sendo assim para o exemplo da Figura 3.6 observe a matriz P re na Figura 3.7 e a matriz P ost na Figura 3.8. Figura 3.7: Matriz P re para o exemplo da Figura 3.6. Figura 3.8: Matriz P ost para o exemplo da Figura 3.6. A matriz C pode ser vista na Figura 3.9. Os valores positivos significam que foram acrescentadas fichas no lugar com o disparo da transição e os valores negativos significam que foram retiradas fichas do lugar com o disparo da transição. Figura 3.9: Matriz C para o exemplo da Figura 3.6. Observa-se que no exemplo da Figura 3.6 não há nenhuma transição que possui um mesmo lugar como entrada e saída ao mesmo tempo, quando isso acontece em qualquer tipo de RdP diz-se que a rede é pura [Marranghello 2005a]. Em contrapartida tem-se a RdP não pura a 28

41 qual possui um mesmo lugar como entrada e saída, como é mostrado na Figura 3.10, onde p 2 é o lugar que caracteriza a rede como sendo não pura. Figura 3.10: Exemplo de uma RdP não pura Conflito, Concorrência, Paralelismo e Disparo em Sequência Conflito, concorrência, paralelismo e disparo em sequência são situações que podem acontecer em um sistema por isso, para que a sua modelagem se torne mais simples e completa é importante conhecer como é a representação de cada um desses itens em qualquer tipo de RdP. O conflito significa que existe duas ou mais possibilidades, excludentes de evolução. Observe na Figura 3.11 um exemplo de conflito, a transições t 2 e t 3 não podem ocorrer simultaneamente. Figura 3.11: Exemplo de Conflito em RdP. A concorrência significa que os lugares disputam por uma mesma transição. Na Figura 3.12 o lugar p 2 disputa com o lugar p 4 pela transição t 3. O paralelismo significa que todas as atividades poderão ser executadas ao mesmo tempo. No exemplo da Figura 3.13 as atividades do lugar p 2 e p 3 podem ser realizadas ao mesmo tempo que as atividades do lugar p 4 e p 5. O disparo em seqüência significa que após ocorrer o disparo de uma transição t 1, a transição t 2 fica habilitada. Seguindo o exemplo da Figura 3.14, a sequência de disparo s é s = t 1, t 2. Através da sequência de disparos é obtido um conjunto de marcações que é chamado de conjunto de marcações acessíveis (A(R, M)) e é denotado por: 29

42 Figura 3.12: Exemplo de Concorrência em RdP. Figura 3.13: Exemplo de Paralelismo em RdP. Figura 3.14: Exemplo de Disparo em Sequência em Rede de Petri. A(R, M) = {M i, sm s M i }, (3.3) isso significa dizer que o conjunto de marcações acessíveis são todas as marcações M i que são acessíveis por uma sequência s de disparo a partir de uma marcação M. A evolução da marcação de uma RdP, com marcação inicial M, para uma sequência s é dada pela equação chamada de Equação Fundamental da RdP [Cardoso & Valette 1997]: M = M + CS com M 0, S 0, (3.4) onde M e M são marcações da RdP, com M sendo a marcação inicial; C é a matriz de inicidência e; S é um vetor, chamado vetor característico da seqüência s, em que cada componente S(t) representa o número de ocorrência da transição t na seqüência de disparo s. A dimensão do vetor é igual ao número de transições da RdP. 30

43 3.6 Propriedades das Redes de Petri De acordo com Murata [Murata 1989] as propriedades das RdPs podem ser divididas em dois tipos: estáticas ou estruturais - são aquelas que têm a ver com a estrutura da rede e portanto não dependem da marcação inicial. As propriedades estruturais não se modificam durante o funcionamento da RdP; dinâmicas ou comportamentais - são aquelas que têm a ver com o comportamento da RdP e que se modificam durante o funcionamento desta, portanto são propriedades que dependem da marcação inicial. São conhecidas também como boas propriedades Propriedades Estruturais As propriedades estruturais são definidas através dos invariantes (que não se modifica) que representam os componentes conservativos e repetitivos da rede. Há conjuntos de lugares e de transições da rede cujo comportamento não se altera durante o seu funcionamento [Marranghello 2005b]. Componentes Conservativos, Invariantes de Lugar Um componente conservativo é o conjunto de lugares que formam um invariante de lugar, ou seja, um conjunto de lugares para os quais a soma de suas fichas permanecem constantes independentemente de qualquer seqüência de disparo [Marranghello 2005b]. Para identificar os componentes conservativos da rede deve-se partir da equação fundamental 3.4 [Cardoso & Valette 1997]. Para encontrar os subconjuntos dos componentes conservativos isola-se os lugares correspondentes durante a análise, isso significa multiplicar a equação fundamental por um vetor de ponderação, este vetor, de dimensão igual à quantidade de lugares na rede, assume os valores zero ou um. A equação 3.5 mostra a equação fundamental 3.4 multiplicada pelo vetor de ponderação. fm = fm + fcs, (3.5) onde f é o vetor de ponderação. Para que a RdP obtenha componentes conservativos a igualdade fm = fm deve se verificar. Para tornar a equação independente da sequência de disparos s é necessário anular o produto fc: fc = 0 com f > 0. (3.6) Utilizando o exemplo da Figura 3.15 será calculado os invariantes lineares de lugar. 31

44 Figura 3.15: Exemplo de Invariantes. Primeiramente é necessário obter a matriz de incidência (C = P ost P re). A matriz C da Figura 3.15 é dada pela Figura Figura 3.16: Matriz C da Figura Após o cálculo da matriz C, multiplica-se esta pelo vetor de ponderação [I 1 I 2 I 3 I 4 ], utilizando a equação 3.6 obtém-se o seguinte sistema de equações: I 1 = I 2 I 3 I 2 = I 1 + I 3 I 3 = I 4 Como o vetor de ponderação assume os valores zero ou um então, para I 3 = I 4 = 0 tem-se I 1 = I 2, como o vetor não pode ser nulo tem-se que I 1 = I 2 = 1. Dessa forma, obtém-se o vetor f = [ ] indicando que I = {p 1 p 2 } é um invariante de lugar. Agora invertendo o valor de I 3 tem-se que I 3 = I 4 = 1, sendo assim I 2 só pode ser 1 pois, se I 2 fosse 0 então I 1 seria -1, valor que não pode ser assumido pelo vetor de ponderação. Portanto, obtém-se outro vetor f = [ ] indicando que I = {p 2 p 3 p 4 } é outro invariante de lugar. Como será visto no item 3.7.2, através do invariante de lugar é possível obter algumas informações sobre a propriedade de limitabilidade da RdP, sem enumerar todas as marcações acessíveis. 32

45 Componentes Repetitivos, Invariantes de Transição Um componente repetitivo é um conjunto de transições que formam um invariante de transição, ou seja, um conjunto de transições da rede que ao serem disparadas em uma determinada sequência não modificam a marcação da rede e retornam a marcação inicial [Marranghello 2005b]. Por exemplo, quando se tem um sequência s = abc, que não modifica a marcação da rede, diz-se que s é um invariante de transição e que o conjunto das transições a, b e c do invariante forma um componente repetitivo estacionário (não muda com o avançar do tempo) da rede. Uma RdP é dita repetitiva se todas as transições t T pertencem a um componente repetitivo estacionário. Para que a RdP obtenha componentes repetitivos a igualdade M = M deve se verificar, dessa forma, o invariante de transição pode ser verificado através da equação: CS = 0. (3.7). O cálculo dos invariantes de transição é análogo ao cálculo dos invariantes de lugar, considerando que o vetor de ponderação está relacionado as transições e que este vetor é S. Portanto para o exemplo da Figura 3.15 é encontrado os seguintes invariantes de transição: S = [ ] indicando que I = {t 1 t 2 } é um invariante de transição e S = [ ] indicando I = {t 3 t 4 } é outro invariante de transição Propriedades Comportamentais Limitação Uma RdP marcada é limitada se e somente se todos os seus lugares são k-limitados [Murata 1989], ou seja, se em cada lugar da rede o número total de fichas nunca exceder a um inteiro k. Quando a rede for limitada ao inteiro 1 significa que todos os lugares também são, nesse caso, diz-se que a rede é binária ou segura. Para melhor compreensão da limitabilidade acompanhe o exemplo da Figura Observe que as fichas nos lugares da rede nunca excedem ao inteiro 2, portanto é uma rede 2-limitada. A utilização de uma RdP não limitada se dá quando se quer avaliar o desempenho de um sistema independente dos limites de seus elementos [Cardoso & Valette 1997]. Vivacidade Uma RdP é viva se e somente se todas as suas transições são vivas [Murata 1989]. Para ser viva, a transição t deve poder ser sensibilizada a partir de qualquer marcação M acessível, através de uma seqüência de disparo s. 33

46 Figura 3.17: Rede de Petri Ordinária. Um RdP viva garante que nenhum bloqueio pode ser provocado no modelo do sistema e também garante a ausência de partes nunca atingidas. Uma RdP também pode ser quase viva, ou seja, quando pelo menos uma transição t da rede for quase viva. Uma transição t é quase viva se é possível sensibilizá-la por uma marcação M, obtida, a partir da marcação inicial M, através do disparo da seqüência s. A RdP da Figura 3.17 é viva pois todas as transições podem ser sensibilizadas a partir de qualquer marcação da rede. Reiniciabilidade Uma RdP é dita reiniciável se, para qualquer marcação alcançável, for possível voltar à marcação inicial a partir de uma sequência de disparo s [Marranghello 2005a]. Uma RdP reiniciável é necessária para representar sistemas que possuem funcionamento repetitivo. A RdP da Figura 3.17 é reiniciável pois, é possível chegar a marcação inicial a partir de qualquer sequência de disparo. 3.7 Análise das Propriedades das Redes de Petri Para verificar se uma determinada RdP possui as propriedades citadas anteriormente é necessário realizar uma análise nessa rede. Para isso, Murata [Murata 1989] considera a existência de três formas de análise: por enumeração das marcações, estrutural e por redução Enumeração das marcações Para realizar a análise das propriedades pela enumeração das marcações é necessário primeiramente construir o grafo de marcações acessíveis. É importante observar que nem sempre é possível construir o grafo de marcações pois, o tamanho do conjunto de marcações acessíveis pode tornar-se muito grande o que gera um número muito alto de combinações de estados. 34

47 O nó raiz do grafo é igual a marcação inicial da RdP, um arco orientado liga dois nós M i e M j se existe uma transição t sensibilizada que permite passar de uma marcação M i a uma outra M j. Desse modo, os arcos representam as transições. Para o exemplo da Figura 3.17 segue o grafo de marcações na Figura Figura 3.18: Grafo de Marcações da Figura O expoente que eleva os lugares p 1 e p 2 representam a quantidade de fichas naqueles lugares, que no caso é 2, quando não há expoente no lugares então a quantidade de fichas é 1. Se é possível construir o grafo de marcações então é possível obter as propriedades comportamentais da rede. Uma RdP só será limitada se M, que é alcançada a partir de M, não for maior que M. Para verificar a reiniciabilidade o grafo de marcações precisa ser fortemente conexo, ou seja, para qualquer marcação M i, M j que pertencem ao grafo de marcações existe uma sequência s de disparo tal que M i leva em M j. Se uma rede é reiniciável, grafo fortemente conexo, ela também é viva. Mas se o grafo não for fortemente conexo, a rede é viva se em cada subgrafo fortemente conexo todas as transições t T etiquetarem ao menos um arco Análise Estrutural A análise estrutural se dá a partir dos componentes repetitivos e conservativos. Para os componentes conservativos pode-se analisar a rede em relação a limitabilidade. De acordo com Cardoso & Valette [Cardoso & Valette 1997] tem-se: qualquer lugar que pertença a um componente conservativo é limitado; mesmo que um lugar p não pertença a nenhum componente conservativo, p pode ser limitado. Portanto, uma rede não conservativa pode ser limitada; 35

48 um lugar não limitado não pertence a nenhum componente conservativo. Portanto, uma rede não limitada é não conservativa; uma rede conservativa é limitada (para qualquer marcação) já que todos os seus lugares são limitados. Para os componentes repetitivos pode ser definidas as propriedades de vivacidade e limitabilidade. De acordo com Cardoso & Valette [Cardoso & Valette 1997] tem-se: toda RdP viva, limitada é repetitiva (a reciproca é falsa); se a rede não é repetitiva então ou ela não é viva ou ela não é limitada; uma rede repetitiva pode ser não viva Redução O método de redução consiste em tornar a RdP inicial em uma rede reduzida de menor complexidade, de maneira que ambas sejam equivalentes em relação as propriedades. Se as propriedades gerais forem verificadas na rede reduzida podem ser consideradas as mesmas na rede inicial, mas é importante ter atenção para casos particulares em que nem todas as propriedades se conservarão. Os métodos de redução não permitem, por si só, a análise das propriedades da rede. A análise, propriamente dita, é efetuada sobre a rede reduzida utilizando-se as demais técnicas disponíveis, tais como, a análise de invariantes, a análise estrutural e análise por enumeração das marcações. São vários os métodos de redução mas serão citados apenas três: Lugar substituível lugar substituível é aquele que pode ser suprimido quando sua função é apenas de intermediário entre duas transições ou dois conjuntos de transições [Cardoso & Valette 1997]. A Figura 3.19 mostra um exemplo de lugar substituível e a Figura 3.20 mostra a rede reduzida. Lugar implícito - lugares implícitos são aqueles que são redundantes, ou seja, tal lugar não introduz nenhuma condição suplementar de disparo [Cardoso & Valette 1997]. Na Figura 3.21 o lugar p 4 é implicito, a Figura 3.22 apresenta a rede reduzida. Transições idênticas - duas transições são idênticas se e somente se as colunas correspondentes das matrizes P re e P ost são idênticas [Cardoso & Valette 1997]: P re(., t1) = P re(., t2), P ost(., t1) = P ost(., t2). 36

49 Figura 3.19: Lugar Substituível p 3 Figura 3.20: Rede Reduzida Figura 3.21: Lugar Implícito p 4 Figura 3.22: Rede Reduzida Na Figura 3.23 a transição t 2 é idêntica a transição t 1, a Figura 3.24 representa a rede reduzida. Figura 3.23: Transição Idêntica Figura 3.24: Rede reduzida 37

50 3.8 Redes de Petri com Representação do Tempo O formalismo das RdPs com Representação do Tempo tem um papel importante na descrição do comportamento de sistemas, a associação de tempo pode ser tanto em RdP de baixo-nível como em RdP de alto-nível. Nas subseções abaixo será descrita as RdPs com representação do tempo Redes de Petri Temporizada Na RdP Temporizada o tempo pode estar associado ao lugar ou à transição: tempo associado ao lugar - nesse caso é associado a cada lugar uma duração θ, quando uma ficha chega no lugar p com a data γ, ela só pode deixá-lo após γ = γ + θ instantes. Enquanto não decorrer o tempo as fichas não podem ser utilizadas para disparar a transição. tempo associado à transição nesse caso é associado a cada transição uma duração de tiro (T), as fichas utilizadas para disparar a transição não são disponíveis ou visíveis em nenhum lugar. Portanto, o disparo de uma transição possui uma duração. Observe na Figura 3.25 um exemplo de RdP Temporizada com associação aos lugares e na Figura 3.26 com associação as transições. Suponha que o tempo inicial é zero e que θ 1 = 2, θ 2 = 3 e θ 3 = 5. Figura 3.25: RdP Temporizada com Tempo Associado aos Lugares. A transição t 1 da Figura 3.25 só poderá ser disparada no tempo γ = γ + θ 1, ou seja, no tempo 2 já que γ = 0, a transição t 2 só poderá ser dispadara no tempo γ = γ + θ 2, ou seja, no tempo 5 já que γ = 2, após o disparo da transição t 2 haverá mais um tempo 3 para que a atividade se finalize pois, o lugar p 3 está marcado com um tempo 3 então, o tempo total será 8. Figura 3.26: RdP Temporizada com Tempo Associado as Transições. 38

51 No lugar p 2 da Figura 3.26 a ficha só será visível no tempo T 2 = T 1 + θ 1, ou seja, no tempo 2 já que T 1 = 0, e no lugar p 3 no tempo T 3 = T 2 + θ 2, ou seja, no tempo 5 já que T 2 = 2. As duas abordagens, RdP temporizada associada ao lugar e RdP temporizada associada à transição, são equivalentes Redes de Petri Temporal Na RdP Temporal é associado a cada transição um par de datas (θ min, θ max ). Esse par é descrito por uma função θ(t) = [θ min (t), θ max (t)] que, a cada transição t, associa um intervalo fechado racional que descreve uma duração de sensibilização. O tiro das transições é instantâneo mas a transição deve estar dentro do intervalo de tempo especificado, ou seja, deve disparar no tempo maior que θ min e menor que θ max. A Figura 3.27 representa uma RdP Temporal. Figura 3.27: RdP Temporal Redes de Petri Estocástica As extensões das RdPs Estocásticas permitem considerar incertezas nos instantes de execução de eventos do sistema, associando a eles funções de probabilidade para a determinação de sua execução. O atraso no disparo das transições é associado a uma variável aleatória distribuída exponencialmente. Uma variável aleatória pode assumir qualquer valor de um intervalo de números reais. A estrutura de uma RdP Estocástica possui os mesmos elementos contidos na estrutura de uma RdP Ordinária acrescido de uma função L que associa a cada transição t, uma taxa de transição l(t). De acordo com Chanin [Chanin & et al 2005] é possível calcular a distribuição da probabilidade de solução estacionária das marcações de uma RdP Estocástica resolvendo a equação: πq = 0 com π i = 1 (3.8) i onde Q é uma matriz de taxas de transição e π é o vetor de probabilidade de solução estacionária. Os elementos q ij de Q são obtidos através do somatório das taxas de disparo das transições habilitadas na marcação M i as quais os disparos geram a marcação M j. Para obter esses dados é necessário construir o grafo de marcações da rede em questão. Os elementos (q ii ), 39

52 da diagonal principal da matriz Q, correspondem a valores negativos de forma que a soma dos elementos de uma linha sejam iguais a zero. Uma transição pode ter associada a ela uma condição de disparo chamada de controlador, assim o disparo dessa transição fica dependente da condição especificada. O compartilhamento de um conjunto de quatro recursos indicado na Figura 3.6 será usado para exemplificar uma RdP Estocástica. Primeiramente é construído o grafo de marcações da rede (Figura 3.28), com M 0 = p 4 1, M 1 = p 1 p 3 2, M 2 = p 2 1p 2 3. Figura 3.28: Grafo de Marcações da Figura 3.6. Suponhamos que as taxas de transição são: l(t 1 ) = l(t 2 ) = l(t 3 ) = l(t 4 ) = 1, dessa forma a partir do grafo de marcações é possível obter a matriz Q (Figura 3.29), onde as linhas e as colunas correspondem as marcações. Figura 3.29: Matriz Q do exemplo na Figura Como as taxas de transição são todas iguais a 1 então obtém-se a matriz da Figura Figura 3.30: Matriz Q do exemplo na Figura Utilizando a expressão 3.8 é obtido o vetor π, a Figura 3.31 mostra como é obtido o vetor π. Resolvendo a multiplicação representada na Figura 3.31 é encontrado o vetor π = [ 1, 1, 1], onde: π 0 = 1, π 3 1 = 1 e π 3 2 = 1, ou seja, a probabilidade de ocorrer a marcação M 3 0 é igual a probabilidade de ocorrer a marcação M 1 que é igual a probabilidade de ocorrer a marcação M 2. 40

53 Figura 3.31: Resolvendo a equação Redes de Petri de Alto-Nível A principal característica que difere uma RdP de baixo-nível de uma RdP de alto-nível é o fato das marcas nesta última não serem iguais entre si. Nas RdPs de baixo-nível as marcas se caracterizam pela simples presença ou não em um determinado lugar, já nas RdPs de alto-nível as marcas podem conter muito mais informações e dados relativos a sua caracterização. Nesta seção será visto as RdPs de alto-nível Coloridas, Predicado-Transição e a Objetos Redes de Petri Coloridas A principal vantagem da RdP Colorida encontra-se em seu elevado poder de compactação, pois permite que as marcas sejam individualizadas através de cores atribuídas a elas. Nas RdPs Coloridas substitui-se as marcas simples das RdPs Ordinárias por marcas complexas que permitem representar, em uma mesma rede, diferentes processos ou recursos. Uma RdP Colorida é definida como [Chiola & et al 1997]: Rc =< P, T, W, M 0, C > (3.9) onde: P é um conjunto de lugares; T é um conjunto de transições; W é a função de incidência que equivale, nas RdPs ordinárias, a C = P ost P re; C é a função de cor que a cada lugar e a cada transição associa um conjunto não vazio de cores. M 0 é a marcação inicial. O gráfico da RdP Colorida é representado por lugares e transições que são conectados por arcos direcionados. Essa representação é a mesma da RdP Ordinária porém, o que as difere é a adição de um conjunto de cores nas RdPs Colorida. A cada lugar se associa o conjunto de cores das fichas que podem pertencer a este lugar e a cada transição se associa um conjunto de cores que corresponde às diferentes maneiras de disparar essa transição. Em uma RdP Ordinária não se pode distinguir entre as marcas e os lugares, a informação relacionada à marca é a mesma para o lugar, sendo assim em um lugar somente um tipo de 41

54 elemento pode ser caracterizado. Na RdP Colorida a informação é relacionada ao par, lugar e marca colorida, por isso, é possível distinguir entre dois elementos (por exemplo, duas tarefas ou dois recursos). As etiquetas dos arcos das RdPs Colorida são funções que representam matrizes de inteiros. Para cada cor de uma transição é necessário descrever quais cores de fichas serão retiradas dos lugares de entrada e quais cores de fichas serão colocadas nos lugares de saída. Dessa forma as matrizes P re, P ost e W são matrizes de matrizes. A matriz W é definida como W (p, t) = P ost(p, t) P re(p, t). Um típico exemplo mostrado na literatura para ilustrar a aplicação da RdP Colorida é o problema do jantar dos filósofos, em Barros [Barros 2001] é mostrado esse exemplo. O problema do jantar dos filósofos consiste em três ou mais filósofos à volta de uma mesa redonda, sendo que cada um deles tem à sua frente um garfo e um prato de comida, porém são necessários dois garfos para que um filósofo possa comer, sendo assim, um filósofo precisa também do garfo do vizinho. Os filósofos podem estar em três estados diferentes: comendo, pensando ou com fome. O problema ocorrerá quando todos os filósofos pegarem o garfo da direita e aguardarem a liberação do garfo da esquerda. Veja na figura 3.32 a representação do problema do jantar dos filósofos, com 5 filósofos, em uma RdP Colorida. Figura 3.32: O Problema do Jantar dos Filósofos Modelado por uma RdP Colorida. [Francês 2003] A marcação inicial da rede é indicada por: e por: g 1 + g 2 + g 3 + g 4 + g 5. Isso significa que no início do jantar todos os filósofos estão com fome e todos os garfos estão disponíveis. Os lugares F, C e P representam os estados para os filósofos (F com fome, C comendo, P pensando) e o lugar G representa os recursos utilizados, que no caso são os 42

55 garfos. A função f indica qual o filósofo que irá passar do estado com fome para o estado comendo, sendo assim, a função Garfos é dada por: caso f = 1 g 1 + g 2 caso f = 2 g 2 + g 3 caso f = 3 g 3 + g 4 caso f = 4 g 4 + g 5 caso f = 5 g 1 + g 5 Dependendo da atribuição dada à função f, uma das cinco expressões é avaliada no arco que liga o lugar G à transição t 0, sendo assim, para cada atribuição de f(1, 2, 3, 4, 5) haverá uma situação diferente, evitando assim, o problema que ocorreria se todos os filósofos pegassem o garfo da direita. A função f 1 indica o filósofo que está comendo, ou que vai deixar de comer, e os garfos que ele está utilizando, ou deixará de utilizar. A matriz P re do exemplo dos filósofos é apresentada na Figura 3.33, a matriz P ost é apresentada na Figura 3.34 e a matriz W é mostrada na Figura Figura 3.33: Matriz P re para a RdP Colorida. Figura 3.34: Matriz P ost para a RdP Colorida. A matriz da função f que liga a transição t 0 ao lugar F na matriz P re é mostrada na Figura A matriz da função f 1 que liga a transição t 0 ao lugar C da matriz P ost é mostrada na Figura O conjunto imagem das funções que estão na matriz P re é o conjunto IN dos inteiros positivos que descreve quantas fichas de cada cor devem ser retiradas dos lugares de entrada quando a transição for disparada e o conjunto imagem das funções que estão na matriz 43

56 Figura 3.35: Matriz W para a RdP Colorida. P ost é o conjunto IN que descreve quantas fichas de cada cor devem ser colocadas no lugar de saída quando a transição for disparada [Cardoso & Valette 1997]. Figura 3.36: Matriz P re da função f. Figura 3.37: Matriz P ost da função f 1. Nas matrizes da Figura 3.36 e da Figura 3.37 as linhas representam as cores dos lugares e as colunas as cores das transições. Todas as matrizes representas permitem descrever como as fichas de cada cor estão distribuídas na RdP Colorida com o disparo de alguma transição Redes de Petri Predicado-Transição Nas RdPs Predicado-Transição os lugares da rede são chamados de predicados e as marcas que neles se encontram representam as condições válidas do predicado. Uma marca (tupla com um, dois,..., n elementos) é representada por < x 1, x 2,..., x n > [Murata 1989]. 44

57 Nas RdPs Predicado-Transição, as transições são consideradas como regras da lógica de primeira ordem, ou seja, regras com variáveis. Uma regra não descrever somente um evento e sim uma família de eventos. No problema dos filósofos ao invés de regras do tipo se um filósofo 1 e dois garfos g 1 e g 2, então comer; 1g 1 g 2 se um filósofo 2 e dois garfos g 2 e g 3, então comer; 2g 2 g 3... tem-se regras do tipo se um filósofo < x > e dois garfos < y >< z >, comer < k >. Estas constantes têm um papel análogo ao das cores da RdP Colorida, mas no lugar das funções associadas aos arcos, na RdP Predicado-Transição são associadas variáveis. Para realizar a escolha das fichas e das transições a disparar, são associadas condições suplementares de disparo, por exemplo, para especificar que certos garfos só podem ser obtidos por certos filósofos. Tais condições podem ser escritas como fórmulas lógicas utilizando as variáveis dos arcos de entrada, bem como operadores e predicados a elas associados. Dessa maneira é possível definir uma RdP Predicado-Transição como [Cardoso & Valette 1997]: onde: R pt =< R, V, C onst, A tc > (3.10) R é uma RdP < P, T, P re, P ost, M 0 >; V é um conjunto de variáveis formais que serão substituídas por constantes de C onst quando do disparo da transição; C onst é um conjunto de constantes; P re é a aplicação lugar precedente que associa, a cada arco, uma soma formal de n-uplas de elementos de V ; P ost é a aplicação lugar seguinte que associa, a cada arco, uma soma formal de n-uplas de elementos de V ; A tc é uma aplicação : T L c (C onst, V ) que associa, a cada transição, uma condição (L c ) sob a forma de um predicado utilizando tanto as constantes como as variáveis formais; 45

58 Figura 3.38: O problema do Jantar dos Filósofos Modelado em uma RdP Predicado- Transição. Continuando com o do problema do jantar dos filósofos tem-se a RdP Predicado-Transição na Figura 3.38 para esse exemplo. A definição é dada por: C onst = {1, 2, 3, 4, 5, g 1, g 2, g 3, g 4, g 5 } V = {x, y, z} A tc = {L c0 } L c0 se x = 5 entao y = g 5 e z = g 1 senao y = g x e z = g x+1 M 0 =< 1 > + < 2 > + < 3 > + < 4 > + < 5 > e < g 1 > + < g 2 > + < g 3 > + < g 4 > + < g 5 > A partir da definição das funções P re e P ost é possível obter, assim com nas RdPs coloridas, a função de incidência W. Então para o exemplo do jantar dos filósofos é mostrada a matriz P re na Figura 3.39, a matriz P ost na Figura 3.40 e a matriz W na Figura Figura 3.39: Matriz P re para RdP Predicado-Transição. 46

59 Figura 3.40: Matriz P ost para RdP Predicado-Transição. Figura 3.41: Matriz W para RdP Predicado-Transição. A aplicação P re, P ost e W é tal que seu módulo (a soma de todos os elementos sem distingui-los) é igual ao peso do arco da rede subjacente. Rede subjacente é uma rede em que as variáveis são substituídas por um peso unitário [Cardoso & Valette 1997]. Assim as matrizes P re, P ost e W representam o número de fichas deslocadas sem fazer distinção entre elas, desse modo, representam a estrutura de controle do sistema. A RdP Predicado-Transição é semelhante a RdP Colorida, o que as diferenciam é que nas RdPs Predicado-Transição as fichas se tornam n-uplas e as escolhas dessas fichas são através de condições associadas às transições, enquanto que na RdP Colorida as fichas são cores que são utilizadas de maneira independente e as escolhas das fichas são através de funções associadas aos arcos Redes de Petri Objetos A RdP Objeto integra os conceitos de Redes de Petri e de Orientação a Objetos, de modo a preservar as características originais de cada uma das abordagens. Um modelo de Rede de Petri Orientada a Objeto (RPOO) consiste de um conjunto de classes e suas Redes de Petri correspondentes, há exatamente uma rede de Petri de alto-nível para cada classe do modelo [Silva 2005]. A interação entre objetos pode se dar de maneira síncrona ou assíncrona. Quando um objeto a chama um método do objeto b em modo síncrono, o sistema onde são executados os objetos passa a um estado no qual os dados passados como parâmetros estão pendentes e aptos a ser consumidos numa ação posterior por parte do objeto b. Em chamadas assíncronas, as mensagens são enviadas e consumidas automaticamente. 47

60 O comportamento das classes é modelado utilizando uma RdP Predicado-Transição ou uma RdP Colorida, ambas no contexto de uma abordagem a objetos. Alguns autores empregam RdP Colorida outros empregam RdP Predicado-Transição. Uma classe de objetos é definida por um conjunto de atributos e um conjunto de operações ou métodos que permitem manipular os valores dos atributos [Cardoso & Valette 1997]. Sendo assim para as RPOO é acrescentado um conjunto finito de classes de objetos (C lass ) e um conjunto de variáveis (V ) cujos tipos são dados por C lass. Para cada classe é definido um conjunto de atributos. Para o exemplo do problema dos filósofos a modelagem em RPOO, com abordagem nas RdPs Colorida, é dada abaixo. Neste problema é identificado duas classes: classe Filosofo Figura 3.42 e classe Garfos Figura Figura 3.42: Classe Filosofo. Na rede da Figura 3.42 há três lugares que modelam os possíveis estados de um filósofo: com fome, comendo e pensando; e três transições que modelam as ações de passar para: com fome, comer e pensar. Na transição comer está associada duas inscrições de interação, gseu!alocar e gdir!alocar, significando que é necessário alocar o seu próprio garfo e garfo de seu vizinho da direita. O operador! destas inscrições significa que estas ações estão condicionadas a uma sincronização com as ações complementares, que ocorrem nos outros objetos da associação. Assim, um filósofo só pode passar a comer quando os objetos referenciados por gseu e gdir sincronizarem com a recepção da mensagem alocar, esta sincronização, como pode ser observado na Figura 3.43, ocorre mediante o disparo da transição alocar, de cada objeto do tipo garfo. As inscrições de interação da transição pensar, gseu.liberar e gdir.liberar, da classe Filosofo, 48

61 Figura 3.43: Classe Garfo. [Rodrigues 2004] modelam a liberação dos garfos pelo filósofo. O operador. destas inscrições significa o envio assíncrono das mensagens, isto é, significa que a ação de enviar a mensagem não depende da sincronização com ação de recebê-la. O envio da mensagem liberar consiste em torná-la disponível para o objeto garfo. Na Figura 3.43, o operador? da inscrição de interação da transição alocar, indica que ela está condicionada pelo recebimento de uma mensagem alocar, enviada por um objeto do tipo Filosofo, e na transição liberar indica que ela está condicionada pelo recebimento de uma mensagem liberar envida por um objeto do tipo Filosofo. O envio da mensagem liberar consiste em torná-la disponível para o objeto Garfo. A recepção da mensagem, neste caso, vai ocorrer mediante o disparo da transição liberar, do objeto da classe Garfo. Outras definições teóricas sobre as RdPs podem ser estudadas na literatura, mas somente com os aspectos apresentados nesse capítulo observa-se que as RdPs, tanto de baixo-nível como de alto-nível, possuem poder descritivo com possibilidade de análises no modelo. A principal diferença entre os modelos concerne na maneira de diferenciar as fichas, porém, todos conseguem representar o controle e a evolução dos dados. Diante disso, o capítulo seguinte baseia-se nesses pontos importantes para a realização da modelagem de Worklfow utilizando as RdPs. 49

62 Capítulo 4 Aplicação das Redes de Petri na Modelagem de Sistema de Workflow 4.1 Introdução O desenvolvimento de Workflow e de RdPs aconteceu de forma independente porém, estas têm sido amplamente estudadas e aplicadas com sucesso na área de sistemas dinâmicos de eventos discretos, que são caracterizados por paralelismo e sincronização [Pádua & et al 2004]. Rede de Petri é uma área de pesquisa ativa, segundo Samilifard & Wright [Salimifard & Wright 2001] as RdPs têm sido amplamente estudadas e aplicadas com sucesso na área de sistemas de Workflow, os incentivos que levam à pesquisas nessa área são a forte fundamentação matemática e a disponibilidade de ferramentas de análise. Aalst é um dos autores que constantemente apresenta pesquisas realizadas em torno de Workflow e RdPs, este mesmo autor, em seu trabalho [van der Aalst 1998], identifica três razões principais para aplicar RdP na modelagem de Workflow: as RdPs possuem tanto semântica formal quanto natureza gráfica; elas podem modelar explicitamente estados do sistema; há variedade e disponibilidade de técnicas de análise que podem ser utilizadas para verificar correção dos processos de Workflow. Oberweis [Oberweis & et al 1997] também identifica alguns motivos para optar pelo uso de RdP na modelagem de Workflow: integração de dados e aspectos comportamentais; apoio concorrente e corporativo; níveis diferentes de formalidade; 50

63 disponibilidade de técnicas de análise; flexibilidade. Diante dessas informações, este capítulo tem como objetivo verificar a técnica de modelagem de Workflow utilizando as RdPs no processo de Colação de Grau da Universidade Federal de Goiás, Campus Catalão. 4.2 Processo de Colação de Grau do Campus Catalão O Campus Catalão teve seu início em 1983 mas, somente em 1986 houve a implantação de dois cursos superiores, Geografia e Letras, desde sua criação o Campus Catalão faz parte da Universidade Federal de Goiás sediada em Goiânia-GO. Hoje o Campus Catalão conta com 16 cursos superiores e uma grande estrutura física, atendendo um número considerável de alunos, professores e funcionários [campus catalão 2007]. Apesar de toda essa expansão muitos dos processos correntes do Campus Catalão, inclusive o de Colação de Grau, depende das decisões da UFG-Goiânia, por isso, os processos precisam ser enviados para Goiânia e depois retornados para Catalão e assim sucessivamente até que finalizem. Vários processos do Campus Catalão foram identificados como uma situação de trabalho em que sistema de Workflow pode ser empregado, porém, foi escolhido o processo de Colação de Grau para aplicar a modelagem em RdP com o intuito de representar o fluxo de controle relacionado a esse processo de Workflow. Para a realização do processo de Colação de Grau os alunos participantes da Comissão de Formatura de cada curso devem solicitar junto a secretaria acadêmica do Campus Catalão, com um ofício e um formulário preenchido, a data para a realização da colação de grau e alguma outra observação que desejem fazer. A secretária acadêmica do Campus Catalão responsável por esse processo analisa cada solicitação e se estiver tudo correto com os documentos ela envia-os para Goiânia, mas se tiver algo incorreto ela devolve para a comissão responsável e então esta última realiza uma nova solicitação. Ao chegar na secretaria acadêmica da UFG-Goiânia, a secretária responsável analisa as solicitações e verifica se é ou não possível a realização da colação na data requerida. Essa análise é necessária, pois, o cerimonial é realizado por um equipe da UFG-Goiânia, por isso é importante verificar se a data não coincide com outras datas de outros cursos, a verificação é feita em relação à todos os Campus que compõem a UFG. Após essa análise a secretária acadêmica da UFG-Goiânia registra as datas aprovadas e envia a resposta para o Campus Catalão. A secretária acadêmica do Campus Catalão comunica as comissões o resultado. Se a data foi aprovada a secretária apenas registra a data e o processo se finaliza. Porém se a data for 51

64 reprovada todo o processo se inicia. Todas as atividades dentro desse processo são realizadas manualmente e o envio das solicitações se dão através do correio ou através do motorista do Campus Catalão ou do motorista da UFG-Goiânia, isso, tanto de Catalão para Goiânia, como de Goiânia para Catalão. O que consequentemente se torna um empecilho para agilidade das atividades. Diante da descrição do processo de Colação de Grau observa-se que é uma situação de trabalho em que sistema de Workflow pode ser empregado, a principal característica que demonstra essa situação são que as tarefas existentes precisam ser passadas de uma pessoa para outra de acordo com alguma condição. Todo processo de Colação de Grau pode ser observado pelo fluxograma representado pela Figura 4.1. Figura 4.1: Fluxograma do Processo Colação de grau. Esse processo é de fácil compreensão, e com grande capacidade de demonstrar os principais pontos à serem considerados em um Workflow. Devido a isso, será utilizado nesse trabalho como exemplo para a modelagem de sistema de Workflow com RdP. 52

65 4.3 Identificando Dados do Processo Para iniciar o processo de modelagem precisa-se conhecer bem o sistema a ser modelado, o não conhecimento do sistema pode produzir um modelo que não reflete a realidade. Por isso, identificar todos os dados necessários sobre o processo a ser executado é o primeiro passo a ser realizado quando deseja-se automatizá-lo através de um sistema de Workflow. Os dados são sobre as atividades que compõem o processo, suas condições de início e finalização, regras para sua execução, usuários encarregados, documentos manipulados em cada atividade, aplicações a serem utilizadas, entre outros. Dessa forma, analisando a Figura 4.1, para o processo de Colação de Grau tem-se a definição dos seguintes dados: condição de início - são as comissões que iniciam o processo a partir da data estipulada pela secretária acadêmica da UFG-Goiânia; atividades - as atividades que compõem o processo são: solicitar data, analisar solicitações em Catalão, enviar solicitações para Goiânia, analisar datas em Goiânia, retornar respostas para Catalão, comunicar com comissões e finalizar o processo; papéis - os papéis estão associados às comissões e às secretárias acadêmicas do Campus Catalão e da UFG-Goiânia; tarefas associadas aos papéis - Comissões: solicitar data; secretária do Campus Catalão: analisar solicitações em Catalão, enviar solicitações para Goiânia, comunicar com comissões, finalizar o processo; secretária da UFG-Goiânia: analisar datas em Goiânia, retornar respostas para Catalão; participantes - os participantes, ou atores, são as pessoas específicas de cada comissão e a secretária acadêmica específica do Campus Catalão e da UFG-Goiânia, por exemplo, o aluno João da comissão do curso de História, a secretária acadêmica Joana de Catalão e assim por diante; rotas - como já foi visto no capítulo 2 as atividades podem ser executadas sequencialmente, paralelamente, ou condicionalmente. As comissões podem fazer as solicitações paralelamente, porém para que a atividade de Secretária Catalão verifica solicitação seja executada as solicitações precisam aguardar até que a secretária acadêmica do Campus Catalão esteja disponível. Logo após a execução dessa atividade segue uma condição, pois o fluxo pode seguir dois caminhos distintos, se não estiver tudo certo na solicitação a atividade a ser executada é Secretária Catalão comunica comissão para que ela possa fazer uma nova solicitação, caso contrário a atividade a ser executada é Enviar para secretária Goiânia. Logo após essa atividade, é realizada de forma sequencial a atividade 53

66 Secretária Goiânia verifica data e Retornar resposta para secretária Catalão. Após a atividade Secretária Catalão comunica comissão segue uma condição, se a data não foi aprovada então, o processo se inicia novamente e a atividade a ser executada é solicitar data, senão, a secretária acadêmica de Catalão finaliza o processo e fica registrada a data da colação para a comissão que a solicitou. É importante lembrar que as solicitações concorrem pelas análises, pois existe apenas uma secretária acadêmica do Campus Catalão e uma secretária acadêmica da UFG-Goiânia para realizar as verificações, então, algumas atividades podem ter que esperar até que a secretária acadêmica correspondente esteja disponível; documentos - os ofícios e os formulários das comissões são documentos a serem manipulados, esses documentos podem ser devolvidos para as comissões quando ainda no início do processo forem recusados, também poderão ser alterados pela secretária acadêmica da UFG-Goiânia com uma observação contendo a informação da aprovação ou reprovação da data. A secretária acadêmica da UFG-Goiânia deve ter um documento listando as datas já marcadas, a cada nova data marcada esse documento será alterado (essa lista é referente a todos os Campus da UFG). E por fim, a secretária acadêmica do Campus Catalão deve ter um documento para registrar as datas aprovadas (essa lista é referente apenas ao Campus Catalão). Porém, os únicos documentos a serem roteados são os ofícios e os formulários enviados pelas comissões. Após o fim do processo os formulários precisam estar disponíveis tanto para UFG-Goiânia quanto para o Campus Catalão. Com a identificação dos dados é possível observar que existe uma necessidade de manter o controle do processo de acordo com a evolução das atividades, esse controle refere-se principalmente ao momento que cada secretária acadêmica pode entrar em ação. Cobrir essa necessidade é o principal fator de se utilizar RdP. 4.4 Modelando o Processo de Colação de Grau Depois de ser identificado, o processo precisa ser modelado. Essa atividade vai consistir da descrição do processo através de modelos que possam representar suas principais características funcionais. Para o processo de Colação de Grau, a formalização computacional através do uso de técnicas de análise e modelagem será feita utilizando as RdPs. Essa escolha se justifica pelas características das RdP, como representações gráficas, permitir a descrição de aspectos estáticos e dinâmicos do sistema a ser representado e possuir um formalismo matemático que permite a utilização de diversos métodos de análise. A modelagem será realizada em três tipos diferentes de RdPs com o objetivo de averiguar qual tipo de rede melhor representa o processo de Colação de Grau. 54

67 Primeiramente será mostrado o modelo em RdP Ordinária na subseção 4.4.1, na subseção será mostrado o modelo em RdP Colorida e na subseção o modelo em RdP Colorida com representação do tempo Processo de Colação de Grau Modelado em Rede de Petri Ordinária A modelagem do processo de Colação de Grau em RdP Ordinária foi realizada na ferramenta HPSim versão 1.1 que pode obtida no site Petri Nets World [petri net world 2007]. A ferramenta HPSim oferece suporte para as RdP Ordinárias e também para RdP Temporais e RdP Estocásticas. Além da modelagem, o HPSim simula a rede modelada permitindo o acompanhamento da evolução do estado da rede de uma forma gráfica, o que auxilia no desenvolvimento do modelo e na detecção de erros. A ferramenta HPSim é bastante didática, de fácil utilização e sua licença é gratuita, esses foram os principais motivos de sua escolha, sua janela principal pode ser observada na figura 4.2. Figura 4.2: Janela Principal do HPSim. Na figura 4.3 segue o modelo em RdP Ordinária para o processo de Colação de Grau. No modelo os papéis secretárias acadêmicas são representadas pelos lugares secretaria Cat e secretaria Goian ou simplesmente por x e y respectivamente, essa segunda identificação é para facilitar no momento da análise da rede. As fichas contidas nos dois lugares representam a disponibilidade de cada secretária, se o lugar estiver marcado a secretária está disponível, mas 55

68 se o lugar não estiver marcado a secretária está indisponível. Figura 4.3: Processo de Colação de Grau modelado em Rede de Petri Ordinária. 56

69 Os papéis comissões são representados pelos lugares com1 ou a, e com2 ou b. As fichas desses lugares significa que as comissões estão prontas para iniciar o processo de Colação de Grau. Note que as solicitações podem ser executadas em paralelo. Nos lugares aguardando1 e aguardando2 as solicitações aguardam até que a secretária acadêmica do Campus Catalão esteja disponível para realizar a análise, assim percebe-se que nesse momento as solicitações podem disputar pela secretária de Catalão, a ficha contida no lugar secretaria Cat só poderá disparar a transição Cat verificar solicit1 ou Cat verificar solicit2, caracterizando assim um possível conflito. Quando a secretária acadêmica do Campus Catalão terminar a verificação da solicitação de alguma das comissões, ela já pode voltar para o estado disponível, isso significa que uma ficha deverá retornar para o lugar secretaria Cat. Esse retorno só ocorre depois que as transições nova solicit1, nova solicit2, esperar em Goian1 ou esperar em Goian2 forem disparadas. Depois que as solicitações forem enviadas para Goiânia elas precisam aguardar até que a secretária da UFG-Goiânia esteja disponível, novamente pode ocorre um conflito entre a transição Goian analisar1 e Goian analisar2. Com o disparo da transição esperar em Cat1 ou esperar em Cat2 a ficha retornará para o lugar secretaria Goian. Um outro conflito pode ocorrer depois que a resposta da UFG-Goiânia for enviada, pois a secretária acadêmica do Campus Catalão comunicará primeiro com a comissão 1 ou com a comissão 2. O possível conflito se da entre as transições Cat comunicar com1 e entre Cat comunicar com2. Com o fim do processo, disparo da transição dat ap fim do processo1 ou dat ap fim do processo2 (data aprovada fim do processo) a secretária acadêmica do Campus Catalão volta à estar disponível e a data fica registrada em uma lista que é representada pelo lugar registro data, se a transição dat rep solicit nova dat1 ou dat rep solicit nova dat2 (data reprovada solicitar nova data) for disparada a secretária acadêmica do Campus Catalão também retorna ao estado disponível, porém o processo se inicia novamente. Somente através da visualização gráfica da RdP Ordinária para o processo de Colação de Grau é possível obter detalhes do processo, por exemplo, como ocorre a sequência de atividades, por quem e quando são executadas. Entretanto, como já foi visto no capítulo 3, as RdP não se caracterizam apenas por sua representação gráfica, mas também, e principalmente, pela representação matemática e pela possibilidade da realização de uma análise mais detalhada na rede. Sendo assim, pode-se obter informações importantes em relação ao processo. Segue abaixo as principais análises à serem realizadas. Representação Matricial Para obter um balanço das fichas com o disparo de cada transição basta calcular a matriz C (incidência). Lembrando que a matriz C é C = Post - Pre e que as linhas das matrizes 57

70 representam os lugares e as colunas representamm as transições da rede. As matrizes Pre, Post e C que representam o processo de Colação de Grau foram divididas em duas partes para facilitar a compreensão. As Figuras 4.4 e 4.5 representam a matriz Pre. Figura 4.4: Primeira Matriz Pre. Figura 4.5: Segunda Matriz Pre. 58

71 As Figuras 4.6 e 4.7 representam a matriz Post e em sequência, nas Figuras 4.8 e 4.9, estão as matrizes que representam a matriz de incidência C. Figura 4.6: Primeira Matriz Post. Figura 4.7: Segunda Matriz Post. 59

72 Figura 4.8: Primeira Matriz C. Figura 4.9: Segunda Matriz C. Então, como pode ser observado, que se for necessário verificar como fica a distribuição das fichas com o disparo de uma determinada transição, basta verificar na matriz de incidência C. 60

73 Grafo de Marcações Para a análise das propriedades comportamentais é necessário a construção do grafo de marcações. Antes da construção do grafo de marcações foi aplicada uma redução na RdP Ordinária para que pudesse facilitar a análise. A redução pode ser observada na Figura 4.10 e o grafo de marcações, para o caso em questão, é representado pela Figura Figura 4.10: Rede de Petri Ordinária Reduzida. O grafo de marcações apresenta em cada estado quais lugares estão marcados, qual a quantidade de fichas dessa marcação e qual o novo estado que pode ser gerado. Por exemplo, na primeira parte do grafo de marcações (que pode ser observada mais detalhadamente na Figura 4.12), a partir da marcação inicial abxy, ou seja, o primeiro estado que a rede se encontra, pode-se gerar dois estados distintos, estado a3 2 by ou estado ab3 2 y. Essa primeira parte do grafo refere-se ao momento das solicitações até a verificação dessas solicitações pela secretária acadêmica do Campus de Catalão. 61

74 Figura 4.11: Grafo de Marcações para Rede de Petri Ordinária do Processo Colação de Grau. Limitabilidade O processo para Colação de Grau é limitado, pois não contém uma infinidade de elementos, como comissões ou secretárias, por isso, é necessário que a RdP modelada seja limitada. Observando a Figura 4.11 pode-se afirmar que a rede é limitada, pois para qualquer lugar marcado o valor máximo de fichas é 2, as fichas são indicadas pelo expoente que eleva cada 62

75 Figura 4.12: Parte 1 do Grafo de Marcações. lugar. Portanto a rede é 2-limitada. Reiniciabilidade Pelo grafo de marcações, Figura 4.11, pode também ser verificado se a rede é ou não reiniciável. Para o modelo de Colação de Grau, depois que a data é aprovada o processo não se inicia novamente para determinada comissão, ou seja, a rede não volta mais a sua marcação inicial. Portanto a rede representada deve ser não reiniciável. Como já mostrado no capítulo 3, uma rede é reiniciável se para qualquer marcação do grafo de marcações existir uma sequência de disparos que volte a sua marcação inicial. A partir da marcação a11b11xy, do grafo de marcações do processo em estudo, não é mais possível voltar a marcação inicial da rede, portanto, a rede é não reiniciável. Vivacidade A vivacidade da rede também pode ser verificada pelo grafo de marcações. Um rede viva garante que nenhum bloqueio pode ocorrer na estrutura da rede e também garante a inexistência de partes nunca atingidas. Enquanto a transição dat ap fim do processo1 e dat ap fim do processo2 não forem disparadas nenhum bloqueio na rede pode acontecer. Mas depois que essas transições forem disparadas a rede é bloqueada, pois não é possível disparar mais nenhuma outra transição. Isso pode ser observado no grafo de marcações. A partir d a marcação a11b11xy não é possível sensibilizar (tornar a transição pronta para disparo) mais nenhuma outra transição. Portanto a RdP para o modelo estudado é quase viva. Nota-se que no modelo da Figura 4.3 foi possível representar todos os estados que o processo pode assumir, ou seja, o dinamismo, assim como as atividades a serem realizadas e por quem devem ser realizadas, quais as condições para que possam ocorrer, o relacionamento entre elas, 63

76 o paralelismo na realização das solicitações pelas comissões e o sincronismo. Portanto, concluise que a partir da modelagem em RdP Ordinária pode-se obter o controle do fluxo de trabalho em sistemas de Workflow. Porém, a partir dessa modelagem também é possível observar que para cada comissão que solicita a data para colação de grau é necessário modelar todo processo. Na rede modelada é representada apenas duas comissões, então para a modelagem de várias comissões que solicitam a data de colação, a rede iria ficar muito extensa e difícil de ser analisada, pois a quantidade de lugares, transições e principalmente de arcos seria muito grande. Por isso é importante considerar a modelagem do processo em uma RdP de alto nível, como será demonstrado no item Processo de Colação de Grau Modelado em Rede de Petri Colorida Existem numerosas ferramentas computacionais que auxiliam na modelagem das RdP Coloridas (essa relação pode ser vista no site Petri nets World [petri net world 2007]). Para a modelagem do processo de Colação de Grau em RdP Colorida foi utilizado a ferramenta CPN (Petri net Coloured) versão que pode ser obtida no site Petri Nets World [petri net world 2007], a janela principal dessa ferramenta pode ser observada na Figura 4.13). A ferramenta CPN é uma das mais usadas atualmente e possui licença gratuita. Figura 4.13: Janela Principal da Ferramenta CPN. Na RdP Colorida para o processo de Colação de Grau representada na Figura 4.14, basta 64

77 representar uma única vez o processo, independente de qual for a quantidade de comissões que solicitem as datas, pois os processos para todas as comissões são similares. Sendo assim, comparando com a RdP Ordinária, os lugares que representam as comissões, na RdP Colorida tornam-se apenas um, lugar comissoes. Para que se possa diferenciar uma comissão de outra, cores são relacionadas ao lugar (conjunto de cor COMISS), então a cor ch representa a solicitação da comissão do curso de História, a cor cm representa a solicitação do curso de Matemática e assim por diante. Se for necessário representar mais comissões, basta acrescentar outras cores ao lugar comissoes sem a necessidade de recriar todo o processo como é feito na RdP Ordinária. Da mesma forma, segue para as secretárias acadêmicas, elas são representadas pelo lugar secretarias (conjunto de cor SECRET), a cor c representa a secretária de Catalão e a cor g representa a secretária de Goiânia. As cores do conjunto ANALI corresponde à solicitação da comissão (ch, cm, cc ou cg) que está sendo analisada pela secretária (c ou g), a variável ses representa exatamente essa junção, os quadros que estão em verde na Figura 4.14 representam a marcação inicial da rede e por fim os números que estão em verde na rede representam a quantidade de fichas que estão marcando o lugar. Todas as atividade seguem da mesma forma que na RdP Ordinária, a diferença é que para selecionar uma comissão (variável cm) ou secretária acadêmica para executar uma determinada atividade utiliza-se variáveis nos arcos. As variáveis indicam quais cores deverão ser retiradas do lugar de entrada para disparar uma transição e quais cores serão colocadas no lugar de saída após o disparo da transição. Para retirar ou devolver uma ficha do lugar secretarias não foi utilizado nenhuma variável ou função, pois a indicação pode ser feita diretamente no arco pelas inscrições: 1 c (uma secretária acadêmica de Catalão) e 1 g (uma secretária acadêmica de Goiânia). Na representação matricial das RdP Coloridas as variáveis cm e ses da matriz de incidência W, também são matrizes. A matriz W = P os P re é representada pela Figura As matrizes das variáveis cm e ses são iguais por isso, foram representadas apenas por uma matriz (Figura 4.16), onde as linhas são as cores do lugar em questão e as colunas as cores da transição em questão. A ferramenta CPN oferece suporte para o cálculo do grafo de marcações de maneira automática. Para o processo de Colação de Grau, o cálculo foi realizado para apenas uma marcação inicial ( ch ) no lugar comissões, ou seja, apenas a comissão ch estava pronta para realizar a solicitação. Observe o grafo na Figura Nos quadrados do grafo de marcações o primeiro número indica o estado, o seguinte indicam a quantidade de arcos de entrada e logo após a quantidade de arcos de saída. Por exemplo, o estado 1 possui quatro arcos de entrada e um arco de saída. O grafo de marcações gerado guarda informações de como se encontra cada lugar em qual- 65

78 Figura 4.14: Rede de Petri Colorida do Processo Colação de Grau. quer estado da rede. Veja o quadro de informações do estado 1 na Figura 4.18, observe que o quadro apresenta como cada lugar se encontra para o estado 1. Com a construção do grafo de marcações as análises nas RdP Coloridas podem ser realizadas da mesma forma que nas RdP Ordinárias. O modelo com RdP Colorida representou, da mesma forma que a RdP Ordinária, as características importantes a serem consideradas em um sistema Workflow, porém, observa-se que na modelagem em RdP Colorida a rede torna-se mais simples, pois o processo de qualquer solicitação de data é descrito por uma única estrutura. Além da simplicidade, outra carac- 66

79 Figura 4.15: Matriz W. Figura 4.16: Matriz cm e ses. terística importante é que as fichas não são mais apenas marcações indiferenciáveis, mas sim marcações que carregam alguma informação Processo de Colação de Grau Modelado em Rede de Petri Colorida com Representação do Tempo Para o modelo com representação do tempo foi utilizada a mesma rede do modelo RdP Colorida, a diferença é que foi acrescentado um atraso de tempo em algumas transições. O atraso de tempo refere-se ao tempo que uma atividade pode demorar para ser executada, observe na Figura 4.19 a RdP Colorida com Representação do Tempo. O tempo na ferramenta CPN é presentado o número desejado seguido ou não de alguma condição, esse tempo pode estar associado à transição ou ao arco. No modelo para o processo de Colação de Grau o tempo está associado à transição, nesse caso o tempo é interpretado como a quantidade máxima de dias que as atividades podem demorar. Para que as comissões não ficassem indefinidamente realizando novas solicitações foi utili- 67

80 Figura 4.17: Grafo de Marcações para RdP Colorida do Processo Colação de Grau. Figura 4.18: Quadro de Informações do Estado 1. zado dois contadores, i e j. O contador i é utilizado para manter o controle da quantidade de vezes que as comissões realizam solicitações antes mesmo que estas sejam enviadas para Goiânia assim, quando i for maior que 2 a comissão não poderá realizar mais nenhuma solicitação, portanto cada comissão tem direito de realizar 3 solicitações (caso necessário) antes que sejam enviadas para Goiânia. O contador j é utilizado para manter o controle da quantidade de vezes que uma comissão 68

81 Figura 4.19: RdP Colorida com representação do tempo. realiza solicitação depois que a resposta de Goiânia foi enviada, quando j for maior que 2 a comissão não poderá realizar outra solicitação, portanto, se a data contida na primeira solicitação não foi aprovada a comissão possui o direito de realizar somente mais uma nova solicitação. O tempo 1 é associado as comissões antes que comecem à realizar as solicitações, assim é acrescentado em cada marcação inicial referente as comissões. O tempo 5 ou 1 está associado a transição solicit aguardar, isso significa que toda atividade de realizar a solicitação pode demorar no máximo 5 dias quando for a primeira solicitação realizada pela comissão e no 69

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática / Campus Global

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática / Campus Global Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática / Campus Global Sistema de Aproveitamento de Disciplinas da Faculdade de Informática da PUCRS: uma sistemática de gerência

Leia mais

ORIENTADOR Prof. Dr. Vilmar Pedro Votre

ORIENTADOR Prof. Dr. Vilmar Pedro Votre SISTEMAS WORKFLOW EM PROCESSOS EMPRESARIAIS ORIENTADOR Prof. Dr. Vilmar Pedro Votre Dissertação de Mestrado apresentado ao Curso de Pós- Graduação em Engenharia Elétrica com Concentração em Engenharia

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

WORKFLOW. Mapeamento de Processos de Negócio 26/11/2009. Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS

WORKFLOW. Mapeamento de Processos de Negócio 26/11/2009. Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS WORKFLOW Mapeamento de Processos de Negócio Tadeu Cruz, Prof. M.Sc. TODOS OS DIREITOS RESERVADOS É proibido a reprodução total ou parcial de qualquer forma ou por qualquer meio sem a expressa autorização

Leia mais

Definição de Processos de Workflow

Definição de Processos de Workflow Definição de Processos de Tiago Telecken Universidade Federal do Rio Grande do Sul telecken@inf.ufrgs.br Resumo Este artigo apresenta uma introdução a tecnologia de workflow informando noções básicas sobre

Leia mais

Workflow. Seminário OS SISTEMAS WORKFLOW

Workflow. Seminário OS SISTEMAS WORKFLOW Seminário OS SISTEMAS WORKFLOW LEANDRO SILVA CAMPOS LÍGIA CHRISTINE OLIVEIRA SOUSA LILIANE VERÔNICA DA SILVA JOSÉ CARLOS NUNES MARINHO TAVARES V. NETO UNIVERSIDADE LUTERANA DO BRASIL INSTITUTO LUTERANO

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

2 Teste baseado em modelo

2 Teste baseado em modelo 2 Teste baseado em modelo O MBT tem-se tornado foco de estudos e experimentações práticas. Apesar das vantagens observadas, ainda há obstáculos para a adoção em grande escala de suas técnicas: Um deles

Leia mais

Sistemas Cooperativos. Professor Alan Alves Oliveira

Sistemas Cooperativos. Professor Alan Alves Oliveira Sistemas Cooperativos Professor Alan Alves Oliveira 1. Sistemas de Informação e Sistemas Cooperativos 2 Sistemas de Informação 3 Sistemas de Informação Sistemas ampamente utilizados em organizações para

Leia mais

Workflow como Proposta de. Workflow. O Gerenciamento de Processos. Prof. Roquemar Baldam roquemar@pep.ufrj.br

Workflow como Proposta de. Workflow. O Gerenciamento de Processos. Prof. Roquemar Baldam roquemar@pep.ufrj.br Workflow como Proposta de Automação Flexível O Gerenciamento de Processos Planejamento do BPM Diretrizes e Especificações Seleção de processo críticos Alinhamento de processos à estratégia www.iconenet.com.br

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Documento de Visão do Projeto

Documento de Visão do Projeto Documento de Visão do Projeto 1. Objetivo O propósito deste documento é coletar, analisar e definir as necessidades de alto-nível e características do projeto de software do Módulo Editor de Estruturas

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Automação do Processo de Instalação de Softwares

Automação do Processo de Instalação de Softwares Automação do Processo de Instalação de Softwares Aislan Nogueira Diogo Avelino João Rafael Azevedo Milene Moreira Companhia Siderúrgica Nacional - CSN RESUMO Este artigo tem como finalidade apresentar

Leia mais

Resumo de TCC Desenvolvimento de um sistema ERP com foco nas tecnologias de software livre / código aberto

Resumo de TCC Desenvolvimento de um sistema ERP com foco nas tecnologias de software livre / código aberto UFSC - Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística INE5631 Projetos I Prof. Renato Cislaghi Resumo de TCC Desenvolvimento de um sistema ERP

Leia mais

Padrões de Contagem de Pontos de Função

Padrões de Contagem de Pontos de Função Padrões de Contagem de Pontos de Função Contexto Versão: 1.0.0 Objetivo O propósito deste documento é apresentar os padrões estabelecidos para utilização da técnica de Análise de Pontos de Função no ambiente

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 02 IMPLANTAÇÃO DE 1 (UM)

Leia mais

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO Competências Analista 1. Administração de recursos de infra-estrutura de tecnologia da informação 2.

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

DeltaV Logbooks. Benefícios. Introdução. Minimize riscos associados às mudanças de turnos. Documente eletrônicamente eventos, observações e notas.

DeltaV Logbooks. Benefícios. Introdução. Minimize riscos associados às mudanças de turnos. Documente eletrônicamente eventos, observações e notas. Sistema Digital de Controle Distribuido DeltaV Especificação do produto DeltaV Logbooks Minimize riscos associados às mudanças de turnos. Documente eletrônicamente eventos, observações e notas. Melhore

Leia mais

Simulação Computacional de Sistemas, ou simplesmente Simulação

Simulação Computacional de Sistemas, ou simplesmente Simulação Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.

Leia mais

ABCTool - Uma Ferramenta para Cooperação Baseada na Arquitetura do Sistema

ABCTool - Uma Ferramenta para Cooperação Baseada na Arquitetura do Sistema ABCTool - Uma Ferramenta para Cooperação Baseada na Arquitetura do Sistema Cynthia Maria Silva de Barros Mestranda do PPGEE-PUC-Minas* cmsbarros@zipmail.com.br Carlos Alberto Marques Pietrobon Professor-Orientador

Leia mais

Sistemas de Informações Gerenciais

Sistemas de Informações Gerenciais Sistemas de Informações Gerenciais Aula 4 Sistema de Informação SI baseado em computadores Organização, administração e estratégia Professora: Cintia Caetano INTRODUÇÃO Sistemas de Informação são parte

Leia mais

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Gerenciamento de Configuração de Software

Gerenciamento de Configuração de Software Gerenciamento de Configuração de Software Prof. Ricardo Argenton Ramos [Baseado na apresentação do prof. Masiero ICMC-USP] Contexto para Gerência de Configuração 2 Problema dos Dados Compartilhados Desenvolvedor

Leia mais

Gerenciamento de Redes

Gerenciamento de Redes Gerenciamento de Redes As redes de computadores atuais são compostas por uma grande variedade de dispositivos que devem se comunicar e compartilhar recursos. Na maioria dos casos, a eficiência dos serviços

Leia mais

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS Cilene Loisa Assmann (UNISC) cilenea@unisc.br Este estudo de caso tem como objetivo trazer a experiência de implantação

Leia mais

Engenharia de Software-2003

Engenharia de Software-2003 Engenharia de Software-2003 Mestrado em Ciência da Computação Departamento de Informática - UEM Profa. Dra. Elisa H. M. Huzita eng. de software-2003 Elisa Huzita Produto de Software Conceitos Software

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

Workflow: Adicionando Coordenação das Atividades. Fábio Bezerra fbezerra@ic.unicamp.br

Workflow: Adicionando Coordenação das Atividades. Fábio Bezerra fbezerra@ic.unicamp.br Workflow: Adicionando Coordenação das Atividades Fábio Bezerra fbezerra@ic.unicamp.br Agenda Introdução Workflow Sistema Gerenciador de Workflow WfMC Modelo e Instância Workflows ad hoc Referências O que

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes.

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação

Leia mais

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Clayton Maciel Costa

Leia mais

MSc Eliton Smith elitonsmith@gmail.com. Gerenciamento e Administração de Redes

MSc Eliton Smith elitonsmith@gmail.com. Gerenciamento e Administração de Redes MSc Eliton Smith elitonsmith@gmail.com Gerenciamento e Administração de Redes 2 Gerência de Redes ou Gerenciamento de Redes É o controle de qualquer objeto passível de ser monitorado numa estrutura de

Leia mais

Sistemas de controle para processos de bateladas

Sistemas de controle para processos de bateladas Sistemas de controle para processos de bateladas Por Alan Liberalesso* Há algum tempo os processos de batelada deixaram de ser um mistério nas indústrias e no ambiente de automação. O cenário atual nos

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Sistemas de Workflow. XX Jornada de Atualização em Informática Congresso da SBC 2001. Autores:

Sistemas de Workflow. XX Jornada de Atualização em Informática Congresso da SBC 2001. Autores: XX Jornada de Atualização em Informática Congresso da SBC 2001 Sistemas de Workflow Autores: Renata Mendes de Araujo Departamento de Ciências da Computação Instituto de Matemática Universidade Federal

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CURSO CST ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 68 A disciplina estuda a área da informática como um todo e os conceitos fundamentais, abrangendo desde a

Leia mais

Conceitos de Processos & BPM

Conceitos de Processos & BPM http://rogerioaraujo.wordpress.com Série Rações Semanais Conceitos de Processos & BPM Parte I Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais Conceitos de Processos & BPM Parte

Leia mais

Documento de Visão. Versão 2.5 Projeto SysTrack - Grupo 01

Documento de Visão. Versão 2.5 Projeto SysTrack - Grupo 01 Documento de Visão Versão 2.5 Projeto SysTrack - Grupo 01 Junho de 2011 Histórico de revisão: DATA VERSÃO DESCRIÇÃO AUTORES 19/02/2011 1.0 Versão inicial. João Ricardo, Diogo Henrique. 24/02/2011 2.0 Modificação

Leia mais

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO 18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO Autor(es) MARINA CALÇA Orientador(es) LUIZ EDUARDO GALVÃO MARTINS

Leia mais

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula Complementar - MODELO DE REFERÊNCIA OSI Este modelo se baseia em uma proposta desenvolvida pela ISO (International Standards Organization) como um primeiro passo em direção a padronização dos protocolos

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

Leia mais

A história de UML e seus diagramas

A história de UML e seus diagramas A história de UML e seus diagramas Thânia Clair de Souza Vargas Departamento de Informática e Estatística Universidade Federal de Santa Catarina (UFSC) Florianópolis, SC Brazil thania@inf.ufsc.br Abstract.

Leia mais

21/03/2012. WorkFlow. Gestão Eletrônica de Documentos. Workflow HISTÓRICO

21/03/2012. WorkFlow. Gestão Eletrônica de Documentos. Workflow HISTÓRICO WorkFlow Gestão Eletrônica de Documentos Workflow HISTÓRICO 1 CSCW - Computer-supported CooperativeWork trabalho cooperativo auxiliado por computador Estudo dos conceitos que definem e desenvolvem o trabalho

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Evolução dos Sistemas de Informação nas Organizações

Evolução dos Sistemas de Informação nas Organizações Evolução dos Sistemas de Informação nas Organizações Cristiane Mello 1, Maria F. Marinho 1, Antônio Luiz S. Cardoso 1,2 1 Escola de Administração Universidade Federal da Bahia (UFBA) 41.100-903 Salvador

Leia mais

08/09/2011 GERÊNCIA DA INTEGRAÇÃO PMBOK GESTÃO DE PROJETOS

08/09/2011 GERÊNCIA DA INTEGRAÇÃO PMBOK GESTÃO DE PROJETOS GESTÃO DE PROJETOS Prof. Me. Luís Felipe Schilling "Escolha batalhas suficientemente grandes para importar, suficientemente pequenas para VENCER." Jonathan Kozol GERÊNCIA DA INTEGRAÇÃO PMBOK 1 GERÊNCIA

Leia mais

Automatizando o Data Center

Automatizando o Data Center Este artigo examina uma arquitetura alternativa que suporte a automação do data center e o provisionamento dinâmico sem a virtualização do sistema operacional. por Lori MacVittie Gerente Técnico de Marketing,

Leia mais

Business Process Management [BPM] Get Control. Empower People.

Business Process Management [BPM] Get Control. Empower People. Business Process Management [BPM] Get Control. Empower People. O SoftExpert BPM Suite é uma suíte abrangente de módulos e componentes perfeitamente integrados, projetados para gerenciar todo o ciclo de

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 03 In a calm sea every man is a pilot. Engenharia de Software I Aula 3 Gerenciamento de

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

Agenda. A Empresa História Visão Conceito dos produtos

Agenda. A Empresa História Visão Conceito dos produtos Agenda A Empresa História Visão Conceito dos produtos Produto Conceito Benefícios Vantagens: Criação Utilização Gestão Segurança Integração Mobilidade Clientes A empresa WF História Em 1998, uma ideia

Leia mais

Os Sistemas Workflow

Os Sistemas Workflow Os Sistemas Workflow Leandro Silva Campos, Lígia Chistine O. Sousa, Liliane Verônica da Silva, José Carlos Nunes, Marinho Tavares V. Neto Instituto Luterano de Ensino Superior de Itumbiara Curso de Sistemas

Leia mais

Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos

Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos O gerenciamento de informações é crucial para o sucesso de qualquer organização.

Leia mais

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16 REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16 Índice 1. SISTEMA OPERACIONAL DE REDE...3 1.1 O protocolo FTP... 3 1.2 Telnet... 4 1.3 SMTP... 4 1.4 SNMP... 5 2 1. SISTEMA OPERACIONAL DE REDE O sistema

Leia mais

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Visão Geral Desafio Solução Uma implementação SOA (Service Oriented Architecture) bem-sucedida

Leia mais

ORGANIZAÇÃO CURRICULAR

ORGANIZAÇÃO CURRICULAR ORGANIZAÇÃO CURRICULAR O curso Técnico em Informática, em Nível Médio Subseqüente, será organizado de forma semestral, com aulas presenciais, compostos por disciplinas, com conteúdos estabelecidos, tendo

Leia mais

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso Planejamento de Testes a partir de Casos de Uso Arilo Cláudio Dias Neto ariloclaudio@gmail.com É Bacharel em Ciência da Computação formado na Universidade Federal do Amazonas, Mestre em Engenharia de Sistemas

Leia mais

Por que o gerenciamento de ativos de software é tão difícil e como simplificá-lo

Por que o gerenciamento de ativos de software é tão difícil e como simplificá-lo DOCUMENTAÇÃO TÉCNICA Melhores práticas de gerenciamento de ativos de software JUNHO DE 2013 Por que o gerenciamento de ativos de software é tão difícil e como simplificá-lo John Fulton CA IT Business Management

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Sistemas Colaborativos: Conceito, Característicasdes e Funcionalidades

Sistemas Colaborativos: Conceito, Característicasdes e Funcionalidades Sistemas Colaborativos: Conceito, Característicasdes e Funcionalidades Carla Oliveira (e-mail) é formada pela FATEC - Faculdade de Tecnologia de São Paulo, no curso de Automação de Escritórios e Secretariado.

Leia mais

Arquitetura de Software: Uma Central para Gestão da execução de serviços

Arquitetura de Software: Uma Central para Gestão da execução de serviços Arquitetura de Software: Uma Central para Gestão da execução de serviços ADILSON FERREIRA DA SILVA Centro Paula Souza São Paulo Brasil afs.software@gmail.com Prof.a. Dr.a. MARILIA MACORIN DE AZEVEDO Centro

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos

Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos O gerenciamento de informações é crucial para o sucesso de qualquer organização.

Leia mais

Anderson Corrêa Carraro 1, Fernando Alves Rodrigues 2, Silvio Francisco dos Santos 3

Anderson Corrêa Carraro 1, Fernando Alves Rodrigues 2, Silvio Francisco dos Santos 3 DESENVOLVIMENTO E IMPLANTAÇÃO DE UM SISTEMA INFORMATIZADO PARA O CONTROLE DE PROCESSOS DA QUALIDADE NA DIRETORIA DE METROLOGIA CIENTÍFICA E INDUSTRIAL DIMCI/INMETRO. Anderson Corrêa Carraro 1, Fernando

Leia mais

OUTROS PARADIGMAS: PROGRAMAÇÃO

OUTROS PARADIGMAS: PROGRAMAÇÃO OUTROS PARADIGMAS: PROGRAMAÇÃO CONCORRENTE, MODELO DE DADOS RELACIONAL (SQL), REDES DE PETRI, ORIENTAÇÃO A ASPECTOS Luenne Nailam e Uendson Teles PROGRAMAÇÃO CONCORRENTE PROGRAMA O que é um Programa? O

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes Diagramas Diagrama é uma representação gráfica de uma coleção de elementos de um modelo São desenhados para permitir a visualização de um sistema sob diferentes perspectivas Um mesmo item pode aparecer

Leia mais

BPMN. Business Process Modeling Notation. Leandro C. López Agosto - 2015

BPMN. Business Process Modeling Notation. Leandro C. López Agosto - 2015 BPMN Business Process Modeling Notation Leandro C. López Agosto - 2015 Objetivos Conceitos Boas práticas de modelagem Elementos do BPMN Tipos de processos Apresentar os conceitos e elementos da notação

Leia mais

CAPÍTULO 7 O SERVIÇO DOS AGENTES

CAPÍTULO 7 O SERVIÇO DOS AGENTES CAPÍTULO 7 O SERVIÇO DOS AGENTES A inteligência... é a capacidade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. ( Henri Bergson) O serviço dos agentes surge como uma prestação

Leia mais

Modelo de dados do Data Warehouse

Modelo de dados do Data Warehouse Modelo de dados do Data Warehouse Ricardo Andreatto O modelo de dados tem um papel fundamental para o desenvolvimento interativo do data warehouse. Quando os esforços de desenvolvimentos são baseados em

Leia mais

Business Process Management [BPM] Get Control. Empower People.

Business Process Management [BPM] Get Control. Empower People. Business Process Management [BPM] Get Control. Empower People. O SoftExpert BPM Suite é uma suíte abrangente de módulos e componentes perfeitamente integrados, projetados para gerenciar todo o ciclo de

Leia mais

Introdução à Simulação

Introdução à Simulação Introdução à Simulação O que é simulação? Wikipedia: Simulação é a imitação de alguma coisa real ou processo. O ato de simular algo geralmente consiste em representar certas características e/ou comportamentos

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE RESUMO Fazer um bom levantamento e especificação de requisitos é algo primordial para quem trabalha com desenvolvimento de sistemas. Esse levantamento

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2011.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS PARA COMPUTAÇÃO...

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

6 Infraestrutura de Trabalho

6 Infraestrutura de Trabalho 6 Infraestrutura de Trabalho Este capítulo tem como objetivo fornecer uma visão geral do ambiente de trabalho encontrado na organização estudada, bem como confrontá-lo com a organização ideal tal como

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

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

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Introdução Por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685 Gerenciamento de Dados e Informação - Prof. Robson

Leia mais

Nome da Empresa Sistema digitalizado no almoxarifado do EMI

Nome da Empresa Sistema digitalizado no almoxarifado do EMI Nome da Empresa Documento Visão Histórico de Revisões Data Versão Descrição Autor 23/02/2015 1.0 Início do projeto Anderson, Eduardo, Jessica, Sabrina, Samuel 25/02/2015 1.1 Correções Anderson e Eduardo

Leia mais

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0. AULA 22 ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 6. Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais