Real-Time Systems Development

Object-oriented Design and Programming (OOD/P) extends the principles of information hiding, as already offered by abstract data types. There is a close association between the functions and the data on which they operate. The separation of data from code was an essential part of structured methods, but with OOD/P, the methods are grouped with their data to form objects. Also, similar objects are identified as sharing the same type or class. The concept of a task is not commonly employed by OO developers, who often work at a more abstract level, ignoring the implementation constraints which will rear up when the time for implementation arrives. Design patterns are a valuable tool for software developers because they offer proven solutions to common problems.
This chapter is not intended as a comprehensive introduction to object-oriented design and programming methods, as there are many excellent texts to which the reader can turn for guidance. Here we are limiting the discussion to the application of such ideas to the design and implementation of real-time systems.
Object-oriented Design (OOD) and Object-oriented Programming (OOP) are now well-established techniques. Their commercial popularity stems partly from the success with which they can be applied to GUI development for Windows applications, although the theoretical heritage goes back further to Smalltalk, Simula and before. Perhaps unsurprisingly, language development always seems to precede the development of appropriate design tools. Currently C++, Java and C# are the major languages of choice for...