Off-line scheduling of a real-time system

This paper shows how a recently introduced class of applications can be solved by constraint programming. This new type of application is due to the emergence of special real-time systems, enjoying increasing popularity in such diverse areas as automotive electronics and aerospace industry. These real-time systems are time triggered in the sense that their overall behavior is globally controlled by a recurring clock tick. For this off-line scheduling problem a potentially indefinite, periodic processing has to be mapped onto a single time window of a fixed length. We make this new class of applications amenable to constraint programming. We describe which traditional scheduling and realtime computing techniques led to success and which failed when confronted with a large-scale application of this type. Global constraints were used to reduce memory consumption and to speed up computation. An elaborate heuristic, borrowed from Operations Research, was employed to solve the problem. Furthermore, we show that mere serialization is sufficient to find a valid schedule. The actual implementation was done in the concurrent constraint programming language Oz. Introduction There is a growing number of distributed real-time applications whose processing must obey a strictly regular pattern, and so must the communication involved. Exactly for this type of application, a particular class of architectures has been devised, the so-called time-triggered architecture [12]. The term time triggered refers to the fact that the overall behavior of the system is controlled by a recurring clock tick, the only event which may invoke any action. Time-triggered architectures fit especially the needs of safety-critical applications. This special type of architecture proved to be successful in such diverse areas as automotive electronics and aerospace industry. Being able to compute an appropriate pre-runtime schedule automatically is the major challenge for a time-triggered architecture. What makes this specific off-line scheduling problem somewhat untypical is that a potentially indefinite, periodic processing has to be mapped onto a single time window. This time window determines the overall behavior of the system. Take a thermostat process T10, transmitting at a frequency of 10Hz the particular temperature chosen to a controller C10. Let this controller respond with exactly the same frequency, reporting potential malfunctioning. This induces a cyclic dependency which is explicitly allowed. If two application processes are allocated to different processors, then the only way for them to communicate with each other is a common data bus. All inter-processor messages must therefore be broadcasted through this data bus. A further restriction is that this bus is not able to transmit more than one message at a time. Let us furthermore assume that there is a second controller, call it C20, which gets at a frequency of 20Hz fresh data from a certain sensor S20. In this case, however, the communication is one-way only. We assume that S20 and C20 are hosted by different processors. In particular, let S20 reside on the same processor as T10, whileC20 shares its host with C10. The off-line scheduling problem then consists in mapping these quite different communication patterns onto a single time window, with no preemption being allowed. When repeated indefinitely, this time window should produce the intended overall behavior. Fig. 1 depicts a proper time window which does achieve this.

[1]  William J. Cook,et al.  A Computational Study of the Job-Shop Scheduling Problem , 1991, INFORMS Journal on Computing.

[2]  Martin Henz,et al.  Using Oz for College Timetabling , 1995, PATAT.

[3]  Pascal Van Hentenryck,et al.  Operational Semantics of Constraint Logic Programming over Finite Domains , 1991, PLILP.

[4]  J. Carlier,et al.  An algorithm for solving the job-shop problem , 1989 .

[5]  Philippe Baptiste,et al.  Constraint-Based Optimization and Approximation for Job-Shop Scheduling , 1995 .

[6]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[7]  Gert Smolka,et al.  The Oz Programming Model , 1996, Computer Science Today.

[8]  Stephen F. Smith,et al.  Slack-Based Heuristics for Constraint Satisfaction Scheduling , 1993, AAAI.

[9]  Christer Eriksson A framework for the design of distributed real-time systems , 1997 .

[10]  Sheng-Tzong Cheng,et al.  Allocation and scheduling of real-time periodic tasks with relative timing constraints , 1995, Proceedings Second International Workshop on Real-Time Computing Systems and Applications.

[11]  François Laburthe,et al.  Disjunctive Scheduling with Task Intervals , 1995 .

[12]  Gert Smolka,et al.  Encapsulated Search and Constraint Programming in Oz , 1994, PPCP.

[13]  Frédéric Benhamou,et al.  Programming in CLP(BNR) , 1993, PPCP.

[14]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[15]  Jörg Würtz Oz Scheduler: A Workbench for Scheduling Problems , 1996, ICTAI.

[16]  Hermann Kopetz,et al.  Event-Triggered Versus Time-Triggered Real-Time Systems , 1991, Operating Systems of the 90s and Beyond.