Hello,
A couple of friends and I are interested in developing a piece of real- time software, which is supposed to run on the LEGO NXT platform. We've already settled on LEJOS and their Java implementation.
We know LEJOS uses fixed-priority scheduling, and judging from a course on real-time software we're taking, that will suffice.
But where do we start? We've been introduced to several scheduling algorithms, worst-case execution time analysis, response time analysis, temporal scopes etc.
We want to document our work in a scientifically correct way, so we're also looking for examples on how that is done in this field.
Up until now, this is what we've done: - Experimented with the NXT platform, sensors and actuators to determine what we can actually expect from it - Implemented small sample applications for LEJOS in Java using the LEJOS Java API
Our intuition tells us we need to do the following to get moving: - Conceptualize our robot construction (defining tasks, task dependencies etc.) - Incrementially build a formal model of our software: defining temporal scopes, try and assign priorities to the identified tasks and do worst-case execution time and response-time analysis, and while doing this try to identify which tasks should be hard-real time (if any)
Any comments on the above or resources on where to read more on the design process is very welcome.
Kind regards, Anders.