Em [6] um FTS é descrito pelo triplo
Nas fórmulas que descrevem as transições, quando se pretende designar
o valor duma variável no estado seguinte da execução utiliza-se uma
variante "linha" dessa variável. Por exemplo, se pretendermos dizer
que, após executada uma transição, o valor de uma variável x será
igual ao seu valor actual mais um, escrevemos x'=x+1. A partir da
proposição que descreve uma transição facilmente se obtem a condição
que indica se a transição está ou não activa. Para isso basta
substituir todas as variáveis linha da fórmula por uma variável rígida
quantificada existencialmente. Para o caso de x'=x+1 teríamos
.
Depois de descrita a noção de FTS é apresentada em [6] a
semântica do SPL utilizando este modelo computacional. O conjunto Vde variáveis é igual ao conjunto X de variáveis declaradas no
programa mais o conjunto M de todas as marcas nele presentes. Para
simplificar assume-se que todas as instruções estão etiquetadas com
uma pré-localização e uma pós-localização. Assumindo que sintetiza, através de uma conjunção, todas as proposições presentes
nas cláusulas where das declarações e que
é o
conjunto das marcas inicialmente activas no programa, então a condição
inicial
é definida como:
Para cada instrução do SPL é apresentada em [6] a
propriedade que corresponde à respectiva transição (ou transições) num
FTS e a respectiva condição de activação. Devido à necessidade
frequente de se indicar que apenas um pequeno conjunto de variáveis
altera o seu valor, definiu-se o predicado auxiliar
Para exemplificar a tradução de um programa SPL num sistema de
transição de acordo com estas regras, considere, mais uma vez, o
programa apresentado na figura 1.9. Neste exemplo, o
conjunto das variáveis do FTS é: