Skip to content

Latest commit

 

History

History
1 lines (1 loc) · 1.21 KB

README.md

File metadata and controls

1 lines (1 loc) · 1.21 KB

A popular approach for developing embedded systems applications is event-driven programming. Most embedded systems employ an event model and inter-process communication protocol in one form or another. In many such systems, the overhead of using an operating system which provides a framework for event-driven programming is unacceptable, in others, it is simply overkill. As a result, a lot of embedded applications use multiple run-to-completion processes implemented as functions being continuously called in a super loop of sorts. Most such implementations require developers to come up with a basic event-based inter-process communication scheme. Quite often such implementations, due to a lack of a well-defined protocol or framework end up producing spaghetti code with a plethora of globally accessible variables and each process using a different communication scheme. AEDEA is presented as an alternative to this approach. Even though the basic idea behind it is the same as the afore-mentioned "super loop", it significantly reduces code complexity and development overhead and provides a uniform event-based inter-process communication scheme for all processes. It also includes a delta queue implementation of software timers.