Pergunta da Pesquisa
A solução MDA-Veritas, instanciada para o domínio de sistemas concorrentes, foi capaz de verificar equivalência entre modelos PIM e PSM de uma forma eficiente e eficaz para as linguagens de descrição redes de Petri e IOPTs e suas respectivas representações de semântica de execução?
Proposições de Estudo
Tendo por base a aplicação de um conjunto de estudos de caso, caracterizar:
1. A complexidade temporal de aplicação da solução; 2. A complexidade espacial de aplicação da solução;
3. As falhas de equivalência sintática encontradas pela aplicação da solução; 4. As falhas de equivalência semântica encontradas pela aplicação da solução.
Objetivos, Questões e Métricas
Objetivo 1. Medir a característica temporal de desempenho da solução em todo o processo de verificação de equivalência semântica nas transformações MDA.
• Propósito: medição;
• Questão: caracterização temporal;
• Objeto: desempenho da solução em todo o processo de verificação; • Ponto de vista: provedor da solução.
• Questão 1.1. Qual é o tempo necessário para aplicar cada uma das transformações MDA envolvidas no estudo de caso e sua respectiva construção da tabela sintática?
– Métrica 1.1.a. TT = TTout- TTin;
Onde TT = Tempo total para aplicação da transformação MDA, TTin = Tempo ini-
cial antes da aplicação da transformação e TTout = Tempo final após a aplicação da
transformação.
– Métrica 1.1.b. TTS = TTSout- TTSin;
Onde TTS = Tempo total para extração da tabela sintática, TTSin = Tempo inicial
antes da extração da tabela sintática e TTSout = Tempo final após a extração da tabela
sintática.
– Métrica 1.2.a. TEMS = TEMSout- TEMSin;
Onde TEMS = Tempo total para extração dos modelos semânticos, TEMSin= Tempo
inicial antes da extração do modelo semântico e TEMSout= Tempo final após a extração
do modelo semântico.
• Questão 1.3. Em que ordem de complexidade temporal está a função do tempo de execução das extrações de modelos semânticos?
– Métrica 1.3.a. f (TEMS) ∈ O(|M|).
Onde |M| é a função de tamanho do modelo e f (TEMS) é a função do tempo de exe- cução das extrações de modelos semânticos para todos os casos no experimento. • Questão 1.4. Qual é o tempo necessário para aplicação de todas as regras de verificação para
um modelo?
– Métrica 1.4.a. TAC =P
1..n TRn
Onde TAC = Tempo total para aplicação das regras de computação e TRn= Tempo de
aplicação de uma enésima regra de computação.
• Questão 1.5. Qual é o tempo necessário para decidir se um modelo satisfaz a uma fórmula temporal?
– Métrica 1.5.a. TV = TVf inal- TVinicial
Onde TV = Tempo de Verificação, TVinicial = Tempo inicial antes da verificação e
TVf inal= Tempo final após a verificação. Dado um modelo M e uma fórmula Φ, TV é
o tempo para decidir se M |= Φ.
• Questão 1.6. Em que ordem de complexidade temporal está a função de execução da verifi- cação?
– Métrica 1.6.a. f (TV) ∈ O(2|Φ|)O(|M|).
Onde |M| é a função de tamanho do modelo, |Φ| é a função de tamanho da fórmula e f (TV) é a função do tempo de verificação para todos os modelos envolvidos no experimento. O algoritmo utilizado na verificação necessita satisfazer essa métrica. • Questão 1.7. Qual é o tempo necessário para aplicação de verificações similares em um
– Métrica 1.7.a. TVSP IN = TVSP IN f inal- TVSP IN inicial
Onde TVSP IN= Tempo de Verificação no Spin, TVSP IN inicial= Tempo inicial antes da
verificação na ferramenta Spin e TVf inal= Tempo final após a verificação na ferramenta
Spin. Dado um modelo M e uma fórmula Φ, TV é o tempo para decidir se M |= Φ. Objetivo 2. Medir a capacidade da solução permitir verificação de sistemas de diferentes tamanhos.
• Propósito: medição;
• Questão: caracterização de capacidade espacial;
• Objeto: verificação de sistemas de diferentes tamanhos; • Ponto de vista: provedor da solução.
• Questão 2.1. Qual é o número máximo de elementos de um modelo que a solução permite lidar?
– Métrica 2.1.a. |M| =P
1..nComponenten. Onde |M| assume o valor máximo. A função
de tamanho do modelo é a soma dos elementos de um modelo. Dessa forma, seleciona- se o valor máximo desse resultado.
• Questão 2.2. Em que ordem de complexidade espacial está a extração através das equações semânticas?
– Métrica 2.2.a. f (|MS|) ∈ O(|M|). Onde MS = Modelo semântico, |MS| = Tamanho do modelo semântico, e f (|MS|) é a função de aplicação da extração a todos os modelos semânticos envolvidos no experimento.
• Questão 2.3. Qual é o custo que determina a complexidade espacial da aplicação da verifi- cação?
– Métrica 2.4.a. CV = f (|M|,|Φ|). Onde CV é o custo da verificação. Ela é uma função do tamanho do modelo em relação ao tamanho da fórmula.
– Métrica 2.3.a. f (|MΦ|) in 2O(|Φ|).
Onde Φ é uma fórmula LTL, MΦé um modelo que representa Φ e f (|MΦ|) é uma função
do tamanho do modelo para todas as aplicações no experimento. Verificando-se a partir de cada sub-fórmula até a fórmula total, temos que esse conjunto de fórmulas pode ser armazenado em espaço polinomial. O algoritmo utilizado na verificação necessita satisfazer a essa métrica.
Objetivo 3. Detectar problemas de equivalência ao nível sintático entre conceitos transforma- dos.
• Propósito: detecção;
• Questão: caracterização de falhas;
• Objeto: teste de equivalência sintática entre conceitos transformados; • Ponto de vista: cliente MDA.
• Questão 3.1. A quais regras estruturais uma tabela sintática correta deve satisfazer? – Métrica 3.1.a. TES =S
1..nLinen.
Onde TES = Tabela de equivalência sintática e Linen = linha de configuração para
regras da transformação MDA.
– Métrica 3.1.b. Linen = (Cellin, Cellout), com Cellin ⊆ Min.Componentes e Cellout ⊆
Mout.Componentes.
Onde Cellin = célula correspondente a uma linha na primeira parte da tupla e Cellout
= célula correspondente a uma linha na segunda parte da tupla, Min.Componentes =
componentes do modelo de entrada e Mout.Componentes = componentes do modelo de
saída.
Objetivo 4. Detectar falta de equivalência semântica entre conceitos transformados.
• Propósito: detecção;
• Questão: caracterização de problemas;
• Ponto de vista: cliente MDA.
• Questão 4.1. Qual é a forma que as propriedades semânticas precisam satisfazer? – Métrica 4.1.a. MS = (S, I, R, L).
Onde MS assume a forma de uma estrutura de Kripke. Tem S = conjunto finito de estados, I = conjunto de estados iniciais onde I ⊆ S, R é uma relação de transição onde R ⊆ S x S e L é uma função de nomes onde L : S -> 2AP, com AP = proposições atômicas definidas para o modelo.
• Questão 4.2. Como apresenta-se uma diferença de propriedade semântica?
– Métrica 4.2.a. Se (Min |= Φ) 6= (Mout |= Φ), temos falta de equivalência de uma pro-
priedade semântica. Caso contrário, ainda é necessário verificar se CE(Min |= Φ) ∼=
CE(Mout|= Φ).
• Questão 4.3. Quais são as classes de propriedades semânticas existentes para a transfor- mação analisada?
– Métrica 4.3.a. Repete-se a verificação da métrica 4.2.a, considerando Φ como cada um dos casos a seguir. Para o caso específico desta avaliação, espera-se um alto grau de poder de detecção nas seguintes categorias de propriedades:
* Propriedade Alcançabilidade (atingível): Φ = <>P.
* Propriedade Segurança (nada de errado ocorrerá): Φ = [] P. * Propriedade Vivacidade (certeza de resposta): Φ = [](P -> <>Q). * Propriedade Equidade (justiça): Φ = []<>P.
* Propriedade Liberdade de Deadlock (nunca trava): Φ = []X verdade.
Finalmente, os padrões de especificação para lógica temporal apresentados no Capítulo 2.4.5 também deverão ser utilizados para essa questão.
• Questão 4.4. Qual é a eficácia da solução na captura de falhas em diversas situações de aplicação em modelos?
solução continue detectando erros de preservação entre modelos. A técnica ado- tada foi a Mutação Restrita [Mathur and Wong, 1994], baseando-se nos resultados de [Fabbri et al., 1995] para redes de Petri, onde alguns operadores de mutação foram se- lecionados para a geração dos mutantes. Desta forma, utilizamos a métrica escore de mutação, que é um valor no intervalo (0..1) e fornece uma medida da adequação do conjunto de testes analisados:
Dada a solução S e o conjunto de casos de testes T, calcula-se o escore de mutação ms(T,P) como ms(T,P) = DM(P,T) / (M(P) - EM(P)), onde:
DM(P,T): número de mutantes mortos pelo caso de teste T. M(P): número total de mutantes gerados.
EM(P): número de mutantes equivalentes a P.
Desta forma, a equivalência entre mutantes a serem identificadas pelo experimento se dá pelo quão mais próximo o escore de mutação estiver de 1. Caso haja similaridade nos resultados do escore de mutação, inferimos que o operador de mutantes sob análise é preservador de semântica.