Testing of Ev
Testing of Ev
system test, acceptance test. Since software engineers like to draw these steps
as
a diagram of cascaded rectangles, it has been dubbed waterfall model. The
awareness that the later steps have to do a lot with earlier steps can also be
represented graphically, e.g. by arrows. It turns out that an acceptance test
searches for deviations from the requirements, a system test for deviations
from
the specification, the integration fails if the software deviates from its original
design and the module or unit tests shows coding bugs. These relations can be
design delivers requirements for the hardware and the software, leading into
two
parallel subordinate V models. With integration both, sub-Vs merge again, so
finally the system test and the acceptance test of the whole product can be
done.
Figure 3.6 shows an example how ISO 26262 splits the system V model into a
hardware V and a software V and merges them again. Putting several items
(hardware, software or hardware and software modules) together is called
integration. Integration is often critical, even in the fortunate case that
everything
immediately seems to work together at first sight, further tests are necessary to
scrutinise the hardware–software interface (HSI) and module interfaces.
Although the V model is common in automotive industry and functional
safety standards such as ISO 26262 assume tacitly the V model, there are also
two grave disadvantages. One disadvantage is that serious problems, in
particular a misunderstanding of requirements, are discovered very late in
thetests before delivery, and usually, there is no more time left to fix them. The
second problem appears in the cooperation between car manufacturer and
supplier, the rigid structure makes it nearly impossible to react flexibly to new
customer requirements, and it is not realistic to believe that the customer has
documented all his requirements in the beginning of the V. There are other
process models called ‘agile’ models which respond to this problem. Two of
them, extreme programming and scrum, are successfully used in other
industries
for pure software development, whereas the automotive industry is highly
reluctant. One argument against the use of these agile models in automotive
industry is the difficulty or maybe even impossibility to develop hardware this
way. Another reason is that in the recent years, a lot of standardisation work
including ISO 26262 has built upon the V model.
Figure 3.6 Double V
3.4.2 Development assessments
One key thought of quality management is that good development processes
yield good products, although there is no proof of this assumption. Experience
shows that sometimes even good processes yield inferior products and good
products have been sometimes developed in an incredibly chaotic way. But it
is
reasonable to belief that the chance to develop reproducibly good products
increases with adequately good processes. In particular if a development is
assigned to a supplier, the product quality is not known before, but the process
quality can be known. So a desire to estimate the capability of a
developmentwithout analysis of ready products can be understood.
UNIT-3 [fundamentals of functions safety and EMS
Many assessment methods have been devised first in the software industry,
two of them have spread widely in the automotive industry, i.e.CMM
(capability
maturity model) and SPICE (software process improvement and capability
determination, which must not be confused with the homonymous circuit
simulator).
CMM has been developed by Carnegie Mellon University and was published
in 1986. The assessment checks good practices of software engineering, called
key process areas. For each of the five CMM levels (except the lowest one), a
set
of several practices needs to be implemented and documented. Serious
problems
are the high costs of CMM assessments, bureaucracy increasing dramatically
with higher level and monitoring of people’s performance on high level which
contradicts to labour legislation in some countries. The author has experienced
systematic trials with projects on different CMM levels where in spite of
higher
process quality, product quality has even decreased with higher CMM levels.
The number of projects in these trials has been too small for meaningful and
universally applicable statistics, but it has got obvious that the increasing
bureaucratic load without taking additional people into the project killed time
left for engineering tasks. From this experience, for good and safe products,
one
might suppose a reasonable, local optimum point of process quality as target
and
not just the theoretically possible maximum of process quality. From 2000,
CMM has been substituted by a similar system called CMMI (CMM
integrated)
or more precisely CMMI-DEV for development, which covers system
engineering including hardware development. Whereas CMMI has lost
relevance in the European automotive industry, it is still common in the USA.
SPICE has been standardised by the ISO [96–98]. It shares some basic ideas
with CMM(I), uses a completely different vocabulary, but there are also many
true differences in details. One principal difference is that SPICE does not
assign
one level to the whole development process, but individual levels to different
process areas. A special adaptation of SPICE beyond the standard is
automotive
SPICE [67].
3.4.3 Configuration management
Large software products are composed out of hundreds or even thousands of
UNIT-3 [fundamentals of functions safety and EMS
files which contain the source code of a product. In one software build,
erroneously files which do not belong together could be combined. Each
fileevolves in several versions which need to be tracked, which can be
complicated
in particular if versions additionally split up in variants, e.g. if an ECU is
designed for different cars (which is the normal case). While one engineer
works
on a file, another engineer might fix a bug on the same file; later, the first
engineer might overwrite the bugfix with his changes. Those are a few
examples
of things which could go wrong when many engineers work on many files;
there
are tools which avoid such problems. A structured working procedure using
such
tools is called configuration management.
It is obvious that similar things might happen to hardware development,
where a product consists of many components. And in fact, similar tools are
used increasingly by hardware engineers, although product life-cycle
management is a more frequent term in electrical and mechanical
engineering.
Reliability block diagrams address a similar problem as FTA does, but the
crucial value is the reliability R (t) here, which has already been introduced in
the beginning of this chapter.
An example is a transistor power stage. Possibly we want to avoid that a
failure to switch on has an effect on the application, and we decide to use a
parallel circuit of two MOSFETs as T1 and T2 in Figure 3.7 (a parallel
circuit of
bipolar transistors would be thermally unstable and must be avoided). One
out of
the two transistors must work to perform the required function, this case is
called
a 1-out-of-2 redundancy. If Ri is the reliability of the requested function of
transistor i, the total reliability is R12 = R1 +R2 −R1R2 [17]. Now let us
imagine
that both MOSFETs have a common driver circuit at their gates. The circuit
fails
if the transistor combination fails or if the driver circuit fails, in other terms
both
functions, that of the driver circuit and that of the transistors, are required. In
this
case, the total reliability is the product of partial reliabilities. If R3 is the
reliability of the driver, then the total reliability R123 =R12R3 which is
equivalent
to R123 =R1R3 +R2R3 −R1R2R3 .
Sometimes, transistors are paralleled to double power. In this case, we need
both transistors for the required function (maybe, there is a still useful
reduced
function with one remaining transistor, then this reduced function is formally
adifferent function and must be specified with its own reliability). If we truly
need
both transistors, the reliability of exactly the same circuit is a different one,
i.e.R123 =R1R2R3 . We get the same expression if we do not consider the
reliability of the function ‘closing’, but of the function ‘opening’. Figure 3.7
shows clearly that the reliability block diagram strongly depends on function.
In
case of an electronic circuit, it does not necessarily represent its physical
structure, e.g. the parallel connection of both transistors in this example.
UNIT-3 [fundamentals of functions safety and EMS
absent driver is to set the controllability to its worst value for all items where
an
interaction is required. This will lead to a completely new hazard pattern of
well
established sub-systems and so to changes of system architecture in places
where
no problem is expected intuitively.
It is more difficult to tackle the ethical problem. The functional safety
community has no ready answer yet, how ethics can be integrated to safety
concepts. An easier ethical problem is the question if a rule should be
violated to
avoid an accident, e.g. if a continuous line should be crossed to prevent a
probable collision. Nearly every human driver would do so. The different
severity levels in hazard analyses might be a good starting point to find a
solution here. If a casualty cannot be avoided, it is much more difficult to
decide
who should be killed preferably.
Autonomous driving will lead into many unforeseeable situations.
Thisinfinite space of situation must be restricted. Anxious people strictly
avoid
situations in which they cannot estimate consequences of their doing. So it
could
be a strategy to put the system into a safe state if a situation cannot be
mastered
in a different way, although it might be quite troublesome if an autonomous
car
often pushes to the curb and stops.
For deep-learning behaviour, limits are necessary. If the system strictly stays
within these limits, it is testable. One must be aware that even relatively
simple
systems today are no more completely testable.
On the way to get experienced with autonomous driving, the only chance
seems to be not to implement technology faster in series than it can be
understood from the risk side.
3.4.2 Development assessments
One key thought of quality management is that good development processes
yield good products, although there is no proof of this assumption.
Experience
shows that sometimes even good processes yield inferior products and good
products have been sometimes developed in an incredibly chaotic way. But it
is
UNIT-3 [fundamentals of functions safety and EMS
SPICE has been standardised by the ISO [96–98]. It shares some basic ideas
with CMM(I), uses a completely different vocabulary, but there are also
many
true differences in details. One principal difference is that SPICE does not
assign
one level to the whole development process, but individual levels to different
process areas. A special adaptation of SPICE beyond the standard is
automotive
SPICE [67].
Table 3.1 shows as an example a small excerpt of a HARA for the power
train. In practice, the HARA can be split into more than one table. A very
obvious difference to an FMEA is that all not dangerous malfunctions get
severity 0 and so they are any QM issues and not hazards. In an FMEA also,
malfunctions which are not dangerous can reach a high score if their
probability
The example shows that in some cases (in practice in most of cases), reasons
of
an event are OR-linked, so e.g. the input voltage 2 reaches its maximum when
ground is interrupted (in this case, the potentiometer in the pedal remains
connected to the positive supply with its positive terminal and to the input with
its slider) or if the input has a direct short circuit to the supply voltage. In other
cases, events are AND-linked, so it is not directly dangerous if one return
spring
is broken, but acceleration goes on if both springs are broken. This second case
is known as redundancy.
The probabilities of OR-linked events add if they are mutually exclusive, the
probability of AND-linked events multiplies if they are independent. Most of
the
OR-linked events are not mutually exclusive but can occur at the same time.
Then, both probabilities overlap and the intersection set must be counted only
one time and not two times for each contributing event. So if p(E1 ) is the
probability of event 1, p(E2 ) the probability of event 2 and p(E1
E2 ) the
probability of common occurrence, then
In case of more than two events, the sieve formula [35, in Portuguese] (also
assigned to Poincaré and Sylvester) applies, e.g. for three events E1 , E2 and E3
: