skip to main content
article

Translating discrete-time simulink to lustre

Published: 01 November 2005 Publication History

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

[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]
Caspi, P. 1992. Clocks in dataflow languages. Theoretical Computer Science 94, 125--140.]]
[4]
Caspi, P., Pilaud, D., Halbwachs, N., and Plaice, J. 1987. Lustre: a declarative language for programming synchronous systems. In 14th ACM Symp. POPL.]]
[5]
Caspi, P. and Pouzet, M. 1996. Synchronous Kahn networks. In ACM SIGPLAN International Conference on Functional Programming. 226--238.]]
[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]
Caspi, P., Curic, A., Maignan, A., Sofronis, C., Tripakis, S., and Niebert, P. 2003b. From Simulink to SCADE/Lustre to TTA: a layered approach for distributed embedded applications. In Languages, Compilers, and Tools for Embedded Systems (LCTES'03). ACM.]]
[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]
Halbwachs, N., Proy, Y.-E., and Roumanoff, P. 1997. Verification of real-time systems using linear relation analysis. Formal Methods in System Design 11, 2 (August), 157--185.]]
[14]
Henzinger, T., Horowitz, B., and Kirsch, C. M. 2001. Giotto: A time-triggered language for embedded programming. In EMSOFT'01. LNCS, Vol. 2211. Springer, NY.]]
[15]
Hudak, P., Jones, S. P., and Wadler, P. 1990. Report on the programming language haskell, a non strict purely functional language (version 1.2). ACM SIGPLAN Notices 27, 5.]]
[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]
Kirsch, C., Sanvido, M., Henzinger, T., and Pree, W. 2002. A Giotto-based helicopter control system. In EMSOFT'02. LNCS 2491, Springer, NY.]]
[20]
Kopetz, H. 1997. Real-Time Systems Design Principles for Distributed Embedded Applications. Kluwer, Academic Publ., Boston, MA.]]
[21]
Kopetz, H. and Grunsteidl, G. 1994. TTP---a protocol for fault-tolerant real-time systems. IEEE Computer 27, 1 (Jan.), 14--23.]]
[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]
Martelli, A. and Montanari, U. 1982. An efficient unification algorithm. ACM Trans. on Progr. Lang. and Systems 4, 2.]]
[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]
Pierce, B. 2002. Types and Programming Languages. MIT Press, Cambridge, MA.]]
[28]
Ratel, C., Halbwachs, N., and Raymond, P. 1991. Programming and verifying critical systems by means of the synchronous data-flow programming language Lustre. In ACM-SIGSOFT Conference on Software for Critical Systems.]]
[29]
Raymond, P., Weber, D., Nicollin, X., and Halbwachs, N. 1998. Automatic testing of reactive systems. In 19th IEEE Real-Time Systems Symposium. Madrid, Spain.]]
[30]
Robinson, J. 1965. A machine-oriented logic based on the resolution principle. Journal of the ACM 12, 1.]]
[31]
Scaife, N. and Caspi, P. 2004. Integrating model-based design and preemptive scheduling in mixed time- and event-triggered systems. In Euromicro conference on Real-Time Systems (ECRTS'04).]]
[32]
Scaife, N., Sofronis, C., Caspi, P., Tripakis, S., and Maraninchi, F. 2004. Defining and translating a “safe” subset of Simulink/Stateflow into Lustre. In 4th ACM International Conference on Embedded Software (EMSOFT'04).]]
[33]
Silva, B., Richeson, K., Krogh, B., and Chutinan, A. 2000. Modeling and verifying hybrid dynamical systems using CheckMate. In ADPM.]]
[34]
Sims, S., Butts, K., Cleaveland, R., and Ranville, S. 2001. Automated validation of software models. In ASE.]]
[35]
Tiwari, A. 2002. Formal semantics and analysis methods for Simulink Stateflow models. Tech. rep., SRI International.]]
[36]
Tudoret, S., Nadjm-Tehrani, S., Benveniste, A., and Stromberg, J.-E. 2000. Co-simulation of hybrid systems: Signal-Simulink. In FTRTFT. LNCS, Vol. 1926. Springer, NY.]]

Cited By

View all
  • (2024)HyFlow: formalism, semantics, and applicationsDiscrete Event Dynamic Systems10.1007/s10626-023-00390-y34:1(95-124)Online publication date: 1-Mar-2024
  • (2023)Equation-Directed Axiomatization of Lustre Semantics to Enable Optimized Code ValidationACM Transactions on Embedded Computing Systems10.1145/360939322:5s(1-24)Online publication date: 31-Oct-2023
  • (2023)Optimizing Highly-Parallel Simulation-Based Verification of Cyber-Physical SystemsIEEE Transactions on Software Engineering10.1109/TSE.2023.329843249:9(4443-4455)Online publication date: 26-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 4, Issue 4
November 2005
259 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/1113830
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 01 November 2005
Published in TECS Volume 4, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Code generation
  2. Lustre
  3. Simulink
  4. embedded software

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)2
Reflects downloads up to 25 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)HyFlow: formalism, semantics, and applicationsDiscrete Event Dynamic Systems10.1007/s10626-023-00390-y34:1(95-124)Online publication date: 1-Mar-2024
  • (2023)Equation-Directed Axiomatization of Lustre Semantics to Enable Optimized Code ValidationACM Transactions on Embedded Computing Systems10.1145/360939322:5s(1-24)Online publication date: 31-Oct-2023
  • (2023)Optimizing Highly-Parallel Simulation-Based Verification of Cyber-Physical SystemsIEEE Transactions on Software Engineering10.1109/TSE.2023.329843249:9(4443-4455)Online publication date: 26-Jul-2023
  • (2023)Towards correctness proof for hybrid Simulink block diagramsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2023.102922141:COnline publication date: 1-Aug-2023
  • (2023)A denotational semantics of Simulink with higher-order UTPJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2022.100809130(100809)Online publication date: Jan-2023
  • (2022)Proving Simulink Block Diagrams Correct via RefinementWireless Communications & Mobile Computing10.1155/2022/80158962022Online publication date: 1-Jan-2022
  • (2022)Carpooling in Connected and Autonomous Vehicles: Current Solutions and Future DirectionsACM Computing Surveys10.1145/350129554:10s(1-36)Online publication date: 13-Sep-2022
  • (2022)Accelerating On-Chip Training with Ferroelectric-Based Hybrid Precision SynapseACM Journal on Emerging Technologies in Computing Systems10.1145/347346118:2(1-20)Online publication date: 12-Jan-2022
  • (2022)Unsupervised Digit Recognition Using Cosine Similarity In A Neuromemristive Competitive Learning SystemACM Journal on Emerging Technologies in Computing Systems10.1145/347303618:2(1-20)Online publication date: 10-Mar-2022
  • (2022)RT-RCG: Neural Network and Accelerator Search Towards Effective and Real-time ECG Reconstruction from Intracardiac ElectrogramsACM Journal on Emerging Technologies in Computing Systems10.1145/346537218:2(1-25)Online publication date: 16-Mar-2022
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media