Especificação de Sistemas de Tempo
Real com Gramática de Grafos
Leonardo Michelon
Simone Costa
Leila Ribeiro
Roteiro
Introdução
Gramática de Grafos Baseada em Objetos (GGBO)
GGBO Temporizada
Semântica de GGBO Temporizada
Verificação de Propriedades
Observações Finais
Abordagem Lógica para GG
2
Introdução
Propõe-se uma abordagem formal para
especificar e analisar sistemas de tempo real;
Uma extensão de Gramática de Grafos Baseada em
Objetos - GGBO;
Semântica é definida em termos de Autômatos
Temporizados ⇒ Verificação Automática de
Propriedades.
3
Introdução
A proposta:
4
–
Provê uma representação compreensiva da estrutura de
dados de um sistema e de sua distribuição (modelo
baseado em objetos);
–
Permite representar situações complexas num nível
intuitivo (layout gráfico).
–
Baseada em conceitos úteis para modelagem em tempo
real (relógios, restrições de tempo);
–
Linguagem de especificação formal (semântica formal);
–
Diretamente verificado com Model Checking.
Roteiro
Introdução
Gramática de Grafos Baseada em Objetos (GGBO)
GGBO Temporizada
Semântica de GGBO Temporizada
Verificação de Propriedades
Observações Finais
Abordagem Lógica para GG
5
Gramática de Grafos Baseada em
Objetos (GGBO)
Sistema baseado em objetos:
–
–
–
Composto de vários objetos. Um objeto não pode ler ou
modificar atributos de outros objetos.
Objetos são instâncias de classes.
Objetos são entidades autônomas que se comunicam de
forma assíncrona via troca de mensagens.
par1
Classe
atr1
Mensagem
par1
Classe
Mensagem
atr2:TAD
par2
Atributos
par2
atr1
6
atr2
TAD
TAD
Gramática de Grafos Baseada em
Objetos (GGBO)
Formada por:
7
Gramática de Grafos Baseada em
Objetos (GGBO)
Formada por:
• um grafo tipo informando
- todos os atributos de todos os tipos de objetos;
- mensagens enviadas/recebidas por cada tipo
de objeto.
8
Gramática de Grafos Baseada em
Objetos (GGBO)
Formada por:
• um grafo inicial especificando
- valores iniciais dos atributos dos objetos;
- mensagens a serem enviadas quando os
objetos são criados.
9
Gramática de Grafos Baseada em
Objetos (GGBO)
Formada por:
• um conjunto de regras especificando
- o comportamento dos objetos quando
recebem mensagens.
10
GGBO
Uma regra é formada por:
um lado esquerdo finito L (condições de ativação):
–
–
–
uma mensagem de ativação;
(somente) atributos do objeto destino da mensagem de
ativação devem aparecer;
valores de tipos abstratos de dados podem ser variáveis.
um lado direito finito R (itens presentes após a
aplicação da regra):
–
11
–
objetos e atributos de L e novos objetos (valores de
atributos podem mudar mas atributos não podem ser
criados nem deletados);
mensagens para objetos de R.
Gramática de Grafos Baseada em
Objetos (GGBO)
Uma aplicação de regra r: L → R especifica uma mudança no
estado do sistema:
–
todos os itens de L devem estar presentes no estado corrente;
–
itens de L mapeados para R (através do morfismo r) devem ser
preservados;
–
itens de L que não tem imagem em R devem ser removidos do
estado corrente;
–
itens de R que não tem pré-imagem em L devem ser criados.
Regras podem ser aplicadas em paralelo (se não há conflito) .
Regras em conflito são escolhidas não-deterministicamente.
12
Gramática de Grafos Baseada em
Objetos (GGBO) – Aplicação de Regra
13
Roteiro
Introdução
Gramática de Grafos Baseada em Objetos (GGBO)
GGBO Temporizada
Semântica de GGBO Temporizada
Verificação de Propriedades
Observações Finais
Abordagem Lógica para GG
14
GGBO Temporizada
Adiciona marca de tempo nas mensagens:
<tmin, tmax>, tmin ≤ tmax.
Tempo relativo: número mínimo/máximo de unidades de
tempo, relativo ao tempo corrente (ct) em que a
mensagem deve ser manipulada.
As possíveis marcas de tempo são:
15
[tmin + ct, tmax + ct]
[t + ct, t + ct]
[0 + ct, tmax + ct]
[0 + ct, +∞)
[tmin + ct, +∞)
[ct, ct]
GGBO Temporizada
Análoga a GGBO, considerando:
–
grafos temporizados: cada mensagem tem um tempo mínimo
/máximo definido (por funções parciais);
–
regras temporizadas: regras com tmin e tmax indefinidos em L.
Regras especificam como manipular uma mensagem, e
não quando elas devem ser entregues.
16
GGBO Temporizada – Exemplo
Sistema Ferroviário Simples
Grafo Tipo
17
GGBO Temporizada – Exemplo
Sistema Ferroviário Simples
Grafo Inicial
18
GGBO Temporizada – Exemplo
Sistema Ferroviário Simples
Regras do Trem
19
GGBO Temporizada – Exemplo
Sistema Ferroviário Simples
Regras do Segmento de Ferrovia / Regras do Portão
20
Roteiro
Introdução
Gramática de Grafos Baseada em Objetos (GGBO)
GGBO Temporizada
Semântica de GGBO Temporizada
Verificação de Propriedades
Observações Finais
Abordagem Lógica para GG
21
Semântica de GGBOs
Sistema de Transição Rotulado:
–
Estados são grafos alcançáveis.
–
Estado inicial é o grafo inicial.
–
Transições descrevem as possíveis aplicações
de regras.
–
Rótulos são os nomes das regras aplicadas.
Não considera nenhuma restrição de
tempo.
22
Semântica de GGBO Temporizada
Tradução para Autômatos Temporizados que estendem os
autômatos usuais adicionando:
23
–
Restrições de relógio aos estados: quantas unidades de tempo
o sistema deve permanecer no estado.
–
Restrições de relógio às transições: sua condição de ativação.
–
Um conjunto (possivelmente vazio) de relógios às transições:
relógios que são zerados com a ocorrência das transições.
Tradução para Autômatos Temporizados
Estados são grafos de GGBOs temporizadas com um relógio
designado para cada mensagem temporizada
–
–
relógios são inicializados com zero
relógios avançam simultaneamente
Restrições de relógio nos estados garantem que o sistema irá
respeitar os limites de tempo máximo.
Transições descrevem possíveis aplicações de regras
–
–
restrições de relógio nas transições garantem que o sistema irá
respeitar os limites de tempo mínimos (se uma mensagem não tem um
tempo limite para ser manipulada, ela pode ser processada em qualquer
tempo)
relógios zerados com as transições são utilizados nas mensagens
temporizadas criadas.
Um autômato temporizado pode ser definido para gramáticas que
24
atingem estados com um número arbitrário (finito) de mensagens.
Tradução para Autômato Temporizado
Aplicações de regras obtêm os estados do autômato.
–
25
não existem restricoes de tempo quando a regra é aplicável
(tmin e tmax são indefinidos)
Tradução para Autômato
Temporizado - Exemplo
26
Tradução para Autômato
Temporizado - Exemplo
O autômato temporizado
completo para este exemplo
tem 36 estados e 40 transições.
27
Roteiro
Introdução
Gramática de Grafos Baseada em Objetos (GGBO)
GGBO Temporizada
Semântica de GGBO Temporizada
Verificação de Propriedades
Observações Finais
Abordagem Lógica para GG
28
Verificação de Propriedades
Ferramenta de Verificação: Uppaal
–
–
Linguagem de Entrada: Autômatos Temporizados
Linguagem de Especificação: CTL
Fórmulas checadas:
29
Verificação de Propriedades
Propriedades Verificadas
30
–
Propriedades de Segurança: ausência de deadlock
(satisfeita). A[] not deadlock.
–
Propriedades de Alcançabilidade: existência de um
caminho onde G7 é alcançável e clock2 tem um valor
menor do que 10 unidades de tempo (não satisfeita). E <>
TA.G7 and clock2<10
–
Propriedades de Continuidade (liveness): verificar se G13
ocorre então G16 ocorrerá. I.e, se um trem viaja para um
segmento de trem que tem um portão, então o portão irá
eventualmente abrir e o trem irá entrar no segmento
(satisfeita). TA.G13
TA.G16
Roteiro
Introdução
Gramática de Grafos Baseada em Objetos (GGBO)
GGBO Temporizada
Semântica de GGBO Temporizada
Verificação de Propriedades
Observações Finais
Abordagem Lógica para GG
31
Observações Finais
GGBO Temporizada estende GGBO para permitir a
especificação e análise de sistemas de tempo real.
Semântica de GGBO Temporizada foi definida em
termos de Autômatos Temporizados ⇒
verificação através de Uppaal.
Trabalhos Futuros:
32
–
Definição de uma semântica para TGGBO sem a tradução
para autômatos temporizados.
–
Prova de propriedades para sistemas com um espaço de
estados infinito.
Roteiro
Introdução
Gramática de Grafos Baseada em Objetos (GGBO)
GGBO Temporizada
Semântica de GGBO Temporizada
Verificação de Propriedades
Observações Finais
Abordagem Lógica para GG
33
Abordagem Lógica para GGs
Motivação
Prova de propriedades de sistemas
especificados em GGs;
Limitação dos verificadores de modelos.
Objetivo: propor uma abordagem lógica para
GGs que permite a prova de propriedades
através da técnica de indução matemática.
34
Abordagem Utilizada
Gramática de Grafos – Estrutura Relacional.
Aplicação de Regra – MS-Transduction.
Abordagem inspirada no trabalho de
Bruno Courcelle.
35
Verificação de Propriedades
Técnica: indução matemática
Tipo de Dado: grafo alcançável
Definindo Operações Recursivas Primitivas (totais)
é possível semi-automatizar a prova por indução:
–
–
36
Base: propriedade vale para G0;
Passo: propriedade vale para cada uma das regras aplicáveis
a um grafo alcançável.
Referências
Michelon, L.; Costa, Simone.; Ribeiro, L. (2006).
Specification of Real-Time Systems with Graph
Grammars. In: XVII Simpósio Brasileiro de
Engenharia de Software (SBES’2006), FlorianópolisSC.
Michelon, L.; Ribeiro, L. Gramática de Grafos Baseada
em Objetos com Tempo. Dissertação de Mestrado,
PPGC - UFRGS.
37
Download

GGBO Temporizada