Parallel and Event Driven Programming in Embedded Systems