/**
* @author Frank Zeyda
*/
package hijac.cdx;
import static javax.safetycritical.annotate.Level.SUPPORT;
import javax.realtime.PriorityParameters;
import javax.safetycritical.MissionSequencer;
import javax.safetycritical.PriorityScheduler;
import javax.safetycritical.StorageParameters;
import javax.safetycritical.annotate.SCJAllowed;
import hijac.cdx.CDxMission;
/**
* The mission sequencer of the parallel CDx application.
*
* It returns an instance of CDxMission. We note that in a real system this
* mission does not terminate.
*/
public class CDxMissionSequencer extends MissionSequencer<CDxMission> {
public boolean mission_done;
public CDxMissionSequencer() {
super(new PriorityParameters(PriorityScheduler.instance()
.getNormPriority()), new StorageParameters(2048, null, 0, 0));
mission_done = false;
}
@Override
@SCJAllowed(SUPPORT)
public CDxMission getNextMission() {
if (!mission_done) {
mission_done = true;
return new CDxMission();
} else {
return null;
}
}
}