A specialized computer system that is part of a larger system or machine. Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM. Some embedded systems include an operating system, but many are so specialized that the entire logic can be implemented as a single program.
Embedded System Testing Wei-Tek Tsai Department of Computer Science and Engineering Arizona State University Tempe, AZ 85287
Real time system operation: the correctness of a computation depends, in part, on the time at which it is delivered
Reactive computation: the software executes in response to external events
Challenge: Worst case design analyses without undue pessimism in the face of hardware with statistical performance characteristics ( e.g., cache memory [ Philip Koopman, " Perils of the PC Cache ", Embedded Systems Programming, May 1993, 6 (5) 26-34 ]).
Today’s embedded system designers face the difficult task of integrating and verifying application-specific software and hardware with intellectual property (IP) such as protocol stacks and commercial real-time operating systems (RTOSs). When the system design includes developing application-specific integrated circuits (ASICS), engineers often postpone the integration and verification task until a hardware prototype is available. Waiting until this stage to debug adds unnecessary costs and delays. However, new methodologies allow integration teams to verify their embedded systems applications while meeting design and time-to-market goals.
Unified Design Environment: it is emphasized that hardware design and software design use the same integrated infrastructure, resulting in an improvement of overall system performance, reliability, and cost effectiveness.
If a unit is actually faulty, many fault triggers will be generated for that unit. The main objective of fault isolation is to correlate the fault triggers and identify the faulty unit. If fault triggers are fuzzy in nature, the isolation procedure involves interrogating the health of several units. For example, if protocol fault is the only fault reported, all the units in the path from source to destination are probed for health
Real time: A real-time system provides specified system services with known timing and latency characteristics, so that applications can be designed and developed that meet perscribed timing constraints
Hard real time: In a hard real-time system, the timing constraints have an upper worst-case value, which if exceeded, cause the application to fundamentally fail
Soft real time:In a soft real-time system, the timing constraints do not have an upper worst-case value, but meet an acceptable statistical distribution of timings. In this case, occasional longer latencies either do not really cause failures, or the failure rates are acceptable