=Paper= {{Paper |id=Vol-1507/dx15paper21 |storemode=property |title=Methodology and Application of Meta-Diagnosis on Avionics Test Benches |pdfUrl=https://ceur-ws.org/Vol-1507/dx15paper21.pdf |volume=Vol-1507 |dblpUrl=https://dblp.org/rec/conf/safeprocess/CosseBPDG15 }} ==Methodology and Application of Meta-Diagnosis on Avionics Test Benches== https://ceur-ws.org/Vol-1507/dx15paper21.pdf
                        Proceedings of the 26th International Workshop on Principles of Diagnosis




     Methodology and Application of Meta-Diagnosis on Avionics Test Benches

                 R. Cossé1,2 , D. Berdjag2 , S. Piechowiak2 , D. Duvivier2 , C. Gaurel1
           1
            AIRBUS HELICOPTERS, Marseille International Airport, 13725 Marignane France
                               {ronan.cosse, christian.gaurel}@airbus.com
           2
             LAMIH UMR CNRS 8201, University of Valenciennes, 59313 Valenciennes France
               {denis.berdjag, sylvain.piechowiak, david.duvivier}@univ-valenciennes.fr


                         Abstract                                   we call a meta-diagnosis.
                                                                    Many diagnosis approaches have been proposed to deal with
     This paper addresses Model Based Diagnosis for                 specific avionics problems. Two different classes of repre-
     the test of avionics systems that combines aero-               sentation are applied: data-based diagnosis or model-based
     nautic computers with simulation software. Just                diagnosis. The first one, as studied by Berdjag et al. [3] is
     like the aircraft, those systems are complex since             used to recognize faulty behaviors of an Inertial Reference
     additional tools, equipments and simulation soft-              System (IRS) thanks to normal or faulty categories of in-
     ware are needed to be consistent with the test re-             put/output data. In this work, data fusion of outputs sensors
     quirements. We propose a structural diagnostic                 is computed to eliminate faulty sources. In [2], the time
     framework based on the lattice concept to reduce               dependency is introduced in data of failure messages to im-
     the time of unscheduled maintenance when the                   prove problems detection.
     tests cannot be performed. Here, we also describe              In Model Based Diagnosis (MBD), Kuntz et al. [4] have
     a diagnosis algorithm that is based on the formal              studied an avionics system using minimal cuts notions. Be-
     lattice description and designed for test systems.             lard et al. have defined a new approach based on the MBD
     The benefits is to capture the system structure and            hypotheses called Meta-Diagnosis in [5] dealing with mod-
     communication specificities to diagnose the con-               els issues. Berdjag et al. [6] present an algebraic decompo-
     figuration, the equipments, the connections, and               sition of the model to reduce the complexity of the required
     the simulation software.                                       model-based diagnosers. Giap [7] has proposed a formalism
                                                                    of an iterative process to give a solution when models are not
1 Introduction                                                      complete but it lacks of applications on more complex in-
                                                                    dustrial systems. Nevertheless, it gives clues for an iterative
Avionics systems are complex since tens of subsystems and
                                                                    diagnosis. Another diagnostic software has been developed
components interact to achieve required functions. Exist-
                                                                    by Pulido et al. in [8] to perform consistency-based diagno-
ing devices for aircraft fault monitoring are based on ded-
                                                                    sis of dynamic system simulating diagnosis scenarios. The
icated avionics functions but the existing solutions are in-
                                                                    architecture is quite novel and is applied to the three-tank
sufficiently flexible for test systems and can be improved.
                                                                    system.
In [1], the framework of an health management algorithms
                                                                    Structural approaches as graph theory are also popular
for maintenance is described and implemented on an air-
                                                                    for MBD to describe the structure of the system as with
craft. In [2], the diagnostic of avionics equipments is per-
                                                                    Bayesian Networks in [9]. They enable us to incorporate
formed through dynamic fault trees. To prevent important
                                                                    the system complexity as with the lattice concept to inte-
failures on the aircraft, avionics systems are checked on rigs
                                                                    grate the sub-models dependencies. For example, in [10],
called Avionics Test Bench (ATB) composed of the avionics
                                                                    the lattice model represents fault modes to compute testable
equipments and flight simulation software.
                                                                    subsystems from redundancy equations. We want to get the
The environment of the ATB needs to be compliant with the
                                                                    main ideas that will serve our proposal. To our knowledge,
configuration of the avionics equipments. Faults of the ATB
                                                                    there is no method for the diagnostic of test systems based
can concern the avionics equipments, their configurations,
                                                                    on embedded softwares behaviour. Moreover, our proposi-
or the ATB itself i.e the movable connections and the simu-
                                                                    tion has been adapted from embedded systems to the ATB
lation software. Since it does not exist monitoring functions
                                                                    behaviour. Its complexity is relevant to the objectives of
of the ATB itself, a new method needs to be applied to pre-
                                                                    the avionics embedded systems certification, as for exam-
vent long periods of unavailability. In fact, during the devel-
                                                                    ple high levels of safety requirements, or the simulation of
opment of embedded softwares, its architecture and the test
                                                                    specific test conditions. In our model, we must consider the
environment surrounding the ATB are redesigned by adapt-
                                                                    fact that our representation must put forward the ATB be-
ing the test means to the specification’s requirements. Since
                                                                    haviour in case of failures concerning embedded systems,
the ATB is a test system, and the main knowledge are based
                                                                    connections, communications, simulation softwares and all
on its embedded systems, we need a new approach to deal
                                                                    settings to configure the test. Considering those features, the
with the ATB issues. As the embedded systems are already
                                                                    high number of needed ATB reconfigurations, it is proposed
tested on the ATB, and the test results are used to focus on
                                                                    a structural representation associated with hierarchical ver-
the ATB issues thanks to a new representation based on the
                                                                    ifications that reduce the faulty candidates. The motiva-
model of the test system, the diagnosis of the ATB is what




                                                              159
                        Proceedings of the 26th International Workshop on Principles of Diagnosis


tion of the proposed meta-diagnosis approach was presented          2.2 Diagnostic function
in [11]. Here, we propose an extended diagnosis methodol-           A basic diagnostic function is defined to help the diagno-
ogy originally defined by De Kleer, Williams [12], [13] and         sis: the check function. Depending on the granularity, the
Davis [14] and we present a software implementation run-            check function is applied on a component, a subsystem or
ning on a real ATB. It differs from the Belard et al.’s meta-       a partition. First, the checkC function is used to deter-
diagnosis definition because the ATB is still defined as the        mine if a component is faulty or not. However, we do not
main system under study. Here, we extend the diagnostic-            know precisely how a unique component behaves regarding
world tools for a specific system and due to the lack of            a fault. So we need to define the checkS function of a sub-
knowledge and data in case of issues, our proposal is based         system. The behaviour of a faulty subsystem may also not
on a MBD representation with a structural and functional            be sufficient to explain a fault. In fact, subsystems are inter-
decomposition without fault models.                                 connected making the system structure and the partitioning
First, we describe the diagnostic framework, the lattice-           concept allows us to focus on different levels of abstrac-
based representation used to model the ATB system and the           tion that we call granularities. In our study, we only focus
diagnostic algorithm. In the third section, we provide a de-        on faults with observable and measurable symptoms. These
scription of the ATB and the application of the lattice con-        faults can only be localized by testing a functionality on a
cept. In the fourth section, we illustrate the approach with a      specific architecture. That is why, functional and structural
case study of the ATB. In the final section, we describe the        partitions are used to decompose the system into testable
development of a software application to perform automati-          partitions.
cally the ATB diagnosis.
                                                                    Definition 3. The checkC function of a component ci is
                                                                    defined by:
2 Diagnostic framework                                              checkC : COM P S → {0, 1, −1} s.a checkC(c) = 0 if
                                                                    the component c is faulty, checkC(c) = 1 if the component
2.1 System representation                                           c is unfaulty and checkC(c) = −1 if the component state is
                                                                    unknown.
The system is composed of several subsystems that inter-
                                                                    Definition 4. The checkP function of a partition P is de-
act together to achieve a global function. The decomposi-
                                                                    fined by:
tions into subsystems is guided by the communication be-
                                                                    checkP : P → {0, 1, −1} s.a checkP (P ) = 1 ⇔
tween components to fulfill this goal. Partitions are used
                                                                    ∀σi ∈ P, checkS(σi ) = 1, checkP (P ) = 0 ⇔ ∃σi ∈
to decompose the system into functional and communica-
                                                                    P, checkS(σi ) = 0, and checkP (P ) = −1 ⇔ the checked
tions categories. So, there are two classes of partitions: the
                                                                    value is unknown.
partitions that represent the structure and the connections of
                                                                    Some partitions cannot be checked. The set of pos-
the system; and the partitions that represent the functions of
                                                                    sible checked partitions is Cons. It defined a con-
the system. As an example, P1 is associated with a func-
                                                                    straint. A constraint Cons is a subset of P s.a: ∀P ∈
tionality of the system P1 = {σ1 ; σ2 }, σ1 = {C1 } and
                                                                    Cons, checkP (P ) 6= −1.
σ2 = {C2 , C3 }. If a problem appears, i.e the functionality
is not performed, then a fault is detected for this partition P        Once the checkP value of a partition is known, we have
and symptoms are seen and linked to subsystems σ.                   to define the checkS function of subsystems that are not sin-
In the following paragraphs, we use the following notation:         gletons σi 6= {ci }. If the partition is faulty, either it exists
P for a partition, σ for a subsystem and ci for a compo-            a component ci ∈ σi such as checkC(ci ) = 0, or the com-
nent. S = {ci , i ∈ [1, n]} is the set of all the n components      munication between the components in σi is faulty. This
of a system. We note Σ the set of all subsystems, i.e the           is modeled by checkCom(σi ) = 0. If the partition is un-
power set of components. A partition P is a set of np sub-          faulty, then all communications between the components in
systems σi ∈ Σ: P = {σi , i ∈ [1, np ]|∀i 6= j; σi ∩ σj =           σi 6= {ci } are unfaulty and all singletons σi = {ci } are
         n
         Sp                                                         unfaulty.
∅, and      σi = S}. We note P the set of all partitions.
        i=1                                                         Definition 5. The checkCom function of a subsystem σi ⊆
We recall the definition 1 of inclusion relation between par-       COM P S is defined by:
titions and the definition 2 of multiplication.                     checkCom : Σ → {0, 1, −1} s.a checkCom(σi ) = 1 ⇔
                                                                    the communication between components in σi is unfaulty;
Definition 1. Two partitions P1 and P1 are said to be in            checkCom(σi ) = 0 ⇔
inclusion relation P1 ⊆ P2 if and only if every subsystems          the communications between components in σi is faulty.
of P1 is contained in a subsystem of P2 . The relation ⊆
means that P1 is a sub-partition of P2 .                               To help the diagnosis of the system, we decompose it
                                                                    into subsystems and we introduce the checkS function of a
Definition 2. The subsystems σk of the multiplication of two        subsystem σi ⊆ COM P S defined by:
partitions P = {σi , i ∈ [1, np ]} and Q = {σj , i ∈ [1, nq ]}
are defined by: ∀σk ∈ P × Q, ∃σi ∈ P, ∃σj ∈ Q, σk =                 Definition 6. checkS : Σ → {0, 1, −1} s.a checkS(σi ) =
σi ∩ σj .                                                           1 ⇔ ∀ci ∈ σi , checkC(ci ) = 1 ∧ checkCom(σi ) =
   This operation is used to order subsystems with respect to       1 ; checkS(σi ) = 0 ⇔ ∃ci ∈ σi , checkC(ci ) = 0 ∨
the proposed diagnostic algorithm. The inclusion relation ⊆         checkCom(σi ) = 0 and checkS(σi ) = −1 ⇔ ∃ci ∈
is used to organize the components with the lattice concept         σi , checkC(ci ) = −1 ∧ checkCom(σi ) = −1.
L (Σ, ⊆) with a partial ordering relation. It is different from        With the above definitions, it is now time to define the
the concept of partially ordered set (poset) because the ar-        diagnosis problem. Given a system representation with the
rangement of elements is not based on sets but on partitions.       lattice concept L (Σ, ⊆) and the set of constraints Cons =




                                                              160
                         Proceedings of the 26th International Workshop on Principles of Diagnosis


{P ∈ P, checkP (P ) 6= −1}, the problem is defined by                  Algorithm 1: DIAG(L (Σ, ⊆))
the consistency between L (Σ, ⊆) that contains the system
representation, and Cons that describes system issues.                  Input: d = {pi , i ∈ [1, n]}, Cons = {consi }
                                                                        Output: ∆(Diagnosis)
Definition 7. The problem formulation is to find the faulty             Global variables: End
components whose current state may explain the con-                     Fc (f aulty components), Uc (unf aulty components),
straints. It is defined as a function DIAG(L (Σ, ⊆)) under              Σ− (f aulty subsystems), Σ+ (unf aulty subsystems),
the constraints Cons.                                                   P − (f aulty partitions), P + (unf aulty partitions)
   There are two kinds of faults: the fault of a component              ∆, Fc , Uc , P + , P − , Σ− , Σ+ ← {}; End ← f alse;
Ci modeled with checkC(Ci ) = 0, and the communica-                     N Cons ← {};
tion fault of a subsystem σi = {Ci , Cj , ...} modeled with             while ¬End do
checkCom(σi ) = 0. With the P1 partition, suppose that C2                   F indF aultySubsystems(d, Cons);
and C3 are linked with an ARINC 429 link that is not work-                  V erif ication(Fc , Σ− );
ing. The constraint is checkP (P1 ) = 0 because the global                  if ¬End then
function is broken. The reason is that checkCom(σ2 ) = 0.                       foreach pi ∈ N Cons do
Knowing that checkCom(σ2 ) = 0 for the P1 functionality                              GET checkP (pi )
is giving the information to fix the system.                                         Cons ← Cons ∪ {pi }
2.3 Diagnostic algorithm
It is now necessary to introduce a diagnostic method whose
aim is to solve the above problem. The algorithm is based on
the following proposition that extends the verification from           Algorithm 2: F indF aultyElements
the multiplication of partitions to partitions, see Proposi-            Input: d = {pi }, Cons = {consi }
tion 1. Then, a functional verification is propagated from              Outputs: Fc , P − , Σ− , Σ+
partitions to subsystems, and from subsystems to compo-                 foreach (pj , pk ) ∈ P 2 : pi 6= pj do
nents.                                                                      pmult ← pj × pk
                                                                            if pmult ∈ Cons then
Proposition 1. ∀P, Q ∈ P 2 , checkP (P × Q) = 0 ⇒                               if checkP (pmult ) = 0 then
checkP (P ) = 0 ∧ checkP (Q) = 0.
                                                                                    P − ← P − ∪ {pi }
    In order to increase the readability of the algorithm, it has                   foreach σi ∈ pi do
been split into three: DIAG(L (Σ, ⊆)) is the main algo-                                  foreach ck ∈ Uc do
rithm, it initializes the framework with the partitions of the                               σi ← σi \ {ck }
system {pi , i ∈ [1, n]} and the constraints Cons = {P ∈                                 if σi = {ci } then
P, checkP (P ) 6= x}.                                                                        Fc ← Fc ∪ σi
F indF aultyElements checks the partitions that are de-
fined as a constraint. If the checked value of a partition                               else if σi ∈
                                                                                                    / Σ+ then
pmult is faulty (resp. unfaulty), we add it to the faulty (resp.                             Σ ← Σ− ∪ {σi }
                                                                                                −

unfaulty) partitions set P − (resp. P + ), and every subsystem
σi of the partition is possibly faulty (resp. unfaulty), we add                 if checkP (pmult ) = 1 then
it in Σ+ , (resp. Σ− ). If another partition pmult can help to                      P + ← P + ∪ {pi }
get more faulty or unfaulty components, a new constraint is                         foreach σi ∈ pi do
proposed and added to N Cons.                                                           if σi = {ci } then
                                                                                            Uc ← Uc ∪ σi
V erif ication is used to check the possible components that
may be faulty, i.e include in Fc with the checkC function,                              else
and the communication of the subsystems in Σ− with the                                      Σ+ ← Σ+ ∪ {σi }
checkCom function.
    Two functions have been introduced: the checkP (pi )                    if pmult ∈/ Cons then
value of a partition pi and the CheckCom(σi ) of a subsys-                      if ∃{ci } ∈ pmult then
tem. Their values can be automatically computed thanks to a                         if ¬(ci ∈ Uc ∪ Fc ) then
program developed on the system to automate the diagnosis.                               N Cons ← N Cons ∪ {pmult }
This is performed by the GET function whose purpose is to
model the computation of checkP (pi ) or CheckCom(σi ).
2.4    Formal example
In order to illustrate the problem formulation and the diag-          function is introduced to choose the next topology and the
nostic algorithm, a formal example is provided. It is com-            next functionality to be tested. It is guided by the minimum
posed of eight components {Ci , i ∈ [1, 8]} organized into            of tests to perform in order to fix the system. For a set of
three partitions:                                                     partitions P, we define Choose : {P} → P × P.
P1 = { {C1 ,C2 , C3 ,C4 }, {C5 ,C6 , C7 ,C8 }},                       As the two functionalities are modeled by P1 and P2 , and
P2 = { {C1 ,C2 }, {C3 ,C4 ,C5 ,C6 ,C7 ,C8 }},                         the the topology is modeled by P3 , we have two possi-
P3 ={{C1 }, {C2 ,C4 ,C6 ,C8 }, {C3 ,C5 ,C7 }}.                        bilities. We assume that P2 is prior to P1 , the first itera-
P3 describes the topology of the system. P1 and P2 describe           tion is defined with Choose(P)=(P1 , P3 ). We begin with
functionalities. We set the C2 component as faulty. The idea          checkP (P1 ×P3 ) = 0, s.a P1 × P3 = { { C1 }, {C2 ,C4 },
is to combine the topology of the system with its function-           {C3 }, {C6 ,C8 }, {C5 ,C7 }}. The possible faulty component
alities to find the faulty component or subsystem. A choice           are C1 and C3 . We check the C1 and C3 components and




                                                                161
                        Proceedings of the 26th International Workshop on Principles of Diagnosis


 Algorithm 3: V erif ication                                                           Components        CheckC
                                                                                          C1               1
  Inputs: Fc                                                                              C2               0
  Outputs: ∆ Fc , Uc , End                                                                C3               1
  Initialization: σ+ , σ− ← I;
                                                                                          C4               −1
  foreach ci ∈ Fc do
                                                                                          C5               −1
      if checkC(ci ) = 0 then
          ∆ ← ∆ ∪ {ci }                                                                   C6               −1
          End ← true                                                                      C7               −1
      else                                                                                C8               −1
          Fc ← Fc \ {ci }
          Uc ← Uc ∪ {ci }                                             Table 2: Diagnostic results for components in P2 × P3

    foreach Σi ∈ Σ− do
        GET checkCom(Σi )                                           more than twelve national customers in over twenty dif-
        if checkCom(Σi ) = 0 then                                   ferent basic helicopter configurations. The NH90 Avionics
            ∆ ← ∆ ∪ {Σi }                                           System consists of two major subsystems: the CORE Sys-
            End ← true                                              tem and the MISSION System. A computer is the bus con-
        else                                                        troller and manages each subsystem communications: the
            Σ− ← Σ− \ {Σi }                                         Core Management Computer (CMC) for the CORE Sys-
            Σ+ ← Σ+ ∪ {Σi }                                         tem and the Mission Tactical Computer (MTC) for the MIS-
                                                                    SION System. Each computer is connected to one or both
                                                                    subsystems via a multiplex data bus (MIL-STD-1553), point
                                                                    to point connections (ARINC429) and serial RS-485 lines.
find them as unfaulty, see Tables 1. The possible faulty sub-       Additional redundant computers are used as backup. One
systems are {C2 , C4 }, {C6 , C8 } and {C5 , C7 } and they are      of the two CMC is the Bus Controller (BC) of the CORE
unfaulty. The diagnosis is not sufficient, we must relax the        multiplex data bus. The avionics system of the ATB is
constraint P2 × P3 .                                                composed of fourteen computers and the above connec-
The second iteration is defined with Choose(P)=(P2 , P3 ),          tions: two CMC: c1 = CM C1 and c2 = CM C2; two
s.a P2 × P3 = {{C1 }, {C2 }, {C4 ,C6 ,C8 }, {C3 ,C5 ,C7 }}.         Plant Management Computer (PMC): c3 = P M C1 and
We get checkP (P2 × P3 ) = 0, the possible faulty compo-            c4 = P M C2; five Multifunction Display (MFD): c5 =
nents are C1 and C2 but C1 has already been checked in the          M F D1, c6 = M F D2, c7 = M F D3, c8 = M F D4,
previous iteration. So, the possible faulty subsystems are          c9 = M F D5; two Display and Keyboard Unit (DKU):
{C3 ,C5 ,C7 } and {C4 ,C6 ,C8 }. We check the C2 component          c10 = DKU 1, c11 = DKU 2; two IRS: c12 = IRS1,
and find it as faulty. For this example, the computed faulty        c13 = IRS2; one Radio Altimeter (RA): c14 = RA. For-
or unfaulty components is, see Table 2, C2 in P2 × P3 .             mally, COM P SAT B = {ci , i ∈ [1, 14]}.
If no components has been found faulty, the upper topo-             The avionics system under test COM P SSU T is a sub-
logical level is treated i.e subsystems: {C2 ,C4 }, {C6 ,C8 },      system of COM P SAT B .         It is described Figure 1.
{C5 ,C7 }, {C4 ,C6 ,C8 } and {C3 ,C5 ,C7 }}. Here, they are         COM P SSU T = {c1 , c2 , c3 , c4 , c5 , c10 , c12 , c14 }. For the
unfaulty.                                                           rest of the article, COM P SSU T will be the primary system
                                                                    under study.
                   Components      CheckC
                      C1              1
                      C2             −1
                      C3              1
                      C4             −1
                      C5             −1
                      C6             −1
                      C7             −1
                      C8             −1

    Table 1: Diagnostic results for components in P1 × P3                 Figure 1: Architecture of the avionics subsystem


    The method has permitted to detect quickly the faulty
component using functional partition and a structural par-               From        To         Messages         Subsystems
titioning. Thanks to this result, possible faults regarding ei-         DKU 1       CM C1       Mode on            σSerial1
ther the topology or the functionality are checked.                     CM C1       IRS1        Mode on             σM IL
                                                                        IRS1         RA         Mode on        σN AV ; σARIN C
                                                                          RA        IRS1         Alert         σN AV ; σARIN C
3     The Automatic Test Benchmark
                                                                        IRS1        CM C1        Alert          σM IL ; σN AV
3.1 Avionics system                                                     CM C1       DKU 1        Alert         σSerial1 ; σN AV
The avionics system of the NH90 helicopter is designed                                    Table 3: Messages
to support multiple hardware and software platforms from




                                                              162
                        Proceedings of the 26th International Workshop on Principles of Diagnosis


   The PMC is used to monitor the status of all the avion-
ics computers. It displays the alert informations on the
MFD. We define the performances partition pP ERF =
{σP ERF ,σ¬P ERF } with:
σP ERF = {P M C1,P M C2,RA,IRS1,M F D1}
σ¬P ERF = {CM C1,CM C2,DKU 1} and the navigation                  Figure 2: Navigation func-      Figure 3:      Performance
partition pN AV = {σN AV ,σ¬N AV } with:                          tion decomposition with         function     decomposition
σN AV = { RA,IRS1,M F D1}                                         dprotocol                       with dprotocol
σ¬N AV = {CM C1,CM C2,DKU 1,P M C1,P M C2}.
The test consists in the simulation of a high roll. Normally
the RA should be deactivated above the value of forty de-         DKU 1}; {P M C1, P M C2}; {M F D1, IRS1, RA}};
grees. The procedure contains the following actions: en-          pN AV.ARIN C = pN AV × pARIN C = {{M F D1, IRS1,
gage the RA with the DKU 1; simulating a roll of 50 de-           RA}; {CM C1, CM C2, P M C1, P M C2}; {DKU 1}}.
grees; check that the RA functionality is deactivated on the        The performance function can give insights about the
DKU 1. Several messages are sent to achieve this func-            fault. We compute the partitions with this functionality:
tionality, see Table 3, defining a data-flow for two mes-         pP ERF.M IL = pP ERF ×pM IL = { {M F D1,RA};
sages : "Mode on" and "Alert" messages: from DKU 1                {DKU 1}; {CM C1,CM C2}; {P M C1,P M C2,IRS1} }
to CM C1 via serial communication to activate the radioal-        pP ERF.Serial =pP ERF ×pSerial = { {CM C1,CM C2,
timeter’s specific mode ("Mode on" message); from CM C1           DKU 1}; {P M C1,P M C2}; {M F D1,IRS1,RA} }
to IRS1 via MIL-STD-1553 communication to relay the               pP ERF.ARIN C = pP ERF ×pARIN C = { { P M C1, P M C2,
activation information; from IRS1 to RA via ARINC com-            M F D1, IRS1, RA};{CM C1, CM C2}; {DKU 1} }.
munication to send a request to the RA to get the roll angle;       Those partitions will serve to improve the diagnosis.
from RA to IRS1 via ARINC communication to send the               3.3 Outlooks about the decompositions
response to the IRS that compute the angle; from IRS1 to
CM C1 via ARINC communication, from CM C to DKU                   We describe an iterative method to update the diagnostic re-
via serial communication to display the alert and disable the     sult by providing new topologies of the system. We need to
functionality ("Alert" message).                                  get precise observations to find the faulty components. The
                                                                  subsystems are computed with the framework of the previ-
