Você está na página 1de 16

UNIVERSIDADE INDEPENDENTE DE ANGOLA

FACULDADE DE CIÊNCIAS DE ENGENHARIA E TECNOLOGIA

Semântica Axiomática

Curso: Engenharia Informática


Docente Eng.º
Cadeira: Análise e Projecto de Linguagem de Programação
--------------------------------
Turma: A1 Campos Delgado

LUANDA/2018
ELEMENTOS DO GRUPO

Gerson Felix Luciano Tchicucuma Milca Adriano

Nº160398 Nº161130 Nº161216

Ricardo Almada Shelsea Stephania

Nº141447 Nº131565

2
ESTRUTURA DO TRABALHO

PENDOR TEÓRICO

INTRODUÇÃO

CONCLUSÃO

3
Introdução

No corrente trabalho, abordaremos sobre a teoria envolvida na semântica axiomática, bem


como a sua análise técnica e as ferramentas semânticas existentes bem como quais às suas
características.

3
Objectivos

Objectivo Geral

• Demonstrar com detalhes em que consiste à Semántica Axiomática.

Objectivo Especifico

• Fazer à análise teórica da semântica axiomática;


• Fazer à análise técnica da semântica axiomática;
• Estudar com detalhes e exemplos à ferramenta semântica.

4
Semântica Axiomática

 Análise Teórica

Semântica Axiomática  Análise Técnica

 Ferramentas Semánticas

5
 Análise Teórica

Semântica axiomática são expressões semânticas das relações inerentes a um pedaço de


código. Essas expressões podem ser úteis para descrever como um software funciona.

Uma coisa interessante sobre a semântica axiomática, em contraste com outros tipos de expressões,
é que elas são bastante agnósticas em termos de resultados e condições específicos. Em vez disso, a
semântica axiomática descreve a maneira como um sistema funciona. Uma maneira de pensar nisso é
usar a palavra-raiz, axioma, que implica algum truísmo mais amplo sobre um sistema.

6
 Continuação Análise Teórica

A semântica axiomática é uma abordagem baseada na lógica matemática para provar


a exatidão dos programas de computador. Está intimamente relacionado com a lógica Hoare.

Semântica axiomática define o significado de um comando em um programa, descrevendo seu


efeito em afirmações sobre o estado do programa. As asserções são declarações lógicas -
predicados com variáveis, em que as variáveis ​definem o estado do programa.

7
 Análise Técnica

Uma abordagem para definir a semântica de linguagens de programação na qual o significado


de uma linguagem é dado pela descrição das declarações verdadeiras que podem ser feitas sobre os
programas nessa linguagem usando axiomas e regras de prova. Normalmente, as instruções são
escritas em alguma notação formal adequada, como cálculo de predicados ou lógica modal, e dizem
respeito aos estados antes e depois de executar o programa. Por exemplo, a fórmula:

{p}S{q}

8
 Continuação Análise Técnica

Definição diz o que pode ser provado sobre programas. Associe o axioma a cada constructo da
linguagem. Regras para compor peças em programas mais complexos.

O significado de construção é dado em termos de afirmações sobre o estado de computação antes e


depois da execução.
Forma geral:
{P} declaração {Q} onde P e Q são afirmações.

O significado é que, se P for verdadeiro antes que a execução da instrução e da instrução termine,
então Q deverá ser verdadeiro após a rescisão.

9
 Historia da semántica Axiomaticas

Foi proposta por Floyd Hoare na decada de 1960 pelo o cientista da computação e logico
britânico C.A.R Hoare, e a ideia original havia sido idealizada pelo trabalho de Robert Floyd que
publicou um sistema similar para fluxogramas.

10
 Continuação de Ferramentas Semânticas

• Regras de Inferência para Correlação Parcial


Linguagem Lógica
• Invariantes do Ciclo
• Regras Lógicas: Consequências
• Correlação da Semântica Axiomática
• Interpretação de Asserção
Ferramentas Semânticas • Interpretação de Triplos de Hoare
• Correcção da Semântica Axiomática
• Lógica de Floyd-Hoare Complementos
• Asserções Especiais
• Variáveis Auxiliares
Correlação Parcial
• Especificações Complexas

11
 Linguagem Lógica

{P} C {Q} Qual a sintaxe e poder expressivo da linguagem utilizada para descrever as propriedades P
e Q?
A linguagem lógica deverá conter pelo menos as conectivas disponíveis na linguagem em estudo.

Mas precisaremos agora de conectivas lógicas como conjunção, disjunção, e negação: L ::= b | E bop
E | L lop L lop ∈ {∧,∨,¬ ,…} Asserções poderão ainda conter quantificadores ∀, ∃.

12
Exemplo

Axioma de atribuição:

{P [expressão / id]} id: = expressão {P} por exemplo

{a + 17> 0} x: = a + 17 {x> 0}

ou

{x – 1 > 0} x: = x - 1 {x> 0}

14
 Correção Parcial

A Lógica de Floyd-Hoare lida com triplos de correção parcial da forma {P} C {Q} em que C é um
programa, e P e Q são propriedades do programa.

P designa-se por pré-condição e Q por pós-condição.

Significado de {P} C {Q}: se C termina quando executado a partir de um estado S em que P se verifica,
então, se C terminar, Q verifica-se.

O que esta asserção não especifica:

– que C termine a partir do estado S

– o que acontece se C não terminar daí a parcialidade desta noção de correcção.

13
Conclusão

No presente trabalho vimos teoricamente que semântica axiomática são expressões semânticas
das relações inerentes a um pedaço de código. Essas expressões podem ser úteis para descrever
como um software funciona. Sendo que tecnicamente o mesmo consiste normalmente, as instruções
são escritas em alguma notação formal adequada, como cálculo de predicados ou lógica modal, e
dizem respeito aos estados antes e depois de executar o programa.

16

Você também pode gostar