Towards systematic testing of distributed real-time systems
read more
Citations
Annual Report for 1999
Monitoring, Testing and Debugging of Distributed Real-Time Systems
Using deterministic replay for debugging of distributed real-time systems
Towards a Systematic Test for Embedded Automotive Communication Systems
Debugging Parallel Systems: A State of the Art Report
References
Time, clocks, and the ordering of events in a distributed system
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Scheduling algorithms for multiprogramming in a hard real-time environment
Related Papers (5)
Frequently Asked Questions (23)
Q2. What are the future works in "Towards systematic testing of distributed real-time systems" ?
Future pursuits include to experimentally validate the usefulness of the presented results, extend the testing methodology, devise testability increasing design rules for DRTS, employ the technique for exact calculations of response-times in fixed priority scheduled systems, and to investigate the benefits of using the testability measure as a new heuristics in the generation of highly testable static schedules.
Q3. What is the main approach for reproducing the execution order and timing of the tasks in a?
For reproducing the execution order and timing of the tasks in a distributed real-time system the two main approaches are: • Deterministic replay.
Q4. How does reproducibility increase the effectiveness of testing?
Reproducibility increases the effectiveness of testing by eliminating redundant test cases, and by making it easier to achieve the desired level of coverage.
Q5. What is the effect of intrusively observing a system?
In a system with race conditions, which naturally occur in many real-time systems, the act of intrusively observing the system will always change the odds for the outcome of the race, because the probes will add to the execution times of the racing tasks.
Q6. What is the main problem of the probe-effect in distributed realtime systems?
For a distributed realtime system the authors must allocate resources for the probes, including execution time, memory, communication bus bandwidth and account for the probes when scheduling [Thane1999].
Q7. What can be done to achieve reproducible testing?
If the authors also have the possibility to control the parameters: input, output, time and synchronization, not only observe them, the authors can enforce specific execution scenarios thereby achieving reproducible testing.
Q8. How can the authors control the execution times in other use-cases?
Control over the execution times in other use-cases can easily be achieved by incorporating delays in the jobs, or running dummies, as long as they stay within each job’s execution time range [BCET, WCET].
Q9. What is the only way to guarantee a shared memory system?
The only possibility to guarantee (1) in a shared memory system is to use a hardware memory protection scheme, or to by design eliminate shared resources.
Q10. What is the way to eliminate the probe-effect due to monitoring?
The probe-effect due to monitoring is eliminated by modifying system service calls to incorporate monitoring mechanisms, and by letting these be present also in the final system.
Q11. What are the future pursuits of the authors?
Future pursuits include to experimentally validate the usefulness of the presented results, extend the testing methodology, devise testability increasing design rules for DRTS, employ the technique for exact calculations of response-times in fixed priority scheduled systems, and to investigate the benefits of using the testability measure as a new heuristics in the generation of highly testable static schedules.
Q12. What is the main benefit of the execution order analysis?
A positive side effect of the execution order analysis is that the authors get exact response-times for the jobs, even when interrupts afflict the system.
Q13. How many releases will be made for a task with periods less than 6 LCM(T?
For tasks with periods less than6 LCM(T), multiple releases will be made in the interval [0, Jmax], e.g., for a task i with 2Ti= LCM(T) there will be two corresponding jobs in their task model, released at ri and ri+Ti.
Q14. What is the effect of reducing the execution time jitter?
An interesting conclusion that can be drawn from these types of jitter, and their effect on the execution order graph, is that:1. Minimizing the execution time jitter minimizes the preemption and release intervals, with the positive effect of reducing the preemption “hit” window, and thus reducing the number of execution order scenarios.
Q15. What is the effect of a parallel composition of the individual EOGs?
In the case of perfectly synchronized clocks this essentially amounts to perform a parallel composition of the individual EOGs, using standard techniques for composing timed transition systems [Sifakis1996].
Q16. what is the execution order graph for a set of jobs?
The execution order graph for a set of jobs J is generated by a call Eog(ROOT, {}, 0, 0, [0, JMAX]), i.e., with a root node, an empty ready set, and the release-times a and b set to zero, plus the considered interval SI.// n- previous node, rdy- set of ready jobs, a to b – release interval, SI – the considered interval.
Q17. What is the objective measure of system testability?
The number of execution orderings is an objective measure of system testability, and can thus be used as a metric for comparing different designs, and schedules.
Q18. What is the purpose of the static periodic scheduling?
To see how static periodic scheduling can be mapped to their task model consider a static schedule for a set of periodic tasks T, where each task Ti∈T has the following attributes and relations to other tasks: • Period (Ti), release time (ri; start time relative period start), deadline (Di; latest completion time relative ri), worst case execution time (WCETi), best case execution time (BCETi), and priority (pi; each priority is unique).
Q19. What is the requirement for integration testing of distributed real-time systems?
In order to perform integration testing of distributed real-times systems the following is required:• A feasible global schedule, including probes.•
Q20. What is the definition of a sequence of subroutine calls?
Each identified execution order constitutes a scenario, which can be regarded as a single sequence of subroutine calls, where each continuous execution of a task corresponds to a subroutine, and thus a scenario could be viewed as a sequential program.
Q21. What is the definition of a testable execution order?
To facilitate reproducible testing the authors must identify which execution orderings, or parts of execution orderings that can be enforced without introducing any probe effect.
Q22. What are the main problems that need to be solved to make systematic testing of distributed realtime systems?
There are thus three main problems that need to be solved to make systematic testing of distributed realtime systems possible: (1) reproducing the inputs with respect to contents, order, and timing, (2) reproducing the order and timing of the execution of the parallel programs as well as their communication with each other and the environment, and (3) eliminating the probe-effect.
Q23. How many times can an interrupt be preempted?
The maximum value of w is defined by (4-3) and is based on the assumption that all the interrupts are ready for preemption exactly at the beginning of the interval – this maximizes the number of times the interrupts can preempt the interval.w = WCETA + k interruptsk WCET⋅ ∑ ∈ mink Tw (4-3)This equation can be solved using the standard RTA iteration technique [Joseph1986,Audsley1995].