PERIODIC MAINTENANCE
SCHEDULING PROBLEM (PMSP)
Instance: A set C of ordered pairs {(n
1
, c
1
) … (n
n
, c
n
)}, with each c
i
representing a maintenance activity
having an integer period n
i
, positive integer k > 1.
Question: Is there a mapping of the activities in C to
positive integer time slots such that successive
occurrences of each c
i
are exactly n
i
time slots apart,
and no more than k activities ever collide in a single
slot?
Theorem 2: TS is Σ
2
p
- Complete.
Proof: Transformation from PMSP.
Let C = < ((c
1
, n
1)
… (c
n
, n
n
), k > denote an arbitrary
instance of PMSP. From this a set N of n tasks to be
scheduled by TS are created according to (5), with a
value of t
tick
equal to k:
1=
=
i
tickii
c
tnp
(5)
Again this transformation can be performed in
polynomial time. Next, it is argued that a solution to
C exists iff N can be scheduled by TS. If the answer
to this instance of TS is ‘Yes’, this implies that
release times can be assigned to each task in N such
that a task overrun does not occur, which from the
transformation given implies that a maintenance
schedule for C - in which no more than k activities
occur simultaneously - also exists with a certificate
(r
1
… r
n
). Conversely, if the answer to TS is ‘No’,
then a schedule in which a task overrun does not
occur does not exist for any combination of task
release times, implying that a maintenance schedule
for C - in which no more than k activities occur
simultaneously - does not exist. Since PMSP is Σ
2
p
-
Complete, the Theorem is proved.
4 CONCLUSIONS
This paper has considered the complexity of
generating a feasible cyclic schedule for the non-
preemptive ‘thrift’ cyclic scheduler. It has been
shown that an efficient - but also very pessimistic -
sufficient feasibility condition exists. However, an
exact solution to the problem requires the
assignment of specific release times to the tasks; the
complexity of this problem has been shown to be
NP
NP
-Complete, with the verification of a candidate
solution being strongly coNP-Complete.
These results imply that heuristic techniques that
may be used to solve the TS problem - such as the
algorithm proposed by Gendy & Pont (2008) – must
be strongly coNP-Hard if they provide any
confirmation that the resulting schedule is indeed
feasible. In conclusion, although the thrift cyclic
scheduler possesses many desirable qualities,
extreme computational difficulties may occur when
designing a schedule. In such cases, then the non-
preemptive EDF scheduling algorithm (shown to be
optimal among the non-idling non-preemptive
scheduling strategies by Jeffey et al. 1991) may be
beneficial.
REFERENCES
Baker, T.P. and Shaw, A., 1989. The cyclic executive
model and Ada, Real-Time Systems, Vol. 1, No. 1, pp.
7-25.
Baruah, S.K., Rosier, L.E. and Howell, R.R., 1990.
Algorithms and Complexity concerning the
preemptive scheduling of periodic tasks on one
processor, Real-Time Systems, Vol. 2, No. 4, pp. 301-
324.
Burns, A., Hayes, N. and Richardson, M.F., 1995.
“Generating Feasible Cyclic Schedules”, Control
Engineering Practice, Vol. 3, No. 2, pp. 151-162.
Garey, M.R. and Johnson, D.S., 1979. Computers and
Intractability: A guide to the Theory of NP-
Completeness, W.H. Freeman & Co Ltd, April 1979.
Gendy, A.K. and Pont, M.J., 2008. Automatically
configuring time-triggered schedulers for use with
resource-constrained, single-processor embedded
systems, IEEE Trans. on Industrial Informatics, Vol.
4, No. 1, pp. 37-45.
Jeffay, K., Stanat, D.F. and Martel, C.U., 1991. On non-
preemptive scheduling of periodic and sporadic tasks,
In Proceedings of the 12th IEEE Symposium on Real-
Time Systems, pp. 129-139.
Pont, M.J., 2001. Patterns For Time Triggered Embedded
Systems, ACM Press / Addison Wesley.
Short, M., Pont, M.J. and Fang, J., 2008. Exploring the
impact of preemption on dependability in time-
triggered embedded systems: A pilot study, In:
Proceedings of the 20th Euromicro conference on real-
time systems (ECRTS 2008), Prague, Czech
Republic., pp. 83-91, 2-4 July 2008.
ICINCO 2009 - 6th International Conference on Informatics in Control, Automation and Robotics
350