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