====== BSc ====== Student: Not assigned yet\\ Owner: Cristiano Giuffrida \\ SVN branch name: N/A\\ ===== Abstract ===== A multiserver operating system is broken down into several independent components. In a pure event-driven model, every component is completely designed as a state machine. At any given time, a component is fully described by its internal state, i.e. the amount of data maintained in its address space. Every event brings the component into a new valid state. This project is to design and implement a language-based framework to describe and manage the state of a given component. An event-driven API shall then be designed to expose a state management interface to upper levels. A component shall be able to register a handler to react to particular state change events. This can greatly aid debugging and the implementation of advanced functionalities that better fit a fully asynchronous event-driven model.