skip to main content
article

Translating discrete-time simulink to lustre

Published:01 November 2005Publication History
Skip Abstract Section

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.]]Google ScholarGoogle Scholar
  2. Åström, K. and Wittenmark, B. 1984. Computer Controlled Systems. Prentice-Hall, Englewood Cliffs, NJ.]]Google ScholarGoogle Scholar
  3. Caspi, P. 1992. Clocks in dataflow languages. Theoretical Computer Science 94, 125--140.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Caspi, P., Pilaud, D., Halbwachs, N., and Plaice, J. 1987. Lustre: a declarative language for programming synchronous systems. In 14th ACM Symp. POPL.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Caspi, P. and Pouzet, M. 1996. Synchronous Kahn networks. In ACM SIGPLAN International Conference on Functional Programming. 226--238.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle Scholar
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle Scholar
  9. Chutinan, A. and Krogh, B. 2003. Computational techniques for hybrid system verification. IEEE Trans. Automatic Control 48, 1.]]Google ScholarGoogle ScholarCross RefCross Ref
  10. Colaço, J. and Pouzet, M. 2003. Clocks as first class abstract types. In Embedded Software (EMSOFT'03). LNCS, Vol. 2855. Springer, NY.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle ScholarCross RefCross Ref
  12. Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous dataflow programming language Lustre. Proceedings of the IEEE 79, 9 (Sept.).]]Google ScholarGoogle ScholarCross RefCross Ref
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle Scholar
  17. Joisha, P. and Banerjee, P. 2003. The MAGICA type inference engine for MATLAB. In Compiler Construction (CC). LNCS 2622, Springer, NY.]]Google ScholarGoogle Scholar
  18. Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proc. of the IFIP Congress.]]Google ScholarGoogle Scholar
  19. Kirsch, C., Sanvido, M., Henzinger, T., and Pree, W. 2002. A Giotto-based helicopter control system. In EMSOFT'02. LNCS 2491, Springer, NY.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kopetz, H. 1997. Real-Time Systems Design Principles for Distributed Embedded Applications. Kluwer, Academic Publ., Boston, MA.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kopetz, H. and Grunsteidl, G. 1994. TTP---a protocol for fault-tolerant real-time systems. IEEE Computer 27, 1 (Jan.), 14--23.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lee, E. and Messerschmitt, D. 1987. Synchronous data flow. Proceedings of the IEEE 75, 9, 1235--1245.]]Google ScholarGoogle ScholarCross RefCross Ref
  23. Lee, E. and Parks, T. 1995. Dataflow process networks. Proceedings of the IEEE 83, 5 (May), 773--799.]]Google ScholarGoogle ScholarCross RefCross Ref
  24. Martelli, A. and Montanari, U. 1982. An efficient unification algorithm. ACM Trans. on Progr. Lang. and Systems 4, 2.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Milner, R. 1978. A theory of type polymorphism in programming. Journal of Computer and System Sciences 17, 384--375.]]Google ScholarGoogle ScholarCross RefCross Ref
  26. Neema, S. 2001. Simulink and Stateflow data model. Tech. rep., ISIS, Vanderbilt University, Nashville, TN.]]Google ScholarGoogle Scholar
  27. Pierce, B. 2002. Types and Programming Languages. MIT Press, Cambridge, MA.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Robinson, J. 1965. A machine-oriented logic based on the resolution principle. Journal of the ACM 12, 1.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Silva, B., Richeson, K., Krogh, B., and Chutinan, A. 2000. Modeling and verifying hybrid dynamical systems using CheckMate. In ADPM.]]Google ScholarGoogle Scholar
  34. Sims, S., Butts, K., Cleaveland, R., and Ranville, S. 2001. Automated validation of software models. In ASE.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Tiwari, A. 2002. Formal semantics and analysis methods for Simulink Stateflow models. Tech. rep., SRI International.]]Google ScholarGoogle Scholar
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Translating discrete-time simulink to lustre

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!