|
ABSTRACT
We present a method of translating discrete-time Simulink models to Lustre programs. Our method consists of three steps: type inference, clock inference, and hierarchical bottom-up translation. In the process, we explain and formalize the typing and timing mechanisms of Simulink. The method has been implemented in a prototype tool called S2L, which has been used in the context of a European research project to translate two automotive controller models provided by Audi.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Agrawal, A., Simon, G., and Karsai, G. 2004. Semantic translation of Simulink/Stateflow models to hybrid automata using graph transformations. In Workshop on Graph Transformation and Visual Modeling Techniques, Barcelona, Spain.
|
| |
2
|
Åström, K. and Wittenmark, B. 1984. Computer Controlled Systems. Prentice-Hall, Englewood Cliffs, NJ.
|
| |
3
|
|
 |
4
|
P. Caspi , D. Pilaud , N. Halbwachs , J. A. Plaice, LUSTRE: a declarative language for real-time programming, Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.178-188, January 21-23, 1987, Munich, West Germany
[doi> 10.1145/41625.41641]
|
 |
5
|
|
| |
6
|
Caspi, P., Curic, A., Maignan, A., Sofronis, C., and Tripakis, S. 2003a. Translating discrete-time Simulink to Lustre. In Embedded Software (EMSOFT'03). LNCS, Vol. 2855. Springer, NY.
|
 |
7
|
Paul Caspi , Adrian Curic , Aude Maignan , Christos Sofronis , Stavros Tripakis , Peter Niebert, From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications, Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, June 11-13, 2003, San Diego, California, USA
|
| |
8
|
Cervin, A., Henriksson, D., Lincoln, B., and Årzén, K.-E. 2002. Jitterbug and Truetime: Analysis tools for real-time control systems. In 2nd Workshop on Real-Time Tools.
|
| |
9
|
Chutinan, A. and Krogh, B. 2003. Computational techniques for hybrid system verification. IEEE Trans. Automatic Control 48, 1.
|
| |
10
|
Colaço, J. and Pouzet, M. 2003. Clocks as first class abstract types. In Embedded Software (EMSOFT'03). LNCS, Vol. 2855. Springer, NY.
|
| |
11
|
Guernic, P. L., Gautier, T., Borgne, M. L., and Maire, C. L. 1991. Programming real-time applications with Signal. Proc. of the IEEE 79, 9, 1321--1336.
|
| |
12
|
Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous dataflow programming language Lustre. Proceedings of the IEEE 79, 9 (Sept.).
|
| |
13
|
|
| |
14
|
|
 |
15
|
Paul Hudak , Simon Peyton Jones , Philip Wadler , Brian Boutel , Jon Fairbairn , Joseph Fasel , María M. Guzmán , Kevin Hammond , John Hughes , Thomas Johnsson , Dick Kieburtz , Rishiyur Nikhil , Will Partain , John Peterson, Report on the programming language Haskell: a non-strict, purely functional language version 1.2, ACM SIGPLAN Notices, v.27 n.5, p.1-164, May 1992
[doi> 10.1145/130697.130699]
|
| |
16
|
Jersak, M., Ziegenbein, D., Wolf, F., Richter, K., Ernst, R., Cieslog, F., Teich, J., Strehl, K., and Thiele, L. 2000. Embedded system design using the SPI workbench. In Proc. of the 3rd International Forum on Design Languages.
|
| |
17
|
Joisha, P. and Banerjee, P. 2003. The MAGICA type inference engine for MATLAB. In Compiler Construction (CC). LNCS 2622, Springer, NY.
|
| |
18
|
Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proc. of the IFIP Congress.
|
| |
19
|
|
| |
20
|
|
| |
21
|
|
| |
22
|
Lee, E. and Messerschmitt, D. 1987. Synchronous data flow. Proceedings of the IEEE 75, 9, 1235--1245.
|
| |
23
|
Lee, E. and Parks, T. 1995. Dataflow process networks. Proceedings of the IEEE 83, 5 (May), 773--799.
|
 |
24
|
|
| |
25
|
Milner, R. 1978. A theory of type polymorphism in programming. Journal of Computer and System Sciences 17, 384--375.
|
| |
26
|
Neema, S. 2001. Simulink and Stateflow data model. Tech. rep., ISIS, Vanderbilt University, Nashville, TN.
|
| |
27
|
|
 |
28
|
Christophe Ratel , Nicolas Halbwachs , Pascal Raymond, Programming and verifying critical systems by means of the synchronous data-flow language LUSTRE, Proceedings of the conference on Software for citical systems, p.112-119, December 04-06, 1991, New Orleans, Louisiana, United States
|
| |
29
|
|
 |
30
|
|
| |
31
|
|
 |
32
|
N. Scaife , C. Sofronis , P. Caspi , S. Tripakis , F. Maraninchi, Defining and translating a "safe" subset of simulink/stateflow into lustre, Proceedings of the 4th ACM international conference on Embedded software, September 27-29, 2004, Pisa, Italy
[doi> 10.1145/1017753.1017795]
|
| |
33
|
Silva, B., Richeson, K., Krogh, B., and Chutinan, A. 2000. Modeling and verifying hybrid dynamical systems using CheckMate. In ADPM.
|
| |
34
|
|
| |
35
|
Tiwari, A. 2002. Formal semantics and analysis methods for Simulink Stateflow models. Tech. rep., SRI International.
|
| |
36
|
|
CITED BY 5
|
|
|
|
|
|
|
|
Soonhoi Ha , Sungchan Kim , Choonseung Lee , Youngmin Yi , Seongnam Kwon , Young-Pyo Joo, PeaCE: A hardware-software codesign environment for multimedia embedded systems, ACM Transactions on Design Automation of Electronic Systems (TODAES), v.12 n.3, p.1-25, August 2007
|
|
|
Rajeev Alur , Aditya Kanade , S. Ramesh , K. C. Shashidhar, Symbolic analysis for improving simulation coverage of Simulink/Stateflow models, Proceedings of the 7th ACM international conference on Embedded software, October 19-24, 2008, Atlanta, GA, USA
|
|
|
|
|