3.2 System Under Test (SUT) decomposition                         ous section.
                                                                  Given the components, the messages sent between them,
The ATB is used to perform the realization of the avionics        and the protocol of these messages, we can obtain an
functions with the necessary equipments and a simulated en-       overview of the system decomposition: pSU T can be
vironment needed to check the system specification.               decomposed into dprotocol = {pSU T × pM IL ; pSU T ×
   The ATB is described as a structural decomposition with        pSerial ; pSU T × pARIN C }. This hierarchical structure is
components subsets. These sets provide partitions of the          provided with a dependency graph, see Figures 2 and 3.
whole system. We define subsystems σi and the partitions             The following partitions are used:
pi with regards to the connections of the avionics system of      σcom1 = {{DKU 1, CM C1, IRS1, RA}};
Figure 1, the serial communication:                               σ¬com1 = {{M F D1, CM C2, P M C1, P M C2}};
  σSerial1 = {CM C1, CM C2, DKU 1}                                pcom1 = {σcom1 , σ¬com1 }.
  σSerial2 = {P M C1, P M C2}                                        The path of the informations "RA mode on" and "RA
  σ¬Serial = {M F D1, IRS1, RA}                                   alert" on copilot side defines another decomposition: σcom2
  pSerial     = {σSerial1 ; σSerial2 ; σ¬Serial }                 = {{CM C2, IRS1, RA, DKU 1}}; σ¬com2 = {{M F D1,
the ARINC communications:                                         CM C1, P M C1, P M C2}}; pcom2 = {σcom2 , σ¬com2 }.
  σARIN C       = {CM C1,CM C2,P M C1,P M C2,
                     M F D1,IRS1,RA}                                 We describe the decomposition dcom = {pcom1 , pcom2 }
  σ¬ARIN C = {DKU 1}                                              on Figures 4 and 5. We compute partitions with the
  pARIN C       = {σARIN C ; σ¬ARIN C }                           navigability functionality and this structural decomposition:
