AimOS contains threading and buffer mangement functionalities. During a previous internship a message queue monitoring tool was developed. The AimOS source code was instrumental to report the number of messages and time at which they enter and leave the task’s message queue to an external program MMON for analysis. The data is relevent for analyzing the dynamic behavior of the system, so that the priorities of the task can be optimally tuned.
Besides this message queue fill rate, buffer usage is key for an embedded system with limited resources. You can imagine that when message queues fill, also the buffer usage increases and that insight in the resource usage is important.
The assignment is to add a buffer usage to the information that is sent to the external MMON program. This requires some analysis of the AimOS buffer management system, instrumenting the AimOS code and receiving and storing the data in the external program data base and last but not least present the data to the user for analysis
The student needs to determine the right data and the right amount of information to send to the external program without impacting the timing of the embedded system. Best would be that the message in the task’s queue can be linked to the buffer administration in a time and buffer pool.
– Buffer management system – Instrumenting the code efficiently – Storing the data efficiently in the database – Presenting the data