• Nenhum resultado encontrado

Esquemas e suas operações

N/A
N/A
Protected

Academic year: 2022

Share "Esquemas e suas operações"

Copied!
20
0
0

Texto

(1)

Esquemas e suas operações

Forma geral:

Ident.

Declarações ou Ident. = [Declarações | Predicado]

Predicado

^

Esquemas são estruturas que agrupam variáveis e predicados que restringem seus valores. Seu nome possui escopo global, mas as declarações e

predicados possuem escopo local

(2)

Exemplos de esquemas

[Pessoa, Fone]

Agenda = [ag: Pessoa  Fone; con: P Pessoa | con = dom ag]

ou, alternativamente, Agenda

ag: Pessoa  Fone con: P Pessoa

con = dom ag

^ I

I

given sets

(3)

Renomeação em esquemas

Forma geral:

– nomeEsquema [nomeNovo / nomeAtual]

Exemplo: Aniversarios = Agenda[aniv/ag] ^

I

Aniversarios

aniv: Pessoa  Fone con: P Pessoa

con = dom aniv

Resulta em

(4)

Inclusão de Esquemas

Forma geral:

Ident.

nomeEsquema Declarações Predicado

Exemplo:

I

ContaAg Agenda

qtd: N

qtd = # con

I

ContaAg

ag: Pessoa  Fone con: P Pessoa

qtd: N

con = dom ag qtd = # con

I

(5)

Decoração de esquemas

Forma geral: nomeEsquema’

Exemplo:

I

ContaAg’

ag’: Pessoa  Fone con’: P Pessoa

qtd’: N

con’ = dom ag’

qtd’ = # con’

I

(6)

Convenções sobre esquemas

Forma geral:  nomeEsquema

Usado em operações para denotar mudança de estado

Exemplo:

 Agenda Agenda

Agenda’ I

 Agenda

ag, ag’: Pessoa  Fone con, con’: P Pessoa

con = dom ag con’ = dom ag’

(7)

Convenções sobre esquemas

Forma geral:  nomeEsquema

Usado em operações para denotar que não há mudança de estado

Exemplo:

I  Agenda

ag, ag’: Pessoa  Fone con, con’: P Pessoa

con = dom ag con’ = dom ag’

ag = ag’

con = con’

 Agenda

 Agenda ag=ag’

con=con’

(8)

Usando  e  em operações

Inclui0

 Agenda p?: Pessoa f?: Fone

ag’ = ag  {p? f?}

con’ = con  {p?}

Consulta0

 Agenda p?: Pessoa f!: Fone p?  con f! = ag(p?)

Variáveis de entrada (?)

Variável de saída (!)

(9)

Conjunção e disjunção de esquemas

Seja Resultado ::= opOK | pessoaInexistente Sucesso

m!: Resultado m! = opOK

ERRO

 Agenda p?: Pessoa

m!: Resultado p?  con

m! = pessoaInexistente

Consulta = (Consulta^ 0  Sucesso)  ERRO

(10)

Outras operações

nomeEsquema

1

 nomeEsquema

2

– Junta declarações

– Implicação dos predicados

nomeEsquema

1

 nomeEsquema

2

– Junta declarações

– Equivalência dos predicados

(11)

Operação ocultamento (“ hiding”)

Corresponde a quantificar

existencialmente variáveis em questão

Exemplo: QualquerFone = Consulta

0

\(p?)

QualquerFone

 Agenda f!: Fone

 p?:Pessoa 

p?  con f! = ag(p?)

(12)

Composição seqüencial

Sejam O

1

e O

2

dois esquemas como operações

O

1

; O

2

representa a composição seqüencial entre O

1

e O

2

Significando que o estado final de O

1

irá coincidir com o estado inicial de O

2

O

1 S’ = S

O

2

{

entrada(?)

}

saída (!)

Estado intermediário S

S’

(13)

Composição seqüencial

Sejam O1 e O2 os seguintes esquemas:

