| Uma análise quantitativa utilizando
simulações de processos
Autor: Igor Steinmacher (*)
Sistemas Gerenciadores de Workflow (SGWf) têm atraído
muita atenção nos últimos anos, por serem baseados
em um modelo simples que permite definir, executar e monitorar a execução
de processos. Mas este esquema é um tanto quanto rígido
e inflexível, apresentando alguns problemas quando da necessidade
de sua utilização no controle de processos com características
cooperativas, em que o comportamento humano deve ser levado em conta.
Este tipo de processo deve apresentar uma certa flexibilidade de forma
a possibilitar a troca de resultados entre tarefas, acabando com a dependência
fim-início existente entre tarefas seqüenciais nos SGWfs tradicionais.
A fim de possibilitar tal flexibilidade, surge a antecipação
de tarefas, que tem por objetivo oferecer meios de flexibilizar o fluxo
de controle e o fluxo de dados para permitir que tarefas possam ser disparadas
antes mesmo da conclusão de suas antecessoras. A antecipação
implica no aumento da cooperação entre tarefas e em melhor
desempenho com relação ao tempo de execução
dos processos. O aumento na cooperação está relacionado
diretamente à troca de resultados, permitindo que duas ou mais
tarefas trabalhem sobre instâncias de um determinado dado que ainda
está sendo produzido. O melhor desempenho deve-se ao paralelismo
(parcial) criado entre tarefas que deveriam executar de maneira estritamente
seqüencial, devido ao disparo das tarefas antes do previsto. Este
trabalho então, visou um estudo das abordagens de flexibilização
de SGWfs, visando encontrar maneiras de prover antecipação
de tarefas.
Com a finalidade de verificar o desempenho da utilização
da antecipação de tarefas foram realizadas algumas simulações.
O resultado de tais simulações trouxe, em termos numéricos,
um comparativo entre a utilização e a não utilização
da antecipação de tarefas. A métrica utilizada tem
como base o tempo de execução dos processos. Para tal, foi
desenvolvido um simulador que suporta a antecipação de tarefas
e foram conduzidas simulações, que mostraram os ganhos (chegando
a 33% com relação ao tempo de execução) e
alguns padrões de comportamento da utilização da
antecipação de tarefas.
Ficou demonstrado que, para a antecipação
ser mais eficiente, é necessário que esta seja iniciada
antes da metade da execução das tarefas antecessoras. Mesmo
se houver esforço adicional a antecipação mostra-se
vantajosa para alguns casos. Antecipando-se tarefas próximo ao
final de suas antecessoras pode trazer perdas, se o esforço necessário
para tal antecipação existir.
As simulações realizadas variando o esforço
e o início da antecipação podem ser utilizadas para
limitar o período em que é permitida a antecipação
das tarefas. Estes resultados podem ser utilizados junto de uma análise
histórica de esforço devido à antecipação,
gerando um intervalo real em que a antecipação é
vantajosa.
Os resultados aqui apresentados dizem respeito apenas a
um dos pontos em que a antecipação pode trazer vantagens:
o tempo de execução. As vantagens de utilizar a antecipação
extrapolam esta aqui apresentada. Pode ser que, apesar de resultados em
termos de tempo não favoráveis, a antecipação
seja utilizada para aumentar a cooperação dentro do grupo
e a qualidade do produto final.
Para possibilitar o uso da antecipação em
processos reais foram realizadas alterações na ferramenta
de definição de processos Amaya Workflow e no protótipo
da máquina de workflow do projeto CEMT (Cooperative Environment
for Editing Multimedia Documents with Workflow Technology), um projeto
de pesquisa do Instituto de Informática da Universidade Federal
do Rio Grande do Sul.
(*) Este artigo é um resumo do trabalho “Task Anticipation:
A Quantitative Analisys Using Workflow Process Simulation", de autoria
do analista da Celepar, Igor Fabio Steinmacher, e do pesquisador da Universidade
Federal do Rio Grande do Sul, José Valdeni de Lima, que será
apresentado na 18ª Conferência Internacional de Engenharia
de Software e Engenharia de Conhecimento (SEKE), que se realizará
em San Francisco (Califórnia-EUA) entre 5 e 7 de julho.

|