Description
One of the most active areas in the research and practice of object-oriented systems development is in the identification and reification of design patterns. A design pattern is a generalized solution to a commonly-recurring problem. Although a number of books, as well as active newsgroups and websites, are available on the topic, little information is available for design patterns specific to the real-time embedded systems world. Real-time systems benefit as much as standard desktop systems, but many of the patterns are subtly different in their application. This class characterizes, describes, and provides examples for 3 kinds of design patterns: architectural, mechanistic, and state-behavior. Architectural design patterns, which have widespread system ramifications affect most or all of the system at once. Mechanistic design patterns are limited in scope to a collaboration of objects working together to realize a single use case. State behavior design patterns identify generalized means for constructing state machines to achieve common behavioral needs. Many different patterns are presented along with the requirements for their effective application