Key Concept:

Reactive Systems

The main common characteristic of Real-Time Embedded (RTE) systems is that they constantly interact with the external world. Such systems, termed reactive, do not transform inputs into outputs, but rather are supposed to maintain a certain ongoing “relationship” with their environment. This poses unique challenges involving concurrency and managing context of multiple interleaved interactions in real-time.

share on: 
Share on reddit
Share on linkedin
Share on twitter

Nature of Embedded Software

Almost all computer systems in general, and embedded systems in particular, are driven by events. This means that the software inside such systems continuously waits for the occurrence of some external or internal event, for example: a time tick, an arrival of a data packet, a button press, or a mouse click. After recognizing the event, the software reacts by performing the appropriate computation that may include manipulating the hardware or generating “soft” events that trigger other internal software components. (That’s why systems driven by events are alternatively called reactive systems.) Once the event handling is complete, the software goes back to waiting for the next event.
Recommended video “Beyond the RTOS – Part 1”:

The Main Challenges

  to respond to events by performing the right computations; and
  to respond to events in a timely manner.