Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/PVS/fault_tolerance/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 28.9.2014 mit Größe 8 kB image not shown  

Impressum reduce_synch.pvs   Sprache: PVS

 
%
%
% 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

  BEGIN

  i, j, k: VAR nat

  source_error(i): MACRO real = 0

  IMPORTING
    reals@sigma_nat,
    reals@real_fun_ops,
    timing_integration[rho, min_latency, var_latency, stage],
    k_ordered[stage, real, <=, source_error],
    protocol[stage, real],
    reduce_synch_stage

  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

  Del_Delay: LEMMA Del(Sched)(i + 1) 

  Lag(Sched)(i): %    protocol(reduce_choice(tau, offset_transform(c_dst, Del(Sched), cf))

  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<  AND   IMPLIES
        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

%  offset_transform(clk, Schedule, cf)(i): consensus_function
%    = LAMBDA (s:ne_seqs):offset[rho, stage(i)](clk(i), Schedule(i)) o cf(i)

%  protocol_synch2(status, c_src, c_dst, Sched, src_set, tau, cf, pi, j, k): bool = 
%    protocol(reduce_choice(tau, offset_transform(c_dst, Del(Sched), cf)), 
%      nominal(c_src, Sched), 
%      received(c_dst, c_src, Sched, status, pi),
%      check(c_dst, Sched, src_set, pi), j, k)

  
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


  convergence: LEMMA
      feasible?(Schedule)AND
      synch_protocol(status, c_src, c_dst, Schedule, src_set, tau, cf, pi, j, j + k) AND
      quorum_synch?(status, c_src, c_dst, Schedule, src_set, tau, pi, j, j + k) AND
      clock_relation?(Schedule, c_src, c_dst, pi, j, j + k) AND
      convergent_stage?(status, c_src, c_dst, Schedule, src_set, tau, cf, X, pi, j, j + k) AND
      v_max(sent(c_src, Schedule), src_set)(j) 
        - v_min(sent(c_src, Schedule), src_set)(j) <= delta AND
      same_clock?(c_src, c_dst, j, j + k)
    IMPLIES
      v_max(sent(c_src, Schedule), src_set)(j + k) 
        - v_min(sent(c_src, Schedule), src_set)(j + k) 
          <= delta * ((X - 1) / X) + sigma(j, j + k - 1, epsilon_total + drift[rho] * Lag(Schedule)) + rate[rho]

  agreement_generation: THEOREM
      feasible?(Schedule)AND
      synch_protocol(status, c_src, c_dst, Schedule, src_set, tau, cf, pi, j, j + k) AND
      exists_symmetric_synch_stage?(status, c_src, c_dst, Schedule, src_set, tau, pi, cf, j, j + k) AND
      clock_relation?(Schedule, c_src, c_dst, pi, j, j + k) AND
      same_clock?(c_src, c_dst, j, j + k)
    IMPLIES
      v_max(sent(c_src, Schedule), src_set)(j + k) 
        - v_min(sent(c_src, Schedule), src_set)(j + k) 
          <= sigma(j, j + k - 1, epsilon_total + drift[rho] * Lag(Schedule)) + rate[rho]

  agreement_generation_edge: THEOREM
      feasible?(Schedule)AND
      synch_protocol(status, c_src, c_dst, Schedule, src_set, tau, icf, pi, j, j + k) AND
      exists_symmetric_synch_stage?(status, c_src, c_dst, Schedule, src_set, tau, pi, icf, j, j + k) AND
      clock_relation?(Schedule, c_src, c_dst, pi, j, j + k) AND
      same_clock?(c_src, c_dst, j, j + k)
    IMPLIES
      v_max(sent(c_src, Schedule), src_set)(j + k) 
        - v_min(sent(c_src, Schedule), src_set)(j + k) 
          <= sigma(j, j + k - 1, epsilon_total + drift[rho] * Lag(Schedule))

END reduce_synch

Messung V0.5
C=93 H=94 G=93

¤ 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:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.