Skip to main content
Log in

PolyGraph: a data flow model with frequency arithmetic

  • General
  • Special Issue: FASE 2019
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

A Correction to this article was published on 22 December 2020

This article has been updated

Abstract

Data flow formalisms are commonly used to model systems in order to solve problems of buffer sizing and task scheduling. A prerequisite for static analysis of a modeled system is the existence of a periodic schedule in which the sizes of communication channels can be bounded for an unbounded execution (consistency), and that communication dependencies do not introduce a deadlock in such an execution (liveness). In the context of Cyber-Physical Systems, components are often interfaced with the physical world and have frequency constraints. The existing data flow formalisms lack expressiveness to fully cover the expected behavior of these components. We propose an extension to static data flow paradigms, called PolyGraph, that includes frequency constraints and adjustable communication rates. We show that with these extensions, the conditions for a model to be consistent and live are no longer sufficient, and we extend the corresponding theorems with necessary and sufficient conditions to preserve these properties. We illustrate how PolyGraph can be used in practice on a realistic Advanced Driver Assistance System, and present a framework to check PolyGraph properties in the tool DIVERSITY, along with experiments on realistic and random models.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Change history

Notes

  1. We write ”PolyGraph” (capitalized) for the specification formalism, and a ”polygraph” for a specific model in it.

  2. In a practical implementation, the mechanisms deployed to cope with repeating decimals in such durations are implementation dependent (e.g., the objects ratio and duration of the C+ + standard chrono library).

  3. In addition, \(s{1}=s{17}=s{33}\) and the reader familiar with SDF literature will recognize the notion of iteration.