the MIL-STD-1553 communications:                                  pN AV.com1 = pN AV × pcom1 = {{RA, IRS1}; {M F D1};
  σM IL     = {CM C1, CM C2, P M C1, P M C2, IRS1}                {CM C1, DKU 1}; {CM C2, P M C1, P M C2}};
  σ¬M IL = {M F D1, DKU 1, RA}                                    pN AV.com2 = pN AV × pcom2 = {{RA, IRS1}; {DKU 1,
  pM IL     = {σM IL ; σ¬M IL }                                   CM C2}; {M F D1}; {CM C1, P M C1, P M C2}};
The above partitions describe the topology of the problem.        pP ERF.com1 = pP ERF × pcom1 = {{RA, IRS1};
We classify the partitions into two categories: functional        {CM C2}; {CM C1, DKU 1}; {M F D1, P M C1,
partitions and communication partitions. The functional           P M C2}};
partitions contain the subsystems that compute and send           pP ERF.com2 = pP ERF × pcom2 = {{RA, IRS1}; {DKU 1,
the informations. The communication partitions contain the        CM C2}; {CM C1}; {M F D1, P M C1, P M C2}}.
subsystems that relay these informations. In our example,
the navigation functionality is tested. Functional partition      4 Illustration of the Meta-Diagnostic
are: {pN AV ,pP ERF }, connection partitions are: {pM IL ,          Approach
pSerial , pARIN C }. We need to define additional partitions
that can be checked with the check function on the system         4.1 Application of the meta-diagnosis approach
thanks to this representation:                                    An iterative approach is very helpful in this case of dis-
pN AV.M IL = pN AV × pM IL = {{M F D1,RA};{IRS1};                 tributed systems since diagnosis can use new subsys-
{CM C1,CM C2,P M C1,P M C2};{DKU 1}};                             tems and partitions. The results of the diagnosis are
pN AV.Serial = pN AV × pSerial = {{CM C1, CM C2,                  re-injected in the upper system to refine the results.




                                                            163
                       Proceedings of the 26th International Workshop on Principles of Diagnosis


                                                                         pi        checkP (pi )      Uc          Fc
                                                                     pN AV.com1        0          {DKU 1,       {RA,
                                                                                                   IRS1}       M F D1}
                                                                     pN AV.com2         1         {DKU 1,       {RA}
                                                                                                   IRS1,
                                                                                                  M F D1}
Figure 4: Navigation func-      Figure 5:   Performance
tion decomposition with         function  decomposition
dcom                            with dcom                        Table 7: Iterations of CheckM ultiplicationP artition
                                                                 with dcom
The first symptom is the misbehavior of the navigation
functionality. We describe the iterations of the algo-                  Subsystems                checkCom       Partition
rithms with two topologies. We have launched the meta-                 {RA, IRS1}                     1         pN AV.com1
diagnostic algorithm with the topology: dN AV.protocol =             {CM C1, DKU 1}                   1         pN AV.com1
{pN AV.M IL ,pN AV.ARIN C ,pN AV.SERIAL } and dN AV.com           {CM C2, P M C1, P M C2}             1         pN AV.com1
= {pN AV.com1 , pN AV.com2 }. The constraint is CON S =
{checkP (pi ), ∀pi ∈ dN AV.protocol ∪ dN AV.com }. The iter-     Table 8: Diagnostic results of subsystems with pN AV.com1
ations of the algorithms are described in Tables 4, and 5.

            pi        checkP (pi )   Uc        Fc                faults. Thanks to the impacted functionality, we know that
      pN AV.ARIN C        0          ∅      {DKU 1}              only messages concerning the IRS roll are concerned. At
      pN AV.SERIAL        1          ∅      {DKU 1}              this stage, the simulation of the message or the bad connec-
       pN AV.M IL         0          ∅       {IRS1,              tion of the IRS are the two main solutions.
                                            DKU 1}
                                                                 4.2 Application with updated constraints
                                                                 We describe a new problem: the navigation func-
Table 4: Iterations of CheckM ultiplicationP artition            tionality and the performance function do not be-
with dprotocol                                                   have normally.       The new constraint is CON S =
                                                                 {checkP (pi ), ∀ pi ∈ dN AV.protocol ∪ dN AV.com ∪
  The third step gives a state of the components in Fc set       dP ERF.protocol ∪ dP ERF.com }. The algorithm is loaded
that can be faulty: DKU 1 and IRS1 in Table 5. If the com-       from CheckM ultiplicationP artition with the decompo-
ponents are faulty, this may explain the system behavior and     sition dcom . The algorithm iterations are described in Ta-
the algorithm ends. At the same time, the communications         ble 9. Once checkP (pP ERF.com2 ) = 1, we deduce that
of subsystems in Σ− can be faulty. They are checked in           CM C1 is not faulty.We continue with dprotocol knowing
Table 6.                                                         the CM C1 is not faulty in Table 10. We deduce that we
      ci        checkC(ci )      Fc           Uc                 have to check DKU 1 and CM C2.
     DKU 1          1          {IRS1}       {DKU 1}
                                                                        pi         checkP (pi )        Uc         Fc
     IRS1           0          {IRS1}       {DKU 1}
                                                                   pP ERF.com1         0                ∅       {CM C2}
                                                                   pP ERF.com2         1             {CM C1}    {CM C2}
Table 5:    Iterations of the CheckComponents with
dprotocol                                                                Table 9: Algorithm 2’s iterations with dcom


       Subsystems          checkCom         Partition
      {M F D1, RA}             1          pN AV.ARIN C                   pi           checkP (pi )      Uc          Fc
     {CM C1, CM C2,            1          pN AV.ARIN C             pP ERF.ARIN C          0           {CM C1}     {DKU 1,
     P M C1, P M C2}                                                                                              CM C2}
                                                                  pP ERF.SERIAL             1         {CM C1}     {DKU 1
        Table 6: Diagnostic results for subsystems                                                                CM C2}
                                                                    pP ERF.M IL             0         {CM C1}     {DKU 1,
                                                                                                                  CM C2}
   The IRS1 is not faulty, the algorithm is relaunched
with Uc = {DKU 1, IRS1} and the other decomposition
dcom = {pN AV.com1 , pN AV.com2 }. The algorithm itera-          Table 10: Iterations of CheckM ultiplicationP artition
tions are described in Tables 7 and 8.                           with dprotocol
   Once checkP (pN AV.com2 ) = 1, we deduce that M F D1
is not faulty, see Table 7. At this step, the unfaulty com-        At this state, we check the components on the system.
ponents are {DKU 1, IRS1, M F D1}, and the diagnosis is          Since the reparation of CM C2 has fixed the problem, we
{RA}.                                                            conclude that CM C2 has been faulty. We also check the
   Here the RA is faulty with pN AV.com1 , and the algorithm     DKU 1 configuration, and find nothing. The diagnosis is
ends. The solution is RA for pN AV.com1 . The data flow          ∆ = {CM C2}.
of the messages are checked as the impacted connections,           The evolution of the number of faulty and unfaulty com-
wiring and, routing. The system specificities of the com-        ponents is reviewed on figure 6. As expected, the number of
munication modeled with com1 five clues of the possible          unfaulty components is increasing with new tests, i.e tests




                                                           164
                        Proceedings of the 26th International Workshop on Principles of Diagnosis




Figure 6: Evolution of the number of faulty and unfaulty
components

of partitions. It reveals that the algorithm is converging to a
solution because the number of components is limited.
                                                                                                     Figure 10: State of the con-
5 Software implementation                                                                            straints
5.1 Diagnostic software architecture                                Figure 9: Initial state of the
The algorithms are implemented in a spy software of AR-             diagnosis
INC and MIL-STD-1553 buses, see Figure 7. They are de-
veloped using C++ for effective diagnosis, and to be im-
plemented in the AIRBUS software. The user interfaces are           initialStateP anel panel, Figure 9 defines the status of
developed with Java 1.7 and the Swing Graphical User Inter-         equipments before launching the diagnosis and a button the
face (GUI) widget toolkit. The architecture of the diagnostic       run the algorithm. The check values computed by the al-
                                                                    gorithm defined in the Controller are provided to the oper-
                                                                    ator in Figure 11. The constraintsPanel panel lets to edit
                                                                    and update constraints, see Figure 10. The result of the di-
                                                                    agnostic algorithm is provided on Figures 11. It gives the
                                                                    faulty components (observation equal to zero) and the im-
                                                                    pacted functionality. If a component is suspected, the data


       Figure 7: Data flow of the diagnosis software

framework has been adapted to the ATB specificities as de-
scribed with the Model-View-Controller (MVC) paradigm
on Figure 8. Three main objects are defined for the Model:
the Component, the Set, and the Partition objects. Four main
objects are defined in the View to define specific panels: the
diagnosisPanel, the constraintsPanel, the initialStatePanel
and the resultsPanel objects. The model is implemented
with the ArrayList class. It is used to define the list of com-
ponents, the subsystems and the list of partitions. eXtensible
Markup Language (XML) files have been used to describe
the system structure. The Controller dispatches the user re-
quests and selects the panels for presentation. The diagnosis
algorithm is implemented in it. A GUI is provided for han-
dling user inputs such as partitions check values and com-
ponents observations values.
                                                                                     Figure 11: Diagnosis results

                                                                    flow of the functional chain described by the partition must
                                                                    be checked. As described in the case study, it gives insights
                                                                    about the possible connections, wiring and, routing that can
                                                                    be wrong.
                                                                       We compute the results ∆ = { IRS1, DKU 1, CM C2,
                                                                    RA } and display them on Figure 11. If some components
                                                                    are unfaulty, we can update their status in Figure 9. The al-
                                                                    gorithm is relaunched using the "GO" button in Figure 9.
                                                                    The good diagnosis rate is evaluated on Figure 12. It is de-
      Figure 8: Architecture of the diagnosis software              fined by the number of faulty components that the operator
                                                                    has to fix over the number of proposed faulty components.
5.2 User interfaces                                                 5.3 Discussion
The panels are displayed one after the others for each              We have proposed a solution for the diagnosis of a complex
step of the algorithm defined in the Controller. The                system in aeronautics based on the MBD paradigm and the




                                                              165
                         Proceedings of the 26th International Workshop on Principles of Diagnosis


                                                                          equipment based on dynamic fault tree. In Proceed-
                                                                          ings of the IFAC-CEA conference, October 2007.
                                                                     [3] Denis Berdjag, Jérôme Cieslak, and Ali Zolghadri.
                                                                          Fault detection and isolation of aircraft air data/inertial
                                                                          system. pages 317–332. EDP Sciences, 2013.
                                                                     [4] Fabien Kuntz, Stéphanie Gaudan, Christian San-
               Figure 12: Good diagnosis rate                             nino, Éric Laurent, Alain Griffault, and Gérald Point.
                                                                          Model-based diagnosis for avionics systems using
                                                                          minimal cuts. DX 2011 22nd International Workshop
lattice concept. It is an other solution for the meta-diagnosis           on Principles of Diagnosis, 2011.
problem as described in [5] since we consider the test sys-          [5] Nuno Belard, Yannick Pencole, and Michel Comba-
tem environment as the main system. Belard has extended
                                                                          cau. A theory of meta-diagnosis: reasoning about
the framework, here we use the original one with the lat-
                                                                          diagnostic systems. In Proceedings of the Twenty-
tice concept to represent the system description. It is also
                                                                          Second international joint conference on Artificial In-
provided a diagnostic algorithm implemented on the system
                                                                          telligence, IJCAI’11, pages 731–737, Barcelona, Cat-
to evaluate our method. Since hundreds of diagnosis are
                                                                          alonia, Spain, 2011.
possible on the ATB, since it is not possible to check all
those possibilities, we have introduced a methodology for            [6] Denis Berdjag, Vincent Cocquempot, Cyrille
the ATB diagnosis that reduce the number of iterations to get             Christophe, Alexey Shumsky, and Alexey Zhirabok.
the diagnosis. We have upgraded the applications of MBD                   Algebraic approach for model decomposition:
for avionics systems evaluated in [4] and [2]. It is proposed             Application for fault detection and isolation in
the integration and evaluation of a diagnostic algorithm for              discrete-event systems.         International Journal of
an ATB, taking the test systems environment into account.                 Applied Mathematics and Computer Science (AMCS),
It differs from other applications of MBD like [8] because                21(1):109–125, March 2011.
the model decomposition is driven by the test systems speci-         [7] Quang-Huy Giap, Stephane Ploix, and Jean-Marie
ficities that are represented with the lattice concept.                   Flaus. Managing Diagnosis Processes with Interac-
                                                                          tive Decompositions. In Artificial Intelligence Appli-
6 Conclusion                                                              cations and Innovations III, IFIP International Federa-
This paper extends the MBD approach to propose a diagnos-                 tion for Information Processing, pages 407–415. 2009.
tic software that is developed for the diagnosis of test sys-        [8] Belarmino Pulido, Carlos Alonso-González, Anibal
tems. The current framework is based on the lattice decom-                Bregon, Alberto Hernández Cerezo, and David Ru-
position and is used to model a test system. First, the lat-              bio. DXPCS: A software tool for consistency-based di-
tice decomposition has been used to decompose the system                  agnosis of dynamic systems using Possible Conflicts.
into its functionalities and connections. The second contri-              25st Annual Workshop Proceedings, DX-14, 2014.
bution consists in the proposal of an algorithm that reduce          [9] Veronique Delcroix, Mohamed-Amine Maalej, and
the diagnostic ambiguity. The lattice description has been
                                                                          Sylvain Piechowiak. Bayesian Networks versus Other
implemented with JAVA native packages. The software ar-
                                                                          Probabilistic Models for the Multiple Diagnosis of
chitecture and diagnostic iterations are provided for a formal
                                                                          Large Devices. International Journal on Artificial In-
example and an industrial case study. The diagnostic algo-
                                                                          telligence Tools, 16(3):417–433, 2007.
rithm has shown to reduce the number of faulty candidates.
The results is either faulty equipment or a group of equip-          [10] Mattias Krysander, Jan Aslund, and Erik Frisk. A
ments with the associated system functionality that is unable             Structural Algorithm for Finding Testable Sub-models
to meet its goal. Together, they are sufficient to point out the          and Multiple Fault Isolability Analysis. 21st Annual
reparations that will fix the system. The tests on the Avion-             Workshop Proceedings, DX-10, 2010.
ics Test Systems in AIRBUS HELICOPTERS have shown                    [11] Ronan Cossé, Denis Berdjag, David Duvivier, Sylvain
good results. The development of models may confront our                  Piechowiak, and Christian Gaurel. Meta-Diagnosis for
solution to many others real problems. In future works, al-               a Special Class of Cyber-Physical Systems: the Avion-
gorithms will be improved with adaptable decompositions                   ics Test Benches. In The 28th International Confer-
and automatic tests. Furthermore, as the method is generic,               ence on Industrial, Engineering & Other Applications
we want to demonstrate the validity of our method for others              of Applied Intelligent Systems, [Accepted], IEA/AIE
test systems used in AIRBUS HELICOPTERS.                                  2015, Seoul, Corea, 2015.
                                                                     [12] Johan de Kleer and B.C. Williams. Diagnosing multi-
References                                                                ple faults. Artificial Intelligence, 32(1):97–130, 1987.
[1] Canh Ly, Kwok Tom, Carl S. Byington, Romano
                                                                     [13] Johan de Kleer, Alan K. Mackworth, and Raymond
    Patrick, and George J. Vachtsevanos. Fault Diagno-
                                                                          Reiter. Characterizing diagnoses and systems. Artifi-
    sis and Failure Prognosis for Engineering Systems: A
                                                                          cial Intelligence, 56(2-3):197–222, 1992.
    Global Perspective. In Proceedings of the Fifth An-
    nual IEEE International Conference on Automation                 [14] Randall Davis and Walter C. Hamscher. Model-Based
    Science and Engineering, CASE’09, pages 108–115,                      Reasoning: Troubleshooting. pages 297–346, July
    Piscataway, NJ, USA, 2009. IEEE Press.                                1988. San Francisco, CA, USA.
[2] Arnaud Lefebvre, Zineb Simeu-Abazi, Jean-Pierre
    Derain, and Mathieu Glade. Diagnostic of the avionic




                                                               166