Computers, such as microprocessors, are more and more often embedded in
products that the user does not perceive as computers. This is the case for both
consumer electronics (your CD player, mobile phone, etc.), home supplies (your
micro-wave oven, washing machine, etc.), vehicles (the engine control in your car,
airplane fly-by-wire control, etc.), building automation (elevator control, temperature control, etc.), as well as for industrial equipment. We want these things
to be affordable, and we want to be able to trust their operation, in particular
when our life depends on them. Additionally, in some cases, we want to be able
to reconfigure, upgrade, or even program them, possibly by downloading software
components from a trusted supplier via the Internet.