Recoverability Preservation: Recoverability Preservation: A Measure - - PowerPoint PPT Presentation

recoverability preservation recoverability preservation a
SMART_READER_LITE
LIVE PREVIEW

Recoverability Preservation: Recoverability Preservation: A Measure - - PowerPoint PPT Presentation

Recoverability Preservation: Recoverability Preservation: A Measure of Last Resort A Measure of Last Resort Ali Mili, Frederick Sheldon, Fatma Mili, Jules Desharnais Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires,


slide-1
SLIDE 1

Recoverability Preservation: Recoverability Preservation: A Measure of Last Resort A Measure of Last Resort

Ali Mili, Frederick Sheldon, Fatma Mili, Jules Desharnais

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-2
SLIDE 2

Reflections on Software/ Reflections on Software/ Program Fault Tolerance Program Fault Tolerance

Commonly used techniques of fault tolerance:

 Trigger Happy. Fire off as soon as the current

state is found to be incorrect.

 Heavy Artillery. Geared (unnecessarily) towards

producing a correct state.

 Inefficient. Involve heavy overhead in terms of

space (duplicating states) and time (check- pointing etc).

 Panic Stricken. Resort to Emergency Measures

too soon, on unnecessarily strong conditions.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-3
SLIDE 3

Reflections on Software/ Reflections on Software/ Program Fault Tolerance Program Fault Tolerance

We advocate a more measured approach:

 Triggered only when the state is unmaskable. No

false alarms.

 Aims only to produce a maskable state.

Minimizes computation, and required data.

 Uses only forward error recovery. No time/

space overhead.

 Uses the Panic Button as a Last Resort. Only

when the state is unrecoverable.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-4
SLIDE 4

Recoverability Preservation Recoverability Preservation

We know how to characterize maskable, unmaskable states, recovery routines. We need to characterize Recoverable States. Modeling device: We make recoverability not a property of the state but a property of the function that produces it. We call this property: Recoverability Preservation.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-5
SLIDE 5

Recoverability Preservation: Recoverability Preservation: Illustration Illustration

A Program/ System structured as the product

  • f two components/ functions

P; L:F. (P: Past; F: Future; L: Label). Expected functions:

 P(x) = x mod 6.  F(x) = x mod 9 + 12.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-6
SLIDE 6

Illustration, II Illustration, II

 If Past Function is incorrect, and computes

P1 = (x mod 6 + 18) then states produced by P1 are not correct but they are maskable (the excess 18 will be canceled by taking mod 9 in function F).

 No intervention is required.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-7
SLIDE 7

Illustration, III Illustration, III

 If Past Function is incorrect, and computes

P2 = (x mod 12) then states produced by P2 are not maskable, but they are recoverable.

 Recovery routine: apply (mod 6) to the

current state.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-8
SLIDE 8

Illustration, IV Illustration, IV

 If Past Function is incorrect, and computes

P3 = (x mod 3) then states produced by P3 are not recoverable, but they are partially recoverable.

 Probabilistic Recovery Routine: return x

(or x+3), with 0.5 probability of success.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-9
SLIDE 9

Illustration, V Illustration, V

 If Past Function is incorrect, and computes

P4 = (x mod 7) then states produced by P4 are not recoverable.

 No recovery is possible, for knowing (x

mod 7) does not inform us on (x mod 6).

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-10
SLIDE 10

Intuitive Analysis Intuitive Analysis

 Q preserves recoverability for P if µ(Q)⊆µ(P),

where µ(R)=RR^ (level sets of R).

 Interestingly: condition involves how Q partitions

its domain but does not involve what value Q assigns to each partition.

 If Q assigns the wrong image to a partition, that

can be corrected by the recovery routine

 But if Q partitions its domain wrongly (re: mod 7

rather than mod 6) nothing can be done.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-11
SLIDE 11

Degrees of Recoverability Degrees of Recoverability

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-12
SLIDE 12

P ˆ P for Original P

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-13
SLIDE 13

