Object design patterns
Half Call Design Pattern
Half Call Design Pattern is covered here. This pattern is applicable in scenarios where protocol interworking has to be supported.
Message Factory and Message Interface Design Pattern
Message Interface Design Pattern decouples the software from its external interfaces and supports backward compatibility.
State Design Patterns
Hierarchical State Machine
Hierarchical State Machine design is introduced and compared with conventional state design.
State Machine Inheritance
This article discusses several ways in which new state machines can be defined by inheriting from existing state machines.
Collector State Pattern
This state pattern is used when the recipient has to collect similar messages before it can initiate action.
Hardware Design Patterns
Serial Port Design Pattern
This design pattern is described in terms of a class that completely encapsulates the interface with a serial port device.
High Speed Serial Port Design Pattern
We consider the design of a DMA based high speed serial interface. The classes involved in this pattern interact with the device to setup buffers for DMA operations.
Protocol Design Patterns
Transmit Protocol Handler Design Pattern
Sliding window transmit protocol design pattern is described here.
Receive Protocol Handler Design Pattern
Sliding window receive protocol design pattern is described here.
Protocol Packet Design Pattern
Simplify buffer management in protocol stacks by supporting a single buffer that allows addition and extraction of different protocol layers.
Protocol Layer Design Pattern
Provide a common framework for implementing different layers of a protocol stack.
Architecture Design Patterns
Processor Architecture Patterns
Typical processor patterns found in embedded and distributed systems are covered here.
Feature Coordination Patterns
This article covers different design patterns for feature coordination.
Resource Allocation Patterns
Resource allocation is a very important part of Embedded system design. Here we discuss important Resource allocation patterns.