Buffer optimization in multitask implementations of Simulink models

Automatic generation of a controller implementation from a synchronous reactive model is among the best practices for software development in the automotive and aeronautics industry, because of the possibility of simulation, model checking, and error-free implementation. This paper discusses an algorithm for optimizing the single-processor multitask implementation of Simulink models with real-time execution constraints, derived from the sampling rates of the functional blocks. Existing code generation tools enforce the addition of extra buffering and latencies whenever there is a rate transition among functional blocks. This work shows how timing analysis can be used to find the cases in which additional buffering and latency can be avoided, improving the space and time performance of the application. The proposed search algorithm allows finding a solution with reduced and possibly minimal use of buffering even for very high values of processor utilization.

[1]  Maryline Chetto,et al.  Dynamic scheduling of real-time tasks under precedence constraints , 1990, Real-Time Systems.

[2]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

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

[4]  R. B. Sepe Real-Time Motor Testing and Development-Over the Internet , 2001 .

[5]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003, LCTES '03.

[6]  Moshe Dror,et al.  Mathematical programming formulations for machine scheduling: A survey , 1991 .

[7]  Astrom Computer Controlled Systems , 1990 .

[8]  George A. Perdikaris Computer Controlled Systems , 1991 .

[9]  Stavros Tripakis,et al.  Semantics-preserving and memory-efficient implementation of inter-task communication on static-priority or EDF schedulers , 2005, EMSOFT.

[10]  Norman Scaife,et al.  Integrating model-based design and preemptive scheduling in mixed time- and event-triggered systems , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[11]  Stavros Tripakis,et al.  Translating discrete-time simulink to lustre , 2003, TECS.

[12]  Alberto L. Sangiovanni-Vincentelli,et al.  Efficient embedded software design with synchronous models , 2005, EMSOFT.

[13]  E. L. Lawler,et al.  Recent Results in the Theory of Machine Scheduling , 1982, ISMP.

[14]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003 .

[15]  Yacine Atif,et al.  Dynamic scheduling of real-time tasks, by assignment , 1998, IEEE Concurr..

[16]  Colin O'Halloran,et al.  ClawZ: control laws in Z , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[17]  Alberto L. Sangiovanni-Vincentelli,et al.  Correct-by-construction transformations across design environments for model-based embedded software development , 2005, Design, Automation and Test in Europe.

[18]  John P. Lehoczky,et al.  Timing Analysis for Fixed-Priority Scheduling of Hard Real-Time Systems , 1994, IEEE Trans. Software Eng..

[19]  Edward A. Lee,et al.  Structure and interpretation of signals and systems , 2002 .