Real Time Systems: Notes

Real Time Concepts and Terms

 

Topics


WARNING:

The meanings of many of the terms used in publications about real-time systems varies widely from author to author.

Whenever you start a conversation or read a new book or paper, you will have to check on the local terminology, or risk misunderstanding.


Examples of problem terms

job, task, process, activity, action, procedure, event, time, deadline, latency, slack time, execution time, aperiodic, sporadic, jitter, priority

In this course, we will try to use terminology consistent with that of Jane Liu's book on real-time systems.


Jobs and Processors


Release Times, Deadlines, Timing Constraints


Example - Furnace Controller


Hard and Soft Timing Constraints

Liu: How serious is serious?

Baker: A deadline is hard if we are unhappy enough about the possibility that it might be missed to pay the cost of prevention.


Attempts to Quantify Hard/Soft Notion

This is nice for academic work, but has no demonstrated relation to anything in practice.


Validation of Constraint Satisfaction


How hard is a constraint?

Too-early completion may be as bad as too-late.

Good desigers may find ways to soften timing constraints, but burden of proving safety is on the designer.


Examples of Hard Timing Constraints

Deterministic timing constraints are the norm.


Soft Real-Time Systems


Points vs.Lengths of Time

  • point in time = "time", "instant", "point", "absolute time"
  • length of time = "time", "duration", "distance", "span", "interval" (a misuse)

  • Are times integers, or a real numbers?


    Open vs.Closed Intervals


    Events vs.Conditions


    State
    values of all variables in system, viewed as aggregate
    Condition
    predicate, whose value depends on some attributes of state
    Event
    particular change in state; may imply change in some conditions
    (e.g., voltage on input wire goes from 0v to 5v)

    At What Time does an Event Occur?

    It is not realistic to speak of the time at which an event occurs, as a point on a real-number time line, since changes of state take time. The best we can do is to specify bounds of a time interval in which an event is known to occur.


    Detecting Events

    The precision with which we can bound the time interval of an event is limited by our time measurement tools, and sometimes by how frequently we are willing to ``poll'' for the event.


    Polling Interval

    There is a maximum polling interval
    beyond which we may miss an event.


    Polling Interval Assumptions

    Polling requires making some assumption
    about the minimum separation of events.


    Kinds of Events


    Clock-Based Events

    These are the only kind we can predict reliably.


    Computation-Based Events

    For these, we may be able to predict the earliest point, but not always the latest point.


    Computational Timing Uncertanties

    These are just examples.


    Input Events

    These are generally not predictable,
    except where the hardware providing the input is clocked.


    Output Events

    These are generally not directly observable.


    Detectable Events

    This means that if an external input or clock event does not cause an interrupt, we must poll for it, repeatedly.


    Intervals Related to Events


    Critical Numbers Related to Events


    Clock Value vs.Time


    Fine-Grained Clock & Polling


    Clock-Driven Polling


    Limiting Effect of Clock Granularity


    Limiting Effect of Time Representaton

    Discrete time representation may add additional uncertainty.

    © 1998, 2003 T. P. Baker. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without written permission.
    $Id: time.html,v 1.4 2008/08/25 11:18:48 baker Exp baker $