O1 x, x’: T P(x, x’)

O2 x, x’: T Q(x, x’)

A composição seqüencial de O1 e O2, O1

;

O2, é definida por:

O1

;

O2 = (O1[x0/x’]  O2[x0/x]) \ (x0) ou

O1

;

O2 x, x’: T

 x0:T  P(x, x0)  Q(x0, x’)

Exercício: se p?  dom ag então Inclui0

;

Exclui0 Agenda, onde

Exclui0 = [ Agenda; p?:Pessoa |

p?  con  ag’ = {p?} ag  con’ = con\{p?}]

^

^

(14)

Operação piping

Semelhante à composição seqüencial, exceto por considerar as comunicações ao invés do estado

Portanto, P>>Q significa que as saídas de P corresponderão as entradas de Q

O predicado referente ao estado será simplesmente a conjunção dos

predicados de P e de Q

(15)

Tipos em Z

Há quatro formas de introduzir tipos em Z:

– Given sets: [ ... ]

– Produto cartesiano: ...  ...

– Conjunto das partes: P ...

– Esquemas: nomeTipo I

...

...

(16)

Tipos em Z

Os naturais ( N), inteiros (Z) e reais ( R) são usualmente assumidos como pré- definidos

Conjuntos arbitrários são permitidos em declarações, mas nem sempre são tipos

– O tipo é derivado (inferência) das sub- expressões que compõem o conjunto arbitrário, através de um processo de normalização

I I

(17)

Processo de normalização

Seja Pares == { n: N | 2 * n } I

y: Pares y: N

y  Pares I

R: X  Y R: P(X  Y) I

f: X  Y f: P(X  Y)

f  X  Y I

s: seq X s: P(X  Y)

s  seq X

I

(18)

Esquema como tipo

Semelhante aos registros de PASCAL

Componentes são acessados através da operação de projeção ( . )

I

Agenda

ag: Pessoa  Fone con: P Pessoa

con = dom ag

a, b: Agenda

a

.

ag = b

.

ag Projeção

(19)

Mapeamentos (“bindings”)

Um esquema como tipo pode ser visto como um binding de variável para valor

Por exemplo: seja a: Agenda, tal que

 ag

{(josé,32213423)}, con {josé} 

 

Então, aplicando o operador de projeção sobre a, referente a ag, nos dá

a . ag = {(josé, 32213423)}

(20)

O operador 

Aplica-se a nomes de esquemas,

retornando seu binding característico

Por exemplo: seja a: Agenda, tal como antes então

  a =  ag {(josé,32213423)}, con {josé} 

Seu uso comum é  Agenda’= Agenda, que implica ag’=ag  con’=con

Um esquema é dito normalizado quando suas declarações estão normalizadas

 

Referências

Documentos relacionados

Os itens relativos aos Sistemas de Pressurização Residencial contém instruções para ajuste e operação do Pressostato Automático quando instalado em sistemas

Esses esquemas mapeiam o ambiente no qual o agente está inserido, através de relações elementares de causa e efeito que são organizadas de forma hierárquica, permitindo

Segundo Trowbridge, HPB afirmou que Cagliostro foi visto por várias pessoas na Rússia, depois de sua suposta morte em 1795, e que passou algum tempo na casa do pai de

Esta análise tem como objetivo a identificação de possíveis problemas e oportunidades de melhoria, principalmente numa parte da cadeia e fluxo das operações da

Até tornarem-se públicas as denúncias do deputado Luis Miranda (DEM-DF) e seu irmão, o servidor Luis Ricardo Miranda, sobre o superfaturamento na compra da

Publicação de trabalho científico em periódico não classificado ou classificado pela CAPES com Qualis C ou outras, na área do concurso ou áreas afins.. Trabalho completo publicado

20 de maio de 2016 X Campus Reitor João David Ferreira Lima - Florianópolis Centro de Ciências da Educação Departamento de Ciência da Informação Ciência

1u Matrizes para a Repres... 2g Matrizes para