Modelagem em CSP através da
Function: Single Left/Right
Consolidation
Aluno: Leandro Santana de Melo.
Professor: Dr. Alexandre Cabral Mota
Recife, Agosto de 2014
Agenda

O que é Function
Consolidation;
Single
Left/Rigth

Modelagem da Function Single Left/Rigth
Consolidation em CSP.
2
O que é Function Single Left/Rigth
Consolidation

Nada mais é do que um sistema onde
acontece uma consolidação de um
seletor para esquerda/direta.
3
O que é Function Single Left/Rigth
Consolidation
4
O que é Function Single Left/Rigth
Consolidation

Quando o Seletor estiver na posição
Esquerda/Direita,
acontece
uma
liberação de sinal para 3 canais.

Cada canal recebe um valor true/false
dependendo da sua condição: Ou seja,
se estiver na posição Esquerda é
liberado um sinal para o canal1,
canal2, canal3. E se ele estiver na
posição direita acontecera a mesma
coisa.
5
O que é Function Single Left/Rigth
Consolidation
Cada
um desses canais possuem um;
 Validade
de confirmação;
Valor de confirmação;
Validade de direta;
Valor direita;
Validade esquerda;
Valor esquerda.
6
O que é Function Single Left/Rigth
Consolidation
 Pois
bem, quando o seletor estiver na
posição mencionada anteriormente,
será emitido valores booleanos do tipo
true para:
Validade de Confirmação;
Valor de Confirmação;
Valor direito e validade direito.
Já para Valor e Validade esquerdo o
valor Booleano será false
A mesma coisa caso estever na
direita

7
O que é Function Single Left/Rigth
Consolidation

E o computador recebe os sinais do
canal 1, canal 2, canal 3.
8
Modelagem da Function Single
Left/Rigth Consolidation em
CSP.

channel left, right, confirmation: Bool

datatype CHType = CH1 | CH2 | CH3

datatype CommandType = LEFT | RIGHT | CONFIRMATION

datatype CommandValueType = VALUE | VALIDITY | CONSOLIDATED

channel ch_left_value, ch_left_validity, ch_left_conf, ch_right_value,
ch_right_validity, ch_right_conf: CHType.Bool

channel ch: CHType.CommandType.CommandValueType.Bool

-- ch_left_value.CH1.true -----> ch.CH1.LEFT.VALUE.true

channel validity_more_than1

channel decide : Bool

channel left_value, left_validity : Bool
9
Modelagem da Function Single
Left/Rigth Consolidation em
CSP.

CH(i) =

let

READ =

left?l -> right?r -> confirmation?c -> PROCESS_OUTPUT(l,r,c)

PROCESS_OUTPUT(l,r,c) =

decide?vld -> PROCESS_OUTPUT_CH(ch_left_value, ch_left_validity, l, vld);

decide?vld -> PROCESS_OUTPUT_CH(ch_right_value, ch_right_validity, r, vld)

PROCESS_OUTPUT_CH(ve, vy, vl, vld) =

if vld then

ve.i.vl -> PROCESS_OUTPUT_VLD(vy, vld)

else

ve.i?vl -> PROCESS_OUTPUT_VLD(vy, vld)

PROCESS_OUTPUT_VLD(vy, vld) =

vy.i.vld -> SKIP

within READ \ {|decide|}

CHS = ||| i : CHType @ CH(i)
10
Modelagem da Function Single
Left/Rigth Consolidation em
CSP.

COMPUTER =

let

cv(vl,vld) = if vld then vl else false

within

ch_left_value.CH1?vlch1 -> ch_left_validity.CH1?vldch1 ->

ch_left_value.CH2?vlch2 -> ch_left_validity.CH2?vldch2 ->

ch_left_value.CH3?vlch3 -> ch_left_validity.CH3?vldch3 ->SKIP
11
Download

Slide de Apresenta o do Trabalho do Professor Alexandre