Technology Class sampler: Real-Time Architectures: Past, Present, and Future
Among scores of classes presented at ESC Boston was a two-part session on ''Real-Time Architectures: Past, Present, and Future'' by Dr. C. Douglass Locke, VP of Technology at TimeSys Corp. (Pittsburgh, PA).
Among scores of classes presented at ESC Boston was a two-part session on ''Real-Time Architectures: Past, Present, and Future'' by Dr. C. Douglass Locke, VP of Technology at TimeSys Corp . (Pittsburgh, PA).
Only four fundamental real-time architectural styles have been used in more than 40 years of experience with response-time critical embedded systems, explains Locke:
Timeline (aka cyclic executive)—is conceptually simple, but quite a costly architecture to integrate over a product lifecycle. Positive characteristic include low overhead and no need to use concurrency or synchronization. Yet, the need for every frame (or non-recurring minor cycle) to have spare capacity is a disadvantage.
Event-driven—has periodic and aperiodic activities and is triggered by low-end events. Advantages include capacity to spread space across all threads, making it a good fit for a real-time operating system (RTOS). One downside is difficulty to define thread priorities if overloads occur. Priority inversion must be controlled.
Pipeline—uses interprocess messages in addition to I/O completion and timer(s) to trigger tasks. Good for distributed systems, highly scalable for complex applications, and compatible with a full-featured RTOS are among its advantages. However it is difficult to analyze a time-line approach for predictable response. It also can result in non-preemptive delays. A bidirectional pipeline is particularly unpredictable.
Client-server—is a form of the pipeline, usually implemented via some parallel processing. It’s easier to debug and application design is familiar to many developers. Disadvantages are similar to that of the pipeline, but concurrency can be much more limited.
The bottom line is that none of the approaches is problem-free. Since architecture must typically be chosen early in the embedded system's lifecycle, the decision has major impact on performance, safety, fault tolerance, and lifecycle cost, Locke concludes.
—Frank J. Bartos, executive editor, Control Engineering, firstname.lastname@example.org