Turning clockwise

Bran Selić · Communications of the ACM · 1999

We must not be misled, however, into thinking that achieving timeliness is the sole source of complexity in real-time software.All real-time systems ultimately involve interaction with the physical world.This world, as the apocryphal Murphy suggests, can seem to conspire against us: events will often occur at the wrong time or in the wrong order.The ultimate and inevitable source of complexity in real-time software, therefore, is the physical world itself.The sad fact is that no matter how hard we try and no matter which technology we use this fundamental complexity cannot be eliminated.Compounding this is our persistent demand for ever-greater functionality.This is fueled in part by competitive business pressures but also by the natural human propensity for increasingly sophisticated machinery.In telephony, for example, there are close to 500 different types of "features" defined.These are specialized services, such as call forwarding, voice mail, or mobile phone roaming, that we now take for granted.Unfortunately, many of these features were defined independently of each other and are often mutually incompatible.In spite of that, we expect the software inside a communication system to provide all of these various features and somehow to resolve the inconsistencies between them.

Read the paper · More papers on PaperTik