HW22: Chapter 21

21.4. Explain why an object-oriented approach to software development may not be suitable for real-time systems.

For an object-oriented approach to software development, top-down design processes are typically used. This means creating a high-level model and decomposing down. This development model is not ideal for real-time system design due to several factors. First, real-time systems typically have different constraints that have a greater impact on system performance. Physical limitations for an embedded system may affect power, space, size, weight, etc., which in turn has an impact on the processing power available, memory size, etc. While these constraints may exist in other non-real time systems, the limitations are more extreme in real-time systems. There is also a necessity for direct hardware interaction that object-oriented design hides information about data and accessing the values has a performance cost that is often too high to permit its use in real-time systems.

In terms of development Sommerville identifies 7 common activities that take place during real-time system development. Platform selection, stimuli/response identification, timing analysis, process design, algorithm design, data design, and process scheduling. These activities are focused on creating a very optimized design, take for example timing analysis. With an object oriented design, timing may be a factor, but rarely does timing need to be considered on a m/s level like in many real-time systems.

Finally, the nature of real-time systems means that specialized architectural patterns have been developed to accommodate their design. The architectural designs are still abstract but at the same time have a seemingly more granular view of the processes themselves. The text states that these architectures are "process-oriented rather than object- or component-oriented". This is an important distinction because it once again highlights that the processes themselves are the focus of the design and are nearly as important as the overall goal of the system itself. If the processes fail to function in a very specified manner, it's likely that the system will fail in spectacular fashion.


Comments

Popular posts from this blog

HW10: Chapter 5

HW11: Chapter 6

HW26:Chapter 24