ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
Modelagem de processos baseados em restrições: uma
comparação entre abordagens declarativas
Sauro Schaidt, Gustavo Dering Barddal, Eduardo Alves Portela Santos, Agnelo
Denis Vieira, Eduardo de Freitas Rocha Loures
PPGEPS e PPGTS – Pontifícia Universidade Católica do Paraná (PUCPR) Escola
Politécnica - 80.215-901 – Curitiba – PR – Brasil.
gustavo.barddal, eduardo.portela, agnelo.vieira, eduardo.loures,
sauro.schaidt}@pucpr.br
Abstract. Constraints based processes are modeled from a set of rules that
restrain their behavior to certain limits. The appropriate way to model such
processes is by declarative languages. Any language, ultimately, can be
converted in an automaton describing the allowed events sequences of a
process. The goal of this paper is to start a comparing between the automata
generated by three declarative languages: Declare, DCRGraphs and
Supervisory Control Theory (SCT). The comparing has been done from an
oncology treatment process modeling using the three approaches.
Resumo. Processos baseados em restrições são modelados a partir de um
conjunto de regras que restringem o seu comportamento a certos limites. A
forma adequada de modelar tais processos é através de linguagens
declarativas. Qualquer linguagem, em última análise, pode ser convertida em
um autômato que descreve as sequencias de eventos permitidas de um
processo. O objetivo deste artigo é iniciar uma comparação entre os
autômatos gerados por três linguagens declarativas: Declare, DCRGraphs e
Teoria de Controle de Supervisório (TCS). Esta comparação foi realizada a
partir da modelagem de um processo de tratamento oncológico com cada uma
das três abordagens.
1. Introdução
Dentre os diversos tipos de processos de negócio, dois são de particular interesse neste
artigo: os processos denominados fortemente estruturados (ou repetitivos) e os
processos baseados em conhecimento [Reichert et al. 2012]. Os processos baseados em
conhecimento podem ser ainda classificados em processos baseados em restrições e
processos baseados em dados. Processos fortemente estruturados são caracterizados pela
estruturação rígida da ordem entre as suas atividades com poucas alternativas de
execução para o usuário final, enquanto processos baseados em conhecimento são
caracterizados pela influência do usuário na determinação da sequência adequada do
processo [Van Der Aalst et. al 2009].
Os modelos imperativos são associados aos processos fortemente estruturados e os
modelos declarativos são associados aos processos baseados em conhecimento [Reichert
et al. 2012] [Pesic 2008] [Fahland et. al 2009, 2010]. Modelos imperativos impõem uma
ordem rígida entre as atividades enquanto modelos declarativos permitem especificar
58
ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
poucas regras entre as atividades [Pesic 2008]. Como exemplos de modelos imperativos
na representação de processos de negócio destacam-se o BPMN e as Redes de Petri
[Reichert et al. 2012]. Como exemplos de modelos declarativos destacam-se o
DECLARE [Pesic et. al. 2007], a Teoria de Controle Supervisório (TCS) [Ramadge et
al. 1987, 1989], o Dynamic Condition Response Graphs (DCRGraphs) [Hildebrandt et
al. 2011, 2012] entre outros.
Este artigo apresenta os resultados preliminares de um projeto de pesquisa que investiga
diferentes abordagens para modelagem de processos baseados em restrições. Em
particular, pretende-se comparar as linguagens admissíveis que descrevem as sequencias
de eventos que um processo pode executar empregando três abordagens distintas,
(DCRGraphs, Declare e TCS) na modelagem de um mesmo processo. As sequencias de
eventos são representadas por autômatos de forma que o objetivo da comparação é
identificar se os autômatos gerados por DCRGraphs, Declare e TCS possuem alguma
similaridade. Considerada a importância de linguagens declarativas e processos
baseados em restrições, a importância de tal estudo está no fato de tentar evidenciar
aspectos em comum entre as abordagens escolhidas, suas características e inter-relações.
A comparação das linguagens admissíveis visa estabelecer o grau de flexibilidade das
linguagens declarativas correspondentes. Pretende-se verificar se existe sequência de
eventos permitida em uma linguagem e não permitida em outra. Dessa forma, para um
mesmo conjunto de restrições, é possível que uma linguagem seja mais restritiva (menos
flexível) que outra.
2. Exemplo de aplicação
O processo escolhido para análise corresponde a um processo de tratamento oncológico
hospitalar [Hildebrandt et al. 2011]. As Tabelas 1 e 2 apresentam respectivamente as
três atividades que constituem o processo e as quatro restrições impostas ao mesmo. O
médico deve preencher e assinar a prescrição médica enquanto o enfermeiro é
responsável por ministrar a medicação prescrita pelo médico e estas ações devem
ocorrer obedecendo algumas restrições de ordem.
3. Modelagem utilizando Declare, DCRGraphs e TCS
A seguir será apresentada a modelagem do processo de tratamento de acordo com os três
modelos citados anteriormente.
3.1. Declare
Declare é um sistema de modelagem e execução de processos baseados em restrições
[Pesic et. al. 2008]. Utiliza a Lógica Linear Temporal (LTL) para representar as
restrições. Declare oferece um conjunto com mais de 20 modelos de restrições. Os
modelos gráficos de atividades e restrições do Declare são convertidos em autômatos
para suporte a execução e verificação do processo (conflito, bloqueio, atividades mortas)
[Pesic et. al. 2007][Pesic 2008].
A Figura 1 apresenta o processo de tratamento oncológico hospitalar modelado no
Declare. Para modelar as quatro restrições do processo foram utilizados dois modelos de
restrições disponíveis: precedence(a,b) e reponse(a,b). O modelo precedence(a,b)
estabelece que todas as instâncias de execução de b só poderão ocorrer depois que a
59
ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
tiver sido executado pelo menos uma vez [Pesic 2008] – este modelo foi usado para
modelar as restrições R1 = precedence(a1,a2) e R4 = precedente(a2, a3).
Tabela 1. Atividades do processo de tratamento oncológico
Nome
a1
prescrever medicação
a2
assinar prescrição
a3
dar medicação
Descrição
Registrar no histórico do paciente quais medicamentos devem ser
ministrados a ele.
Assinar as prescrições já emitidas.
Medicar o paciente de acordo com a prescrição emitida e
assinada pelo médico.
Tabela 2. Restrições do processo de tratamento oncológico
Nome
Descrição
R1
prescrever medicação (a1) deve ser executada antes que assinar prescrição (a2)
seja executada.
R2
prescrever medicação (a1) não precisa ser executada, mas se prescrever
medicação (a1) for executada então assinar prescrição (a2) deve ser executada.
R3
prescrever medicação (a1) não precisa ser executada, mas se prescrever
medicação (a1) for executada então dar medicação (a3) deve ser executada
R4
assinar prescrição (a2) deve ser executada antes que dar medicação (a3) seja
executada
Figura 1. Processo de tratamento oncológico modelado no Declare
O modelo response(a,b) estabelece que a não precisa ser executada, mas se ocorrer uma
sequência de uma ou mais execuções de a então b deve ser executada depois, pelo
menos uma vez [Pesic 2008] - este modelo foi usado para modelar as restrições R2 =
response(a1, a2) e R3 = response(a1, a3). Cada atividade no Declare é composta de três
eventos: iniciar (si), completar (ci) e cancelar (xi). Assim, uma atividade a1 terá os
eventos s1, c1 e x1. A Figura 2 apresenta o autômato gerado por Declare, para a
modelagem apresentada na Figura 1, com as transições rotuladas com os eventos do
processo. A linguagem reconhecida deste autômato engloba as sequencias de eventos
que levam a um estado marcado (1 e 6). As sequencias que levam ao estado não coacessivel 2 representam sequencias que violam as restrições, por exemplo, a sequencias
s1.s2 e s1.c1.s3 levam ao estado 2 e portanto violam as restrições.
3.2. DCRGraphs
No modelo DCRGraphs cada atividade é uma unidade atômica de forma que a sua
execução é representada por um único evento com significado equivalente a sua
60
ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
finalização. As restrições impostas ao processo são representadas por relações sobre o
conjunto de eventos [Hildebrandt et al. 2011, 2012]. A Figura 3 apresenta o processo de
tratamento oncológico hospitalar modelado no ambiente Process Model [Hildebrandt et
al. 2011]. A restrição R1 é modelada usando a operação causalidade(a1,a2) que
especifica que a deve preceder b; R2 é modelada usando a operação resposta(a1,a2) que
especifica que se a é executada então b deve ser executada; R3 foi modelada usando a
operação resposta(a1,a3), e R4 foi modelada usando a operação causalidade(a2,a3).
Figura 2. Autômato gerado por Declare
Os autômatos gerados por DCRGraph possuem transições cujos rótulos são o próprio
nome da atividade [Hildebrandt et al. 2011]. Isso significa que a ocorrência de uma
transição em um autômato gerado pelo DCRGraph é equivalente a execução completa
de uma atividade ai, o que por sua vez é equivalente a ocorrência do evento completar
(ci) da mesma atividades ai quando modelada no Declare. Como há equivalência entre
as nomenclaturas e por questão de padronização, adotamos a nomenclatura ci para
rotular os eventos dos autômatos gerados pelo DCRGraphs. A Figura 4 apresenta o
autômato gerado por DCRGraphs para a modelagem apresentada na Figura 3. Portanto,
para sair do estado s0 e atingir o estado s1, é necessário que ocorra o evento c1, ou seja,
que a atividade a1 seja completada. O mesmo raciocínio serve para as demais
transições. A linguagem reconhecida deste autômato engloba as sequencias de eventos
que levam a um estado marcado (s0 e s4), que correspondem aquelas sequencias que
não violam as restrições impostas.
3.3. Teoria de Controle Supervisório
A Teoria de Controle Supervisório (TCS) foi desenvolvida como uma metodologia
formal para a síntese automática de controladores para sistemas a eventos discretos
(SED). Nesta teoria supõe-se que um conjunto de atividades tem um comportamento
que possa violar restrições do sistema, de forma que o comportamento do sistema deve
ser modificado através de um agente de controle denominado supervisor. O supervisor
mapeia a sequência de eventos que ocorreram no processo e atua sobre o conjunto de
atividades impedindo a execução de eventos a fim de que o sistema não viole as
restrições impostas [Ramadge et al. 1987, 1989]. Para aplicar a TCS na modelagem de
processos baseados em restrições é necessário obter dois modelos: o modelo das
atividades que constituem o processo (G) e o modelo das especificações que restringem
o comportametno do mesmo (E) [Ramadge et al. 1989] [Schaidt et al. 2013]. Cada
61
ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
atividade pode ser representada por um autômato de dois estados: o estado "1"
representa que a atividade está sendo executada e "0" a atividade está aguadando a
entrada de uma instância (inativa). A Figura 5 apresenta o autômato que representa uma
atividade, onde i é um subíndice que identifica a atividade em questão. Os eventos
apresentam o seguinte siginificado: si - início da atividade, ci - conclusão da atividade,
xi - cancelamento da atividade. A TCS estabelece o conceito de controlabilidade de
eventos. Um evento é controlável se sua ocorrrência pode ser impedida pelo supervisor,
e não-controlável em caso contrário. Considera-se controlável apenas o evento si.
Figura 3. Processo de tratamento oncológico modelado no DCRGraph
Figura 4. Autômato gerado por DCRGraph
Figura 5. Autômato que representa a atividade ti
Cada uma das três atividades, a1, a2 e a3 do processo de tratamento oncológico é
representada por um autômato correspondente. Para a construção dos autômatos
utilizou-se o software IDES [Rudie 2006]. A Figura 6 apresenta os autômatos das
atividades. O produto síncrono calculado através do IDES gerou o autômato G com 8
estados e 24 transições. Cada restrição deve ser representada por um autômato [Santos
et al. 2012] [Schaidt et al. 2013]. A Figura 7 apresenta os autômatos de cada uma das
quatro restrições e o produto síncrono entre estas denominado R.
Figura 6. Autômatos das atividades e o produto síncrono resultante
62
ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
Figura 7. Autômatos das restrições e produto síncrono correspondente
4. Comparação de resultados
O comportamento apresentado pelo processo quando submetido a um conjunto de
restrições corresponde a uma linguagem regular que por sua vez pode ser representada
através de autômato [Hopcroft et al. 2002]. Neste artigo, a comparação do
comportamento do processo quando modelado segundo as diferentes abordagens foi
realizada através da comparação dos respectivos autômatos gerados. Os autômatos
analisados foram o da Figura 2 (Declare), da Figura 4 (DCRGraphs) e o autômato R da
Figura 7 (TCS).
Sobre a linguagem representada pelo autômato Declare foi realizada a operação de
projeção sobre o alfabeto {c1, c2, c3} com o objetivo de excluir as possíveis sequências
de eventos constituídas por eventos em {s1, x1, s2, x2, s3, x3} preservando, contudo, as
sequências constituídas por eventos em {c1, c2, c3}. Esta operação é necessária para
poder comparar o resultado obtido com o Declare e o DCRGraphs, pois neste último o
modelo do processo considera apenas os eventos {c1, c2, c3}. O resultado desta
operação é representado pelo autômato P_Declare (Figura 8). Deste autômato foram
excluídos os estados que não são co-acessíveis [Hopcroft et al. 2002]. Estados que não
são co-acessíveis (a partir dos quais não é possível atingir um estado marcado)
representam uma situação de bloqueio do sistema. Durante a execução do processo o
sistema computacional Declare impede a ocorrência de eventos que conduzam a tais
estados, desta forma a representação dos mesmos é desnecessária. O resultado desta
operação resulta no autômato TP_Declare (Figura 8).
A Teoria de linguagens e autômatos estabelece que dois autômatos são equivalentes
quando reconhecem a mesma linguagem e que existe uma representação única para tais
autômatos que emprega um número mínimo de estados. Este é denominado autômato
mínimo. Sobre o autômato TP_Declare foi realiza a operação de minimização
resultando no próprio autômato. Sobre o autômato DCRGraphs foi realizada a operação
de minimização resultando no autômato M_DCRGraphs (Figura 9).
63
ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
Figura 8. Autômatos P_Declare e TP_Declare
Figura 9. Autômato M_DCRGraphs
Analisando os autômatos TP_Declare, M_DCRGraphs e TCS (autômato R da Figura 7)
concluímos que eles são isomorfos e que portanto reconhecem a mesma linguagem. O
autômato TCS utilizado é o produto síncrono das restrições apresentadas na Figura 7, o
que nos permite concluir que, para este caso em particular, podemos utilizar tanto o
autômato TP_Declare como o autômato M_DCRGraphs como especificação para
sintetizar o autômato do supervisor na abordagem TCS. Esta análise, no entanto, ainda
não pode ser generalizada para todos os modelos de processos por não termos uma
comprovação formal de que tal equivalência é válida para o caso geral.
5. Conclusão e trabalhos futuros
O presente artigo apresenta a modelagem de um processo de tratamento oncológico
usando três abordagens distintas, Declare/LTL, DCRGraphs e TCS, a fim de comparar
os autômatos gerados. Os resultados apontaram que, especificamente para o caso do
processo de tratamento oncológico, aplicando um conjunto de operações conhecidas
sobre os autômatos Declare e sobre o autômato DCRGraphs, obtém-se um autômato
igual ao produto síncrono das restrições na abordagem TCS. Este resultado não deve ser
generalizado ainda, dependendo de futuro estudo para se compreender se tal
generalização pode ser feita ou não. Se tal generalização for possível, então pode haver
uma equivalência entre estas três abordagens e isso deve conduzir a um estudo mais
avançado para verificar se, de fato, há ou não diferenças no poder de representação ou
de execução de cada uma.
Referências
Fahland, D., Lubke, D., Mendling, J., Reijers, H., Weber, B., e Weidlich, M., Zugal, S.,
2009, “Declarative versus imperative process modeling languages: The issue of
64
ISSN 2177-885X (Vol. 2) WBPM
X SBSI - Londrina, Brasil - Maio 2014
understandability”, In: Enterprise, Business-Process and Information Systems Modeling,
Springer, 353-366.
Fahland, D., Mendling, J., Reijers, H.A., Weber, B., Weidlich, M., e Zugal, S., (2010),
“Declarative versus imperative process modeling languages: the issue of
maintainability,” In: Business Process Management Workshops, Springer, 477-488.
Hildebrandt, T. T., e Mukkamala, R. R., 2011, “Declarative Event-Based Workflow as
Distributed Dynamic Condition Response Graphs,” Electronic Proceedings in
Theoretical Computer Science, 69, 59-73. doi:10.4204/EPTCS.69.5.
Hildebrandt, T., Mukkamala, R., e Slaats, T., 2012,” Nested Dynamic Condition
Response Graphs,” In F. Arbab & M. Sirjani (Eds.), Fundamentals of Software
Engineering SE - 23, vol. 7141, 343-350. Springer Berlin Heidelberg. doi:10.1007/9783-642-29320-7_23.
Hopcroft, J.E.; Motwani, R.; Ullman, J.D.; 2002. Introdução à Teoria de Autômatos,
Linguagens e Computação. Ed. Campus.
Pesic, M., Schonenberg, H., van der Aalst, W.M., 2007, “Declare: Full support for
loosely structured processes,” In: Enterprise Distributed Object Computing Conference,
EDOC 2007, 11th IEEE International, 287-287.
Pesic, M., 2008, “Constraint-based workflow management systems: shifting control to
users,” Ph.D. dissertation, The Eindhoven University of Technology.
Ramadge, P.J., e Wonham, W.M., 1987, “Supervisory control of a class of discrete
event processes,” SIAM journal on control and optimization 25(1), 206-230.
Ramadge, P.J., Wonham, W.M., 1989, “The control of discrete event systems,”
Proceedings of the IEEE 77(1), 81-98.
Reichert, M.U., e Weber, B., 2012, “Enabling flexibility in process-aware information
systems: challenges, methods, technologies”, Springer.
Rudie, K. “The Integrated Discrete-Event Systems Tool”. Proceedings of the 8th
International Workshop on Discrete Event Systems, Ann Arbor, Michigan, USA, p. 1012, Julho 2006.
Santos, E., Francisco, R., Vieira, A., Loures, E., e Busetti, M., 2012, “Modeling
business rules for supervisory control of process-aware information systems,” In
Business Process Management Workshops (BPM 2011) - Lecture Notes in Business
Information Processing, Springer, number 100, 447-458.
Schaidt, S., Vieira, A.D., Loures, E.d.F.R., Santos, E.A.P., 2013, “Processos baseados
em Restrições: uma Aplicação da Teoria de Controle Supervisório,” 9° Simpósio
Brasileiro de Sistemas de Informação, João Pessoa –PB- Brasil, Maio/2013.
Van Der Aalst, W.M., Pesic, M., e Schonenberg, H., 2009, “Declarative workflows:
Balancing between flexibility and support,” Computer Science-Research and
Development, 23(2), 99-113.
65
Download

Modelagem de processos baseados em restrições: uma