preserves recoverability preserves recoverability

P

2 ˆ

P

2, where P 2

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-14
SLIDE 14

preserves partial recoverability preserves partial recoverability

P

3 ˆ

P

3, where P 3

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-15
SLIDE 15

does not preserve recoverability does not preserve recoverability

P

4 ˆ

P

4, where P 4

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-16
SLIDE 16

Characterizing Recoverability Characterizing Recoverability Preservation Preservation

 Characterization by µ(Q)⊆µ(P) is intuitive,

but incomplete.

 For completeness: we must involve the

specification R that the system (P; F) must refine.

 Because R is potentially non-deterministic,

we get an extra dimension of redundancy (unexplored in the illustrative example).

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-17
SLIDE 17

Sufficient Conditions Sufficient Conditions

 A past function Π preserves maskability

(i.e. produces maskable states) if it refines κ(R,F), where κ is the left quotient operator.

 A past function Π preserves recoverability

(i.e. produces recoverable states) if it satisfies the following conditions

KL L L K ˆ L

( )KL

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-18
SLIDE 18

Left quotient of Left quotient of R R by by F F

K(R,F) F R s’ s.R s’.F s

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-19
SLIDE 19

Specifying the Recovery Specifying the Recovery Routine Routine

 If past function Π preserves recoverability with

respect to future function F and specification R then r = Γ(Π, κ(R,F)) is a specification of the recovery routine, where Γ is the right quotient and κ is the left quotient

  • perator.

 Any routine that refines r will map recoverable

states into maskable states.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-20
SLIDE 20

Π K(R,F) s Γ(Π, K(R,F))

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-21
SLIDE 21

Hierarchy of Correctness Levels Hierarchy of Correctness Levels

Π(S0) Recovery unnecessary Maskable states Partially recoverable states → Probabilistic recovery Totally recoverable states → Total recovery necessary & sufficient Unrecoverable states → Recovery insufficient r pr

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-22
SLIDE 22

Linking to Intuitive Discussion Linking to Intuitive Discussion

 If R is regular (R=RR^R) and the following

conditions hold RF^L ⊆ ΠL ∧ ΠΠ^ ⊆RR^ then Π preserves recoverability.

 Generalizes the condition discussed upon

inspecting the sample example.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-23
SLIDE 23

Application: Lean fault Tolerance Application: Lean fault Tolerance

If not maskable(s) then recovery- measures(s); recovery-measures(s): If recoverable(s) then deterministic- recovery(s) else If partially-recoverable(s) then probabilistic-recovery(s) else failure(s);

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-24
SLIDE 24

Recoverability Preservation, Recoverability Preservation, a Substitute for Correctness a Substitute for Correctness

 Prove recoverability preservation.  Takes steps to recover.  Substitutes/ complements correctness

proofs.

 Using safety condition for R.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-25
SLIDE 25

Flight Control Loop Flight Control Loop

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-26
SLIDE 26

Characterizing Fault Modes Characterizing Fault Modes

 Fault Tolerant Flight Control System: A

system that can recover from some types of faults, including loss of sensors, loss of flight surfaces, loss of control of actuators.

 When these faults arise, the system must

alter its control law and make up for fault.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-27
SLIDE 27

Characterizing Fault Modes Characterizing Fault Modes

 Question: Which sensor-aircraft-actuator

faults can be handled by fault tolerant FCS?

 Those for which the aggregate sensor-

aircraft-actuator preserves recoverability.

 A highly speculative answer, we

acknowledge; perhaps difficult to model.

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.

slide-28
SLIDE 28

Concluding Remarks Concluding Remarks

 Introduced idea of recoverability

preservation.

 Shown its use for a more measured, more

efficient approach to fault tolerance.

 Shown its application for fault modeling.  Genesis of the idea: analyzing a fault

tolerant flight control system (tolerates damage to flight surfaces).

Proceedings Int'l Conf. Principles of Software Engineering, Buenos Aires, Argentina, Nov. 22-27, 2004.