Diagnosis of Discrete Event Systems

Post on 11-Feb-2016

75 views 0 download

Tags:

description

Diagnosis of Discrete Event Systems. Meir Kalech Partly based on slides of Gautam Biswass. Outline. Last lecture: Optimal CSP Conflict-directed A* Today’s lecture: Automata (brief tutorial) Deterministic automata Non-deterministic automata Discrete event system Observer automata - PowerPoint PPT Presentation

Transcript of Diagnosis of Discrete Event Systems

Diagnosis of Discrete Event Systems

Meir Kalech

Partly based on slides of Gautam Biswass

Outline Last lecture:

1. Optimal CSP2. Conflict-directed A*

Today’s lecture:1. Automata (brief tutorial)

1. Deterministic automata2. Non-deterministic automata

2. Discrete event system3. Observer automata4. Diagnostics approach5. Diagnoser automata6. Diagnosability

0 0,1

00

1

1

1

0111 111

11

1

The machine accepts a string if the process ends in a double circle

Borrowed from CMU / COMPSCI 102

Brief notes on Automata

0 0,1

00

1

1

1

The machine accepts a string if the process ends in a double circle

Anatomy of a Deterministic Finite Automaton

states

states

q0

q1

q2

q3start state (q0)

accept states (F)

Anatomy of a Deterministic Finite Automaton

0 0,1

00

1

1

1

q0

q1

q2

q3

The alphabet of a finite automaton is the set where the symbols come from:The language of a finite automaton is the set of strings that it accepts

{0,1}

0,1q0

L(M) =All strings of 0s and 1s

The Language of Machine M

q0 q1

0 0

1

1

L(M) ={ w | w has an even number of 1s}

An alphabet Σ is a finite set (e.g., Σ = {0,1})

A string over Σ is a finite-length sequence of elements of Σ

For x a string, |x| isthe length of x

Notation

A language over Σ is a set of strings over Σ

Q is the set of statesΣ is the alphabet : Q Σ → Q is the transition functionq0 Q is the start state

F Q is the set of accept states

A finite automaton is a 5-tuple M = (Q, Σ, , q0, F)

L(M) = the language of machine M= set of all strings machine M

accepts

Q = {q0, q1, q2, q3}

Σ = {0,1}

: Q Σ → Q transition function*q0 Q is start state

F = {q1, q2} Q accept states

M = (Q, Σ, , q0, F) where

0 1

q0 q0 q1

q1 q2 q2

q2 q3 q2

q3 q0 q2

*q2

00,1

00

1

1

1

q0

q1

q3

M

q q00

1 0

1q0 q001

0 0 1

0,1

Build an automaton that accepts all and only those strings that contain 001

Outline Last lecture:

1. Optimal CSP2. Conflict-directed A*

Today’s lecture:1. Automata (brief tutorial)

1. Deterministic automata2. Non-deterministic automata

2. Discrete event system3. Observer automata4. Diagnostics approach5. Diagnoser automata6. Diagnosability

1q 2q

3q

a

a

a

0q

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

1q 2q

3q

a

a

a

0q

Two choices

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

No transition

1q 2q

3q

a

a

a

0q

Two choices No transition

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

a a

0q

1q 2q

3q

a

a

First Choice

a

a a

0q

1q 2q

3q

a

a

a

First Choice

a a

0q

1q 2q

3q

a

a

First Choice

a

a a

0q

1q 2q

3q

a

a

a “accept”

First Choice

a a

0q

1q 2q

3q

a

a

Second Choice

a

a a

0q

1q 2qa

a

Second Choice

a

3q

a a

0q

1q 2qa

a

a

3q

Second Choice

No transition:the automaton hangs

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

