g
y
p
Lógica Modal Aplicada
a Grafo a Eventos
Modal Logic Applied to Events Graph
JOSÉ CARLOS MAGOSSI
Universidade Metodista de Piracicaba e
Faculdade de Tecnologia de Americana (CEETEPS)
[email protected]
RESUMO – O objetivo deste texto é mostrar uma aplicação de um sistema lógico modal, denominado sistema lógico NK,
na modelagem de grafos a eventos (classe particular de redes de Petri). Esses modelos lógicos de grafos a eventos aplicamse, por sua vez, em análise de especificações de sistemas dinâmicos a eventos discretos. Dada uma especificação (descrição
de alguma restrição do sistema), utiliza-se das ferramentas advindas do sistema lógico NK, particularmente o método
tableau analítico, para verificar se a especificação é satisfeita ou não no sistema modelado. Após noções sobre grafo a
eventos, sistema lógico NK e a relação entre eles, um exemplo simples é exposto ao final. A principal característica deste
texto consiste em explicar o processo de modelagem de grafo a eventos por meio de fórmulas do sistema lógico NK de
maneira sucinta, sem abusar de demonstrações, esperando, com isso, que o estudante iniciante possa adquirir algum
conhecimento em questões que envolvam lógica e grafo a eventos.
Palavras-chave: LÓGICA MODAL – TABLEAUX – REDES DE PETRI – GRAFO A EVENTOS – SISTEMAS DINÂMICOS – EVENTOS
DISCRETOS.
ABSTRACT – The objective of this paper is to show how we can apply modal logic, named NK-logical system, to events
graphs (particularly class of Petri nets). Those events graphs logical models are applied in turn to the verification of specification of discrete event dynamic systems. Given an specification (a description of a certain system constraint), we are
able to use tools taken from the NK-logical system (especially analytic tableau) to verifies if the specification is satisfiable
or not in the modeled system. After showing notions of events graph, NK-logical system and the relation between them,
we present in the end a simple example. Our aim is to explain the events graph modeling process in a direct way rather
than through many proofs. We hope with this that beginners will be able to get some knowledge on logic and eventsgraph related matters.
Keywords: MODAL LOGIC – TABLEAUX – PETRI NETS – EVENTS GRAPH – DYNAMIC SYSTEM – DISCRETE EVENT.
REVISTA DE CIÊNCIA & TECNOLOGIA • V. 8, Nº 16 – pp. 65-76
65
g
y
p
INTRODUÇÃO
E
ste texto tem por objetivo explicar o processo
de modelagem de grafo a eventos via lógica
modal. Tais modelos aplicam-se em sistemas
de manufatura, automação industrial etc. Como as
aplicações desses modelos lógicos são direcionadas a
sistemas dinâmicos, num primeiro momento, é feito
um breve relato sobre sistemas dinâmicos e análise
de verificações em sistemas dinâmicos a eventos discretos. Na seqüência, são abordados grafos a eventos, o sistema lógico NK, a relação entre eles e, ao
final, faz-se uma aplicação a sistemas dinâmicos a
eventos discretos.
Sistemas Dinâmicos
Um sistema pode ser descrito como um aglomerado de coisas; ele é dinâmico se houver uma
evolução delas com o passar do tempo. Os sistemas
dinâmicos podem ser divididos em duas classes:
contínuos e discretos (Cassandras, 1993). Os sistemas contínuos são aqueles cuja evolução é medida
em função de componentes contínuos (como o
tempo) e sistemas discretos têm a sua evolução
medida em função de componentes discretos. Um
sistema caracterizado, por exemplo, pelo fluxo de
óleo em uma tubulação será um sistema contínuo se
a quantidade de fluído for o fator de sua evolução.
Já um sistema de montagem de peças, em uma
fábrica de cadeiras, será discreto se o número de
cadeiras montadas for o fator de sua evolução.
Entre os sistemas dinâmicos discretos estão aqueles
cuja dinâmica é dirigida pela ocorrência de eventos
discretos, chamados sistemas dinâmicos a eventos
discretos (SDED) (Baccelli et al., 1991 e Cohen et
al., 1989).
A ocorrência de um evento pode ser entendida como o acontecimento de uma situação declarativa, ou seja, algo que pode ser identificado como
ocorrido, ou não ocorrido, como sim, ou não. Um
evento é um acontecimento instantâneo, que não
tem tempo, apenas caracteriza um marco entre o
acontecer e o não acontecer. Exemplos de eventos
bastante simples: ligar a chave de uma máquina,
desligar a chave de uma máquina, aberto ou
fechado, quebrado ou não quebrado etc. Sistemas
cuja dinâmica é dirigida pela ocorrência de eventos
são muito difundidos atualmente, por conta da
66
quantidade de situações nas quais predomina o
caráter discreto, como no caso de redes de computadores, sistemas de manufaturas, automação industrial etc. Em resumo, qualquer sistema envolvendo
uma quantidade discreta de componentes, de tal
forma que a evolução seja medida em função da
ocorrência de eventos discretos, é denominado sistema dinâmico a eventos discretos.
Uma questão importante relacionada aos
modelos de SDED é a capacidade deles de desempenhar tarefas que sirvam para verificar especificações do sistema. A verificação de especificações em
sistemas dinâmicos significa analisar se determinada
condição (restrição ao sistema) é satisfeita ou não no
sistema. Por exemplo, um SDED que representa
uma seqüência de máquinas numa fábrica com a
seguinte restrição: a máquina de número 4 não
pode iniciar suas operações antes que as máquinas
de números 1, 2 e 3 tenham terminado suas tarefas.
Esse é um caso de restrição, que pode representar,
entre outros, uma fábrica de cadeiras em que a
máquina 4 faz a montagem final da cadeira e a
máquinas 1, 2 e 3 fazem o assento, a base e o
encosto, respectivamente.
O processo de verificação de especificações
consiste na análise da satisfação ou não de certa
especificação do sistema, tendo um modelo como
base. No exemplo citado, independentemente da
ferramenta escolhida para a modelagem, deve-se
contemplar a restrição, sob pena de se ter cadeiras
sem encosto, cadeiras sem assento etc. No entanto,
algumas especificações podem não estar tão explícitas e só no decorrer do processo de manufatura (ou
automação) se percebe que alguma condição tem de
ser satisfeita. Por isso, o desenvolvimento de ferramentas capazes de fazer análise é muito útil e difundido atualmente.
O estudo aqui apresentado fundamenta-se,
para as aplicações práticas, na análise de sistemas
dinâmicos a eventos discretos. Nesse processo, devese primeiramente definir o processo de modelagem
do sistema dinâmico, ou seja, a linguagem utilizada
para descrever os sistemas dinâmicos envolvidos, e, a
partir daí, fazer a análise de verificações.
Existem muitas maneiras de se modelar sistemas dinâmicos; a utilizada neste trabalho fundamenta-se em grafo a eventos. O sistema lógico NK (a
Dezembro • 2000
g
y
p
ser exibido) servirá de ferramenta de análise de
verificações, partindo de modelos via grafo a eventos.
um grafo a eventos, com dois lugares e três transições. Os lugares são denotados por p1 e p2. As transições são denotadas por t1, t2 e t3.
Fig. 1. Grafo a eventos.
DESENVOLVIMENTO
Os modelos baseados em redes de Petri foram
desenvolvidos por C.A. Petri, em 1962, e podem ser
encontrados em textos de Peterson (1981), Murata
(1989) e Cassandras (1993). Desde então, muito se
tem desenvolvido no que diz respeito a redes de
Petri, principalmente pela versatilidade de análise
que essa técnica matemática de representação de sistemas permite, incluindo a modelagem de sistemas
paralelos, não determinísticos, assíncronos, concorrentes etc. Este trabalho se interessa por uma classe
particular de redes de Petri, denominada Grafo a
Eventos, útil na modelagem de sistemas a eventos
discretos (Cassandras, 1993; Peterson, 1981; e
Murata, 1989).
No presente estudo, os grafos a eventos
podem ser vistos como constituídos de cinco elementos fundamentais: um conjunto de lugares, um
conjunto de transições, um conjunto de arcos, uma
marcação inicial e uma temporização. Os lugares
são utilizados para representar o estado do sistema e
as condições que habilitam as ocorrências dos eventos. As transições estão associadas aos eventos. Em
grafos a eventos temporizados, as ocorrências de
eventos relacionam-se aos disparos das transições.
Costuma-se rotular um tipo de evento pelo nome
da transição correspondente.
Para que uma transição dispare,1 algumas
condições devem ser satisfeitas. As informações
referentes a essas condições estão contidas nos lugares do grafo. Alguns deles são vistos como entrada
da transição e a eles estão associadas as condições
exigidas para que a transição se torne habilitada a
disparar. Outros lugares são vistos como saída de
uma transição e a eles se relacionam condições que
serão afetadas com o disparo da transição. Transições, lugares e relações entre eles constituem os
componentes básicos de um grafo a eventos. A
figura 1 mostra uma típica representação gráfica de
1 O disparo de uma transição representa a ocorrência do evento associado à transição, cujo nome é o nome da transição.
REVISTA DE CIÊNCIA & TECNOLOGIA • V. 8, Nº 16 – pp. 65-76
A transição t1 recebe o nome de transição de
entrada da rede (ou do grafo a eventos) ou transição
de entrada do lugar p1; a transição de saída da rede é
indicada por t3, que também é a transição de saída
do lugar p2. Os arcos indicam as relações entre lugares e transições. Por exemplo, a realização da ação
representada pela transição t2 está associada às
informações contidas no lugar p1. Por outro lado, as
informações contidas no lugar p2 serão alteradas
assim que ocorrer a ação designada em t2. As
marcações no lugar p1 representam a condição de
habilitação da transição t2 (simbolizada pela ficha •)
e o tempo de espera gasto antes da habilitação da
transição t2 (simbolizado pela barra ). Essas marcações constituem parametrizações e são formalmente
representadas como pares (n,t), em que n representa
a condição de habilitação e t, o tempo de espera. A
definição formal de um grafo a eventos é dada a
seguir.
Definição 1: Um grafo a eventos é uma quíntupla
<P, T, A, w, X>, de tal forma que:
• P é um conjunto finito de lugares;
• T é um conjunto finito de transições;
• A é um conjunto de arcos, o qual é um subconjunto de (P × T) ∪ (T × P);
• w é uma função peso, w: A → {1};
¥ X é uma parametrização, ou seja, uma função
X: P→N×N.
O processo dinâmico de um grafo a eventos é
exemplificado na figura 2.
67
g
y
p
Fig. 2. Processo dinâmico.
Grafo A
Grafo B
Na figura 2, a transição t2 do grafo a eventos
A está habilitada a disparar, devendo aguardar uma
unidade de tempo antes do disparo. Após o disparo,
a transição t2 consome uma ficha e passa esta ao
lugar p2 (como mostra o grafo a eventos B). O cará-
ter dinâmico em um grafo a eventos é determinado
pela circulação das fichas.
De modo geral, uma transição habilitada consumirá tantas fichas quantos forem os lugares de sua
chegada e distribui tantas fichas quantos forem os
lugares de sua saída (Cassandras, 1993). A figura 3
ilustra tal procedimento.
Na figura 3, a seqüência (Grafo A)→(Grafo
B)→(Grafo C) determina a evolução dinâmica do
grafo a eventos. No Grafo A, a transição t4 está
habilitada, ou seja, os lugares p1, p2 e p3 fornecem
condições para que o evento associado à transição t4
ocorra. Essas condições são representadas pela
ocorrência de fichas em todos os lugares de entrada
de t4. Assim, após a espera de uma unidade de
tempo (condição em p3), a transição t4 torna-se apta
a disparar.
Fig. 3. Comportamento dinâmico de um grafo a eventos.
Grafo C
68
Dezembro • 2000
g
y
p
Depois do disparo, tem-se o grafo B, em que
uma ficha é consumida de cada lugar de entrada de
t4 e uma ficha é distribuída para cada lugar de saída
de t4.2 No grafo B, a transição t4 ainda continua
habilitada, ou seja, o evento associado à transição t4
pode ocorrer a qualquer momento. Após o disparo
da transição t4 no grafo B, é consumida uma ficha de
cada lugar de entrada de t4 e distribuída uma ficha
para cada lugar de saída de t4. Nota-se que as barras
representando unidades de tempo não se deslocam
no decorrer do processo, e sim permanecem onde
são alocadas no modelo inicial. O grafo C indica a
situação depois do disparo da transição t4 no grafo B
e do consumo de uma unidade de tempo. Já no
grafo C, a transição t4 não está habilitada. Em B e em
C, as transições t5 e t6 estão habilitadas.
Em resumo, partindo de um sistema dinâmico
a eventos discretos, um grafo a eventos é uma ferramenta que se adapta à sua modelagem.
Fig. 4. Processo de Modelagem.
associada ao evento “atendimento do paciente”.
Note que se essa transição estiver habilitada significa
que o paciente na sala de espera pode ser atendido.
Assim que ele for atendido, a transição deixa de estar
habilitada. O lugar p2 representa o médico. Se nesse
lugar houver uma ficha, então o médico está ocioso;
caso contrário, está atendendo. O lugar p3 representa
a sala de consultas. Uma barra indica o tempo dispensado para o atendimento. O lugar p4 é a saída e as
condições para possíveis contatos com as secretárias
dos médicos. A transição t3 estará habilitada sempre
que a consulta terminar, fazendo com que o médico
volte a ficar ocioso, dando margem a que um outro
paciente, do lugar p1, seja atendido. A figura 6 traz
uma possível seqüência de um consultório, com o
dinamismo do grafo a eventos.
Fig. 5. Grafo a eventos do exemplo 1.
Sistema
Dinâmico
Modelo via grafo a eventos
O exemplo seguinte é simples, com preocupação voltada à elucidação do processo de modelagem,
e não à resolução de problemas de grande porte.
Exemplo 1: Pretende-se analisar o fluxo de pacientes juntamente com a disponibilidade de um médico
em um consultório. Espera-se responder perguntas
tais como:
i) Quantos pacientes foram atendidos em um
determinado período de tempo?
ii) Quando determinado paciente será atendido?
Um modelo que forneça essas respostas com
precisão será projetado, utilizando-se para isso um
grafo a eventos (ver fig. 5).
No grafo a eventos da figura 5, o lugar p1
representa os pacientes na sala de espera, aguardando
serem chamados para a consulta. A transição t2 está
2
A situação de consumo e distribuição de fichas é diferente quando
se trata de redes de Petri (não de grafo a eventos), pois nelas a função
peso pode ser diferente de um. Então, o consumo e a distribuição de
fichas relacionam-se diretamente com a função peso de cada arco
(Cassandras, 1993).
REVISTA DE CIÊNCIA & TECNOLOGIA • V. 8, Nº 16 – pp. 65-76
A seqüência da figura 6 mostra que dois pacientes estão na sala de espera enquanto o médico está
ocioso (grafo A). No grafo B, o primeiro paciente é
atendido e o médico deixa de estar ocioso (sai uma
ficha do lugar p1 e do lugar p2), entra uma ficha no
lugar p3 (o médico está atendendo o paciente). Uma
unidade de tempo é requerida para o lugar p3 (tempo
de demora da consulta). Ainda em B, a transição t3
está habilitada, o que significa que a secretária está
pronta para receber o paciente após a consulta. Já no
grafo C, o paciente deixa a sala de consultas, habilita
a transição t4 (saída do consultório) e habilita a transição t2 (um novo paciente pode ser atendido), pois
uma ficha é colocada no lugar p2 (indicando que o
médico está ocioso). Tal esquema caracteriza o processo dinâmico desse grafo a eventos que modela o
problema do consultório médico.
69
g
y
p
Fig. 6. Evolução dinâmica do grafo do exemplo 1.
Partindo de uma simples simulação, possível
nesse exemplo, verifica-se que o gráfico 1, no plano
de 2 dimensões, representa o comportamento dos
disparos da transição t4, ou seja, a trajetória dos disparos e seus tempos correspondentes. Nesse gráfico,
a abscissa representa os disparos das transições e a
ordenada, o tempo de disparo das transições. A
cada transição do grafo a eventos pode-se associar
um conjunto de informações disponíveis sobre as
ocorrências de eventos relacionados a essa transição.
Esse conjunto será chamado pelo nome da transição. Por exemplo, se “tj” é o nome de uma transição, então tj representa, num gráfico de duas
dimensões, o conjunto de informações disponíveis
sobre as ocorrências de eventos relacionados a essa
transição. Esse elemento tj descreve o comportamento dinâmico da trajetória de disparos associada
à transição de nome “tj” (Cohen et al., 1989).
Esse gráfico responde às perguntas iniciais do
exemplo 1. O ponto (3,4) pode, no caso, ser lido
como:
• o terceiro disparo da transição t4 ocorreu, no
mínimo, no instante 4; ou
• no instante 4 ocorreram, no máximo, três disparos.
Assim, para saber quantos pacientes foram
atendidos num determinado período de tempo, é
necessária uma simples análise do gráfico. Do
mesmo modo, é possível, por esse gráfico, visualizar
70
quando o n-ésimo paciente será atendido. A descrição da trajetória de transições de um grafo a
eventos em um gráfico de duas dimensões nem
sempre é uma tarefa simples e imediata - detalhes
mais sofisticados podem ser encontrados em Cohen
et al. (1989), Baccelli et al. (1991) e Magossi (1998).
No entanto, para o grafo a eventos da figura
5, não é tão difícil visualizar a trajetória da transição
t4 num gráfico de duas dimensões. Nota-se que, ao
se acrescentar uma ficha no lugar p1, a transição t2
ficará habilitada. Após o disparo da transição t2, o
lugar p2 terá uma ficha e uma barra (representando
uma unidade de tempo). Isso acarretará uma
demora de uma unidade de tempo antes que a transição t3 dispare. O disparo de t3 acarreta a inclusão
de uma ficha no lugar p3, habilitando a transição t4.
Assim, a cada ficha colocada em p1, sai uma ficha
em t4 com o atraso de uma unidade.
Verifica-se, então, que o primeiro disparo
ocorre no mínimo em 2 unidades de tempo, uma
referente ao 0-ésimo disparo, e outra referente ao
primeiro disparo. Ou seja, o 0-ésimo disparo
ocorre, no mínimo, em uma unidade de tempo; o
primeiro disparo ocorre, no mínimo, em 2 unidades
de tempo (a primeira, que já existia, mais uma); o
segundo disparo ocorre, no mínimo, em 3 unidades
de tempo; o terceiro disparo ocorre, no mínimo,
em 4 unidades de tempo; e assim sucessivamente.
Dezembro • 2000
g
y
p
Grafico 1. Trajetória da transição t4 do exemplo 1.
Sistema lógico NK
Nessa seção, apresenta-se o sistema lógico que
será utilizado para modelar grafo a eventos. Inicialmente, há uma apresentação da lógica NK e dos
métodos de demonstração, adotados na análise de
sistemas dinâmicos. Segue-se explicitando a maneira
de descrever grafo a eventos via lógica NK.
A lógica modal proposicional NK será apresentada do ponto de vista dos tableaux analíticos.
Há grande variedade de sistemas modais na literatura. Revisões compreensivas são dadas por Hughes
& Cresswell (1968 e 1984) e por Fitting (1983). O
sistema proposto nesse trabalho foi desenvolvido
visando especificamente a modelagem de grafo a
eventos. Avalia-se que pode ser facilmente estendido, de modo a descrever sistemas mais complexos. O ponto de vista dos tableaux analíticos,
difundido por Smullyan (1968) e, posteriormente,
empregado por Bell & Machover (1977) e Fitting
(1983 e 1990), constitui uma alternativa à apresentação de um sistema lógico através de axiomas. Sua
principal vantagem é a simplicidade no desenvolvimento das provas de uma fórmula válida. Basicamente, o método do tableau é uma prova por
refutação, ou seja, tenta-se falsear a fórmula que se
deseja provar e, caso isso resulte em contradição,
deduz-se que a fórmula é válida. A seguir, são apresentados os principais elementos do sistema lógico
NK e algumas de suas propriedades.
A linguagem da lógica modal proposicional
NK tem um alfabeto consistindo de:
a) variáveis proposicionais - letras minúsculas x, y,
z, p, q, r, ...;
b) conectivos - G, D, ¬, →;
c) sinais de pontuação - (e);
REVISTA DE CIÊNCIA & TECNOLOGIA • V. 8, Nº 16 – pp. 65-76
d) constante lógica - ⊥.
Observação: os conectivos G e D são operadores modais. Eles têm comportamentos semelhantes aos dos operadores modais clássicos de
necessidade (Fitting, 1983), a menos que se apliquem a um único mundo possível acessível, ao
passo que os operadores modais clássicos aplicam-se
a infinitos mundos possíveis acessíveis. Os conectivos ¬ e → são a negação e a condicional clássicas,
respectivamente.
O conjunto F das fórmulas da linguagem é
definido como segue:
i) qualquer variável proposicional pertence a F;
ii) se X e Y pertencem a F, então (X → Y) também
pertence a F;
iii) se X pertence a F, então ¬X, GX e DX também
pertencem a F;
iv) só é fórmula o que advém das condições i), ii) e
iii) acima descritas.
A semântica de uma lógica modal estende,
usualmente, a semântica da lógica proposicional
clássica através da definição de um conjunto W,
comumente denominado conjunto dos mundos
possíveis, e uma (ou mais) relações entre seus elementos. Ao se interpretar a lógica, diz-se que uma
fórmula é verdadeira ou não num mundo possível,
sendo admissível que essa fórmula seja verdadeira
num mundo e falsa em outro, na mesma interpretação ou modelo. O que distingue uma lógica modal
de outra é o tipo de relação admissível entre os elementos de W. Na lógica NK, serão consideradas
duas relações binárias R e S, satisfazendo à propriedade: para todo w∈W, existem w', w'', w''' únicos e
distintos tais que wRw', wSw'', w''Rw''' e w'Sw'''.
Essas relações permitem estabelecer uma correspondência biunívoca entre qualquer W admissível e o conjunto Z2 dos pares ordenados de inteiros.
Conseqüentemente, os elementos de W serão associados a pares ordenados de inteiros: W = {w(i,j)
(i,j) ∈ Z2}.
Mais rigorosamente, um modelo proposicional modal para NK é uma quadra <W,R,S,V>,
onde W é um conjunto de mundos possíveis, V é
uma função valoração de F×W em {t,f} e R e S são
relações binárias em W, de tal forma que as seguintes
condições sejam satisfeitas, para quaisquer fórmulas
X e Y:
71
g
y
p
a) se X for uma variável proposicional, V(X,w)=t
ou V(X,w)=f, mas não ambos;3
b) V((¬X),w)=t sse V(X,w)=f;
c) V((X→Y),w)=t sse V(X,w)=f ou V(Y,w)=t;
d) V(DX,w) = t sse para w' ∈ W tal que wSw' temse V(X,w')=t;
e) V(GX,w) = t sse para w'∈ W tal que wRw' temse V(X,w')=t;
Diz-se que uma fórmula X é verdadeira em
um modelo se é verdadeira em cada mundo desse
modelo, e é válida se verdadeira em todos os modelos (notação: |=X se X é válida).
Sejam S um conjunto de fórmulas e X uma
fórmula qualquer. Diz-se que X é conseqüência
lógica de S (em símbolos, S|=X) se X é válida em
cada modelo em que todos os membros de S são
válidos.
Uma fórmula assinalada é uma fórmula X precedida dos símbolos “T” ou “F”. Intuitivamente, a
fórmula TX comporta-se como X e a fórmula FX
como ¬X. As fórmulas assinaladas permitem a classificação de todas as fórmulas da lógica proposicional
clássica em dois tipos: fórmulas do tipo α e fórmulas
do tipo β. As fórmulas do tipo α são aquelas com
comportamento conjuntivo (com componentes α1 e
α2) e as do tipo β são as que se comportam disjuntivamente (com componentes β1 e β2). Um exemplo de
fórmula do tipo α é F(X→Y), cujos componentes são
TX e FY. Outros exemplos são F(X∨Y) e T(X∧Y).
Um exemplo de fórmula do tipo β é T(X→Y), cujos
componentes são FX e TY. Também são exemplos
T(X∨Y) e F(X∧Y) (Smullyan, 1968).
Os tableaux analíticos são procedimentos de
prova elaborados em forma de árvores binárias. As
árvores contêm sempre um número finito de ramos.
Cada ramo, por sua vez, é constituído de um conjunto de nós, de tal forma que em cada nó ocorra
uma fórmula assinalada da lógica e a cada nó esteja
associado um mundo (i,j). O objetivo de uma prova
tableau é verificar se uma dada fórmula X da lógica é
ou não válida. Para tanto, inicia-se o tableau falseando
X e prossegue-se aplicando regras de extensão de
ramos. A impossibilidade de falsear a fórmula X é
caracterizada pela ocorrência de contradições em
todos os ramos do tableau, denotando assim que X
3
V(X,w) pode ser lido como o valor verdade da fórmula X no
mundo w.
72
é uma fórmula válida. Se algum ramo não contiver
contradições entre suas fórmulas, então existe a possibilidade de falsear a fórmula; portanto, X não é
válida.
Para o desenvolvimento de uma prova tableau,
procede-se segundo as seguintes regras clássicas de
extensão de ramos:
i) quando uma fórmula de tipo α ocorrer num
ramo de um tableau, deve-se acrescentar a esse
ramo suas duas componentes;
ii) quando ocorrer uma fórmula de tipo β, deve-se
proceder uma bifurcação no tableau, cada novo
ramo iniciado por uma das componentes da fórmula.
Diz-se que as fórmulas do tipo TGX e FGX
são de tipo ν com componentes TX e FX, respectivamente; e as fórmulas do tipo TDX e FDX são de
tipo π com componentes TX e FX, respectivamente.
Em função da sua natureza modal, essas fórmulas
não se reduzem aos tipos descritos anteriormente. As
regras de extensão de ramos para os casos não clássicos (modais) são as seguintes:
iii) quando uma fórmula de tipo ν ocorre num
ramo de um tableau num mundo (i,j), sua componente deve ser escrita no mesmo ramo no
mundo (i-1,j);
iv) quando uma fórmula de tipo π ocorre num
ramo de um tableau num mundo (i,j), sua componente deve ser escrita no mesmo ramo no
mundo (i,j-1).
Um ramo de um tableau é dito fechado se
ocorrem no mesmo ramo e para o mesmo mundo
as fórmulas TX e FX. Um tableau é fechado se
todos os seus ramos são fechados. Um ramo é dito
completo se nele não existe nenhuma fórmula para
a qual se possa aplicar uma das regras acima. Um
tableau é completado se todos os seus ramos são
completos ou fechados.
Sejam S um conjunto de fórmulas não assinaladas e X uma fórmula não assinalada. Um tableau
para X, usando S como um conjunto de afirmações
globais, significa um tableau começado por FX, e de
tal forma que a fórmula TZ pode ser adicionada em
qualquer ponto do tableau para qualquer Z∈S e
qualquer mundo (i,j). Diz-se que X é dedutíveltableaux a partir de S (em símbolos, S|–dtX) se e
somente se existir um tableau fechado para X
Dezembro • 2000
g
y
p
usando S como um conjunto de afirmações globais.
A lógica NK, definida dessa maneira, é um sistema
modal proposicional correto e completo no sentido
forte4 (Magossi, 1998).
Seja o seguinte exemplo de tableau para o sistema lógico NK. Ele mostra que existe um tableau
fechado para a fórmula DGA→GDA, indicando
que esta é válida.
(1) F(DGA→GDA)
(2) TDGA
(3) FGDA
(4) TGA
(5) TA
(6) FDA
(7) FA
(i,j)
(i,j)
(i,j)
(i,j-1)
(i-1,j-1)
(i-1,j)
(i-1,j-1)
regra α em 1
regra α em 1
regra π em 2
regra ν em 4
regra ν em 3
regra π em 6
Essa fórmula indica a equivalência entre uma
transição qualquer t0 e a disjunção (representada
pelo ∨ grande) de todas as transições que chegam
em t0, acompanhadas dos G’s e D’s cujos expoentes
representam o número de fichas (m) e o número de
unidades de tempo (d) para cada transição que
chega em t0.
Exemplo 2: Seja o grafo a eventos, descrito na figura
8, para um sistema a eventos discretos.
Fig. 8. Grafo a eventos do exemplo 2.
Fórmulas da Lógica NK associadas a
um Grafo a Eventos
Nessa seção, é apresentado o procedimento
de modelagem de um grafo a eventos. Ele permite o
desenvolvimento de sistemas de fórmulas da lógica
NK associadas a um grafo a eventos. Objetiva-se
mostrar que todo grafo a eventos pode ser modelado por um sistema de fórmulas da lógica NK.
Na figura 7, o par (m,d) representa uma parametrização do grafo a eventos, ou seja, m é a condição de habilitação da transição (fichas) e d é o
tempo de espera (barras).
Fig. 7. Descrição na lógica NK de um grafo a eventos.
As equações associadas a esse grafo a eventos
são:
x1↔u∨Gx2
x2↔GDu∨Dx1
y↔x2∨GD2y
Aplicações em sistemas dinâmicos a
eventos discretos
As fórmulas associadas ao grafo a eventos da
figura 7 são dadas por:
k
mj dj
t0 ↔ V G D tj
j = 1
Usualmente, define-se G0D0ti como simplesmente ti.
4 Correção e completude no sentido forte significa que S| X se e
–dt
somente se S|=X.
REVISTA DE CIÊNCIA & TECNOLOGIA • V. 8, Nº 16 – pp. 65-76
Essa seção traz uma aplicação do sistema
lógico NK na verificação de especificações em sistemas dinâmicos a eventos discretos. Como é clássico
na literatura de trabalhos envolvendo lógica e problemas de automação, se uma especificação (apropriadamente descrita como uma fórmula da lógica)
for conseqüência lógica do conjunto de fórmulas
que define (modela) o sistema dinâmico, então a
especificação será satisfeita (Manna & Pnuelli, 1979
e 1992). Isso significa que, na linguagem da lógica,
sempre que as fórmulas do sistema dinâmico forem
verdadeiras a especificação também o será.
Isso garante legitimidade, pois impede o caso
de as fórmulas do sistema serem verdadeiras e a
73
g
y
p
especificação falsa. Em outras palavras, seja Γ o conjunto de fórmulas da lógica NK, que descreve o sistema dinâmico em questão, e X a fórmula da lógica
que descreve a especificação. A especificação será
satisfeita se e somente se X for conseqüência lógica
de Γ, ou seja, se todo modelo de Γ for também
modelo de X.
Assim, o problema de verificação de especificações se resume em, dado o grafo a eventos que
representa o sistema dinâmico a eventos discretos,
associar a ele um conjunto Γ de fórmulas da lógica
NK e relacionar à especificação a ser verificada uma
fórmula X da lógica NK. Procede-se, então, verificando se X é conseqüência lógica de Γ:
• em caso afirmativo, conclui-se que a especificação é satisfeita;
• em caso negativo, conclui-se que a especificação
não é satisfeita.
Para determinar se uma especificação X é
conseqüência lógica de um conjunto Γ de fórmulas
que representa um grafo a eventos é necessária a elaboração de um algoritmo baseado em tableaux que
efetivamente determine se X é ou não conseqüência
lógica de Γ (Magossi, 1998 e Magossi & Santos
Mendes, 1998).
A seguir, é mostrado um exemplo de especificação que é satisfeita juntamente com sua resolução
algorítmica via tableaux.
Exemplo 2: Seja o exemplo referente à figura 5.
Para esse sistema, pode-se escrever as seguintes
fórmulas da lógica NK:
t2↔(t1∨Gt3)
t3↔Dt2
t4↔t3
Além dessas, as seguintes fórmulas devem
valer para qualquer transição:5
ti→Dti
Gti→ti,
para i = 0, 1,...4.
Essas fórmulas descrevem um grafo a eventos
em um sistema a eventos discretos através da lógica
modal NK. Supõe-se que se deseja verificar que, no
5 Essas fórmulas caracterizam a linearidade do sistema. Ver Magossi
(1998); Magossi & Santos Mendes (1998); Cohen et al. (1989); e
Baccelli et al. (1991).
74
grafo a eventos da figura 5, descrito acima, um
tempo de espera estipulado para a transição t1 não
acarretará uma espera na saída do sistema, ou seja,
na transição t4. Essa condição pode ser expressa
pela fórmula Dt1→t4 (Magossi, 1998).
A verificação de que a especificação é satisfeita
por intermédio de tableaux analíticos resume-se em
mostrar que a fórmula X=(Dt1→t4) é conseqüência
lógica do conjunto Γ={Dt2↔t3, t3↔t4, t2↔
(t1∨Gt3), Gti→ti, ti→Dti}. Esta, por sua vez, estabelecerá que não existe modelo no qual as fórmulas do
conjunto Γ sejam verdadeiras e a fórmula X=
(Dt1→t4) seja falsa. Isso implica o fato de que a especificação será sempre satisfeita quando as fórmulas
que definem o sistema (grafo a eventos) o forem.
Para tal verificação, utiliza-se o método
tableaux. Ao se desenvolver o tableaux, as fórmulas
de Γ podem ser adicionadas em qualquer nó da
árvore, pois são entendidas como verdadeiras em
qualquer modelo. Ver Magossi (1998), e Magossi
& Santos Mendes (1998).
Essa árvore é construída como segue. Inicia-se
por falsear a especificação a ser verificada; nesse
caso, a especificação é descrita pela fórmula
Dt1→t4. Na seqüência, são aplicadas regras de
extensão de ramos à fórmula do nó de origem, qual
seja, F(Dt1→t4). A essa fórmula aplica-se a regra
clássica α, cuja extensão produz as fórmulas dos
dois nós seguintes, TDt1 e Ft4, respectivamente.
Como essa regra é clássica, não se muda de mundo,
representados os mundos por pares (i,j). À fórmula
TDt1 deve-se aplicar uma regra não clássica (modal)
π, cuja extensão é a fórmula Tt1 no mundo (i,j-1). A
fórmula (t3→t4) é uma fórmula do conjunto Γ,6 e
pode ser adicionada em qualquer ponto do tableau,
desde que sinalizada por T. Assim, acrescenta-se
T(t3→t4). A regra a ser aplicada a essa fórmula é
uma regra clássica β, que produz como extensões
dois ramos, o da esquerda, com a fórmula Ft3, e o
da direita, com a fórmula Tt4. Como a fórmula
T(t3→t4) foi acrescentada no mundo (i,j), as extensões, por serem clássicas, não ocasionam mudança
de mundo.
6
Note que a fórmula t3↔t4 equivale a (t3→t4)∧(t4→t3).
Dezembro • 2000
g
y
p
FDt1→t4
TDt1
Ft4
Tt1
T(t3→t4)
(i,j)
(i,j)
Ft3
T(Dt2→t3)
FDt2
Ft2
T(t2→t3)
FDt1
(i,j-1)
(i,j)
(i,j-1)
(i,j-1)
Tt2
O tableau continua desse modo, até que todas
as fórmulas tenham sofrido a aplicação de alguma
regra tableau de extensão de ramos (clássica ou não
clássica). E nesse tableau, como todos os ramos produziram contradição (ocorrência no mesmo (i,j) de
FX e TX para alguma fórmula X), o tableau é dito
fechado. Portanto, a fórmula X=(Dt1→t4) é conseqüência lógica do conjunto Γ. Logo, não existe um
modelo em que as fórmulas de Γ sejam verdadeiras
e a fórmula Dt1→t4 seja falsa, ou seja, a especificação X é satisfeita.
CONCLUSÃO
Introduziu-se neste trabalho uma lógica
modal, denominada lógica modal NK, apropriada
para modelagem de grafo a eventos. Suas principais
características são a simplicidade e uma completa
correspondência com grafos a eventos. Considerese um sistema a eventos discretos, para o qual se
conhece um grafo a eventos que modela seu comportamento. É possível para esse sistema escrever
um conjunto de fórmulas da lógica NK, completamente equivalente ao sistema dinâmico modelado.
Tt3
(i,j)
(i,j)
(i,j)
(i,j-1)
(i,j)
Tt4
(i,j)
(i,j)
(i,j-1)
O problema de verificação pode, então, ser tratado
através da metodologia dos tableaux analíticos,
método de prova em lógica, utilizado para a lógica
NK. Escreve-se uma nova fórmula, correspondente
à especificação que se quer verificar, e tenta-se mostrar que essa fórmula é conseqüência lógica do conjunto de fórmulas que descreve o sistema.
Essa abordagem abre caminho para um problema interessante, o de se modelar não somente
grafo a eventos, mas redes de Petri. Ela permite também investigar problemas de síntese de controladores, os quais têm sido estudados em Magossi (1998).
O problema de síntese de controladores pode ser
colocado da seguinte maneira: dado um grafo a
eventos com um conjunto de transições ditas de
“entrada” e com um conjunto de transições de
“saída”, projetar um novo grafo a eventos (controlador), tendo como entradas a saída do sistema dado
e como saídas as entradas do sistema dado, tal que
uma certa especificação, não atendida pelo sistema
original, seja satisfeita pelo sistema em “malha
fechada”.
REFERÊNCIAS BIBLIOGRÁFICAS
BACCELLI, F.L. et al. Synchronization and Linearity: an Algebra for Discrete Event Systems. New York: John Wiley and Sons,
1991.
REVISTA DE CIÊNCIA & TECNOLOGIA • V. 8, Nº 16 – pp. 65-76
75
g
y
p
BELL, J.L. & MACHOVER, M. A Course in Mathematical Logic. Amsterdan: North Holland Publishing Company, 1977.
CASSANDRAS, C.G. Discrete Event Systems: Modeling and Performance Analysis. Boston: Aksen Associates Incorporated
Publishers, 1993.
COHEN,G. et al. Algebraic tools for performance evaluation of discrete event systems. Proceedings of the IEEE. 77 (1): 39-58,
1989.
FITTING, Melvin. First-Order Logic and Automated Theorem Proving. 2.a ed. New York: Springer-Verlag, 1990.
_____________. Proof Methods for Modal and Intuitionistic Logics. Dordrecht: D. Reidel Publishing Co., 1983.
HUGHES,G.E. & CRESSWELL, M.J. A Companion to Modal Logic. London: Methuen and Co. Ltd., 1984.
_____________. An Introduction to Modal Logic. London: Methuen and Co. Ltd., 1968.
MAGOSSI, J.C. Análise e Síntese de Sistemas Dinâmicos a Eventos Discretos via Lógica Modal. Campinas, 1998. [Tese de Doutorado, DCA/FEEC, Unicamp].
MAGOSSI, J.C. & SANTOS-MENDES, R. Modal Logic Based Algorithms for the Verification of Specifications in Discrete
Event Systems. IV Workshop on Discrete Event Systems, Aug./26-28, Cagliary, Italy, 1998.
______________. Verificações de Especificações em Sistemas Dinâmicos a Eventos Discretos via Lógica Modal. Proceedings of
XII Brazilian Automatic Control Conference-XII CBA, Sep./14-18, Uberlândia, v. III, pp. 931-936, 1998.
MANNA, Z. & PNUELLI, A.. The Modal Logic of Programs. Proc. 6th Int. Colloq. Aut. Lang. Prog: Lec. Notes in Comp. Sci.,
Berlin, 71: 385-409, 1979.
______________. The Temporal Logic of Reactive and Concurrent Systems: Specification. New York: Springer-Verlag, 1992.
MURATA,T. Petri Nets: Properties, analysis and applications. Proceedings of the IEEE, 77: 541-580, 1989.
PETERSON, J.L. Petri Net Theory and the Modeling of Systems. Englewood Cliffs, NJ: Prentice-Hall, 1981.
SMULLYAN, Raymond. First Order Logic. Berlin/Heidelberg: Springer-Verlag, 1968.
76
Dezembro • 2000
Download

Lógica Modal Aplicada a Grafo a Eventos