Eclipse Eclipse eXtensible State Machine
Eclipse eXtensible State Machine (XSM) provides a middleware to implement state machines. It allows to alter an existing state machine without altering the existing code. As a middleware it does not provide a service to a user directly but helps developers to focus on business logic.
An example:
Imagine a simple LIN node. The standard behaviour might be, that if it cannot serve due to internal issues it signals no service to the gateway. A carmaker explicitly requires the LIN node to signal operating the first 2s after powering on. With Eclipse eXtensible State Machine you can add this custom behaviour without touching the existing code.