References

  1. Amarasinghe, S., Karczmarek, M., Lin, J., Maze, D., Rabbah, R.M., Thies, W., et al.: Language and compiler design for streaming applications. Int. J. Parallel Program. 33(2–3), 261–278 (2005)

    Article  Google Scholar 

  2. Arnaud, M., Bannour, B., Lapitre, A.: An illustrative use case of the DIVERSITY platform based on UML interaction scenarios. Electr. Notes Theor. Comput. Sci. 320, 21–34 (2016)

    Article  MathSciNet  Google Scholar 

  3. Bannour, B., Escobedo, J., Gaston, C., Le Gall, P.: Off-line test case generation for timed symbolic model-based conformance testing. In: Testing Software and Systems (ICTSS). Springer, Berlin (2012)

  4. Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)

    Article  Google Scholar 

  5. Berry, G., Ramesh, S., Shyamasundar, R.: Communicating reactive processes. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 85–98 (1993)

  6. Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J.A.: Cyclo-static data flow. Proc. ICASSP 5, 3255–3258 (1995)

    Google Scholar 

  7. Bodin, B., Munier-Kordon, A., de Dinechin, B.D.: K-periodic schedules for evaluating the maximum throughput of a synchronous dataflow graph. In: Proceedings of the 2012 International Conference on Embedded Computer Systems (SAMOS), pp. 152–159 (2012)

  8. Borosh, I., Treybig, L.B.: Bounds on positive integral solutions of linear diophantine equations II. Can. Math. Bull. 22(3), 357–361 (1979)

    Article  MathSciNet  Google Scholar 

  9. Bouakaz, A., Fradet, P., Girault, A.: Symbolic buffer sizing for throughput-optimal scheduling of dataflow graphs. In: Proceedings of of the 22nd IEEE Real-Time Embedded Technology & Applications Symposium (RTAS 2016) (2016)

  10. Breaban, G., Stuijk, S., Goossens, K.: Efficient synchronization methods for LET-based applications on a multi-processor system on chip. In: Design, Automation Test in Europe Conference Exhibition (DATE), pp. 1721–1726 (2017)

  11. Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.A.: Lustre: a declarative language for real-time programming. In: Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. pp. 178–188. POPL ’87, Association for Computing Machinery, New York, NY, USA (1987)

  12. Cohen, A., Duranton, M., Eisenbeis, C., Pagetti, C., Plateau, F., Pouzet, M.: N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems. SIGPLAN Not. 41(1), 180–193 (2006)

    Article  Google Scholar 

  13. de Oliveira Castro, P., Louise, S., Barthou, D.: Reducing memory requirements of stream programs by graph transformations. In: International Conference on High Performance Computing and Simulation, pp. 171–180. IEEE (2010)

  14. Dubrulle, P., Gaston, C., Kosmatov, N., Lapitre, A.: Dynamic reconfigurations in frequency constrained data flow. In: Ahrendt, W., Tapia Tarifa, S.L. (eds.) Integrated Formal Methods, pp. 175–193. Springer, Cham (2019)

    Chapter  Google Scholar 

  15. Dubrulle, P., Gaston, C., Kosmatov, N., Lapitre, A., Louise, S.: A data flow model with frequency arithmetic. Proc. FASE LNCS 11424, 369–385 (2019)

    Google Scholar 

  16. Forget, J., Boniol, F., Lesens, D., Pagetti, C.: A multi-periodic synchronous data-flow language. In: 11th IEEE High Assurance Systems Engineering Symposium, pp. 251–260 (2008)

  17. Gaston, C., Le Gall, P., Rapin, N., Touil, A.: Symbolic execution techniques for test purpose definition. In: Testing of Communicating Systems (TestCom). Springer (2006)

  18. Geilen, M., Basten, T., Stuijk, S.: Minimising buffer requirements of synchronous dataflow graphs with model checking. In: Proceedings of the 42nd Design Automation Conference, pp. 819–824. IEEE (2005)

  19. Ghamarian, A.H., Geilen, M.C.W., Stuijk, S., Basten, T., Theelen, B.D., Mousavi, M.R., Moonen, A.J.M., Bekooij, M.J.G.: Throughput analysis of synchronous data flow graphs. In: Proceedings of the Sixth International Conference on Application of Concurrency to System Design (ACSD 2006), pp. 25–36 (2006)

  20. Ghamarian, A.H., Stuijk, S., Basten, T., Geilen, M.C.W., Theelen, B.D.: Latency minimization for synchronous data flow graphs. In: Proceedings of of the 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007), pp. 189–196 (2007)

  21. Goubier, T., Sirdey, R., Louise, S., David, V.: \(\Sigma \)C: a programming model and language for embedded manycores. In: International Conference on Algorithms and Architectures for Parallel Processing, pp. 385–394. Springer (2011)

  22. Kahn, G., MacQueen, D., Laboria, I.: Coroutines and Networks of Parallel Processes. IRIA Research Report, IRIA Laboria (1976)

  23. Klikpo, E.C., Munier-Kordon, A.: Preemptive scheduling of dependent periodic tasks modeled by synchronous dataflow graphs. In: Real-Time Networks and Systems RTNS, Brest, France, pp. 77–86 (2016)

  24. Kugele, S., Obergfell, P., Broy, M., Creighton, O., Traub, M., Hopfensitz, W.: On service-orientation for automotive software. In: IEEE International Conference on Software Architecture (ICSA), pp. 193–202 (2017)

  25. Lee, E.A., Messerschmitt, D.G.: Static scheduling of SDF programs for digital signal processing. IEEE Trans. Comput. C 36(1), 24–35 (1987)

    Article  Google Scholar 

  26. Lohstroh, M., Romeo, Í.Í., Goens, A., Derler, P., Castrillon, J., Lee, E.A., Sangiovanni-Vincentelli, A.: Reactors: a deterministic model for composable reactive systems. In: Chamberlain, R., Edin Grimheden, M., Taha, W. (eds.) Cyber Physical Systems. Model-Based Design, pp. 59–85. Springer, Cham (2020)

    Chapter  Google Scholar 

  27. Marchetti, O., Munier-Kordon, A.: A sufficient condition for the liveness of weighted event graphs. Eur. J. Oper. Res. 197(2), 532–540 (2009)

    Article  MathSciNet  Google Scholar 

  28. Medimegh, S., Pierron, J.Y., Gallois, J., Boulanger, F.: A new approach of qualitative simulation for the validation of hybrid systems. In: Proceedings of the workshop on Model Driven Engineering Languages and Systems (MODELS). ACM (2016)

  29. Oh, H., Ha, S.: Fractional rate dataflow model for efficient code synthesis. J. VLSI Signal Process. Syst. Signal Image Video Technol. 37(1), 41–51 (2004)

    Article  Google Scholar 

  30. Selva, M.: Performance monitoring of throughput constrained dataflow programs executed on shared-memory multi-core architectures. Theses, INSA de Lyon (2015)

  31. Singh, A., Baruah, S.: Global EDF-based scheduling of multiple independent synchronous dataflow graphs. In: IEEE Real-Time Systems Symposium (RTSS), pp. 307–318 (2017)

  32. Singh, A., Ekberg, P., Baruah, S.: Uniprocessor scheduling of real-time synchronous dataflow tasks. Real-Time Syst. 55(1), 1–31 (2019)

    Article  Google Scholar 

  33. The List Institute, CEA Tech: The DIVERSITY tool. http://projects.eclipse.org/proposals/eclipse- formal-modeling-project/. Accessed Feb 2020

  34. Theelen, B.D., et al.: Scenario-aware dataflow. Technical Report, ESR-2008-08, TUE (2008)

  35. Zhao, Y., Liu, J., Lee, E.A.: A programming model for time-synchronized distributed real-time systems. In: Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS 2007). pp. 259–268. IEEE (2007)

Download references

Acknowledgements

Part of this work has been realized in the FACE project, involving CEA List and Renault. The PolyGraph formalism has been used as a theoretical foundation for the software methodology in the project. The authors thank all the members of the FACE team for useful discussions, and in particular Stéphane Louise for his contribution to the initial ideas of the original conference paper [15]. We are also grateful to the anonymous reviewers for their valuable comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paul Dubrulle.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

The original version of this article was revised: Equation was wrong in PDF file.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Dubrulle, P., Kosmatov, N., Gaston, C. et al. PolyGraph: a data flow model with frequency arithmetic. Int J Softw Tools Technol Transfer 23, 489–517 (2021). https://doi.org/10.1007/s10009-020-00586-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-020-00586-9

Keywords

Navigation