Verificação Formal de Workflow

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

Download "Verificação Formal de Workflow"

Transcrição

1 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Verificação Formal de Workflow Vinicius T. Petrucci 1, Rogério A. de Carvalho 2, Marcelo F. Felix 2 1 Departamento de Ciência da Computação Universidade Candido Mendes Campos dos Goytacazes RJ Brasil 2 Centro Federal de Educação Tecnológica de Campos Campos dos Goytacazes RJ Brasil {ratem, Abstract. Workflow specifications can describe concurrent activities and, in particular cases, can also add time constraints on execution of those activities. When dealing with critical activities or when considerable reliance on their behavior is needed, formal verification is a quite attractive alternative. Our formal approach uses a semantic based on process calculi for a basic workflow language aiming at automatically generating formal specifications on process algebra (CCS Milner) in order to be verified using model checking through appropriated tools (CWB-NC). Resumo. Especificações de workflow podem descrever atividades concorrentes e, em alguns casos, acrescentar restrições temporais sobre a execução dessas atividades. Para atividades de caráter crítico ou que exijam confiabilidade, a verificação formal dessas especificações é uma alternativa bastante atraente. Nossa abordagem formal busca atribuir uma semântica baseada em cálculo de processos para uma linguagem de descrição de workflow e, a partir daí, gerar automaticamente especificações formais em alguma álgebra de processos (CCS Milner) que sejam verificáveis por meio de model checking, usando ferramentas apropriadas (CWB-NC). 1. Introdução O interesse em workflow tem aumentado nos últimos anos. Uma das razões é a utilização dessa tecnologia para coordenar interações entre Web Services, os quais permitem integrar aplicações baseadas na Web. O desenvolvimento de um grande sistema usando Web Services começa com a especificação do fluxo de controle e informação entre os serviços o Workflow. Diferentes linguagens de definições de processos de negócio foram desenvolvidas para especificar workflow, podemos citar a BPML [4], BPEL4WS [3], XPDL [2] e diagramas de atividades da UML 2.0 [13]. O principal benefício de usar especificação formal em descrições de workflow é o de permitir verificação de propriedades dessas descrições. Com auxílio de uma rigorosa notação matemática e ferramentas de verificação formal, podemos nos certificar de que propriedades importantes do modelo estão corretas e corrigir erros o mais cedo possível, reduzindo os custos de testes e de erros encontrados depois do modelo já implementando e em execução. Além do mais, especificações de workflow permitem expressar atividades em concorrência. Alguns desafios encontrados em um ambiente com atividades concorrentes envolvem evitar que atividades interfiram umas nas outras, como uma atividade

2 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho impedindo a continuação de outra, ou situações onde atividades interagem entre si de forma incorreta. Encontrar erros através de testes e depuração é muito mais difícil em ambientes concorrentes do que na forma seqüencial. As interações entre as tarefas podem ser diferentes a cada momento em que o sistema é executado, e falhas podem surgir mesmo quando um sistema já está em funcionamento há anos. Por essas razões, especificação e verificação formal se tornam uma alternativa bastante atraente no caso de sistemas de workflow. A abordagem formal aqui descrita busca atribuir uma semântica baseada em cálculo de processos para uma linguagem básica de descrição de workflow e, a partir daí, gerar automaticamente especificações formais em CCS [22] que sejam verificáveis por meio de model checking, usando ferramentas apropriadas (e.g. CWB-NC [20]). A organização do artigo é descrita a seguir. Na Seção 2 é discutida a importância de verificação em workflow e alguns trabalhos relacionados. Na Seção 3 é definido um workflow básico, envolvendo os elementos principais de um workflow. Na Seção 4 é apresentada a linguagem CCS utilizada para especificar sistemas concorrentes. Na Seção 5 é descrito o mapeamento de elementos de workflow em expressões CCS. A Seção 6 mostra um exemplo de workflow traduzido em expressões CCS a fim de fazer verificações formais utilizando a ferramenta CWB-NC. A Seção 7 é a parte de conclusão e apresentação de alguns trabalhos futuros. 2. Verificação de workflow Nos últimos anos, diversas pesquisas foram realizadas com enfoque na verificação formal de processos de negócio. Entre as várias abordagens formais podemos citar o uso de state charts (como em [7]); modelos de workflow baseados em Redes Petri [14, 16, 15]; e o uso de álgebra de processos, como CCS (Calculus of Communicating Systems) [8] e novas propostas usando π-calculus [9, 10, 11], apesar de ainda não haver até o momento uma contribuição prática da noção de mobilidade para descrição de workflow. Há também uma proposta mapeando elementos de workflow na ferramenta para verificação de sistemas de tempo real UPPAAL [19]. Na modelagem de processos de negócio várias propriedades devem ser verificadas, antes de o modelo ser implementado. Para isso utilizamos model checking. Model checking é uma técnica automática que, dado um modelo de transição de estados finitos de um sistema e uma propriedade em alguma lógica apropriada (tal como lógica temporal), sistematicamente verifica a validade desta propriedade [5]. Model checking é uma abordagem automática geral para verificação formal e é aplicada em áreas como verificação de hardware e engenharia de software. Essas propriedades verificadas através de model checking incluem a presença de deadlocks, livelocks; e outras como safety e liveness. Temos um deadlock quando uma atividade A espera pela resposta de uma requisição a atividade B, só que a atividade B espera pela atividade A terminar para prosseguir. Então há um impasse entre as duas atividades, uma esperando pela outra e nunca concluem suas atividades. A condição circular conhecida como livelock ocorre quando uma atividade A repassa um item de trabalho para a atividade B, e esta repassa o mesmo item de trabalho de volta para a

3 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho atividade A sem produzir nenhum avanço ou novo resultado. Propriedades do tipo safety: o processo de negócio P irá sempre satisfazer uma certa propriedade. Por exemplo, o processo irá sempre terminar corretamente. Propriedades do tipo liveness: o processo de negócio P irá em algum momento satisfazer uma certa propriedade. Por exemplo, o processo irá em algum momento terminar corretamente. Este trabalho abstrai a noção de tempo e dados. As verificações feitas serão em relação ao controle de fluxo dos processos, como decisões e sincronizações. 3. Definição de Workflow A Workflow Management Coalition (WfMC) é uma organização com objetivo de desenvolver padrões e terminologias em tecnologia de workflow. No presente trabalho utiliza-se a padronização proposta pela WfMC. De acordo com a WfMC, workflow é a automação total ou parcial de um conjunto de atividades interligadas, que coletivamente alcançam um objetivo de negócio [1]. Durante a execução destas atividades podem ocorrer trocas de documentos, informações ou tarefas entre os participantes do workflow com a finalidade de realizar alguma ação. Esta automação é realizada de acordo com um conjunto de regras de procedimento. Um workflow normalmente consiste em atividades. Atividade é uma unidade atômica que realiza algum tipo de trabalho, não podendo ser subdividida [12]. Entre as atividades podem existir dependências em relação a controle de fluxo (processo). Essa perspectiva do processo é muito importante, uma vez que o núcleo de qualquer sistema de informação é essencialmente formado por processos. De forma a representar depedências entre atividades, a WfMC define os elementos básicos de controle de fluxo AND-Split, AND-Join, OR-Split 1, OR-Join [1]. Esses elementos servem para modelar rotas sequenciais, condicionais e paralelas e também estão identificados através dos padrões analisados por [17, 18], na primeira categoria dos padrões ( Basic Control Flow Patterns ). O elemento AND-Split é usado para dividir execuções de fluxos de atividades concorrentemente. O AND-Join é utilizado para sincronizar fluxos concorrentes e convergi-los em um único fluxo de controle. O elemento OR-Split representa o caso onde apenas um fluxo é escolhido quando há outros fluxos alternativos. Já o elemento OR-Join representa a união de fluxos em um único só, não havendo sincronização. Utilizando uma simples notação gráfica [19], os elementos básicos de controle são mostrados na Figura 1. Formalmente, um workflow é definido por: 1. Um conjunto O de objetos workflow. O é a união do conjunto de atividades A = {a 1,..., a n } e do conjunto de objetos de controle C = {c 1,..., c m }. Um objeto de controle pode ser definido por uma função tipo : C {as, aj, os, oj} que mapeia cada objeto o nos tipos: AND-Split, AND-Join, OR-Split e OR-Join, respectivamente. 2. Uma relação tran O O de transições. Se tran(a, b), isto é, (a, b) tran, então existe uma transição direcionada do objeto a ao objeto b. 1 Alguns autores utilizam XOR-Split para melhor definir decisão, pois na verdade a escolha entre atividades é exclusiva.

4 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Figura 1. Elementos de um workflow básico. 3. Uma função nome : A N retorna o nome de uma atividade onde N é um conjunto de nomes. 4. Duas atividades especiais: ai A como atividade inicial e af A como atividade final. 4. CCS CCS foi introduzido para verificar sistemas concorrentes [22]. Os conceitos fundamentais em CCS são processos, que representam o comportamento padrão de algum objeto, e eventos ou ações atômicas iniciadas pelo sistema ou por seu ambiente. Processos são definidos por equações algébricas e se envolvem em novos processos ao executar alguma ação. Processos simples podem ser combinados de várias maneiras (seqüencialmente, paralelamente, usando seleção etc.) com a finalidade de descrever sistemas mais complexos. A interação entre processos é feita através de um par de portas complementares. Para isso, precisamos definir um conjunto de ações (ou portas/canais de comunicação) onde fazemos a distinção entre leitura e escrita (indicada pelo uso do sublinhado). Temos também a ação invisível τ que é criada quando dois processos sincronizam. O mais básico dos processos é o processo 0 ( nil ). Ele não realiza ação alguma Sintaxe de CCS Seja Act o conjunto de ações tal que α e α Act. Seja τ / Act um símbolo distinto representando a ação especial invisível, seja α, β Act {τ}, Act Act, e seja 0 o processo vazio. Então 0 é uma expressão CCS e se P, Q são expressões CCS, também são α P, P + Q, P Q, P [α/β], P \Act. Abaixo temos informalmente as cinco operações básicas em CCS: 1. Prefixo a.p : o processo executa a ação a e depois se comporta como o processo P ; 2. Sumarização P +Q: o processo se comporta como P ou Q (operador de escolha); 3. Composição P Q: é o processo em P e Q executam independentemente e podem se comunicar via portas complementares (e.g. a e a); 4. Substituição P [a/b]: renomeia toda ocorrência do nome b por a no processo P ;

5 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Restrição P \a\b: delimita o escopo de nomes dos canais a e b somente ao processo P. 5. Elementos de Workflow em CCS Esta seção descreve o mapeamento entre os elementos encontrados em um modelo básico de workflow em expressões CCS. Assim, para todo objeto workflow o O, definimos o objeto P o. Informalmente, P o deve ser visto como o processo que é o ponto de entrada de um objeto workflow o Atividade e Transição Para toda atividade a A, traduzimos a atividade em um processo CCS: P a = nome(a) P o Nesta equação temos que o processo P a é definido pela execução da atividade (ação) com seu próprio nome retornado pela função nome(a), seguido da execução de um novo processo P o, sendo que P o só será definido se houver transição definida por tran(a, o). Para a atividade que não é seguida da execução de outra atividade, isto é, não existe tran(a, o), a definição de P a será a seguinte: P a = nome(a) 0 Abaixo temos dois exemplos ilustrativos: Figura 2. (a) Atividade A. (b) Atividade A seguida pela atividade B. O exemplo da Figura 2a é traduzido em: P a = a 0 E o exemplo da Figura 2b é traduzido em: P a = a P b P b = b 0 Caso logo após um objeto o tenha um objeto j de sincronização AND-Join, usaremos um canal de comunicação (chamado ack) para sinalizar que neste caso há um momento de sincronização. Formalmente, se tran(o, j) (j C) (tipo(j) = aj), então definimos P o para: P o = nome(o) (ack nome(o) 0 P j ) A equação acima escreve no canal de comunicação ack. Abaixo veremos que o processo P o representando o elemento AND-Join em CCS irá esperar pela leitura nesse mesmo canal, realizando assim a sincronização entre as atividades.

6 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Atividades em Paralelo e Sincronização AND-Split Para todo (c C) tipo(c) = as, temos: P as = P o1 P o2 Na equação temos que o processo P as é definido por executar paralelamente os processos P o1 e P o2, que são definidos se houver transição definida por tran(c, o1) e tran(c, o2), respectivamente. AND-Join Para todo (c C) tipo(c) = aj, temos: P aj = ack o1 ack o2 P o O processo P o é definido se houver transição definida por tran(c, o). Os canais ack o1 e ack o2 são definidos anteriormente pelas atividades especiais que que são executadas em paralelo e usamos os canais no processo de sincronização em P aj Decisão e União entre Atividades OR-Split Para todo (c C) tipo(c) = os, temos: P os = P o1 + P o2 Na equação temos que o processo P os é definido por uma escolha entre executar o processo P o1 ou P o2, que são definidos se houver transição definida por tran(c, o1) e tran(c, o2), respectivamente. OR-Join Para todo (c C) tipo(c) = oj, temos: P oj = P o O processo P o é definido se houver transição definida por tran(c, o). Neste caso podemos substituir a ocorrência do processo P oj diretamente por P o, pois nesse caso não há sincronização Um Exemplo Abaixo mostramos um exemplo utilizando os elementos de workflow e como este é traduzido para expressões em CCS. Traduzindo o workflow de exemplo da Figura 3 para expressões em CCS, temos: P a = a P as P as = P b P c P b = b P d P c = c P os P os = P e + P f P d = d (ack d 0 P aj ) P e = e (ack e 0 P aj ) P f = f P oj

7 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Figura 3. Exemplo de workflow. P aj = ack d ack e P g P g = g P oj P oj = P h P h = h.0 Observe que P d e P e representam casos especiais de atividades, que utilizam o canal de comunicação ack para sinalizar sincronização definida pelo processo P aj. 6. Ambiente de Verificação Nesta seção estamos interessados na verificação de algumas propriedades importantes no modelo de workflow, especificado em CCS. Para isso, usamos a ferramenta CWB-NC (Concurrent Workbench of the New Century) [20] que implementa a técnica de model checking [5]. Quando usamos a técnica de model checking, precisamos que o sistema seja definido em alguma notação formalmente precisa (no nosso caso, em CCS) e que seja definida uma propriedade que esse sistema deve ter, expressada através de uma fórmula lógica. Essa fórmula define o comportamento que o sistema deve ou não deve possuir quando é executado. A lógica para expressar essas fórmulas contém operadores temporais que permitem descrever como o sistema se comporta com o passar do tempo em vez de simplesmente descrever uma caracteristica do sistema num dado momento específico no tempo. Usando tal lógica temporal podemos fazer afirmações sobre propriedades como: Em algum momento um evento a irá ocorrer ou É sempre verdade que depois de um evento a, o evento b em algum momento ocorre.

8 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Uma execução do sistema é uma sequência de estados. A lógica temporal usa proposições atômicas para fazer afirmações sobre esses estados. Essas proposições são afirmações elementares que, em um certo estado, possuem um valor verdadeiro bem definido. Por exemplo, consideramos que aberto, pedido aceito são proposições. Iremos de maneira intuitiva tratar as fórmulas em lógica temporal nesta seção. Um estudo aprofundado pode ser encontrado em [5] e [21]. As lógicas temporais possuem algumas variantes e neste trabalho optamos pela lógica chamada µ-calculus que é suportada pelo CWB-NC, acrescentada de operadores da lógica chamada CTL (Computation Tree Logic). A lógica CTL, assim como as outras lógicas temporais usadas por ferramentas de model checking, servem para expressar formalmente propriedades em relação a execução do sistema. Uma breve visão intuitiva dos operadores temporais que iremos usar da lógica CTL codificada em termos da lógica µ-calculus é apresentada a seguir. Os seguintes operadores apresentam as diferentes fases durante o tempo: G φ: é verdade φ em todos os estados futuros; F φ: é verdade φ em algum estado futuro; X φ: é verdade φ no próximo estado; φ 1 U φ 2 : é verdade φ 2 num determinado estado e φ 1 tem que ser verdade até esse estado. Aplicados a esses operadores, usamos os quantificadores A indicando ao longo de todos os caminhos e E indicando ao longo de pelo menos um caminho. Em µ-calculus, negação, conjunção e disjunção são representados respectivamente por: not, \/ e /\. Possui também duas proposições atômicas: verdadeiro e falso (tt e ff). Um pequeno exemplo de uma fórmula para tratar exclusão mútua entre dois processos: Apenas um único processo pode estar na região crítica num dado momento. Pode ser expresso intuitivamente dessa forma: AG (P 1 na regiaocritica P 2 na regiaocritica) Nesse caso, ao longo de todos os caminhos, em todos os estados, não pode ser verdade a proposição P 1 na regiaocritica e P 1 na regiaocritica ao mesmo tempo. Vamos aplicar a mesma idéia na verificação do modelo workflow da Figura 4, que mostra um exemplo de processo de negócio de pedido de livros (adaptado de [16]). O processo inicia quando um pedido é recebido. O pedido é processado verificando o estoque e o cliente concorrentemente. Se o livro está no estoque, então o pedido é enviado. A atividade Envia fatura espera até o pedido ser enviado e o cliente verificado, aí então ela é executada. E caso um cliente verificado não esteja de acordo, o processo é finalizado. Por fim, o processo então espera receber o pagamento e logo após processa o pagamento recebido. O mapeamento do processo de negócio da Figura 4 em CCS segue abaixo: proc P_inicial = inicial.p_recebepedido proc P_recebepedido = recebepedido.p_as proc P_as = P_verifestoque P_verifcliente proc P_verifestoque = verifestoque.p_os1 proc P_verifcliente = verifcliente.p_os2

9 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Figura 4. Um processo de negócio de pedido de livros. proc P_reporestoque = reporestoque.p_enviapedido proc P_os1 = P_reporestoque + P_enviapedido proc P_os2 = ( ack_or2.nil P_aj) + P_final proc P_enviapedido = enviapedido.( ack_enviapedido.nil P_aj) proc P_aj = ack_or2.ack_enviapedido.p_enviafatura proc P_enviafatura = enviafatura.p_recebepagamento proc P_recebepagamento = recebepagamento.p_processapagamento proc P_processapagamento = processapagamento.p_final proc P_final = final.nil Primeiramente gostaríamos de saber se nosso processo de negócio a partir do estado inicial chega ao estado final, isto é, termina corretamente. Para isso definimos a seguinte propriedade: prop termina = AG [inicial](af<final>tt) As fórmulas em µ-calculus são interpretadas em relação ao sistema de estados. Todo estado satisfaz tt, enquanto nenhum estado satisfaz ff. A fórmula φ 1 /\ φ 2 é verdade se ambos φ 1 e φ 2 são também, e φ 1 \/ φ 2 se um deles é verdade. Um estado satisfaz <actset>φ se existe uma transição derivada do estado com uma ação definida em actset que leva a um estado satisfazendo φ. E um estado satisfaz [actset]φ se toda transição derivada do estado com ação definida em actset satisfaz φ. Dessa forma, intuitivamente, a fórmula termina diz que ao longo de todos os caminhos, em todos os estados satisfaz [inicial](af<final>tt), que é verdade se toda transição do estado com um marca inicial satisfaz (AF<final>tt). Da mesma forma, (AF<final>tt) satisfaz se ao longo de todos os caminhos em algum momento <final>tt é verdade. Por sua vez, <final>tt é verdade se existe uma tansição do estado com um marca

10 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho final que leva a um estado que satisfaz tt, que é verdade pra todo estado. Em outras palavras, termina diz: para todo estado com marca inicial, em algum momento encontraremos um estado com a marca final. Verificando a fórmula termina usando o comando chk do CWB-NC a partir do estadop inicial, temos a resposta que é verdade para o modelo descrito acima: cwb-nc> chk "P_inicial" termina Invoking alternation-free model checker. Building automaton..... States: 274 Transitions: 788 Done building automaton. TRUE, the agent satisfies the formula. Outra verificação que podemos fazer é a seguinte: será que toda vez que eu envio um pedido, sempre irei receber o pagamento?. Porém, dessa vez vamos fazer um outro tipo de verificação. Em vez de verificar se um propriedade é verdade ou falsa, iremos tentar achar um estado onde a propriedade é verdadeira. Definimos então a propriedade envia nao recebe onde para todo estado de envio de pedido (enviapedido), não é verdade que em um momento do futuro recebemos um pagamento (recebepagamento. A fórmula segue abaixo: prop envia_nao_recebe = AG [enviapedido](not AF<recebepagamento>tt) Para encontrar um estado onde essa propriedade é verdadeira utilizamos o comando search do CWB-NC da seguinte forma: cwb-nc> search "P_inicial" envia_nao_recebe Abaixo temos a saída gerada CWB-NC: State found satisfying envia_nao_recebe. Path to state contains 7 states, invoking simulator. 1: P_inicial -- inicial --> 2: P_recebepedido -- recebepedido --> 3: P_as -- verifcliente --> 4: P_verifestoque P_os2 -- final --> 5: P_verifestoque nil -- verifestoque --> 6: P_os1 nil -- enviapedido --> 7: ( ack_enviapedido.nil P_aj) nil cwb-nc-sim> trace inicial recebepedido verifcliente final verifestoque enviapedido Analisando a saída observamos que propriedade envia nao recebe é satisfeita e encontramos um caso onde é enviado um pedido mas não recebemos o pagamento. Esse caso pode ser visto pelo comando trace, onde temos os seguintes passos: inicial recebepedido verifcliente final. Voltando na Figura 4, podemos acompanhar esses passos. 7. Considerações Finais Neste trabalho apresentamos um esquema de mapeamento entre elementos de descrição de controle de fluxo encontrados em workflow para a linguagem de especificação de processos concorrentes CCS.

11 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho Um processo de negócio especificado em CCS permite a verificação de importantes propriedades no modelo, antes da sua implementação. Dessa forma, podemos corrigir erros o mais cedo possível, reduzindo os custos de erros encontrados depois do modelo já implementando e em execução. A contribuição principal deste trabalho é mostrar que a utilização de verificação formal em especificações, especialmente linguagens de descrição de workflow, é uma alternativa viável e bastante atraente. Num cenário onde as aplicações estão se tornando cada vez mais complexas, validação e verificação desses sistemas computacionais e algoritmos são de extrema importância tanto para o sucesso de projeto quanto econômico. Trabalhos futuros e desafios estão concentrados em tornar mais natural e intuiva as especificações de propriedades em lógica temporal e também facilitar a modelagem através de ferramentas integradas. Um exemplo trivial é a geração automática de expressões em CCS a partir do esquema de mapeamento apresentado. Outro aspecto a considerar é que o modelo de workflow apresentado é bastante básico e simplificado, modelos mais realistas necessitam de elementos de maior expressividade. 8. Agradecimentos Este trabalho contou com apoio financeiro através do Programa de Bolsas da Fundação Estadual Norte Fluminense - FENORTE/TECNORTE. Referências [1] WFMC. Workflow Management Coalition Terminology and Glossary (WFMCTC- 1011). Technical report, Workflow Management Coalition, Brussels, 1996, disponível em [2] WFMC. Workflow Management Coalition Workflow Standard: Workflow Process Definition Interface XML Process Definition Language (XPDL) (WFMCTC- 1025). Technical report, Workflow Management Coalition, Lighthouse Point, Florida, USA, [3] F. Curbera, Y. Goland, J. Klein, F. Leymann, D. Roller, S. Thatte, and S. Weerawarana. Business Process Execution Language for Web Services, Version 1.0. Standards propsal by BEA Systems, International Business Machines Corporation, and Microsoft Corporation, [4] A. Arkin. Business Process Modeling Language (BPML). Specification. BPMI.org [5] B. Berard, M. Bidoit, A.Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen, and P. McKenzie. Systems and Software Verification: Model-Checking Techniques and Tools. Springer, [6] R. Eshuis and R. Wieringa. Tool Support for Verifying UML Activity Diagrams. IEEE Trans. Softw. Eng. 30, 7 (Jul. 2004), [7] D. Wodtke and G. Weikum. A Formal Foundation for Distributed Workflow Execution Based on State Charts. In Proceedings of the 6th international Conference on Database theory (January 08-10, 1997). F. N. Afrati and P. G. Kolaitis, Eds. Lecture Notes In Computer Science, vol Springer-Verlag, London,

12 Revista Eletrônica de Iniciação Científica, Vol. 6, No. 2, Junho [8] M. Schroeder. Verication of business processes for a correspondence handling center using CCS. In A. I. Vermesan and F. Coenen, editors, Proceedings of European Symposium on Validation and Verication of Knowledge Based Systems and Components, pages 1-15, Oslo, June Kluwer. [9] D. Yang and S. Zhang. Approach for workflow modeling using Pi-calculus. Journal of Zhejiang University SCIENCE Nov-Dec;4(6): [10] F. Puhlmann, Mathias Weske. Using the Pi-Calculus for Formalizing Workflow Patterns. In W.M.P. van der Aalst et al. (Eds.): BPM 2005, volume 3649 of LNCS, Berlin, Springer-Verlag (2005) [11] R. Szturc, I. Vondrák, M. Kruzel, Application of Pi-Calculus for Software Process Formalization Transactions of the V c B Technical University of Ostrava, [12] Charles Plesums. Introduction to Workflow. In: L. Fischer (Ed.): Workflow Handbook 2002, Lighthouse Point (FL) 2002, pp [13] M. Dumas and A.H.M. ter Hofstede. UML activity diagrams as a workflow specification language. In M. Gogolla and C. Kobryn, editors, Proc. of the 4th Int. Conference on the Unified Modeling Language (UML01), volume 2185 of LNCS, pages 7690, Toronto, Canada, October Springer Verlag. [14] W.M.P. van der Aalst, K.M. van Hee. Workflow Management: Models, Methods, and Systems. MIT press, Cambridge, MA, [15] W.M.P. van der Aalst. The Application of Petri Nets to Workflow Management. The Journal of Circuits, Systems and Computers, 8(1):2166, [16] W. M. P. van der Aalst. Challenges in business process management: Verication of business processes using Petri nets. Bulletin of the EATCS, (80): , [17] W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, and A.P. Barros. Workflow Patterns. Distributed and Parallel Databases, 14(1):551, [18] Workflow Patterns Home Page. [19] V. Gruhn and R. Laue. Using Timed Model Checking for Verifying Workflows. Proc. of the 2nd Workshop on Computer Supported Activity Coordination, Miami, USA, pp , [20] R. Cleaveland, L. Tan, and S. Sims. Concurrent Workbench of the New Century: User Manual. Computer Science Department, SUNY at Stony Brook, 2000, disponível em cwb/. [21] J. Katoen. Principles of model-checking. Univ. of Twente, Lecture Notes, [22] R. Milner. Comunication and Concurrency. Prentice-Hall, 1989 [23] M. F. Felix. Análise Formal de Modelos de Software Baseada em Abstrações Arquiteturais, Tese de Doutorado, Dep. de Informática, PUC-Rio, 2004.

Especificação Formal e Verificação de Workflows Científicos

Especificação Formal e Verificação de Workflows Científicos Especificação Formal e Verificação de Workflows Científicos Edno V. Silva 1, Eduardo Ogasawara 1, Daniel de Oliveira 1, Marta Mattoso 1, Mario R. F. Benevides 2 1 PESC - COPPE Universidade Federal do Rio

Leia mais

TRADUZINDO A DEFINIÇÃO DE PROCESSO EM XPDL PARA MODELOS EM REDES DE PETRI

TRADUZINDO A DEFINIÇÃO DE PROCESSO EM XPDL PARA MODELOS EM REDES DE PETRI XXIX ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO. TRADUZINDO A DEFINIÇÃO DE PROCESSO EM XPDL PARA MODELOS EM REDES DE PETRI Rosemary Francisco (PUCPR) rmaryf@gmail.com Eduardo de Freitas Rocha Loures (PUCPR)

Leia mais

Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso

Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso Estefânia Paula da SILVA¹; Lígia Maria SOARES PASSOS² ¹ Aluna do curso de Engenharia de Produção do IFMG

Leia mais

Verificação e Validação de Sistemas de Software para Projetos Espaciais

Verificação e Validação de Sistemas de Software para Projetos Espaciais Verificação e Validação de Sistemas de Software para Projetos Espaciais Coordenador: Carlos H.N. Lahoz Equipe: Miriam C. B. Alves Martha A. D. Abdala Luciene Bianca Alves (bolsista DTI) Tópicos: 1- Objetivo

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

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

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia EDITAL Nº05/ PROGRAD/ DIREN/2010 ANEXO II 1 Título do Projeto: Automação de Fluxo de Trabalho Administrativo 2- Nome do Orientador: Autran Macêdo 3 Unidade: FACOM 4- Curso: Bacharelado em Ciência da Computação

Leia mais

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior

Leia mais

ANÁLISE DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE UTILIZANDO REDES DE PETRI ANALYSIS OF SOFTWARE DEVELOPMENT PROCESS USING PETRI NETS

ANÁLISE DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE UTILIZANDO REDES DE PETRI ANALYSIS OF SOFTWARE DEVELOPMENT PROCESS USING PETRI NETS ANÁLISE DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE UTILIZANDO REDES DE PETRI ANALYSIS OF SOFTWARE DEVELOPMENT PROCESS USING PETRI NETS Lucas Vinícius Rodrigues Grabert 1 Rodrigo Palucci Pantoni 2 Data

Leia mais

Um estudo e a utilização de padrões para integração da tecnologia de processos em ambientes de gerência de projetos na web

Um estudo e a utilização de padrões para integração da tecnologia de processos em ambientes de gerência de projetos na web Um estudo e a utilização de padrões para integração da tecnologia de processos em ambientes de gerência de projetos na web Alexandre Franco de Magalhães Mestrado em Computação Aplicada pelo Instituto Nacional

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Usando Modelos Para Apoiar a Especificação e Verificação de Requisitos de Ubiquidade

Usando Modelos Para Apoiar a Especificação e Verificação de Requisitos de Ubiquidade Usando Modelos Para Apoiar a Especificação e Verificação de Requisitos de Ubiquidade Leonardo Mota, Jobson Massollar, Guilherme Horta Travassos Federal University of Rio de Janeiro/COPPE/PESC Caixa Postal

Leia mais

Método de avaliação do modelo de processos de negócio do Enterprise Knowledge Development

Método de avaliação do modelo de processos de negócio do Enterprise Knowledge Development Método de avaliação do modelo de processos de negócio do Enterprise Knowledge Development Resumo Sílvia Inês Dallavalle de Pádua Ricardo Yassushi Inamasu Apresenta o método de avaliação do modelo de processos

Leia mais

(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina

(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina Verificação de Modelos (Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina Cîrstea Lista de Leitura para a Parte Teórica M. Huth and M. Ryan, Logic in Computer Science Modelling

Leia mais

INTRODUÇÃO A MODELAGEM DE PROCESSOS UTILIZANDO BPMN 1 FÁBIO RODRIGUES CRUZ 2 2.1 CONCEITO DE MODELAGEM DE PROCESSOS UTILIZANDO BPMN

INTRODUÇÃO A MODELAGEM DE PROCESSOS UTILIZANDO BPMN 1 FÁBIO RODRIGUES CRUZ 2 2.1 CONCEITO DE MODELAGEM DE PROCESSOS UTILIZANDO BPMN INTRODUÇÃO A MODELAGEM DE PROCESSOS UTILIZANDO BPMN 1 FÁBIO RODRIGUES CRUZ 2 1 INTRODUÇÃO A Business Process Modeling Notation (BPMN), ou Notação de Modelagem de Processos de Negócio, é um conjunto de

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

Uma Linguagem de Workflow Para Composição de Web Services - LCWS

Uma Linguagem de Workflow Para Composição de Web Services - LCWS Uma Linguagem de Workflow Para Composição de Web Services - LCWS Luiz Alexandre Hiane da S. Maciel 1, Edgar Toshiro Yano 1 1 Divisão de Pós-Graduação Instituto Tecnológico de Aeronáutica (ITA) Praça Marechal

Leia mais

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

Formalização de Workflow baseada na Lógica Linear: Análise Qualitativa e Quantitativa

Formalização de Workflow baseada na Lógica Linear: Análise Qualitativa e Quantitativa Formalização de Workflow baseada na Lógica Linear: Análise Qualitativa e Quantitativa Aluna: Lígia Maria Soares Passos 1, Orientador: Prof. Dr. Stéphane Julia 1 1 Programa de Pós-Graduação em Ciência da

Leia mais

PROPOSTA DE MODELAGEM DE UM SISTEMA FLEXÍVEL DE MANUFATURA CENTRADO EM ROBÔ UTILIZANDO REDES DE PETRI

PROPOSTA DE MODELAGEM DE UM SISTEMA FLEXÍVEL DE MANUFATURA CENTRADO EM ROBÔ UTILIZANDO REDES DE PETRI PROPOSTA DE MODELAGEM DE UM SISTEMA FLEXÍVEL DE MANUFATURA CENTRADO EM ROBÔ UTILIZANDO REDES DE PETRI FLAVIO PIECHNICKI (PUC) fpiechnicki@gmail.com Os avanços tecnológicos e o aumento da complexidade dos

Leia mais

Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído

Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído Ana Paula Chaves 1, Jocimara Segantini Ferranti 1, Alexandre L Erário 1, Rogério

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

ANÁLISE DE UM PROCESSO ATRAVÉS DA REDE PETRI NO SERVIÇO DE TRANSPORTE DE CARGA ANALYSIS OF A PROCESS THROUGH PETRI NET IN TRANSPORT OF CARGO

ANÁLISE DE UM PROCESSO ATRAVÉS DA REDE PETRI NO SERVIÇO DE TRANSPORTE DE CARGA ANALYSIS OF A PROCESS THROUGH PETRI NET IN TRANSPORT OF CARGO 27 ANÁLISE DE UM PROCESSO ATRAVÉS DA REDE PETRI NO SERVIÇO DE TRANSPORTE DE CARGA ANALYSIS OF A PROCESS THROUGH PETRI NET IN TRANSPORT OF CARGO RICARDO MÂNICA Mestrado de Engenharia de Produção, ênfase

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

DESENVOLVIMENTO DE SISTEMAS CORRETOS. BISI, Nícolas Nogueira Universidade Federal de Pelotas nicolasbisi@gmail.com

DESENVOLVIMENTO DE SISTEMAS CORRETOS. BISI, Nícolas Nogueira Universidade Federal de Pelotas nicolasbisi@gmail.com DESENVOLVIMENTO DE SISTEMAS CORRETOS BISI, Nícolas Nogueira Universidade Federal de Pelotas nicolasbisi@gmail.com FOSS, Luciana; COSTA, Simone André da Universidade Federal de Pelotas lfoss@inf.ufpel.edu.br,

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre Introdução à Representação e Processamento de Ontologias: Framework O3f Luís Miguel Botelho Departamento de Ciências e Tecnologias

Leia mais

Especificação de Uma Abordagem para Desenvolvimento Distribuído de Software Utilizando SPEM

Especificação de Uma Abordagem para Desenvolvimento Distribuído de Software Utilizando SPEM Especificação de Uma Abordagem para Desenvolvimento Distribuído de Software Utilizando SPEM Gislaine Camila Lapasini Leal, Elisa Hatsue Moriya Huzita Tania Fatima Calvi Tait e César Alberto da Silva Universidade

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

Sistema de Gerenciamento de Workflow: um overview e um estudo de caso

Sistema de Gerenciamento de Workflow: um overview e um estudo de caso Sistema de Gerenciamento de orkflow: um overview e um estudo de caso Silvia Inês Dallavalle de Pádua (USP- EESC) dallaval@sc.usp.br Carlos lberto Ferreira Bispo (USP - EESC) cafbispo@sc.usp.br Resumo necessidade

Leia mais

Fasci-Tech MAPEAMENTO DOS PROCESSOS DE NEGÓCIO PARA DESENVOLVIMENTO DE UM SISTEMA INTEGRADO DE GESTÃO

Fasci-Tech MAPEAMENTO DOS PROCESSOS DE NEGÓCIO PARA DESENVOLVIMENTO DE UM SISTEMA INTEGRADO DE GESTÃO MAPEAMENTO DOS PROCESSOS DE NEGÓCIO PARA DESENVOLVIMENTO DE UM SISTEMA INTEGRADO DE GESTÃO Resumo: Carlos Alberto dos Santos 1 Profa. MSc. Rosangela Kronig 2 Abstract: Num ambiente globalizado e em constante

Leia mais

Modelagem de Arquiteturas Organizacionais de TI Orientadas a Serviços

Modelagem de Arquiteturas Organizacionais de TI Orientadas a Serviços Modelagem de Arquiteturas Organizacionais de TI Orientadas a Serviços João Paulo A. Almeida Núcleo de Estudos em Modelagem Conceitual e Ontologias (NEMO) Departamento de Informática Universidade Federal

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO Santa Maria, 10 de Outubro de 2013. Revisão aula anterior Documento de Requisitos Estrutura Padrões Template Descoberta

Leia mais

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. UML - Motivação - O que é um modelo? Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. O que é um modelo? O que é um modelo? O

Leia mais

Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1

Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1 242 Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1 1Instituto Federal Farroupilha Campus São Borja

Leia mais

Especificação de Testes Funcionais usando Redes de Petri a Objetos para Softwares Orientados a Objetos

Especificação de Testes Funcionais usando Redes de Petri a Objetos para Softwares Orientados a Objetos Especificação de Testes Funcionais usando Redes de Petri a Objetos para Softwares Orientados a Objetos Autor(a): Liliane do Nascimento Vale 1 Orientador: Stéphane Júlia 1 1 Universidade Federal de Uberlândia

Leia mais

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil Elicitação de Requisitos a partir de Modelos de Processos de Negócio e Modelos Organizacionais: Uma pesquisa para definição de técnicas baseadas em heurísticas Marcos A. B. de Oliveira 1, Sérgio R. C.

Leia mais

Formalismos de Grafos de Interação (Surveys)

Formalismos de Grafos de Interação (Surveys) Formalismos de Grafos de Interação (Surveys) Disciplina:Tópicos em IHC II- Interação 3D Professor :Alberto Raposo Tópicos Motivação Fontes de Pesquisa Breve Descrição Conclusões Tópicos Motivação Fontes

Leia mais

ALEXANDER RIEGER HIPPLER UMA FERRAMENTA GRÁFICA PARA MODELAGEM E DISCRETIZAÇÃO DE SISTEMAS DE TEMPO REAL

ALEXANDER RIEGER HIPPLER UMA FERRAMENTA GRÁFICA PARA MODELAGEM E DISCRETIZAÇÃO DE SISTEMAS DE TEMPO REAL ALEXANDER RIEGER HIPPLER UMA FERRAMENTA GRÁFICA PARA MODELAGEM E DISCRETIZAÇÃO DE SISTEMAS DE TEMPO REAL LONDRINA PR 2013 ALEXANDER RIEGER HIPPLER UMA FERRAMENTA GRÁFICA PARA MODELAGEM E DISCRETIZAÇÃO

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA IMPLEMENTAÇÃO DE SOLUÇÃO PARA AUTOMATIZAR O DESENVOLVIMENTO DE SOFTWARE UTILIZANDO A LINGUAGEM C#.NET

Leia mais

MINISTÉRIO DA INTEGRAÇÃO NACIONAL SECRETARIA EXECUTIVA DEPARTAMENTO DE GESTÃO ESTRATÉGICA COORDENAÇÃO-GERAL DE TECNOLOGIA DA INFORMAÇÃO ENCARTE R

MINISTÉRIO DA INTEGRAÇÃO NACIONAL SECRETARIA EXECUTIVA DEPARTAMENTO DE GESTÃO ESTRATÉGICA COORDENAÇÃO-GERAL DE TECNOLOGIA DA INFORMAÇÃO ENCARTE R ENCARTE R Estimativa de de Software Estimativa de de Software: Contratação de Serviços de Fábrica de Software Página 1 de 10 SUMÁRIO 1 REFERÊNCIAS... 3 1 INTRODUÇÃO... 3 3.1 ESTIMATIVA PRELIMINAR... 4

Leia mais

Computação Sensível ao Contexto

Computação Sensível ao Contexto Computação Sensível ao Contexto Percepção de Contexto em Ambientes Domiciliares Modelagem de Contexto Modelagem de Contexto + Modelagem de Usuário Fabrício J. Barth novembro de 2004 Sumário O que já foi

Leia mais

Computação Fiável. 1 Novidades. Conteúdo. Departamento de Informática Universidade da Beira Interior. Ano lectivo 2007/2008

Computação Fiável. 1 Novidades. Conteúdo. Departamento de Informática Universidade da Beira Interior. Ano lectivo 2007/2008 Computação Fiável Departamento de Informática Universidade da Beira Interior Ano lectivo 2007/2008 Esta página no formato pdf, no formato ps 1 Novidades Primeira versão da página. Encontrará aqui as novidades

Leia mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Ernesto C. Brasil 1, Thiago C. de Sousa 2 1 Centro de Ensino Unificado de Teresina (CEUT)

Leia mais

LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS

LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS Fabiana Fraga Ferreira Bacharelanda em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Itana M. S. Gimenes 1 itana@din.uem.br Radames J. Halmeman 1 radames@cm.cefetpr.br Fabrício R.

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Groupware. Protocolos e Artefatos de Coordenação. Mecanismo de Coordenação. Cleidson de Souza cdesouza@ufpa.br. Artefatos.

Groupware. Protocolos e Artefatos de Coordenação. Mecanismo de Coordenação. Cleidson de Souza cdesouza@ufpa.br. Artefatos. Groupware Tecnologia computacional para auxiliar o trabalho cooperativo Mas Como o trabalho cooperativo é executado? Como as pessoas trabalham em conjunto? Como a tecnologia existente facilita (ou dificulta)

Leia mais

Model Checking of Statecharts using Automatic White Box Test Generation

Model Checking of Statecharts using Automatic White Box Test Generation Model Checking of Statecharts using Automatic White Box Test Generation Um artigo de: Doron Drusinsky (Cupertino, CA) Apresentado por: Charles-Edouard Winandy Disciplina: CSE310-4 Engenharia de Software

Leia mais

TÍTULO: UM ESTUDO CONCEITUAL SOBRE CERTIFICAÇÃO DE SOFTWARE EMBARCADO AERONÁUTICO

TÍTULO: UM ESTUDO CONCEITUAL SOBRE CERTIFICAÇÃO DE SOFTWARE EMBARCADO AERONÁUTICO TÍTULO: UM ESTUDO CONCEITUAL SOBRE CERTIFICAÇÃO DE SOFTWARE EMBARCADO AERONÁUTICO CATEGORIA: EM ANDAMENTO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA INSTITUIÇÃO: FACULDADE ANHANGUERA

Leia mais

Modelagem Flexível para Processos de Negócio. Resultados de um Estudo Experimental

Modelagem Flexível para Processos de Negócio. Resultados de um Estudo Experimental Modelagem Flexível para Processos de Negócio Resultados de um Estudo Experimental Fabiane Albino Aluna Mestrado Prof. Ricardo Massa Orientador Cenário Atual Modelagem de Processos de Negócio de maneira

Leia mais

Introdução ao Gerenciamento de Processos de Negócio e Inteligência Artificial na Bioinformática. Minicurso do SBSI 2012

Introdução ao Gerenciamento de Processos de Negócio e Inteligência Artificial na Bioinformática. Minicurso do SBSI 2012 Introdução ao Gerenciamento de Processos de Negócio e Inteligência Artificial na Bioinformática Minicurso do SBSI 2012 Dra. Lucinéia Heloisa Thom Dr. Ronnie Alves Roteiro Histórico da tecnologia de Workflow

Leia mais

Padrões de Workflow para Reuso em Modelagem de Processos de Negócio

Padrões de Workflow para Reuso em Modelagem de Processos de Negócio Padrões de Workflow para Reuso em Modelagem de Processos de Negócio Lucinéia Heloisa Thom 1, Carolina Chiao 1, Cirano Iochpe 1,2 1 Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS)

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

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL

WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL 232 - Encontro Anual de Tecnologia da Informação WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL Stevan D. Costa1, Alexandre T. Lazzaretti1, Anubis

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

Representando Características Autonômicas nos Processos de Negócio

Representando Características Autonômicas nos Processos de Negócio Representando Características Autonômicas nos Processos de Negócio Karolyne Oliveira, Tarcísio Pereira, Emanuel Santos, Jaelson Castro Universidade Federal de Pernambuco UFPE, Recife, PE 50 740-560, Brazil

Leia mais

Modelagem e análise de cenários de Video Game

Modelagem e análise de cenários de Video Game Modelagem e análise de cenários de Video Game Autor: Guilherme Willian de Oliveira 1, Orientador: Stéphane Julia 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

UTILIZAÇÃO DA UML PARA ESPECIFICAÇÃO DE SISTEMAS DE TEMPO REAL

UTILIZAÇÃO DA UML PARA ESPECIFICAÇÃO DE SISTEMAS DE TEMPO REAL UTILIZAÇÃO DA UML PARA ESPECIFICAÇÃO DE SISTEMAS DE TEMPO REAL Airton Zancanaro Evandro de Souza Fabrício Jailson Barth Universidade Regional de Blumenau FURB Rua Antônio da Veiga, 140 Caixa Postal 1507

Leia mais

ATENAS: Um Sistema Gerenciador de Regras de Negócio

ATENAS: Um Sistema Gerenciador de Regras de Negócio 1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

Correção de Software com Verificação de Modelos

Correção de Software com Verificação de Modelos Correção de Software com Verificação de Modelos Aline Maria Santos Andrade Departamento de Ciência da Computação (DCC) Laboratório de Sistemas Distribuídos (LaSiD) Universidade Federal da Bahia (UFBA)

Leia mais

BPMN (Business Process. George Valença gavs@cin.ufpe.br

BPMN (Business Process. George Valença gavs@cin.ufpe.br BPMN (Business Process Modeling Notation) George Valença gavs@cin.ufpe.br 31/10/2012 Introdução Modelagem de processos No ciclo de vida BPM, a etapa de modelagem de processos consiste em um conjunto de

Leia mais

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Padrões de Workflow para Reuso em Modelagem de Processos de Negócio

Padrões de Workflow para Reuso em Modelagem de Processos de Negócio THOM, L.H.; CHIAO, C.; IOCHPE, C. Padrões de Workflow para Reuso em Modelagem de Processos de Negócio. Em: Conferência Latino Americana em Linguagens de Programação, SugarloafPlop, Porto de Galinhas (Brasil):

Leia mais

Uma proposta de um processo prático para apoiar o reuso de software

Uma proposta de um processo prático para apoiar o reuso de software Uma proposta de um processo prático para apoiar o reuso de software Rosangela Kronig (UNIP) rkronig.mes.engprod@unip.br Ivanir Costa (UNIP) icosta@unip.br Mauro Spínola (UNIP) mspinola@unip.br Resumo A

Leia mais

Integração de Sistemas Corporativos DAS5316. BPM e BPMN. Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Alexandre Perin (perin@das.ufsc.

Integração de Sistemas Corporativos DAS5316. BPM e BPMN. Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Alexandre Perin (perin@das.ufsc. DAS5316 BPM e BPMN Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010. Roteiro BPM Introdução Definição Características Ciclo de vida Integração com

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Use of UML modeling in a management system for a food franchising Richard B. N. Vital, Tatiane M. Vital.

Leia mais

Construindo Axiomas e Avaliando Ontologias em ODEd

Construindo Axiomas e Avaliando Ontologias em ODEd Construindo Axiomas e Avaliando Ontologias em ODEd Vítor Estêvão Silva Souza, Ricardo de Almeida Falbo Departamento de Informática da Universidade Federal do Espírito Santo Av. Fernando Ferrari, CEP 29060-900,

Leia mais

Uma Abordagem para Projeto da Interface e da Navegação de Aplicativos Web orientada pelo Processo de Negócio

Uma Abordagem para Projeto da Interface e da Navegação de Aplicativos Web orientada pelo Processo de Negócio Uma Abordagem para Projeto da Interface e da Navegação de Aplicativos Web orientada pelo Processo de Negócio Cristina Coelho de Abreu Pinna 1, Alexandra A. de Souza 1, Reginaldo Arakaki 1 1 Escola Politécnica

Leia mais

Algoritmos Computacionais ( Programas )

Algoritmos Computacionais ( Programas ) Algoritmos Computacionais ( Programas ) A partir deste tópico, consideramos a utilização do universo Computacional na solução de problemas. Para tanto devemos lembrar que a transposição de problemas do

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

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA

Introduçãoa Engenhariade. Prof. Anderson Cavalcanti UFRN-CT-DCA Introduçãoa Engenhariade Software Prof. Anderson Cavalcanti UFRN-CT-DCA O que é Software? O que é software? São programas de computadores, em suas diversas formas, e a documentação associada. Um programa

Leia mais

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering.

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering. Parte I Requirement Engineering Gestão de Projectos Informáticos Gestão do Âmbito (Scope Management) Requirement Engineering Introduzir as noções requisitos de sistema e processo de engª de requisitos

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Maratona CBOK Brasília, 23 de outubro de 2012

Maratona CBOK Brasília, 23 de outubro de 2012 Maratona CBOK Brasília, 23 de outubro de 2012 BPM CBOK Guia para o Gerenciamento de Processos de Negócios Corpo Comum de Conhecimento Modelagem de Processos de Negócios Modelagem de processos Análise de

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

Poseidon: Uma aplicação de suporte ao desenho semiautomático

Poseidon: Uma aplicação de suporte ao desenho semiautomático Cardoso, J., "Poseidon: Uma aplicação de suporte ao desenho semi-automático de workflows", XATA2006 XML: Aplicações e Tecnologias Associadas, pp. 337-349, 9-10, February 2006. Portalegre, Portugal. ISBN:

Leia mais

REALIZANDO PADRÕES DE WORKFLOW EM SISTEMAS BASEADOS EM COMPONENTES TRABALHO DE GRADUAÇÃO

REALIZANDO PADRÕES DE WORKFLOW EM SISTEMAS BASEADOS EM COMPONENTES TRABALHO DE GRADUAÇÃO UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA REALIZANDO PADRÕES DE WORKFLOW EM SISTEMAS BASEADOS EM COMPONENTES TRABALHO DE GRADUAÇÃO ALUNA: FLÁVIA LEITE

Leia mais

USO DOS CONCEITOS DE INTERAÇÃO HUMANO-COMPUTADOR NO DESENVOLVIMENTO WEB PARA EDUCAÇÃO A DISTÂNCIA

USO DOS CONCEITOS DE INTERAÇÃO HUMANO-COMPUTADOR NO DESENVOLVIMENTO WEB PARA EDUCAÇÃO A DISTÂNCIA Discutindo a visibilidade da EaD Pública no Brasil USO DOS CONCEITOS DE INTERAÇÃO HUMANO-COMPUTADOR NO DESENVOLVIMENTO WEB PARA EDUCAÇÃO A DISTÂNCIA Priscilla Márcia Scarpelli Bastos 1, Diogo Marcos de

Leia mais

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo

Leia mais

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

Leia mais

Aplicação de Apoio Computacional Baseado em Processos de Negócio e Serviços Web para o Desenvolvimento Distribuído de Software

Aplicação de Apoio Computacional Baseado em Processos de Negócio e Serviços Web para o Desenvolvimento Distribuído de Software Aplicação de Apoio Computacional Baseado em Processos de Negócio e Serviços Web para o Desenvolvimento Distribuído de Software Gabriel Costa Silva 1, Itana Maria de Souza Gimenes 1, Marcelo Fantinato 2,

Leia mais

Engenharia de Ontologias Seminário UPON

Engenharia de Ontologias Seminário UPON Engenharia de Ontologias Seminário UPON Núcleo de Estudos em Modelagem Conceitual e Ontologias Bruno Nandolpho Machado Vinícius Soares Fonseca Professor: Ricardo de Almeida Falbo Agenda RUP Método UPON

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Definição de Processos

Definição de Processos Definição de Processos Introdução Prof Ms Vinícius Costa de Souza www.inf.unisinos.br/~vinicius viniciuscs@unisinos.br Agenda Processos Definição Componentes Documentação Características Aplicações Nomenclaturas

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

PROJELER. Solução de código aberto para gerenciamento de processos de negócio

PROJELER. Solução de código aberto para gerenciamento de processos de negócio Otimização e Automação de Processos de Negócio Abril/2008 Solução de código aberto para gerenciamento de processos de negócio Maurício Bitencourt, PMP Diretor Executivo mauricio.bitencourt@projeler.com.br

Leia mais

Nos artigos anteriores apresentamos. Desenvolvimento de Software Dirigido por Caso de Uso Parte III: Caso de Uso de Negócio

Nos artigos anteriores apresentamos. Desenvolvimento de Software Dirigido por Caso de Uso Parte III: Caso de Uso de Negócio Desenvolvimento de Software Dirigido por Caso de Uso Parte III: Caso de Uso de Negócio Vinicius Lourenço de Sousa vinicius.lourenco.sousa@gmail.com Atua no ramo de desenvolvimento de software há mais de

Leia mais

Transformação de modelos em processos de desenvolvimento de software

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

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

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais

AUTOMAÇÃO ESCRITÓRIOS

AUTOMAÇÃO ESCRITÓRIOS AUTOMAÇÃO DE ESCRITÓRIOS PESSOAS, WORKFLOWS,... AUTOMAÇÃO ESCRITÓRIOS Pode-se perceber mudanças no ambiente empresarial, no que concerne às tarefas básicas de um escritório. Algumas habilidades estão se

Leia mais