A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

A Linguagem Formal de Especificação VDM-SL

Apresentações semelhantes


Apresentação em tema: "A Linguagem Formal de Especificação VDM-SL"— Transcrição da apresentação:

1 A Linguagem Formal de Especificação VDM-SL
Aluna: Cibele Brunetto RA:

2 Tópicos O que é VDM Estrutura da Linguagem
Abordagem para Construção de Especificações usando VDM Criação de um Estado do Sistema Construção de “Invariant” de Tipos de Dados Modelagem das Operações do Sistema Prova Refinamento da Especificação Bibliografia Maio 2003

3 O QUE É VDM-SL = Vienna Development Method – Specification Language
Tipo de especificação construída por VDM: baseada em modelo Requisitos de um sistema são melhor capturados criando-se um modelo do sistema e definindo como um estado típico do modelo muda sob o efeito de operações Maio 2003

4 O QUE É VDM suporta 2 tipos de abstração: Representacional Operacional
Abstração de dados dos detalhes representacionais das estruturas de dados a serem usadas na implementação final do sistema Operacional Abstração das manipulações algorítmicas dos dados introduzidos na abstração representacional Maio 2003

5 O QUE É Uma especificação VDM para um problema consiste de um estado, que inclui representações de tipos de dados, e de operações, que expressam mudanças às variáveis de estado consistentes com os requisitos do problema. O estado é um modelo do problema e as operações no estado descrevem o comportamento do modelo Maio 2003

6 Estrutura da Linguagem
VDM está estruturado em blocos: types <definição dos tipos> values <definição de valores> functions <definição das funções> operations <definição das operações> state <nome do estado> of <definição do estado> end Maio 2003

7 Abordagem para Construção de Especificações usando VDM
Podemos separar a construção de uma especificação em VDM em 5 fases: Criação de um Estado do Sistema Construção de “Invariant” de Tipos de Dados Modelagem das Operações do Sistema Prova Refinamento da Especificação Abstração Representacional: 1 e 2 Abstração Operacional: 3 Maio 2003

8 1 – Criação do Estado do Sistema
É construído um modelo de dados do sistema, usando tipos primitivos e estruturas de dados construídas Maio 2003

9 1 – Criação do Estado do Sistema
Tipos Primitivos (definidos na sintaxe da linguagem): Z - Inteiro, N - Natural, R - Real, Q - Racional, B - Booleano, char - Caracter, token – Token Tipos “Quote”: representação definida por uma string de letras maiúsculas distintas Tipos Compostos: construídos a partir de tipos já introduzidos na especificação, usando os construtores: União, Conjunto, Seqüência, “Map”, Registro, Produto Cartesiano (principais) Maio 2003

10 1 – Criação do Estado do Sistema: Representação de Variáveis Globais
Modelo pode ser visto como um tipo de dado definido pelo usuário e define o universo de possíveis estados que o sistema pode estar durante a execução Cada estado corresponde a um valor do modelo de dados Se o estado tem muitas componentes que as operações podem acessar separadamente, então declaramos variáveis globais para representar essas partes do estado que as operações podem acessar referenciando diretamente o nome da variável Maio 2003

11 1 – Criação do Estado do Sistema: Representação de Variáveis Globais
state nome_do_estado of nome_do_componente: tipo1_componente ... nome_do_componente: tipon_componente end Maio 2003

12 2 – Construção de Invariantes de Tipos de Dados
Uma invariante de uma entidade é uma asserção restringindo o comportamento daquela entidade. Existem 2 tipos: Invariante de Tipo: similar a restrições de integridade de bases de dados Invariante de Estado: restringe o comportamento do sistema quando ele é sujeito a modificações por operações especificadas naquele estado. Propriedades impostas por invariantes devem ser preservadas antes e depois de cada operação realizada naquela entidade. Maio 2003

13 2 – Construção de Invariantes de Tipos de Dados
Exemplo de invariante de estado: state Person_age of n: N inv n  n  130 end Maio 2003

14 3 – Modelagem das Operações do Sistema
Uma vez descritos os objetos do sistema através da abstração representacional (fases anteriores), podemos definir agora o comportamento do modelo através da abstração operacional A abstração operacional é definida por Funções Operações Maio 2003

15 3 – Modelagem das Operações do Sistema
Diferenças entre funções e operações: Funções não acessam variáveis globais Operações não somente acessam variáveis globais como podem modificá-las Maio 2003

16 3 – Modelagem das Operações do Sistema
Definição de funções: fun (p1: t1, p2: t2, ..., pn: tn) p: t pre B post B’ Definição de operações: oper (p1: t11, p2: t12, ..., pn: t1n) p: t ext <modo> g1: t21 ... <modo> gk: t2k err expr1 : B1  B1’ Maio 2003

17 4 – Prova O intuito de se provar que uma especificação formal está correta é eliminar erros lógicos ou semânticos Existem ferramentas para checar se a sintaxe do modelo especificado está de acordo com a sintaxe de VDM A especificação de uma operação está correta se é possível encontrar uma implementação (algoritmo) que satisfaça a operação Um algoritmo satisfaz a operação se para qq estado do sistema e/ou valor de parâmetro de entrada que torna a pré-condição verdadeira, o algoritmo produz um estado de saída e/ou valor de parâmetro de saída que torna a pós-condição verdadeira Ferramenta disponível: SpecBox Maio 2003

18 5 – Refinamento da Especificação
Uma especificação em VDM pode ter camadas de modelos, cada modelo sendo uma versão refinada do modelo anterior. O último nível de refinamento é bem próximo à implementação Existem 2 modos de refinar uma especificação VDM: Refinamento de dados Decomposição de operações Maio 2003

19 5 – Refinamento da Especificação
Refinamento de dados: Um tipo abstrato de dados é refinado em 1 ou mais tipos concretos de dados Decomposição de operações: Refina uma operação abstrata numa operação concreta com detalhes computacionais (uso de “statements” como em Pascal, C) Maio 2003

20 Bibliografia “The Construction of Formal Specifications: An Introduction to the Model-Based and Algebraic Approaches”, J.L. Turner & T.L. McCluskey, 1992 “Specification of Software Systems”, V.S. Alagar & K. Periyasamy, 1998 “VDM-SL Specifications for a Graph Editor”, V.S. Alagar, D. Muthiayen, K. Periyasamy, 1996 Maio 2003


Carregar ppt "A Linguagem Formal de Especificação VDM-SL"

Apresentações semelhantes


Anúncios Google