Worst Case Execution Time Analysis
For embedded systems with hard real time constraints it is crucial to be able to guarantee upper bounds of execution times. The eTrice project provides an implementation of the ROOM (Real time Object Oriented Modeling) language which is an event-driven system where the typical scenario is one where an interrupt creates an event which is handled by a state machine. This can further create more events which are processed by other state machines and so on. The main aim of this project is to develop an abstract execution engine which computes the longest execution time for a given initial event i.e. the time from the first event to the time the system is idle again.
The kind of system we are focusing on is event driven system. State machines (the behaviour of the so called Actors) communicate with each other through the Actor's Ports asynchronously (by message passing). In a simplified setting we consider one thread only. This thread has one event queue. If a new event is put into the queue the thread will wake up and deliver it to its destination which is a Port which in turn will hand it over to its Actor. The actor will handle the event and might in turn send one or more new events. After this Actor is finished the event queue will dispatch all new events one by one until no new event is found and then the thread is put to sleep again. This project aims to compute the maximum time needed by the system from the occurrence of the first event until the thread is idle again.
Note: The project is under construction and the page will be updated as and when the project progresses forward
The algorithm used to compute the execution time.
Test Cases and Results
User feedback System
Click Here to view the project proposal
For more info, contact Harjoben Singh