• No results found

Fault Tree Modelling for Behaviour-Based Systems

4.2 Fault Tree Analysis

4.2.1 Fault Tree Modelling for Behaviour-Based Systems

The use of fault tree analysis to robotic systems offers some advantages. A failure event can be caused from many different components, e.g. sensors, actuators, data connections, hardware that executes software and certainly the software itself. Fault tree analysis helps to understand the potential errors and the relationship of failure events and thereby facilitates system improvements.

Robot does not act correctly Faulty actuators No/wrong command from software Software fault

Faulty input data from sensor→ Sensor fault

Figure 4.8: Abstract example of a fault tree including hardware, here, actuators and sensors

(grey boxes) and software (blue boxes) for a robotic problem

In literature, often hardware and software parts of a system are analysed individually. But exactly this correlation is interesting. Figure 4.8 depicts exemplarily the different faulty components that can cause a failure of the whole system.

Software fault tree analysis has been topic to research since the number of embedded systems grows. A problem here is the complexity of the resulting trees when several variables in the software need to be respected. The special structure of behaviour-based systems offers the possibility to analyse the software while abstracting from the actual implementation of functionality. Therewith, fault tree creation can be based on the network structure where events reflects faults in the structure. The inner implementation of the behavioural components can be verified in a separate step.

Since all behavioural components have the same interface, this approach proposes the application of a standard fault tree modelling process for a single component together

1FaultTree+: www.isograph.com/software/reliability-workbench/fault-tree-analysis/

2BlockSim: www.reliasoft.com/BlockSim/

3RiskSpectrum: www.riskspectrum.com/en/risk/Meny_2/RiskSpectrum_FTA/

with guidelines to integrate single trees into the main tree. This procedure also facilitates the automation of fault tree creation which is essential for such complex systems as robot systems are. Faulty data signal output Faulty data value Faulty calculation (1) Faulty input data (3) Faulty activity value Wrong activa- tion value(5) Faulty activity calculation(4) Structural fault (2)

Trace input data Trace stimulation/

inhibition

Figure 4.9: Fault tree of a standard iB2C component which outputs faulty control data

The following paragraph introduces the modelling of a behavioural component. The fundamental assumption is that a wrong software command coming from one (or several) components caused a problem. Therefore, the top event for the software sub fault tree is defined as faulty data signal output.

For standard behavioural components, there are two possible reasons for a faulty data signal output, namely, faulty data value and faulty activity value. The first relates to all possibilities that lead to faulty data. These are (1) a faulty calculation inside the behavioural component, (2) a structural fault in the network or (3) faulty input data. The latter implies a fault in another component of the behaviour-based network. This is the link to map the network structure in the fault tree. The needed information about the components that provide date to the component in question can be taken from the tbig (see Sec. 4.1).

A faulty calculation corresponds with a component internal implementation problem. It is handled as basic event in this modelling approach and can be further analysed using software analysis techniques. The aspect structural fault, targets faults in the network structure related to the behavioural component in question. These include wrong or missing connections to other components. It is also handled as basic event.

Similar causes are found for the event of a faulty activity value. The activity value is significantly relevant for the transfer of control data as it decides about the importance of the control data. In a maximum fusion for example, only the control data of the behaviour with the maximum activity value are passed. Therefore, a faulty calculation of an activity value can lead to problems in the overall robot behaviour. The activity-related part of the fault tree is build with a basic event considering a faulty calculation of the activity output value (4) and an event considering a wrong activation value (5) (Remember, the activation value limits the activity see Chap. 2.2). The latter is based on stimulation and inhibition inputs to the behavioural component and needs therefore further processing. Additionally,

Faulty data signal output (Fusion) Faulty data value (Fusion) Faulty input data (3) Faulty output data (Behaviour 1)

Faulty output data (Behaviour N) Faulty activity value (Fusion) Wrong activation value (5) Structural fault (2)

Trace input data Trace input data

Trace stimulation/ inhibition

. . .

Figure 4.10: Fault tree of an iB2C fusion behaviour which outputs faulty control data. The

red marked or gate may be replaced by an and gate in some cases

a structural fault as mentioned for the faulty data signal can also be a problem for the activity calculation (2). Both structural faults are combined in one basic event, as their verification is done simultaneously. Figure 4.9 shows the fault tree of a standard iB2C behaviour.

iB2C fusion behaviours are modelled in a similar way (see Fig. 4.10). In contrast to standard behavioural components the calculation of the outputs (data and activity) is a standard calculation that should be verified to be correct. These events are therefore neglected in the fault tree. The event Faulty input data (3) is split into several branches according to the number of input behaviours. They are connected via an or gate in the figure. This is only a very general model of the fusion behaviour component. It suffices to give information about the interconnections of the behavioural components, but for an exact modelling of the fusion function special system knowledge is needed in order to connect the data outputs correctly. The gate must therefore be chosen according to the special task. In order to reduce the size of the fault tree, behavioural groups can be handled as normal standard behaviours. Their internal structure can be modelled in an individual fault tree, which is only analysed if necessary.

Using these standardised sub fault trees, a complete fault tree for the control software of the system can be modelled. It can be integrated in a combined fault tree containing also hardware parts as shown in Fig. 4.8. The application of fault-tree analysis to a robotic system with a behaviour-based control will be presented in the following section using the

robot ravon as example.