Title: Exercise 1 SRS
1- Exercise 1 SRS
- Due date 26.11.04
- The specification should contain the following
- System overview - submitted today and will be
given back next week. - Use case diagram
- External interfaces (according to SRS document)
- Sequence diagram
2UML Example
3(No Transcript)
4(No Transcript)
5(No Transcript)
6(No Transcript)
7(No Transcript)
8(No Transcript)
9(No Transcript)
10(No Transcript)
11(No Transcript)
12Class Diagram
13Component diagram
14Deployment diagram
15(No Transcript)
16(No Transcript)
17(No Transcript)
18Activity diagram(for Lend Item)
19Lecture 4Schedulability and Tasks
20- Time-Based Systems
- Time based systems are systems whose behavior is
controlled by time. - This can be due to arrival of an absolute time or
the elapse of a time interval. - Absolute time is an independent real world time.
- System/Mission time is the time elapsed from
system startup. It starts when the systems starts
and ends when the system shuts down, it may
hold or stop at different points in the
mission. - (Time) interval is a particular start and end
points, and not a length of the time. Two
identical intervals must have both started and
ended at the same time. - (Time) duration is a relative time measure, it is
a scalar value independent of a start time. - It is possible that two non-identical intervals
have the same duration if they started at
different time. - A periodic event is one that repeats with a
constant duration once it begun.
21- Reactive Systems
- Reactive systems are systems whose behavior
controlled by internal or external events.
Execution of tasks is initiated in response to
these events. - During requirement analysis phase the events are
identified and characterized. - Example
- Respond to a user turning a knob within 20 msec
(aperiodic). - Respond to a heart beat to invoke a ventricular
pacemaker pulse within 10 µsec (aperiodic). - Adjust the ailerons for a banked turn in response
to flight control computer commands sent every 50
µsec (periodic). - Periodically clamp and release brake s while the
wheels of a car are in a skid.
22Timing diagrams
A common way to represent change in state over
time is via a timing diagram. A simplified
version shows binary task states
23Time Concepts
24Timing diagrams more elaborate from
Slanted line transition from one state to
another takes time. Leading Jitter, Trailing
Jitter time to start state transition. Leading
and Trailing Jitters are usually non significant
time period relatively to the whole view.
25Timing diagrams more elaborate from
Inter-arrival Time duration between task
invocations Minimum Inter-arrival Time lower
bound Maximum Burst maximum number of events
that can occur within a period of time.
26- Priority
- Two independent properties of actions are
important in real time system - Urgency is the timeliness constraint of action.
- Importance is the value of computational action
to the system. - Scheduling systems do not commonly contain these
abstractions. They provide a low level
abstraction called priority. The priority of a
task is used to resolve disputes over which tasks
execute when more than one task is waiting and
ready to execute. - Do not get confused
- Importance of a task is the value of the
completion of the action relative to the overall
system goals. - The tasks priority has to do with which task
wins when more than one is available to run. - High priority is represented by low or high
numerical OS dependent.
27- Example
- Monitoring device.
- There is a high bandwidth waveform data.
- An alarm must be reported within 10 sec.
- Waveform displays with more than 100ms delay
would be unacceptable to user. It is not
critical, but has tight timeliness with a hard
deadline. - Alarm handling is crucial for the system, but the
user would not even notice half second delay in
alarms. It is critical, but has broad timeliness
with a soft deadline. - Therefore, alarm handling will have lower
priority to ensure that high bandwidth waveform
data usually wins and its display is smooth. - Task with hard deadline has higher priority than
a task with a soft deadline.
28Schedulability Timeliness of an action has to do
with the action meeting its time constraints. The
basic concept of timeliness in real-time systems
is that action must begin in response to event
arrival or due time arrival, and it must complete
within a certain time after it begun. Schedulable
task task that can be determined to always meet
its timeliness constraints. Deterministically
schedulable task as a special case, always
guaranteed to meet all its deadlines. Events
worse-case response time is less than tasks
deadline.
29- Schedulability
- Scheduling analysis of hard real-time system is
more straightforward, deterministic and
predictable. - Scheduling analysis of soft real-time system is
more complicated, not always deterministic and
not always predictable. - Considering all deadlines to be hard is an
approximation making the analysis easier but too
strict. Assuming worst-case execution time,
analysis may derive a conclusion that the system
is not schedulable. But a soft-real system may
still meet all its mission requirements.
30(No Transcript)
31Latency and Interrupt latency
32Latency and Interrupt latency
33Latency and Interrupt latency
34Latency and Interrupt latency
35Latency and Interrupt latency
36Thread Quantum
37Thread Quantum
38Timer Granularity
39Utility Function u(t) Measures utilityusefullness
value of action as a function of time. In Hard
real-time systems 1 valuable 0 not valuable
(completed after hard deadline) -1
counterproductive (completed after hard deadline)
40Utility Function u(t) hard real-time systems
41Utility Function u(t)
42Utility Function u(t)
43Utility Function u(t)
44Utility Function u(t)
45Utility Function u(t)
Early completion
46Utility Function u(t)
Early completion
47- Progressive Utility Function u(t,w)
- Measures not the action completion, but the
action progress in time. - t time
- w percentage completion of the action
- Many actions increase in value as work
progresses, these actions may still have a value
even if not performed to the completion. - For example it is very important that an action
performs on time 75 percent of the way, but the
actual completion may be deferred until later.
48Progressive Utility Function u(t,w)
49Progressive Utility Function u(t,w)
50Progressive Utility Function u(t,w)
51Scheduling Determination of the policies that
decide which tasks execute when multiple tasks
are available. Is always a design concern!
52Scheduling terms Preemptive operating system
may swap out tasks, Non-preemptive the task
must voluntarily to give up control. A task is
blocked when it is ready to run but cannot
because a lower-priority task owns a required
resource. Blocking is unavoidable in preemptive
scheduling in which resources are shared among
tasks. However, the blocking must be bounded so
that worst case blocking may be
computed. Unbounded priority inversion high
priority tasks may be blocked from execution by
an indefinite set of other tasks.
53Unbounded priority inversion example
54- Unbounded priority inversion example
- Task A has the highest priority
- Every task by itself can be scheduled
- Even if task C locks the resource, task A will
still meet its deadlines. - So will task A always meet its deadline?
55Unbounded priority inversion example
56Scheduling algorithms
57(No Transcript)
58(No Transcript)
59(No Transcript)
60(No Transcript)
61(No Transcript)
62(No Transcript)
63(No Transcript)
64than fixed-priority case.
(?????)
65Because LL algorithm (and ED )assume that all the
deadlines are hard.
66(No Transcript)
67(No Transcript)
68(No Transcript)
69(No Transcript)
70(No Transcript)
71- Minimizing Maximum Lateness Scheduling
- Sometimes one task cannot start until another
completes. - In addition, the completion of each action j is
associated with a cost function hj. - An optimal scheduling minimizing cost can be
constructed using the following off-line static
algorithm
72Minimizing Maximum Lateness Scheduling J ordered
set of tasks already scheduled Jc set of task
still to be scheduled(complement of J) J set of
task that can be scheduled immediately before J(J
cant start before J completes) 1. J empty, Jc
all the tasks, Jall tasks with no
successors 2. Select j from Jc with minimum hj
that has no predecessor in Jc (so j must be in
J) 3. Add j to J and remove from Jc 4. Adjust
J 5. If Jc is empty stop, otherwise go to step 2