UNIVERSIDADE
FEDERAL DE SANTA CATARINA
PROGRAMA
DE
PÓS-GRADUAÇÃO
EM
ENGENHARIA
ELÉTRICA
Verificação
de Sistemas
Dependentes do
Tempo
a partir
de
Especificações
escritas
em
RT-LOTOS
Dissertação
submetida
à
Universidade
Federal
de
Santa Catarina
~
_
para
obtençao
do
grau de
_Mestre
em
Engenharia
Elétrica
Ricardo
Ferreira
Martins
ll
Verificação de Sistemas
Depententes
do
Tempo
a
partir
de
Especificações
escritas
em
RT-LOTOS
Ricardo
Ferreira
Martins
Esta
dissertação
foijulgada para obtenção
do
títulode
Mestre
em
Engenharia
especialidade
Engenharia
Elétrica,área
de concentração Controle,
Automação
e
Informática
Industrial,
e
aprovada
em
sua
forma
fmal
pelo
Curso
de Pós-Graduação.
Prof. Jean-Marie Fan`ne{, Dr. Ing. Prof.
Murilo
Silva deCamargo,
Dr.Orientador Co-Orientador
Prof.
Enio
Valmor
Kassick, Dr.Coordenador
Banca
Examinadora:
\
a
f
_.PQ;
Daltro JoséNunes,
Dr. Prytf RosvelterCoelho da
Costa, r.//M.
Prof. Vitó '
lll
Aos meus
pais Elisier e Lourdes, aosmeus
irmãos Helton e Rogério,iv
O
mundo
éproduto
da
vontade. Então, ohomem
será, antesde mais
nada,o resultado
de
seu próprio projeto. (Sartre)7
V
AGRADECIMENTOS
Primeiramente, quero agradecer aos
meus
pais pelo amor, educação e apoio quevenho
recebendodurante toda a
minha
vida; aosmeus
irmãos pelo apoio e incentivo; e à Márcia, pelocarinho ecompreensão,
mesmo
nosmomentos
dificeis.A
Ao
Prof. Hélio LeãesHey,
por despertarem mim
a vontade de pesquisar e procurar cada vezmais
aprimorar omeu
conhecimento.Aos
Professores Jean-Marie Farines e Murilo Silva deCamargo,
pelo trabalho de orientação eapoio
em
todas as etapas deste trabalho.Aos
membros
da banca examinadora, pela avaliação, criticas e comentários apontados durante aapresentação deste trabalho.
-.
Ao
Prof. Sérgio Yovine, pela contribuição dada através de sua tese deDoutorado
etambém
pelaferramenta
KRONOS.
Ao
LaboratórioINRIA,
pela cooperação e fornecimentoda
ferramentaSYNTAX.
Aos
meus
amigos
e companheiros desta jornada, engenheirosAndré
Bittencourt Leal, DanielleNishida,
Emerson
Raposo,Max
Mauro
Dias Santos etambém
os demais colegas de mestrado,que não
foram
citados apenas por motivos de espaço.Aos
colegasdo
Laboratório de Controle e Microinformática(LCMI)
da Universidade Federal de Santa Catarina(UFSC), que
ofereceram todo o suportepara a realização deste trabalho.À
UFSC
e àCAPES,
pelo suporte material e financeiro.SUMÁRIO
vi.
Capítulo 1 -Introdução ... ..l
Capítulo 2 - Especificação e Veiificação de Sistemas Dependentes
do
Tempo
... ..32.1 Sistemas
Dependentes do
Tempo
... .. 2.2Métodos
Formais
para Especificação de Sistemas Dependentesdo
Tempo
... .. 2.3RT-LOTOS
... .. 2.3.1Por quê
escolher a extensão temporalRT-LOTOS?
... .. 2.3.2 Sintaxeda
linguagem ... .. 2.3.3 Semântica operacional da linguagem ... .. 2.4 Verificação de Sistemas Dependentesdo
Tempo
... .. 2.5 Conclusões ... .. Capítulo 3 - Representação deRT-LOTOS
por GrafosTemporizados
Finitos ... .. 3.1 GrafosTemporizados
Finitos ... ... .. 3.1.1 GrafosTemporizados
Estendidos ... ._ 3.2 Representação dos operadoresRT-LOTOS em
GTE
... .. 3.2.1 Inação ... .. 3.2.2Terminação
com
sucesso ... .. 3.2.3Prefixação
... .. 3.2.4 Escolha ... .. z ‹ ‹ z ‹ - . . . z . . . .. - . . . - ‹ › ~ z zz 2.4.1O
método
... .. 2.4.2A
lógicaTCTL
... _. 2.4.3 Arquiteturado
Processo de Verificação ... .. - . . . . . . z .. z z . ¢ . . . - z . ‹› . . . . . . . . . . . z ‹ . . . .. ._.I_›.š . ›-››-\ooooo\1o\uzuz4=-ua 13 13 15 16 17 17 17 19 3.2.5 Ocultação ... ..2l 3.2.6Composição
Paralela ... ..2l 3.2.7Composição
Seqüencial ... ..23 3.2.8Preempção
... ..24 3.2.9Preempção Temporal
... ..25 3.2.10 Instanciação de Processos ... .. ... ..253.3
Alguns exemplos
ilustrativos ... ..263.3.1 Login Simplificado ... .. 3.3.2
Login
Completo
... .. 3.3.3Um
processocom
dois relógios ... _. 3.4 Conclusões ... .. ... ..26... ..30
... ..33
Vll
Capítulo
4
- Princípios Básicos para a construçãodo
Tradutor deRT-LOTOS
para GrafosTem-
porizados ... ..36
4.1
Uma
Rede
de Petri Estendida ... ..364.2 Representação dos operadores
RT-LOTOS
em
Redes
de Petri ... ..384.2.1 Inação ... ..38
4.2.2 Terrninação
com
sucesso ... ..384.2.3
Prefixação
... ..39 4.2.4 Escolha ... ..40 4.2.5 Ocultação ... ..41 4.2.6Composição
Paralela ... ..42 4.2.7Composição
Seqüencial ... ..44 4.2.8Preempção
... ..44 4.2.9Preempção Temporal
... ..45 4.2.10 Instanciação de Processos ... ..47 4.3Um
exemplo
ilustrativo ... ..474.4 Diretivas para a construção
do
GrafoTemporizado
a partir daRede
de Petri Estendida ...524.5
Implementação
da Ferramenta de TraduçãoRT-LOTOS
/ GrafoTemporizado
... ..554.5.1 Análise Sintática e Semântica ... ..56
4.5.2
Geração
daRede
de Petri Estendida ... ..564.5.3 Atribuição de Relógios ... ..57
4.5.4
Geração do
GrafoTemporizado
... ..584.5.5
Redução
do
GrafoTemporizado
... ..594.6 Conclusões ... ..59
Capítulo 5 - Validando a Metodologia e a Ferramenta de Verificação ... ..60
5.1 Protocolo
Tick-Tock
... ..605.1.1 Descrição informal da entidade service ... ..60
5.1.2 Especificação formal da Entidade service
em
RT-LOTOS
... ..615.1.3
Verificação
de propriedades da Entidade service ... ..635.2 Sistema Telefônico ... ..66
5.2.1 Descrição informal dos
componentes
da Central Telefônica ... ..675.2.2 Especificação formal da Central Telefônica
em RT-LOTOS
... ..685.2.3 Verificação de propriedades da Central Telefônica ... ..71
5.3 Algoritmo de Exclusão
Mútua
... ..725.3.1 Descrição
do
Algoritmo ..; ... ..725.3.2 Especificação formal
do
algoritmoem RT-LOTOS
... ..73Vlll
5.4
Cruzamento
Rodovia-Ferrovia ... ..765.4.1 Descrição
do
sistema ... ...765.4.2 Especificação fomral
do
sistemaem RT-LOTOS
... ..775.4.3 Verificação de propriedades
do
sistema ... ..795.5 Protocolo
do
Bit Altemante ... ..805.5.1 Descrição
do
protocolo ... ..805.5.2
Especificação
formaldo
protocoloem RT-LOTOS
... ..815.5.3
Verificação do
protocolo ... ..845.6 Considerações Finais a respeito da Avaliação da Metodologia e da Ferramenta ... ...85
Capítulo 6 - Conclusões ... ..86
Referências Bibliográficas ... ..88
Anexo
A
-Uma
Introdução àLinguagem
LOTOS
... ..92A.1 Sintaxe
da
Linguagem
... ..92Anexo
B
-A
Gramática daLinguagem
RT-LOTOS
... ..94Anexo
C
-A
FerramentaKRONOS
... ..97C.1
O
GrafoTemporizado
... ..97C.2
As
Fórmulas
... ..98C.3 Considerações Gerais ... .. 100
Anexo
D
-O
SistemaSYNTAX
... .. 101D.1 Introdução ... ..101
D.2
O
Introdutor Sintático -BNF
... .. 101D.3 Construção
do
Analisador Léxico -LECL
... .. 103D.4
Construçãodo
Analisador Sintático -CSYNT
ePRIO
... .. 105D.5 Construção
do
Analisador Semântico -SEMACT
eSEMAT
... .. 107D.6
Tratamento de Erros -RECOR
... .. 108D.7 Produção
de tabelasem
Linguagem
C
-TABLES_C
... .. 109IX
LISTA
DE FIGURAS
Figura 2.1 -
O
Processo de Verificação ... ..11Figura 3.1 -
Exemplo
deum
grafoReach(G)
... .. 16Figura 3.2 -
GTE
para o processo stop ... .. 17Figura 3.3 -
GTE
para o processo exit ... .. 17Figura 3.4 -
GTE
para aprefixação
da ação interna i ... ..18Figura 3.5 -
GTE
para aprefixação
deuma
ação observável temporizada ... ..18Figura 3.6 -
GTE
para a prefixação deuma
ação observável de ocorrência indefinida ... .. 19Figura 3.7 -
GTE
para o processoP
[]Q
... .. 19Figura 3.8 - Sincronização de
uma
ação atravésdo
operador decomposição
paralela: (i) açõescom
o limitemínimo
igual a zero; (ii)uma
das açõescom
o limitemínimo
diferente de zero; (iii)ambas
as açõescom
o limitemínimo
diferente de zero ... ..22Figura 3.9 -
GTE
daprefixação
da açãop
... ..26Figura 3.10 -
GTE
da prefixação
da ação v ... ..27Figura 3.11 -
GTE
daprefixação
da ação n ... ..27Figura 3.12 -
GTE
parcialdo
processoQ4
... ..28Figura 3.13 -
GTE
do
processo Q., ... ..28Figura 3.14 -
GTE
parcialdo
tratamento da violação temporaldo
processo Q., ... ..29Figura 3.15 -
GTE
do
tratamento da violação temporaldo
processoQ4
(Q1) ... ..29Figura 3.16 -
GTE
do
processo de Login Simplificado ... ... ..30Figura 3.17 -
GTE
do
processo Login z ... ..30Figura 3.18 -
GTE
da prefixação
da ação i ... ..31Figura 3.19 -
GTE
do
processoQ;
... ..32Figura 3.20 -
GTE
do
processo de LoginCompleto
... ..32Figura 3.21 -
GTE
do
primeiro processo (Qz) ... ..33Figura 3.22 -
GTE
do segundo
processo (Qz) ... ..34Figura 3.23 -
GTE
dacomposição
paralela de Q1 eQz
... ..34Figura 4.1 - Representação de
uma
transição daRede
de Petri Estendida ... ..37Figura 4.2 -
RdP
para o processo exit ... ..38Figura 4.3 -
RdP
para aprefixação
da ação i ... ..39Figura 4.4 -
RdP
para a prefixação deuma
ação observável temporizada ... ..39X
Figura 4.5 -
RdP
para aprefixação
deuma
ação observável de ocorrência indefinida ... ..40Figura 4.6 -
RdP
para o processoP
[]Q
... ..40Figura 4.7 -
Ações
sincronizáveis disponíveis nos processos ... ..43Figura 4.8 - Sincronização dos processos ... ... ..43
Figura 4.9 -
RdP
parao
processoP
>>
Q
... ..44Figura 4.10 -
RdP
para o processoP
[>Q
... ..45Figura 4.11 -
RdP
para o processoP
<I] {U¡(a¡: Qj)} ... ..46Figura 4.12 -
RdP
dapreñxação
da açãop
... ..48Figura 4.13 -
RdP
daprefixação
da ação v ... ..48Figura 4.14 -
RdP
da prefixação
da ação n ... ..49Figura 4.15 -
RdP
do
processoQ4
... ..49Figura 4.16 -
RdP
do
processoQz
... ..50Figura 4.17 -
RdP
do
processo Login Simplificado ... ..5l Figura 4.18 -Resultadosdo
processo de Login Simplificado: (a) Grafo Temporizado; (b)Rede
de Petri ... ..54Figura 4.19 - Tradutor
RT-LOTOS
/ GrafoTemporizado
... ..55Figura 4.20 -
Árvore
Abstrata da especificaçãoExemplo
... ..57Figura 5.1 -
Componentes
do
protocoloTICK-TOCK
... ..60Figura 5.2 - Central Telefônica ... ..66
Figura 5.3 -
Comunicação
Central Telefônica - Terminal ... ... ..67Figura 5.4 - Processo
P
... ... ..73Figura 5.5 - Processo
Shared_Var
... ...74Figura 5.6 -
Cruzamento
Rodovia-Ferrovia ... .. .... ..79Figura 5.7 - Estrutura Geral
do
Protocolodo
bit altemante ... ..81LISTA
DE TABELAS
Tabela 5.1 - Resultados
da
verificação da entidade service(KRONOS)
... ..Tabela 5.2 - Resultados
da
verificação da Central Telefônica(KRONOS)
... ..Tabela 5.3 - Resultados
da
verificaçãodo
algoritmo de ExclusãoMútua
(KRONOS)
Tabela B.l - Regras
da
semântica operacional deRT-LOTOS
... ..xii
RESUMO
A
álgebra de processosLOTOS
éuma
linguagem fonnal para especificação de sistemas,desenvolvida entre 1980 e 1988, e padronizada pela
ISO
desde 1988. Esta linguagem permite descrever a ordenação temporal deum
conjunto de ações, percebidas porum
observador extemo,possibilitando a especificação de
comportamentos
complexos,combinando
ações elementarescom
os operadores da linguagem.No
entanto,LOTOS
possuiuma
limitação, poisnão
permite especificar deforma
explícita os sistemasonde
otempo
intervém.Neste trabalho, são apresentadas
uma
metodologia e ferramentas para a verificação deespecificações de sistemas
tempo
real, escritasem
RT-LOTOS, uma
extensão temporizada dalinguagem de especificação
LOTOS.
A
partirdo modelo
em
RT-LOTOS,
é geradoum
GrafoTemporizado
correspondente, sobre o qual poderá ser realizada a verificação,usando
fórmulas da LógicaTemporal Tempo-Real
TCTL.
O
tradutor deRT-LOTOS
para Grafos Temporizados,que
foi construído para este efeito, é descrito neste trabalho; sua integração
com
ferramentasexistentes que
permitem
a verificação étambém
mostrada. Finahnente, estudosde
casospermitem
xiii
ABSTRACT
The
LOTOS
process algebra is a fom1al language for systems specifications, developedbetween
1980 and
1988, and standardizedby
ISO
since 1988. This language allows to describe thetemporal ordering of a set of actions, perceived
by
an external observator, and letcomplex
behaviours specification, combining elementaiy actions with the
LOTOS
operators. Nevextheless,LOTOS
has a limitation, so it doesn°t allow to specify in an explicitway
systems with timedependencies.
In this work,
we
present amethodology and
tools for vexifying specifications of real-time systerns, written inRT-LOTOS,
a timed extension of theLOTOS
specification language.From
themodel
in
RT-LOTOS,
it is generated the relatedTimed
Graph, overwhich
the verification can be done,by
using formulas written in theTCTL
Real-TimeTemporal
Logic.The
translator ofRT-LOTOS
specifications to
Timed
Graphs
thatwas
built is described in this work; his integration withexisting tools that allow the verification is also shown; Finally, case-studies allow to analyze the
CAPÍTULO
1
INTRODUÇÃO
As
Técnicas de DescriçãoFormal
(FDT
-Formal
Description Techniques) são cada vez maisaceitas e utilizadas para o desenvolvimento de sistemas complexos. Para Sistemas Distribuídos e
Redes
deComunicação,
em
particular, as dificuldades provenientesdo
alto grau de paralelismodestas aplicações
não
encontram outraabordagem
adequada para seu tratamento anão
ser o usode técnicas formais e das metodologias e ferramentas que lhes são associadas.
[MCF96]
As
linguagens de especificação padronizadas pelaISO
(Estelle eLOTOS)
e peloITU
(SDL),nesta ultima década, surgiram destas necessidades e
vêm
sendo aplicadas, tantono
campo
acadêmico
como
industrial,com
relativo sucesso. Ferramentas para análise e projeto de sistemasa partir de especificações construídas
numa
dessas linguagens já são produtos comerciais, eproblemas cada vez
mais complexos
estão sendo tratados.Entretanto, algumas das limitações dessas técnicas padronizadas se
tomaram
também
maisvisíveis na
medida do
crescimento da complexidade e da diversidade das aplicações a seremdesenvolvidas.
Em
particular, mostraram-se insuficientes para expressar as restrições temporais exigidasem
diversas aplicações taiscomo:
sistemas multimídias, sistemas deautomação
industrial e sistemas tempo-real embutidos (automóveis, aeronaves, etc.) entre outros.
A
linguagem
de especificaçãoLOTOS,
que se baseia nas álgebras de processosCCS
eCSP,
paraa descrição comportamental, e na linguagem de tipos abstratos de dados
ACT-One, tem
despertado bastante interesse pelo seu poder de expressão que permite tratar a especificaçãoem
diferentes níveis de abstração e pelo seu suporte teórico que permite lhe associar técnicas e
ferramentas de verificação baseadas
em
equivalências. Entretanto, sua expressividade apresentalimitações por
não
ternenhuma
característica que permite a representação explícitado
tempo.Nesses últimos anos, varias extensões temporais desta linguagem
foram
propostas, além deexistir
no
momento
um
esforço deum
comitê de padronização na direção deum
LOTOS
Temporizado, incluindo contribuições oriundas destas propostas.Na
espera destenovo
padrão,será adotada neste trabalho a extensão
chamada
deRT-LOTOS,
sendoque
as propostas edesenvolvimentos de metodologias e ferramentas serão futuramente adaptadas a este padrão.
Neste trabalho, apresenta-se
uma
abordagem
para verificação de especificações de sistemas tempo-real, escritas na linguagemRT-LOTOS,
apresentandotambém
a ferramenta desenvolvidaCapítulo 1 - Introdução
g
para este efeito e a utilização desta
em
alguns casos de estudo.Esta dissertação está organizada da seguinte maneira:
No
capítulo 2, é discutido o contexto globaldo
trabalho desenvolvido,onde
apresenta-se ascaracteristicas dos sistemas dependentes
do
tempo, osmétodos
formais de especificação destessistemas, destacando a álgebra de processos
RT-LOTOS,
ométodo
de verificação utilizado e autilização
do
tradutor desenvolvido neste trabalho.O, capítulo 3 apresenta a forma de se representar urna especificação escrita
em RT-LOTOS
através de Grafos Temporizados, utilizado
como
formalismo para amodelagem
do
sistema a serverificado, sendo
que
cada operador da linguagem possui sua representação neste formalismo.São
apresentados alguns exemplos depouca
complexidade, visando apenas o melhorentendimento
do
método
apresentado. ~O
capítulo4
apresenta os princípios básicos para construir o tradutorRT-LOTOS
/ GrafosTemporizados, sendo
que
na etapa preliminar à geraçãodo
Grafo Temporizado, define-seuma
extensão de
Redes
de Petri,com
o intuito de simplificar omodelo
manipulado.Como
no
capítulo 3, cada operador da linguagem possui sua representação neste formalismo
intermediário.
Os
detalhes da implementação completado
tradutortambém
são discutidos.O
capítulo 5 apresenta algumas aplicações, visando testar e validar tanto o tradutorimplementado
como
ométodo
de verificação.O
capítulo 6 encerra esta dissertação,comentando
os principais resultados obtidos e asperspectivas de trabalhos futuros.
CAPÍTULO
2
ESPECIFICAÇÃO E VERIFICAÇÃO
DE
SISTEMAS
DEPENDENTES
DO
TEMPO
O
projeto de sistemas dependentesdo
tempo
éuma
tarefa bastante complexa.Como
em
outros sistemas complexos, a utilização demétodos
formais para a especificação e verificação é asolução a ser adotada, pois ela permite detectar erros de concepção,
além
de outras vantagens.Neste capítulo, são apresentadas definições básicas sobre sistemas dependentes
do
tempo, destacando as grandes classes de sistemas informáticos.Em
seguida, são apresentados osprincipais
métodos
formais para a especificação destes sistemas, destacando a álgebra deprocessos
RT-LOTOS
como
sendo aabordagem
utilizada neste trabalho.Ao
final, descreve-se amaneira na qual a verificação é efetuada neste trabalho, baseada na representação
do
sistemaatraves de Grafos Temporizados, e na representação das propriedades através de fórmulas
escritas na lógica temporal
TCTL.
'2.1
SISTEMAS
DEPENDENTES
DO
TEMPO
Sistemas dependentes
do tempo [Camargo95]
são aquelesonde
O seucomportamento
sofreinfluências
do
progressodo
tempo
num
intervalo a ser considerado,ou
seja, otempo pode
serconsiderado
como
urna variável a ser manipulada pelo sistemaou
um
recurso a serconsumido
pelo sistema.
Os
sistemas dependentesdo tempo
incluem três grandes classes de sistemas computacionais: sistemas tempo-real, protocolos decomunicação
e aplicações multimídia.Os
sistemas tempo-real são sistemas quereagem
a estímulosdo
ambiente, incluindo apassagem
do
tempo
fisico, dentro dos intervalos detempo
impostos pelocomportamento
do
seu ambiente.Existem requisitos gerais exigidos para estes sistemas, que
permitem
diferencia-los e classiñcá-los, tais
como:
correção temporal (“Timelíness”),onde
os sistemasreagem
a estímulosdo
ambiente, dentro de intervalos de
tempo
especificados; relação deordem
(“Ordeliness”), quemantém
as relações deordem
entre as entradasdo
sistema nas suas correspondentes saidas; atualidade (“Freshness”), estabelecendo que O sistema deve usar,ou
fornecer, Odado que
seja o mais válido possível,do
ponto de vistado comportamento
temporal; previsibilidade(“Predictabilizy”), estabelecendo que O determinismo
do comportamento
funcional e temporalCapitulo 2 - Especificação--e Verifi-cação de Sistemas Dependentes do
Tempo
--4
as ações
do
sistemano
seu ambientedevem
ser coordenadas demodo
queuma
não
prejudique aoutra.
Os
protocolos decomunicação
sãonormas
e regras estabelecidas para a padronização dacomunicação
entre dispositivos,onde
algumas características gerais são observadas, taiscomo:
a concorrência,onde
osnodos
decomunicação executam
estas regras de fomaaautônoma
eparalela; a interação, denotando todas as formas de
comunicação
entre osnodos
(comunicaçãosíncrona, assincrona, por difusão, por
memória
compartilhada, etc.); e a imprevisibilidade,onde
mensagens
podem
ser perdidas etempos
de transferência demensagem
nãopodem
ser garantidos.As
aplicações multimídia são sistemas que geram, processam,armazenam,
restituem eapresentam informações de varios tipos e origens,
chamadas
de mídia,combinando
assim váriasfontes de informação, tais
como:
voz, gráficos, áudio de alta fidelidade e vídeo.As
aplicações seestendem
em
áreascomo
automação
de escritórios, sistemas de tele-conferência e aprendizado àdistância, ambientes de cooperação científica e controle de tráfego aéreo.
2.2
MÉTODOS
FORMAIS
PARA
ESPECIFICAÇÃO
DE
SISTEMAS
DEPENDENTES
DO
TEMPO
As
principais abordagens formais para o tratamento de sistemas dependentesdo
tempo
são:0
Redes
de Petri Temporizadas0 Lógicas
Temporais
Tempo-Real
0 Álgebras de Processos Temporizadas
A
teoria deRedes
de Petri [Brams83] éum
formalismo gráfico e matemáticoque
se adaptabem
a
um
grandenúmero
de aplicações,onde
as noções de eventos e de evoluções simultâneas são importantes. Este fonnalismo foium
dos primeiros a serem apresentadosna
literatura, para tratarcom
concorrência, não-detenninismo e conexões causais entre eventos. Entre as caracteristicasdas
Redes
de Petri, destacam-se a legibilidade dosmodelos
gerados e a capacidade de expressaras diversas relações de causalidades (paralelismo, seqüenciamento, não-determinismo e
sincronização).
No
entanto, asRedes
de Petri não estão aptas a tratarcom
a justiça (fairness) ecom
estruturas de dados, apesar da possibilidade de associaruma
variável local deprograma
com
onúmero
de fichas contidasem
um
determinado lugar da rede.Lógica temporal é
uma
classe das lógicas modais,em
que os operadoresmodaís
sãointerpretados de
uma
maneira temporal. Lógicas temporais são compostas de operadores lógicosCapítulo 2- - Especificaçã-o e Verificação de Sistemas Dependentes do
Tempo
5 `
propriedades sejam satisfeitas, tais
como:
a invariãncia, estabelecendo que certas condições serãosempre
verdadeirasno
sistema considerado; a eventualidade,onde
existem propriedades quedevem
tomar-se verdadeirasem
algum tempo
futurono
sistema; e as precedências,que
sãoasserções
que
estabelecemque
um
evento deve ocorrer antes deum
outro.Porém,
as lógicastemporais
possuem
como
pontos negativos a complexidade e a falta de estruturas nas aplicações.As
lógicas temporais tempo-real estendem as lógicas temporais clássicas, incorporandopossibilidades de representação e tratamento de propriedades quantitativas, tais
como:
periodicidade, esgotamento
do
tempo
(deadlínes) e atrasos (delays).Algumas
das lógicastemporais tempo-real mais conhecidas na literatura são: Metric
Temporal
Logic(MTL)
[Koymans90]; Real Time Temporal
Logic(RTTL)
[Ostroff89]; eTemporal
Computation TreeLogic
(TCTL)
[AH92].
A
abordagem
de álgebra de processostem
sido desenvolvida dentrodo
campo
da
teoria daconcorrência, e teve seu início a partir das álgebras
Communicating
Sequentíal Processes(CSP)
[Hoare85] e Calculus
of Communicatíng
Systems(CCS)
[Milner80].Os
métodos
baseadosem
álgebras
de
processos são significantes devido à fomra elegante pela qualcom
poucos
construtores pode-se obter
uma
linguagem capaz de expressar toda a complexidade deum
sistema concorrente
ou
deum
sistema distribuído.A
linguagemLOTOS
[ISO88] éum
padrãoISO
desde 1988, baseada na álgebra de processosCCS,
e enriquecidacom
o princípio decomunicação
síncrona de rendezvous múltiplodo
CSP
ea representação de dados algébricos
Act
One. Entretanto, sua expressividade apresentalimitações quanto a
modelagem
decomportamentos
tempo-real, pois impossibilita aespecificação quantitativa
do
tempo
preciso na qualum
evento deve ocorrer e a ocorrência de maneira forçada de certos eventos. Nestes últimos anos, várias extensões temporais da álgebrade processos
LOTOS
foram
propostas,onde
as mais conhecidas são:RT-LOTOS
[Camargo95],RT-LOTOS
[CO94],Temporal
LOTOS
[Regan93],TIC-LOTOS
[Azcorra90],T-LOTOS
[BLT93]
eET-LOTOS
[LL94].A
abordagem
adotada neste trabalho para especificar sistemas dependentesdo
tempo
é a álgebrade processos
RT-LOTOS
[Camargo95].No
Anexo
A, é apresentada urna introdução rápida àlinguagem
LOTOS,
mostrando principalmente a sintaxe da linguagem.2.3
RT-LOTOS
2.3.1
Por quê
escolher a extensãotemporal
RT-LOTOS?
Capítulo 2 - -Especificação e Verificação de Sistemas Dependentes do
Tempo
'6
citadas anteriormente.
RT-LOTOS
éuma
linguagem que possibilita a associação de intervalostemporais às ações
do
sistema, sendo que a não ocorrência destas ações dentro de seusintervalos caracteriza
uma
violação temporal, cujo tratamento é efetuado a partir da definição deum
novo
operador,chamado
de operador de“Preempção
Temporal”. Estes intervalos, da fonna[t,,,,-,.,t,,,,,,,],
determinam
em
que instante as diferentes açõespodem
ser oferecidas ao seu ambiente.Conforme
apresentadoem
[CF95],RT-LOTOS
também
permite estabeleceruma
semânticabaseada
em
Grafos Temporizados, possibilitando a utilização de técnicas de verificação para sistemas dependentesdo
tempo.2.3.2 Sintaxe
da
linguagem
Os
termos deRT-LOTOS
são gerados pela sintaxe apresentada a seguir, que éuma
extensãodireta da sintaxe de
LOTOS.
E
::= stop ,:>
inaçãoexit
:>
terminaçãocom
sucesso[z,,,,~,,,t,,,,,,,]a;
E
:> prefixação - ação observável[t,,,,-,,,t,,,,,,,]z;
E
:>
prefixação - ação intemaE[]F
:>
escolhahide
L
inE
2
ocultaçãoE|[L]|F
:>
composição paralelaE
>>
F
:> composição seqüencialE
[>F
:> preempção
E
<L]{a¡: Q1, ..., an: Q,,} :>preempçãotemporal
P[a1, ..., an]
:>
instanciação de processosxx
O
operador de inação representaum
processo completamente inativo,onde
nenhruna açãopode
ser oferecidaao
ambiente, esomente
otempo pode
progredir.Ê
O
operador de terminaçãocom
sucesso representaum
processoonde
a ação ô representa o firnbem
sucedidodo
mesmo.
gt
O
processo [z,,,,-,,,t,,,,,,,]a;E
representa o oferecimento da ação a, dentrodo
intervalo especificado[t,,,,-,,,t,,,,,,,], sendo
que
se a ação anão
pôde
se realizar durante este intervalo, então elanão
poderáo ser fora
do
mesmol
onde
a ação especial a* notificauma
eventual violação temporal.No
entanto,
uma
prefixação da ação especial i não possui violação temporal,dado
que esta açãodeve, necessariamente, realizar-se
no
intervalo [t,,,,-,,,t,,,,,,,]. Assim, se a ação a ocorrer dentrodo
À tl
8
il 0.Q
'líCapi-tu-lo 2 - Especificação e Verificação de Sistemas Dependentes -do
Tempo
O
processoE
[]F representa a escolha entreE
e F, decidida pela realização deuma
primeira açãoa e Act
u{z`, ô},onde Act
representa o conjunto das ações observaveis. Assim, a realização deuma
violação temporal não decideuma
escolha.O
operador de ocultação transforma as ações observáveis, pertencentes ao conjunto L,em
açõesinvisíveis e urgentes.
O
processo E|[L]|F representa acomposição
paralela dos processos,E
e F,onde
cadaum
dos processospode
realizar, demodo
independente, as ações ae
L.A
realização das açõesa e
L
deve ser feita de maneira sincrona,
ou
seja, seambos
os processos ofereceremuma
ação a sersincronizada, então esta ação é realizada imediatamente_,7No caso de
um
dos processosnão
oferecer a ação sincronizável até a expiração
do
intervalo detempo
da ação oferecida, então ocorreráuma
violação temporal associada à ação cujo intervalo temporal expirou,dando
seqüência a
composição
paralelado
processo que segue a violação temporalcom
o processo quenão
ofereceu a ação sincronizável.A
composição
seqüencial de dois processos,E
seguido de F, representa o iníciodo
processo F,após a terminação
com
sucessodo
processo E.O
processoE
[>F
representa a execução de E,podendo
ser interrompido a qualquer instantepela realização de
uma
açãodo
processo F,onde
somente a terminaçãocom
sucessodo
processo
E
inibe a execuçãodo
processo F.O
processoE
<L]{a1: QI, ..., an: Q.,} representa o tratamento das violações temporais (a1*,..., a,,*),ou
seja, se ocorreruma
violação temporal, a¡*, durante a execuçãodo
processo E, entãoeste processo é
abandonado
e o processo Qi é iniciadono
seu lugar.O
processo P[a1, ..., an] representauma
instanciaçãodo
processo P,onde
ocorre a troca dosnomes
das ações.2.3.3
Semântica
operacionalda
linguagem
A
semântica operacional é apresentadano
Anexo
B,no
estiloSOS
(Structured Operational Semanzícs) de Plotkin e inclui:0
um
conjunto de regras de inferência para as ações clássicas deRT-LOTOS;
0
um
conjunto de regras de inferência para as violações temporais; e 0um
conjunto de regras de inferência para a progressãodo
tempo.-Capi-tu-lo 2 - Especificação e Verifi-cação de Sistemas Dependentes-do
Tempo
Além
disso, eem
conformidadecom
a semântica padrão deLOTOS,
todas as ocorrências de ações são consideradas atômicas e instantâneas.A
ação ô e as violações temporais a', sendo devidas a ocorrências de operações especificadas nalinguagem
mas
não
sendo diretamente manipuláveis nesta, nãopodem
ser temporizadas.A
temporização de ações é feita sobre
um
domínio detempo
DW, quepode
ser esparsoou
denso,mas
que
deve ser enumerável.A
gramática da linguagemRT-LOTOS,
utilizadano
desenvolvimentodo
tradutor, é apresentadano
Anexo
B.A
precedência dos operadores (binários e unitários) segue a forma apresentadaem
[BB87], acrescentando apenas o
novo
operador de tratamento de violações temporais, sendoassumido que
este é o operador demenor
precedência,ou
seja: ~Prefixação
>
Escolha>
Composição
Paralela> Preempção
>
Composição
Seqüencial>
Ocultação>
Preempção Temporal
2.4
VERIFICAÇÃO
DE
SISTEMAS
DEPENDENTES
DO
TEMPO
2.4.1
O
método
O
método
utilizado neste trabalho consiste na verificação demodelos (Model
Checking)[ACD90],
a partirdo
qual procura-se verificar se omodelo do comportamento do
sistema satisfazum
conjunto de propriedades estabelecidas. Esta abordagem, dita dual, representageralmente o
comportamento do
sistema a partir deum
formalismo de descrição de seus estados,e as propriedades a partir de fórmulas de
uma
lógica modal,onde
o conjunto de estadosdo
sistema que satisfazem
uma
fómrula é definidocomo
conjunto característicode
uma
fórmula.Existem
duas abordagens possíveis para a verificação: aabordagem
numérica, que consisteem
construir
um
modelo do
grafo temporizado (Sistema de Transições Rotulado) e avaliar afórmula, a partir de
uma
enumeração
exaustiva de todos os estadosdo
modelo; e aabordagem
simbólica, que consiste
em
representar o conjunto característico através de predicados e avaliar afórmula diretamente sobre o grafo temporizado,
sem
a necessidade de construirum
modelo.A
abordagem
numéricatem
como
vantagem
a simplificaçãodo
problema decomparação
eavaliação
do
conjunto de estados, porém, o seu uso é permitido somente paramodelos
decomportamento
finito,além
de permitiruma
explosão combinatória durante a construçãodo
modelo, de acordo
com
onúmero
de composições paralelasdo
sistema.Capítulo 2 - Especificação e Verificação de Sistemas Dependentes 'do'
Tempo
“ "" “9
que não
necessita construir omodelo do
grafo temporizado,além
de poder ser aplicadaem
sistemasonde
omodelo
possuium
comportamento
infinito.No
entanto, é necessárioum
procedimento de decisão eficaz, que pennita comparar os predicados.
Em
[CF95], constatou-se que apesar de sercomum
a utilização deum
Sistema de TransiçõesRotulado para a representação de
uma
especificação escritaem
álgebras de processos,no
caso da linguagemRT-LOTOS,
o uso deste formalismo não éadequado
para a verificação depropriedades, pois implica na adição de
um
grandenúmero
de transições correspondentes àprogressão
do
tempo
e, conseqüentemente,num
crescimentodo número
de estadosdo
modelo
do
sistema.O
uso de GrafosTemporizados
para definir a semântica deRT-LOTOS
diminuiconsideravelmente o espaço de estados a ser analisado,
tomando
viável o processo deverificação.
A
verificação demodelos
utilizada neste trabalho é baseada naabordagem
simbólica,onde
aferramenta
KRONOS
[OY93],
desenvolvidanuma.
cooperação Indústria-Universidade pelolaboratório
VERIMAG
(França), implementaum
algoritmo de verificação simbólica demodelos
[HNSY92],
sendo a lógicaTCTL
utilizada para representar as propriedadesdo
sistema.O
Anexo
C
apresenta os princípios básicos para a utilização desta ferramenta.2.4.2
A
lógicaTCTL
As
propriedades aserem
verificadas sobre omodelo
deum
sistemapodem
ser descritas porfórmulas escritas através da lógica temporal tempo-real
TCTL,
construídas a partir de proposições e restrições atribuídas ao sistema.A
lógicaTCTL
(Temporal
Computation Tree Logic)[AH92]
éuma
extensão da lógicaCTL
[CES86], estendendo os operadores temporais
Hu
(existeuma
execução) evu
(em
todasexecuções) de tal forma que sejam utilizadas restrições temporais, permitindo
um
tratamentotemporal quantitativo.
As
fórmulasTCTL
seguem
a seguinte gramática:<fÓrmula>
:=<predicado>
|<fÓrmu1a>
A<£Órmu1a>
|<fÓrmu1a>
v<fÓrmula>
|¬<fÓrmula>
|<fÓrmula>
Sul<fÓrmula>
l<fÓrmu1a> Vui <fÓrmu1a>
<predicado>
:=init
| enable(a) | after(a) |x
e IA
sendo
init
o estado inicialdo modelo do
sistema, xum
relógio pertencente ao conjunto deCapítulo 2 - Especificação e Verificação de Sistemas Dependentes-do
Tempo-
-- -r -10
ação a é possível de ocorrer, e afcer(a) o conjunto de estados
do
modelo do
sistemaalcançados após a ocorrência de
uma
ação a.O
intervalo de valores positivos inteiros échamado
1.
Os
operadores v, A e¬
correspondem, respectivamente, aos operadores binários “or”, “and” eao operador unitário “not”.
A
fórmula<fórmu1a1>
Hu;<fÓrmu1a2>
significa que existeuma
execuçãodo
sistemacom
uma
prefixação finitaonde <fórmu1a2>
é verdadeira'no
último estado,com
um
tempo
te
I,sendo
que <fórmu1a1>
é continuamente verdadeira nos estados anteriores.A
fórmula<fórmu1a1>
Vu,<fórmu1a2>
se diferencia pelo fato de que todas as execuçõesdo
sistema são verdadeiras.
Através destas duas fórmulas, é possível obter algumas abreviações típicas, tais
como:
:rue
Eiul<fÓrmu1a>
denotada por E|<>I<fÓrmu1a>
true
Vul <fÓrmula>
denotada por V<>I<fÓrmu1a>
¬V<>I
¬<fÓrmula>
denotada por 3 1<fÓrmula>
¬3‹>I
¬<fórmu1â>
denotada porV
I<fórmu1a>
Para
tomar
mais clara a maneiracomo
a ferramentaKRONOS
calcula, deforma
iterativa, oconjunto característico de urna fórmula, o seguinte
exemplo
é apresentado: para verificar se épossível alcançar
um
estado que satisfaçauma
fórmula, u, a partirdo
conjunto de estadosdo
modelo, a fórmula 3<>Iu descreve esta propriedade. Assim, o conjunto característico, denotado por {3<>Iu}, é:
'ÍBÔIHÍ' = UiKi rzzzor
onde:
Ko = {u
A
zeI}Ki+1 = Ki
U
(true * Ki)O
operador binário *retoma
o conjunto de estados quesatisfazem a fórmula, a partir dos
estados seguintes, obtidos através da iteração anterior.
A
variável z representaum
relógio,utilizado para
marcar
otempo
desde o início da execução. Assim, o algoritmo iniciacom
oconjunto de estados
que
satisfaz a fómrula tu Azen
e,em
seguida, são calculados os demaisCapítulo 2 - Especificação e Verificação de Sistemas Dependentes"d'o'Temp'o' ' '
11
2.4.3
Arquitetura
do
Processode Verificação
O
primeiro passo para a verificação deum
sistema está na geraçãodo
Grafo Temporizado.A
tradução das especificaçõesRT-LOTOS
para GrafosTemporizados
é obtida atravésdo
tradutorimplementado
neste trabalho, sendo a verificaçãodo
grafo temporizado resultante feita a partirda
lógicaTCTL
e através da ferramentaKRONOS.
KRONOS
utilizacomo
elementos deentrada: o grafo temporizado,
que
descreve o sistema; e fórmulasTCTL,
que
estabelecem aspropriedades a
serem
verificadas. Finalmente, a ferramentaKRONOS
retornacomo
resultado ascondições
em
que o
grafo temporizado satisfaz a fórmula.A
Figura 2.1 ilustra o processo deEspecificação
RT-LOTOS
'Tradutor
RT-LOTOS
-> Grafo Temporizadolverificação.
[ Grafo Temporizado Fórmula
TCTL
]Verificador
KRONOS
Condições de satisfação
Figura
2.1 -O
Processode Verificação
2.5
coNcLUsóEs
Neste capítulo,
foram
apresentados alguns dosmétodos
formais existentes na literatura, para aespecificação de sistemas dependentes
do
tempo, sendo que dentre estes foi escolhida alinguagem
RT-LOTOS,
pois possui caracteristicas interessantes quanto a sua expressividade,adequando-se
também
à representação por Grafos Temporizados, de utilidade neste trabalhopara a fase de verificação.
Foi apresentado
também
ométodo
de verificação destes sistemas,que
utilizaKRONOS
como
ferramenta auxiliar,onde
as propriedadesdo
sistema são descritas através da lógica temporalTCTL.
HEm
[Yovine93], foi desenvolvidoum
tradutor de especificações escritas através da álgebra de processosATP
[Nicollin92] para Grafos Temporizados, porém, a linguagemATP
possuilimitações quanto a representação da ocorrência de
uma
açãoem
um
intervalo detempo
e naCapítulo 2 - Especificação e Verificação de Sistemas Dependentes do
Tempo
12
proposta de
mapeamento
parauma
extensão deLOTOS
(ET-LOTOS),
entretanto,nenhum
mecanismo
de tradução automático foi desenvolvidonem
implementado, deixando incompletauma
validação daabordagem
para as extensões temporais deLOTOS.
Nos
próximos
capítulos, serão apresentados a metodologia utilizada na implementaçãodo
CAPÍTULO
3
REPRESENTAÇÃO DE
RT-LOTOS
POR
GRAFOS TEMPORIZADOS
FINITOS
Para se construir
um
grafo temporizado finito que representeuma
especificação escritaem
RT-
LOTOS,
é preciso mostrarcomo
construí-lo atravésdo
tratamento de cada subexpressão contidana
especificação, levando assim a definição de regras de translação para cada operador dalinguagem.
Em
[CF95], foi apresentadauma
maneira de representar tais operadores por grafostemporizados finitos, porém, a representação contida neste capítulo mostra-se mais interessante,
do
ponto de vista daimplementação do
tradutor e da verificação posteriordo
modelo
do
sistema.Neste sentido, este capítulo apresenta
um
método
de construção de grafos temporizados finitos, apartir de especificações escritas
em
RT-LOTOS,
também chamado
demétodo
de construçãoguiado pela sintaxe. Este
método
é semelhante ao apresentadoem
[DOY94,
Yovine93], quedescreve, respectivamente, a construção de grafos temporizados finitos de termos escritos
em
ET-LOTOS
[LL94] eATP
[Nicollin92]. `A
organização deste capítulo é feita da seguinte maneira: primeiramente, é apresentada adefinição de Grafos
Temporizados
Finitos, definindotambém
urna extensão destes grafos, quetem
como
finalidade melhorar a maneira de expressar a relação entre relógios e vértices, eacrescentar
uma
ação especial, s, descrita a seguir.Em
seguida, é definida a forma de representarcada operador da linguagem
RT-LOTOS
em
Grafos Temporizados.Ao
final, são apresentados algunsexemplos
ilustrativos.3.1
GRAFOS TEMPORIZADOS
FINITOS
Um
GrafoTemporizado [AD9l,
NSY92]
éuma
representação deum
autômato
estendidocom
um
conjunto de variáveis reais,chamadas
de relógios, cujos valores crescem uniformementecom
o
passardo
tempo.Um
relógiopode
ser inicializado porum
arcodo
grafo, e o valor de cada relógio é igual aotempo
decorrido desde a sua última inicialização.
São
associadas restrições sobre os relógios aos vértices e aos arcosdo
grafo.O
sistemapode
permanecernum
vértice enquanto as restrições associadas aCapítulo 3 > Representação de
RT-LOTOS
por Grafos Temporizados Finitos 14os valores correntes dos relógios satisfazem a condição associada ao arco.
Dentre as definições formais de Grafos
Temporizados
disponíveis na literatura [CF95,DOY94,
Yovine93], optou-se pela definição apresentada
em
[Yovine93], pois esta se corresponde ao fonnalismo adotadona
construção da ferramentaKRONOS
[OY93],
que será utilizada na fase deverificação
do
modelo
deum
sistema.Definição
3.1 SejaA
um
vocabulário de ações,no
qual a denotaum
elemento de A. Sejatambém
u/(C) run conjunto de restrições temporais sobre o conjunto de relógios C.Um
GrafoTemporízado
éuma
quíntupla <S, C, L, sz, õ>, onde:S
:>
conjunto dos vértices,onde
cada vértice representaum
ou
mais estadosdo
sistema.
C
:>
conjunto dos relógiosL
:>
conjunto dos arcos (Lg
S
xA
x \I'(C)x
2C
x
S)sz
e
S
:>
vértice inicialõ:
S
-›
*P(C):>
funçãoque
associa a cada vérticeuma
condição de atividade (condição depermanência
no
vértice). VEI
Cada
arco possui o seguinte formato:e
=
<s, a,\V, C', s'>|
l--_›
vértice de saídaconjunto dos relógios a
serem
reinicializadoscondições dos relógios associadas ao arco
etiqueta que representa
uma
açãovértice de entrada
Partindo
do
vértice inicial deum
grafo temporizado, todos os relógios são inicializados.Se
o sistema estáem
um
determinado vértice, s, entãoum
arco, e, poderá ser disparado somentese os valores dos relógios satisfazem a condição \P, resultando na
mudança
para outro vértice, s ',com
a inicialização dos relógios pertencentes ao conjuntoC
'.As
condições dos relógios associadas aos arcos e as condições de atividade associadas aosvértices são combinações
do
tipox ~
c,onde
x
e C, c eN
(números naturais) e~
é urna relaçãoCapítulo 3 - Representação de
RT-LOTOS
por Grafos Temporizados Finitos 153.1.1
Grafos
Temporizados
EstendidosEsta extensão de Grafos
Temporizados
tem
como
objetivo facilitar a determinação dos relógios aserem
inicializados pelos arcos,que
depende deuma
relação entre o conjunto de vértices e o conjunto de relógiosdo
grafo.A
definição formal de GrafosTemporizados
Estendidos é dada aseguir [Yovine93].
Definição
3.2Um
GrafoTemporizado
Estendido(GTE)
é representado pela sêxtupla <S, C, L,sr, õ,
F>, onde
<S, C, L, sr,ô>
éum
Grafo Temporizado, sendoF
g
S
x
C um
conjunto de extensões, associando os relógios pertencentes ao conjuntoC
com
os vérticesdo
conjunto S.Para todo s
ê
S, é definido:F(s)={xeC|(s,x)eF}
EI
Assim, será possível obter o grafo temporizado de
um
processo P, denotado por G[P], a partirdo
GTE,
denotado por G>[P].Ou
seja, para <D[P]=
<S, C, L, s1, ô, F>, definidocomo
sendo oGTE
de P, então o grafo temporizado de
P
seráG[P]
=
<S, C, L, sr, ô>.Outra definição importante é apresentada a seguir:
Definição
3.3 SejaG
=
<S, C, L, sz, ô,F>
um
GTE,
então:Reach(G)
<
S, C, L, s1, õ,F
>
onde:s1eS
SeseSe
<s,
a, \|1,C',s'>eL,
entã)s'eS(SgS)
Í
=
L
n
(š×A×w(c)×2°
xš)
Ê=Õ
f¬(§X\|1)
'F
Fr\(SxC)
U
Reach(G)
éum
grafo temporizado estendidoonde
os vértices são unicamente os vérticesacessíveis a partir
do
vértice inicial s1do
grafo G,ou
seja, eliminando os vértices inacessíveis e osarcos
que nunca
serão disparados.Para ilustrar a utilização
do
grafo Reach(G), a Figura 3.1 apresentamn
simples exemplo, contendo o grafoG
e o grafo Reach(G).Capítulo*3 › Representação de
RT-LOTOS
por Grafos Temporizados Finitos " " fló
9
Grafo
G
Ref1Ch(G)@'Q'
CFigura
3.1 -Exemplo
de
um
grafoReach(G)
Neste exemplo,
não
existeuma
seqüência de disparos possível, na qual o arco c seja disparado apartir
do
vértice inicial, so.Não
existetambém
uma
seqüência de disparos possível, na qual ovértice s; seja atingido. Assim, o grafo
Reach(G)
não possui o vértice s; e o arco c.3.2
REPRESENTAÇÃO DOS OPERADORES
RT-LOTOS
EM
GTE
As
definições apresentadas a seguirdemonstram
como
se constróium
GTE,
<D[P], a partir de expressões decomportamento,
P, descritasem RT-LOTOS
[Camargo95].Como
o
GrafoTemporizado
é construído a partir de tais expressões, é necessário saber tratar de cada sub- expressão,ou
seja, de cada operador da linguagem.Limitações:
A
construção de tais grafos possui certas limitações, discutidasem
[CF95, Garavel89].É
estabelecidoque
será possível construirum
GTE,
a partir deuma
expressão P, somente se estaespecificação levar a
um
sistema de transições finito, gerando assimum
grafocom
um
número
finito de vértices.
Por
exemplo,P
=
Q
III i;P
éum
processono
qualnão
possui representação porum
sistema de transições finito, apesar de ser urna expressão valida paraRT-LOTOS.
Em
[Garavel89], observou-se
que
especificações escritasem
LOTOS
que apresentamuma
recursividade contida
em
um
dos operandos de run operador decomposição
paralela,ou
contidano operando
esquerdo deum
operador de composição seqüencialou
de preempção,podem
gerarum
sistema de transições infinito, classificando estas recursividadescomo
proibidas,do
ponto devista
da
geraçãodo
grafo.O
vocabulário de ações possíveis nos grafos temporizados obtidos a partir deRT-LOTOS
é oseguinte:
A
=A¢z
ozrcz*U
{z, õ, z} zAzzf'~W
Este vocabulário
contém
as ações possíveisem
RT-LOTOS,
além da introdução da ação especiala. Esta ação é necessária para os
métodos
de construções composicionais [Garavel89],em
particular, na representação
do
operador de composição paralela,onde
expressa a habilitação dasCapítulo 3 - Representação de
RT-LOTOS
por Grafos Temporizados Finitos 17ser atômica, significando
que
elanão
pode
ser interrompida poruma
ação concorrente. Este tipode ação é utilizado de
fonna
análoga às s-transições da teoria de autômatos não-deterrninísticos[ASU86].
Para a representação dos operadores, serão considerados dois processos genéricos,
P
e Q,onde
os seus
GTE°s
são:E
<S1› C1: Lj, S11» 819F[>
eE
<S2› C2, L2fl S12, 825F2>
3.2.1
Inação
O
GTE
parao
processo stop consiste apenas deum
vértice, ilustrado pela Figura 3.2. Elenão
possui
nenhum
arco, e a condição de atividade deste vértice é sempre verdadeira (true),possibilitando
uma
permanência indefinida.Figura
3.2 -GTE
para
o processo stop<1>[S10p]
=
<{S}, 0, 0, S, {(s, tru@)},0>
3.2.2
Terminação
com
sucessoO
GTE
para o processo exit consiste de dois vértices eum
arco etiquetadocom
a ação ô,lembrando que
esta açãonão
é urgente, caracterizada pela condição de atividadedo
vértice so (true), e pela condiçãodo
arco (true). Este fato dispensa a atribuição deum
novo
relógio.Í
õ, true _í
Figura
3.3 -GTE
para
o processo exitd>[exit]
=
<{so, sI }, 0, e, so, {(so, true), (sl, true)},0> onde:e
=
<so, õ, true, 0,sI>
3.2.3