Skip to main content

Enabling Flow Preservation and Portability in Multicore Implementations of Simulink Models

  • Chapter
  • First Online:
Principles of Modeling

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10760))

  • 1745 Accesses

Abstract

Model-Based Design plays an important role in the development of embedded software. Automatic code generation from models is needed to minimize the possibility of introducing errors by manual coding, thereby preserving the validation and verification done on the model. Automatic code generation also eases traceability back to the model as required in most certification processes. The generated code must preserve the model semantics (or at least its properties of interest) and use the platform resources in the most efficient (or cost-effective) way. Achieving correctness and efficiency becomes harder in new multicore platforms. Commercially available multitask code generators from Simulink introduce variations to the model semantics that are dependent on the deployment option and the generated code is specific to a given platform configuration (hardware and OS), which makes reuse and portability more difficult. In this paper, we report on the early stages of a project that will improve on the portability of currently available code generation options from Simulink.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://it.mathworks.com/matlabcentral/fileexchange/65247-aos-api.

References

  1. AUTOSAR. http://www.autosar.org. Accessed 23 Mar 2017

  2. POSIX - Austin Joint Working Group. http://standards.ieee.org/develop/wg/POSIX.html. Accessed 31 Mar 2017

  3. Al-bayati, Z., Sun, Y., Zeng, H., Di Natale, M., Zhu, Q., Meyer, B.: Task placement and selection of data consistency mechanisms for real-time multicore applications. In: 2015 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pp. 172–181. IEEE (2015)

    Google Scholar 

  4. Ansys: SCADE suite product web page. http://www.esterel-technologies.com/products/scade-suite/. Accessed 23 Mar 2017

  5. Boussinot, F., De Simone, R.: The Esterel language. Proc. IEEE 79(9), 1293–1304 (1991)

    Article  Google Scholar 

  6. Brandenburg, B., Gul, M.: Global scheduling not required: simple, near-optimal multiprocessor real-time scheduling with semi-partitioned reservations. In: Proceedings of the 37th IEEE Real-Time Systems Symposium (RTSS 2016), pp. 99–110, December 2016

    Google Scholar 

  7. Caspi, P., Curic, A., Maignan, A., Sofronis, C., Tripakis, S., Niebert, P.: From simulink to SCADE/Lustre to TTA: a layered approach for distributed embedded applications. In: ACM Sigplan Notices, vol. 38, pp. 153–162. ACM (2003)

    Article  Google Scholar 

  8. Caspi, P., Scaife, N., Sofronis, C., Tripakis, S.: Semantics-preserving multitask implementation of synchronous programs. ACM Trans. Embed. Comput. Syst. (TECS) 7(2), 15 (2008)

    Google Scholar 

  9. Deng, P., Cremona, F., Zhu, Q., Di Natale, M., Zeng, H.: A model-based synthesis flow for automotive CPS. In: Proceedings of the ACM/IEEE Sixth International Conference on Cyber-Physical System, Seattle, pp. 198–207, April 2015

    Google Scholar 

  10. Di Natale, M., Guo, L., Zeng, H., Sangiovanni-Vincentelli, A.: Synthesis of multitask implementations of simulink models with minimum delays. IEEE Trans. Industr. Inf. 6(4), 637–651 (2010)

    Article  Google Scholar 

  11. Eker, J., Janneck, J., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Sachs, S., Xiong, Y.: Taming heterogeneity - the Ptolemy approach 91(1), 127–144 (2003)

    Google Scholar 

  12. Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, C., Sangiovanni-Vincentelli, A.L.: Metropolis: an integrated electronic system design environment. Computer 36(4), 45–52 (2003)

    Article  Google Scholar 

  13. Grantley, H.J., Ye, W.: Stuart: multi-target modelling for embedded software development for automotive applications. https://es.mathworks.com/tagteam/20307_91197v00_Multi-Target_Modeling_2004-01-0269.pdf. Accessed 23 Mar 2017

  14. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data flow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)

    Article  Google Scholar 

  15. Halbwachs, N.: Synchronous programming of reactive systems. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 1–16. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0028726

    Chapter  Google Scholar 

  16. TMW Inc.: Assigning tasks to cores for multicore programming. http://www.mathworks.com. Accessed 23 Mar 2017

  17. LeGuernic, P., Gautier, T., Le Borgne, M., Le Maire, C.: Programming real-time applications with SIGNAL. Proc. IEEE 79(9), 1321–1336 (1991)

    Article  Google Scholar 

  18. Lublinerman, R., Tripakis, S.: Modularity vs. reusability: code generation from synchronous block diagrams. In: Proceedings of the Design, Automation and Test in Europe Conference (DATE 2008). ACM (2008)

    Google Scholar 

  19. Lublinerman, R., Tripakis, S.: Modular code generation from triggered and timed block diagrams. In: Real-Time and Embedded Technology and Applications Symposium (RTAS 2008), June 2008

    Google Scholar 

  20. Nigel Holliday, T.M.E.: Software development with real-time workshop embedded coder. https://it.mathworks.com/solutions/aerospace-defense/presentations.html. Accessed 23 Mar 2017

  21. OSEK OS: VDX operating system specification 2.2.1. OSEK Group (2003)

    Google Scholar 

  22. Pagetti, C., Saussie, D., Gratia, R., Noulard, E., Siron, P.: The ROSACE case study: from simulink specification to multi/many-core execution. In: Proceedings of the Real-Time and Embedded Technology and Applications Symposium (RTAS 2014) (2014)

    Google Scholar 

  23. Rixner, S., Dally, W.J., Kapasi, U.J., Mattson, P., Owens, J.D.: Memory access scheduling. In: ACM SIGARCH Computer Architecture News, vol. 28, pp. 128–138. ACM (2000)

    Article  Google Scholar 

  24. Scaife, N., Sofronis, C., Caspi, P., Tripakis, S., Maraninchi, F.: Defining and translating a safe subset of simulink/stateflow into lustre. In: Proceedings of the 4th ACM International Conference on Embedded Software, pp. 259–268. ACM (2004)

    Google Scholar 

  25. Sharifi, A., Kultursay, E., Kandemir, M., Das, C.R.: Addressing end-to-end memory access latency in noc-based multicores. In: 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 294–304. IEEE (2012)

    Google Scholar 

  26. SysGO AG: Pike OS web page. https://www.sysgo.com/products/pikeos-hypervisor/. Accessed 23 Mar 2017

  27. The MathWorks: Simulink and StateFlow user manuals. http://www.mathworks.com. Accessed 23 Mar 2017

  28. Tripakis, S., Sofronis, C., Caspi, P., Curic, A.: Translating discrete-time simulink to lustre. ACM Trans. Embed. Comput. Syst. (TECS) 4(4), 779–818 (2005)

    Article  Google Scholar 

  29. Tripakis, S., Sofronis, C., Scaife, N., Caspi, P.: Semantics-preserving and memory-efficient implementation of inter-task communication on static-priority or EDF schedulers. In: Proceedings of the 5th ACM International Conference on Embedded Software, pp. 353–360. ACM (2005)

    Google Scholar 

  30. Wang, G., Di Natale, M., Mosterman, P.J., Sangiovanni-Vincentelli, A.: Automatic code generation for synchronous reactive communication. In: 2009 International Conference on Embedded Software and Systems, ICESS 2009, pp. 40–47. IEEE (2009)

    Google Scholar 

  31. Zeng, H., Di Natale, M.: Mechanisms for guaranteeing data consistency and flow preservation in AUTOSAR software on multi-core platforms. In: 2011 6th IEEE International Symposium on Industrial Embedded Systems (SIES), pp. 140–149. IEEE (2011)

    Google Scholar 

  32. Zhu, Q., Zeng, H., Zheng, W., Natale, M.D., Sangiovanni-Vincentelli, A.: Optimization of task allocation and priority assignment in hard real-time distributed systems. ACM Trans. Embed. Comput. Syst. (TECS) 11(4), 85 (2012)

    Google Scholar 

  33. Zou, J., Matic, S., Lee, E.A., Feng, T.H., Derler, P.: Execution strategies for PTIDES, a programming model for distributed embedded systems. In: Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), April 2009

    Google Scholar 

Download references

Acknowledgements

This work has been sponsored by The MathWorks.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marco Di Natale .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Brandberg, C., Di Natale, M. (2018). Enabling Flow Preservation and Portability in Multicore Implementations of Simulink Models. In: Lohstroh, M., Derler, P., Sirjani, M. (eds) Principles of Modeling. Lecture Notes in Computer Science(), vol 10760. Springer, Cham. https://doi.org/10.1007/978-3-319-95246-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-95246-8_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-95245-1

  • Online ISBN: 978-3-319-95246-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics