skip to main content
research-article

Optimization of Real-Time Software Implementing Multi-Rate Synchronous Finite State Machines

Authors Info & Claims
Published:27 September 2017Publication History
Skip Abstract Section

Abstract

Model-based design using Synchronous Reactive (SR) models is becoming widespread for control software development in industry. However, software synthesis is challenging for multi-rate SR models consisting of blocks modeled with finite state machines, due to the complexity of validating the system’s real-time schedulability. The existing approach uses the simplified periodic task model to allow an efficient schedulability analysis, which leads to pessimistic and suboptimal solutions. Instead, in this paper, we adopt a more accurate but more complex schedulability analysis. We develop several optimization techniques to improve the algorithm’s efficiency. Experimental results on synthetic systems and an industrial case study show that the proposed optimization framework preserves the solution optimality but is much faster (e.g., 1000× for systems with 15 blocks) than the branch-and-bound algorithm, and it generates better control software than the existing approach.

References

  1. Z. Al-bayati, H. Zeng, M. Di Natale, and Z. Gu. 2013. Multitask implementation of synchronous reactive models with Earliest Deadline First scheduling. In IEEE Symposium on Industrial Embedded Systems.Google ScholarGoogle Scholar
  2. Karl J. Åström and Björn Wittenmark. 1997. Computer-controlled Systems (3rd Ed.). Prentice-Hall, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Neil Audsley. 1991. Optimal priority assignment and feasibility of static priority tasks with arbitrary start times. Technical Report YCS 164. Department of Computer Science, University of York, UK.Google ScholarGoogle Scholar
  4. Blind. 2017. Exact and approximate methods for response time analysis of tasks implementing synchronous finite state machines. Submitted (2017).Google ScholarGoogle Scholar
  5. Frédéric Boussinot and Robert De Simone. 1991. The ESTEREL language. Proc. IEEE 79, 9 (1991), 1293--1304.Google ScholarGoogle ScholarCross RefCross Ref
  6. Paul Caspi and Albert Benveniste. 2008. Time-robust discrete control over networked loosely time-triggered architectures. In IEEE Conf. Decision 8 Control.Google ScholarGoogle ScholarCross RefCross Ref
  7. P. Caspi, A. Curic, A. Maignan, C. Sofronis, S. Tripakis, and P. Niebert. 2003. From simulink to SCADE/Lustre to TTA: a layered approach for distributed embedded applications. In ACM Conf. Language, Compiler, and Tool for Embedded Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Caspi, N. Scaife, C. Sofronis, and S. Tripakis. 2008. Semantics-preserving multitask implementation of synchronous programs. ACM Trans. Embed. Comput. Syst. 7, 2 (2008), 1--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Davis, L. Cucu-Grosjean, M. Bertogna, and A. Burns. 2016. A review of priority assignment in real-time systems. J. Syst. Archit. 65, C (2016), 64--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Di Natale and V. Pappalardo. 2008. Buffer optimization in multitask implementations of simulink models. ACM Trans. Embed. Comput. Syst. 7, 3 (2008), 1--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Forget, F. Boniol, D. Lesens, and C. Pagetti. 2008. A multi-periodic synchronous data-flow language. In IEEE High Assurance Systems Engineering Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. 1991. The synchronous data flow programming language LUSTRE. Proc. IEEE 79, 9 (1991), 1305--1320.Google ScholarGoogle Scholar
  13. Simon Kramer, Dirk Ziegenbein, and Arne Hamann. 2015. Real World automotive benchmarks for free. In International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS).Google ScholarGoogle Scholar
  14. Edward Lee and Pravin Varaiya. 2011. Structure and Interpretation of Signals and Systems, 2nd Edition. LeeVaraiya.org.Google ScholarGoogle Scholar
  15. P. LeGuernic, T. Gautier, M. Le Borgne, and C. Le Maire. 1991. Programming real-time applications with SIGNAL. Proc. IEEE 79, 9 (1991), 1321--1336.Google ScholarGoogle ScholarCross RefCross Ref
  16. C. L. Liu and James W. Layland. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20, 1 (Jan. 1973), 46--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. MathWorks. The MathWorks Simulink and StateFlow User’s Manuals. MathWorks.Google ScholarGoogle Scholar
  18. M. Di Natale, L. Guo, H. Zeng, and A. Sangiovanni-Vincentelli. 2010. Synthesis of multi-task implementations of simulink models with minimum delays. IEEE Trans. Industrial Informatics 6, 4 (2010), 637--651.Google ScholarGoogle ScholarCross RefCross Ref
  19. M. Di Natale and H. Zeng. 2012. Task implementation of synchronous finite state machines. In Conference on Design, Automation Test in Europe. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. C. Pagetti, J. Forget, F. Boniol, M. Cordovilla, and D. Lesens. 2011. Multi-task implementation of multi-periodic synchronous programs. Discrete Event Dynamic Systems 21, 3 (2011), 307--338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. Pagetti, D. Saussié, R. Gratia, E. Noulard, and P. Siron. 2014. The ROSACE case study: from Simulink specification to multi/many-core execution. In IEEE Real-Time and Embedded Technology and Applications Symposium.Google ScholarGoogle Scholar
  22. D. Potop-Butucaru, B. Caillaud, and A. Benveniste. 2004. Concurrency in synchronous systems. In Int. Conf. Application of Concurrency to System Design. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Potop-Butucaru, S. A. Edwards, and G. Berry. 2007. Compiling Esterel. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. W. Puffitsch, E. Noulard, and C. Pagetti. 2013. Mapping a multi-rate synchronous language to a many-core processor. In IEEE Real-Time and Embedded Technology and Applications Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Stigge, P. Ekberg, N. Guan, and W. Yi. 2011. The digraph real-time task model. In IEEE Real-Time 8 Embedded Technology 8 Applications Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Stigge and W. Yi. 2012. Hardness results for static priority real-time scheduling. In Euromicro Conference on Real-Time Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Stigge and W. Yi. 2015. Combinatorial abstraction refinement for feasibility analysis of static priorities. Real-Time Systems 51, 6 (2015), 639--674. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Tripakis, C. Pinello, A. Benveniste, A. Sangiovanni-Vincent, P. Caspi, and M. Di Natale. 2008. Implementing synchronous models on loosely time-triggered architectures. IEEE Trans. Comput. 57, 10 (2008), 1300--1314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. H. Zeng and M. Di Natale. 2011. Mechanisms for guaranteeing data consistency and time determinism in AUTOSAR software on multicore platforms. In IEEE Symposium on Industrial Embedded Systems.Google ScholarGoogle Scholar
  30. H. Zeng and M. Di Natale. 2012. Schedulability analysis of periodic tasks implementing synchronous finite state machines. In Euromicro Conference on Real-Time Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Y. Zhao and H. Zeng. 2017. The concept of unschedulability core for optimizing priority assignment in real-time systems. In Conference on Design, Automation and Test in Europe. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Q. Zhu, P. Deng, M. Di Natale, and H. Zeng. 2013. Robust and extensible task implementations of synchronous finite state machines. In Conference on Design, Automation Test in Europe. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Optimization of Real-Time Software Implementing Multi-Rate Synchronous Finite State Machines

      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!