“Software patterns and UML enable potentially lower software costs in many systems (xiii)”
Real-time systems span the entire range of complexity and costs
first case: hardware costs so much more than software costs, like software in laser gyroscope
second case: software is so large and complex that it dwarfs hardware costs, like military or commercial aircraft
“Historically, developers of real-time software have lagged behind many other developers in using the most contemporary software engineering methodologies. There are several reasons for this.”
“One is that some real-time software is so simple that the most elementary methodologies are needed”
“A more common reason is that many real-time systems with non-trivial software suffer from hardware capacity constraints (due to size, weight, power, and so on). Software structured for purposes such as re-usability, modularity, or flexibility does tend to consume additional time or space resources”
“Yet another reason is that real-time software practitioners are frequently application experts who are not always educated enough in modern software engineering to understand and employ it properly (xiv)”
Knowing patterns + UML allows us to build larger scale projects, more dynamic and complex, and more distributed real-time computing systems