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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
AUTOSAR. http://www.autosar.org. Accessed 23 Mar 2017
POSIX - Austin Joint Working Group. http://standards.ieee.org/develop/wg/POSIX.html. Accessed 31 Mar 2017
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)
Ansys: SCADE suite product web page. http://www.esterel-technologies.com/products/scade-suite/. Accessed 23 Mar 2017
Boussinot, F., De Simone, R.: The Esterel language. Proc. IEEE 79(9), 1293–1304 (1991)
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
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)
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)
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
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)
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)
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)
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
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data flow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)
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
TMW Inc.: Assigning tasks to cores for multicore programming. http://www.mathworks.com. Accessed 23 Mar 2017
LeGuernic, P., Gautier, T., Le Borgne, M., Le Maire, C.: Programming real-time applications with SIGNAL. Proc. IEEE 79(9), 1321–1336 (1991)
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)
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
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
OSEK OS: VDX operating system specification 2.2.1. OSEK Group (2003)
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)
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)
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)
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)
SysGO AG: Pike OS web page. https://www.sysgo.com/products/pikeos-hypervisor/. Accessed 23 Mar 2017
The MathWorks: Simulink and StateFlow user manuals. http://www.mathworks.com. Accessed 23 Mar 2017
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)
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)
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)
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)
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)
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
Acknowledgements
This work has been sponsored by The MathWorks.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
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)