Equivalent automata

}),(:)({)(

}),(:{)(

0

0*

mm XsxfGLsGL

definedissxfEsGL

Automata G1 and G2 are equivalent if

)()()()( 2121 GLGLandGLGL mm

Examples of Equivalent Automata

Outline Last lecture:

1. Optimal CSP2. Conflict-directed A*

Today’s lecture:1. Automata (brief tutorial)2. Discrete event system

3. Observer automata4. Diagnostics approach5. Diagnoser automata6. Diagnosability

What is a Discrete-Event System?

Structure with ‘states’ having duration in time, ‘events’ happening instantaneously

and asynchronously. States: machine is idle, is operating, is broken down, is under repair. Events: machine starts work, breaks down,

completes work or repair. State space discrete in time and space. State transitions ‘labeled’ by events.

DES Example: heating ventilation and air conditioning

DES Example: heating ventilation and air conditioning

Diagnosis goal: given a composite DES including observable and unobservable events (faulty events are part of the unobservable events), find the faulty events.

Outline Last lecture:

1. Optimal CSP2. Conflict-directed A*

Today’s lecture:1. Automata (brief tutorial)2. Discrete event system3. Observer automata

4. Diagnostics approach5. Diagnoser automata6. Diagnosability

Observer Automata In DES we partition the events to observable and

unobservable events. Unobservable events:

absence of sensors event occurred remotely, not communicated fault events

Observer is an equivalent deterministic automata to the original which contains only observable events.

uoo EEE

obsG

Observer - Example

Note: Gnd is non-deterministic, Gobs is deterministicGnd and Gobs are equivalent.

a and b are observable events

Observer example 2: },,{ vueE duo

Outline Last lecture:

1. Optimal CSP2. Conflict-directed A*

Today’s lecture:1. Automata (brief tutorial)2. Discrete event system3. Observer automata4. Diagnostics approach

5. Diagnoser automata6. Diagnosability

Daignostics Determine whether certain events with

certainty are fault events Build new automata like observer, but attach

“labels” to the states of Gdiag To build

Attach N label to states that can be reached from x0 by unobservable strings

Attach Y label to states that can be reached from x0 by unobservable strings that contain at least one occurrence of ed (fault event).

If state z can be reached both with and without executing ed then create two entries in the initial state set of Gdiag: zN and zY.

Diagnoser Automata

Diagnosability

eventsleunobservabofcyclehavenotdoeslive;issystemofoperationfailedandnormalmodels:

occurredhaseventsomeFailureuniquelyeventfaulteveryisolateto

requiredbenotmay(ii)sensors,inadequate(i):representPartitions

.......:FailuresPartition

fromtracesobservingbyofelementsIdentify:Goal

:eventsFailure;),,,(

1

0

GL(G)G

E

EEE

EE

EEEEExEXG

fi

fmff

of

fuoo

Diagnosability: informal definition Let s be any trace generated by the system that ends in a

failure event from set Efi and t is a sufficiently long continuation of s

DiagnosabilityDiagnosability implies that every trace that belongs to the language that produces the same record of observable events as st should contain in it a failure event from Efi

Along every continuation t of s, one can detect the failure of type Fi with finite delay, specifically in at most ni transitions of the system after s

Alternately, diagnosability requires that every failure event leads to observations distinct enough to enable unique identification of failure type with a finite delay

Diagnosability: example

},,,{ oE

}{ iuoE events failurefi

3f

1f 2fuo

. and failuresbetween h distinguis torequirednot isit i.e.

}{},,{ :partition failure :IF

21

32211

ff

fffff

The system is diagnosable

1f

21, ff

Diagnosability: example

},,,{ oE

}{ iuoE events failurefi

3f

1f 2fuo

}{},{},{ :partition Failure :IF 332211 ffffff

The system is not diagnosable

? ?2 uof

31, ff

Outline Last lecture:

1. Optimal CSP2. Conflict-directed A*

Today’s lecture:1. Automata (brief tutorial)2. Discrete event system3. Observer automata4. Diagnostics approach5. Diagnoser automata

6. Diagnosability

Diagnosability by Diagnoser

To determine diagnosability of a system we use a diagnoser:

1. The diagnoser traces all possible trajectories of the system.

2. The diagnoser records the possible failures in each state.

3. If a state contains an ambiguity failure: “Fi occurs or Fi not occurs”

then the system is not diagnosable.

Diagnoser: example

2f

}{ iuoE

'2f

2f

2f1f

1f

}{ iuoE events failurefi

},{},{ :partition Failure '22211 fffff

Diagnoser: example

Diagnoser: example

2f

}{ iuoE

'2f

2f

2f1f

1f

}{ iuoE events failurefi

},{},{ :partition Failure '22211 fffff

Diagnoser: example

Diagnoser: example

2f

}{ iuoE

'2f

2f

2f1f

1f

}{ iuoE events failurefi

},{},{ :partition Failure '22211 fffff

Diagnoser: example

Diagnoser: example

2f

}{ iuoE

'2f

2f

2f1f

1f

}{ iuoE events failurefi

},{},{ :partition Failure '22211 fffff

Diagnoser: example

Diagnoser: example

2f

}{ iuoE

'2f

2f

2f1f

1f

}{ iuoE events failurefi

},{},{ :partition Failure '22211 fffff

Diagnoser: example

Diagnoser: example

2f

}{ iuoE

'2f

2f

2f1f

1f

}{ iuoE events failurefi

},{},{ :partition Failure '22211 fffff

F1 is indicated anywayF2 only for the bottom path

Therefore there is ambiguity ‘A’

Outline Last lecture:

1. Optimal CSP2. Conflict-directed A*

Today’s lecture:1. Automata (brief tutorial)2. Discrete event system3. Observer automata4. Diagnostics approach5. Diagnoser automata6. Diagnosability

Diagnosability: necessary and sufficient conditions

Theorem: A language L is diagnosable if and only if its

diagnoser Gdiag satisfies the following two conditions:

1. No state in Gdiag is ambiguous.2. There are no Fi-indeterminate cycles in Gdiag,

for all failure types Fi.

Certain and uncertain failures

Meaning – if a state contains only failure Fi label then this failure will occur in certain.

State id label

Meaning – if a state contains failure Fi and another failure or N label, then this failure will occur with uncertain.

Fi-indeterminate cycle in Gdiag

Meaning – an Fi-indeterminate cycle in Gdiag indicates the presence of two cycled traces s1 and s2 with the same observable projection, where s1 contains Fi and s2 does not.

Example: Fi-indeterminate cycle

Example: Fi-uncertain cycle but not Fi-indeterminate cycle

This is an Fi-uncertain cycle

BUT: it is not Fi-indeterminate cycle since the cycles are not corresponding

Diagnosability: necessary and sufficient conditions

Theorem: A language L is diagnosable if and only if its

diagnoser Gdiag satisfies the following two conditions:

1. No state in Gdiag is ambiguous.2. There are no Fi-indeterminate cycles in Gdiag,

for all failure types Fi.