In the search for the optimal schedule
How to more efficiently use a finite number of machines in a factory to manufacture different products was the question that motivated research undertaken within the AMETIST project. A variation on this problem was the allocation of channels in a telecommunications network or of the Central processing unit (CPU) and peripheral devices in a multi-tasking operating system. A schedule would have to be established to resolve conflicts between two or more tasks competing for the same resources. The diversity of similar scheduling problems treated by different scientific and engineering communities has often led to ad-hoc methods which are re-invented without leading to an application-independent scheduling methodology. Inspired by the formal methodology of verification, a unifying framework for building mathematical models for a large class of problems and application domains was proposed by the AMETIST project partners. Their ultimate aim was to prove that open reactive systems would behave correctly in all the contexts in which they could be found. They established timed automata as the underlying model for real-time distributed systems where the next state is determined as a function of the current state. Furthermore, to address the uncertainty about systems' future evolution, both with respect to demands and available resources, they sought an alternative to the so-called zone-based abstractions. Instead of matrices of constants to which clocks of the timed automaton are compared and have their roots in verification methodologies, vectors of clock variables were used. The automaton was viewed as specifying a 'game' between the scheduler of an open reactive system and its environment. On the other hand, the scheduler controlled the allocation of resources to competing tasks. Among the different sources of uncertainty, the duration of each task was defined as a continuous random variable. As in a deterministic case, the identification of the optimum task schedule was then reduced to establishing the shortest path in discrete weighed game graphs. Such an approach did not change the inherent computational complexity of the problem. However, it provided more freedom in choosing the method that provided the best trade-off between its computational complexity and the quality of its solution.