You are on page 1of 29

Labelled Transition

Systems
(LTS)

Prof. Paulo Henrique M. Maia, PhD
Modelagem do Comportamento do
Sistema
Modelos so uma representao simplificada de sistemas que
incluem apenas aspectos relevantes do comportamento desses
sistemas
Eles so representados geralmente atravs de um formalismo de
mquina de estados finitos (MEFs)
Fornecem uma teoria matemtica que permite anlise rigorosa dos sistemas
e checagem de propriedades
Fornecem uma semntica intuitiva do comportamento do sistema que
permite visualizao e abstrao do sistema
Modelagem do Comportamento do
Sistema
importante escolher o modelo de comportamento apropriado
Essa escolha depende
do tipo de aplicao que ele ter que ele ter (por exemplo, model checking)
da ferramenta que ser utilizada
H duas abordagens bsicas para representar comportamento
usando MEFs
Modelagem baseada em estados
Modelagem baseada em aes


Modelagem baseada em Estados
Comportamento do sistema representado em termos de todos os
estrados possveis que o sistema pode alcanar
Um estado representa uma descrio instantnea o sistema em
termos de valores de variveis em um determinado ponto no tempo
Transies so usadas apenas para permitir que o sistema v de um
estado para outro, mas no contm nenhuma informao

Modelagem baseada em Estados
Estrutura de Kripke
Cada estado rotulado com as proposies que so verdade naquele estado
Uma Estrutura de Kripke define um conjunto de proposies verdadeiras em
um determinado tempo da execuo do sistema


Modelagem baseada em Aes
Foco nas aes que o sistema pode realizar e que causam uma
mudana no estado corrente do sistema
Uma ao um evento atmico que causa uma mudana no estado
do programa e definida de acordo com o nvel de abstrao
Chamada de mtodo
Atribuio de varivel
Eventos de entrada e sada
Estados representam pontos onde o sistema espera pela prxima
ao importante acontecer

Modelagem baseada em Aes
Labelled Transition Systems
on
off
0 1
Estados x Aes
Formalismos baseados em estados esto relacionados propriedades
do estado global do sistema
Formalismos baseados em aes abordam como os componentes do
sistema interagem
Ambos LTS e KS so estruturas que j foram usadas para representar
vrias aplicaes na Cincia da Computao, especialmente para
modelar sistemas reativos e concorrentes


Estados x Aes
Apesar de muito similar, elas possuem uma diferena chave
No LTS, transies so rotuladas para descrever as aes que causam uma
mudana de estado
Na KS, estados so rotulados para descrever como eles so modificados pelas
transies


Labeled Transition System
Um LTS L representado por uma qudrupla (S, A, T, q) onde
S um conjunto de estados finitos
A o conjunto de rtulos (labels) que denotam o alfabeto de L
T = (S x A x S) define as transies rotuladas entre estados
q o estado inicial


Labeled Transition System
Exemplo: Vending machine
VM
S = {0,1,2,3}
A = {coin,tea,coffee,dispenseTea,dispenseCoffeeg}
T = {(0,coin,1), (1,tea,2), (1,coffee,3), (2,dispenseTea,0), (3,dispenseCoffee,0)}
q= 0

Labeled Transition System
Traces
Possvel sequencia de aes a partir do estado inicial de um LTS
Qual seriam os possveis traces da VM?
coin -> coffee -> dispenseCofee -> coin -> tea -> dispenseTea ->...
coin -> tea -> dispenseTea -> coin -> tea -> dispenseTea ->...
coin -> coffee -> dispenseCofee -> coin -> coffee -> dispenseCofee ->...
Determinismo x no-determinismo
Um LTS determinstico se no h duas transies que saiam do
mesmo estado, possuam o mesmo rtulo, e cheguem em estados
diferentes. Caso contrrio, ele no-determinstico.

Outro exemplo de uso??
Determinismo x no-determinismo
Modelando falha

