% % % Purpose : a specific instantiation of an inexact middle-value % multi-stage exchange adapted for synchronization properties % %
reduce_synch
[
rho: nonneg_real, % Bound on drift for a good oscillator
min_latency: [nat -> nonneg_real], % Minimum real time latency (in ticks % of real time) of the communication link % between stage i and i+1 % determined by things like length of wire, speed % of light, and clock rate.
var_latency: [nat -> nonneg_real], % Max variation (in ticks of real % time) between stage i and i+1 % caused by both wire length % differences and clock jitter.
stage: [nat -> posnat] % Number of nodes in a given stage
] : THEORY
c_src: VAR [i: nat -> [below(stage(i)) -> good_clock[rho]]]
c_dst: VAR [i: nat -> [below(stage(i)) -> good_clock[rho]]]
clk: VAR [i: nat -> [below(stage(i)) -> good_clock[rho]]]
tau: VAR [nat -> tau_type]
Lag, Schedule: VAR [nat -> integer]
pi: VAR [nat -> nonneg_real]
delta: VAR nonneg_real
cf: VAR k_consensus_function
icf: VAR [nat -> in_consensus_function]
status: VAR [i: nat -> node_status[stage(i)]]
src_set: VAR [i: nat -> non_empty_finite_set[below(stage(
local_check VAR [:nat> belowstage(i+1))-finite_set(()]]java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
same_clock?(c_src, c_dst, j, k): bool = FORALL i: j <= i AND i < k IMPLIES
same_edgesrho (i1]c_srci+), c_dst+1)
W(i)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
feasible synch_protocolstatus,c_src c_dst Schedule src_settau cf pi j java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
Schedsentc_srcSchedule(i+)=java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
Delay(Sched) (offsetc_dst elSched)) (, cf)
Del(c_dst Sched rc_set pi) kjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
Delay_Lag: LEMMA
% check(c_dst, Sched, src_set, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
offset_sent_nominalsynch_protocolstatus,c_src c_dst, , src_set tau cf , ,kjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
nominalclkS)() offset[rho (i](clk() W()((clk Schedule())
%used only for correspondence to protocolfeasible?Schedule)Ajava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
(, Schedulei):c[stagei), ]java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
= [, stagei]clki)Schedulei)
synch_protocol(status, c_src, c_dst, Sched, src_set, tau, MPLIES
i:j< ANDIMPLIES
nominal(c_src, k ,epsilon_lower-(1rate] Delay()java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
synch_stage[rho, min_latency(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(i,c_srci,c_dsti1,Schedi) DelaySched)i,() () (i) ()
synch_protocol_sent: LEMMA
feasible?(Schedule)AND
uorum_synch?status , ,Schedule src_set , , j,j+k java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
synch_protocol( ,src_set,tau cf pi,j, k IMPLIES FORALL i: j <java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
sent(c_src,=v_maxnominal(,Schedule),src_set(
synch_stagej j+k-1 psilon_upper aterho ()
(status(i), c_src(i), c_dst(i+1), Schedulejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
protocol_synch?statusc_src,,,,, )
clock_relation, ,pi ,j+k ND
nominal(c_src, Sched),
received(c_dst, c_src, Sched, status, piv_maxsent,Schedule,src_setj)
, pi, , kjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
k_stage_synch
protocol_synch(status, EXISTS i: j <= i AND i k AND
synch_protocol,c_src,cdst,src_set ,cf,pi )
lower_validity?cf,
?Schedule
synch_protocol(status,(status(i,c_src( 1, (i) src_set(i) taui) pi(i), X)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
clock_relationSchedulec_srcc_dst pi, ,j+k) IMPLIES
(nominalc_src, ) src_set()
- sigma(j, j + k - 1, epsilon_lower?Schedule , ,p,j j+k java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
<= v_min(nominal(c_src, Schedule), ((, ),src_set(j
upper_validity: THEOREM
feasible?(Schedule) AND
synch_protocol(,c_src ,Schedulesrc_set taucf, j +k java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
quorum_synch?(tatus , c_dst Schedule,src_set,tau, pi,j,j +k) AND
clock_relation IMPLIES IMPLIES
v_max(nominal(c_src, Schedule), src_set)(j + k)
<=v_maxnominalc_src,Schedule) src_setj
sigma(,j+- 1 epsilon_upper +raterho*Delay))
agreement_propagation: LEMMA
feasible?(Schedule) AND
=delta*(X 1 X)+sigmaj j + k - 1, epsilon_total + drift[rho] * Lag(Schedule)) + rate[rho]
quorum_synch : THEOREM
clock_relation?(Schedule, c_src, c_dst, pi, j, j + synch_protocolstatus , , Schedule src_set, , ,pi ,j+) AND
v_maxsent(,), )java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
-((, ) )()=d AND
same_clock?(c_src, c_dst, j, j + k) IMPLIES
v_max(sent(c_src, Schedule), src_set)(j +j )
- v_min(c_src ) )(j k)
<= java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
X VARposnat
convergent_stage?(status, c_src, c_dst, Schedule, src_set, tau, cf, X, pi, j, k): bool = EXISTS i: j <= i AND i < k AND
overlap_synchclock_relation(, , ,pi jj+ k java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
(Ijava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
convergent?( ((,Schedule,src_setj + k
ax_length[rho min_latency() ar_latency() (i),stage( 1]
(status(i), c_src(i), c_dst(i + 1), Schedule(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.7Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.