i n
i n
out
0 1
Exerccio
Modele os seguintes exemplos
Um ATM onde o cliente pode, ao inserir um carto vlido e ter sua senha
validada, pode realizar um saque ou visualizar um saldo. Para o saque, o ATM
s permite caso o usurio tenha saldo suficiente na conta.
Um sistema onde o usurio um professor que pode inserir notas da
disciplina. O sistema mostra a lista de alunos e, para cada aluno selecionado,
o professor atribui a primeira e a segunda nota. O sistema calcula e mostra a
mdia. Se esta for maior ou igual a 7, o aluno est aprovado. Se no, o
sistema pede ao professor para inserir mais uma nota (final), calcula e mostra
a nova mdia (entre a mdia anterior e a nova nota). Se o aluno atingir mdia
5, est aprovado, caso contrrio est reprovado.
Composio Paralela
Operao entre dois LTSs L1 e L2, denotada por L1 || L2, que modela
o comportamento conjunto de L1 e L2
O alfabeto de L1||L2 a unio dos alfabetos de L1 e L2
Cada estado de L1||L2 pode ser visto como um par (p1,p2), onde p1
pertence a S(L1) e p2 pertence a S(L2)
No comportamento conjunto, cada LTS pode realizar uma transio
individualmente, desde que a ao que rotula a transio no seja
compartilhada
Neste caso, as transies com aes compartilhadas devem executar
simultaneamente
Composio Paralela
(0,0) (0,1) (0,2) (1,2) (1,1) (1,0)
from CONVERSE
from ITCH
2 states
3 states
2 x 3 states
ITCH
scratch
0 1
CONVERSE
think talk
0 1 2
CONVERSE_ITCH
scratch
think
scratch
talk scratch
talk think
0 1 2 3 4 5
Composio Paralela
Composio Paralela
Composio paralela
comutativa e associativa
A ordem em quem os LTSs so compostos insignificante
LTSs se comunicam por aes sincronizadas que seus alfabetos
compartilham, com entrelaamento das outras aes
Modelagem com LTSs case sensitive
Exerccio
Divida o modelo do ATM feito no exerccio 1 em trs modelos: o do
usurio, do ATM, e do Banco e realize a composio paralela entre
eles.
Dados os seguintes modelos, como seria o modelo composto em
paralelo?
Exerccio
Resposta (ex2)
makeA
makeB makeA ready assembl e
used
makeB
0 1 2 3 4 5
Equivalncia
Relaes de equivalncia fornecem uma semntica para construo e
comparao de comportamento representado por LTSs
Elas tambm podem ser usadas reduzir o espao de estados de um
LTS para simplificar a anlise do modelo
H vrias noes de equivalncia, mas podemos citar 3 como
principais
Equivalncia de trace
Equivalncia de bisimulao
Isomorfismo
Equivalncia de traces
Dois LTSs so equivalentes em traces se, e somente se, eles podem
representar a mesma sequencia de aes, a partir dos seus estados
iniciais
toss -> head -> toss -> tail -> toss...
toss -> tail -> toss -> tail -> toss -> head...
Bisimilaridade
Given an LTS P=(S, A, T, q), uma relao binrio R uma bisimulao
(bisimulaiton) em S se para qualquer s R t and a em A, o seguinte
verdade
Se s x a x s, ento existe t tal que t x a x t e s R t ;
Se t x a x t, ento existe s tal que s x a x s e s R t ;

Bisimilaridade
R= {(0,0), (1,1), (2,2), (3,3), (0,4), (1,5), (2,6), (3,7)}
Bisimilaridade
No so bisimilares!!
Isomorfismo
Dois LTS so isomrficos se a sua estrutura a mesma
Efetivamente, podem diferir apenas na renomeao dos estados
Comparao
Equivalncia de traces preserva uma quantidade mnima de estrutura,
apenas a ordem em que as aes podem ocorrer
Bisimilaridade tambm preserva a estrutura de ramos do LTS
(branching structure)
Isomorfismo garante que a estrutura seja a mesma

You might also like