Progressive and explicit refinement of scheduling for multidimensional data-flow applications using UML MARTE

  • Calin Glitia
  • Julien DeAntoni
  • Frédéric Mallet
  • Jean-Vivien Millo
  • Pierre Boulet
  • Abdoulaye Gamatié


Process networks and data-flow graphs are used to capture data-dependencies in computation-intensive embedded systems. Their simplicity allows the computation of static schedules that reduce the dynamic overhead and increase predictability. The resulting schedule is a total ordering of actor computations and communications. It can therefore become an over-specification of the initial system when several schedules are valid. This is particularly the case for multidimensional data-flow applications. We propose a methodology to avoid such an over-specification. We propose to use logical time to capture explicitly all the valid schedules for a given multi-dimensional data-flow model. Then, we show that the proposed approach allows for a progressive and explicit refinement of computation scheduling that also captures constraints imposed by the environment and the execution platform. All this is achieved by using uml marte concepts and the resulting models can be considered for simulation and analysis with existing tools for early design validation. The whole approach is validated on a typical application devoted to radar signal processing.


marte Clock constraint specification language Embedded system design Logical time Repetitive structure modeling Multidimensional data-flow 


  1. 1.
    Abdallah A, Gamatié A, Dekeyser JL (2010) Correct and energy-efficient design of socs: the h.264 encoder case study. In: International symposium on system on chip (SoC), pp 115–120Google Scholar
  2. 2.
    Alfaro L, Henzinger TA (2001) Interface theories for component-based design. In: Henzinger TA, Kirsch CM (eds) Embedded software, Lecture notes in computer science, vol 2211. Springer, Berlin, pp 148–165Google Scholar
  3. 3.
    André C (2009) Syntax and semantics of the Clock Constraint Specification Language (CCSL). Research report 6925, INRIA.
  4. 4.
    Benveniste A, Le Guernic P, Jacquemot C (1991) Synchronous programming with events and relations: the SIGNAL language and its semantics. Sci Comput Program 16(2):103–149zbMATHCrossRefGoogle Scholar
  5. 5.
    Berry G (2000) The foundations of Esterel. In: Plotkin G, Stirling CP, Tofte M (eds) Proof, language and interaction: essays in honour of Robin Milner. MIT Press, Cambridge, pp 425–454Google Scholar
  6. 6.
    Boulet P, Marquet P, Piel E, Taillard J (2007) Repetitive allocation modeling with MARTE. In: Forum on specification and design languages (FDL’07). Barcelona, SpainGoogle Scholar
  7. 7.
    Boussinot F, De Simone R (2002) The ESTEREL language. Proc IEEE 79(9):1293–1304CrossRefGoogle Scholar
  8. 8.
    Dumont P (2005) Spécification multidimensionnelle pour le traitement du signal systmatique. PhD thesisGoogle Scholar
  9. 9.
    Falk J, Keinert J, Haubelt C, Teich J, Zebelein C (2010) Integrated modeling using finite state machines and dataflow graphs. In: Bhattacharyya SS, Deprettere EF, Leupers R, Takala J(eds) Handbook of signal processing systems. Springer, US, pp 1041–1075. doi: 10.1007/978-1-4419-6345-1_36
  10. 10.
    Feautrier P (1996) Automatic parallelization in the polytope model. In: Perrin GR, Darte A (eds) The data parallel programming model, Lecture notes in computer science, vol 1132. Springer, Berlin, pp 79–103Google Scholar
  11. 11.
    Fidge C (2002) Logical time in distributed computing systems. Computer 24(8):28–33CrossRefGoogle Scholar
  12. 12.
    Peraldi Frati MA, Deantoni J (2011) Scheduling multi clock real time systems: from requirements to implementation. In: IEEE international symposium on object/component/service-oriented real-time distributed computing, pp 50–57. IEEE Computer SocietyGoogle Scholar
  13. 13.
    Gamatié A (2011) Specification of data intensive applications with data dependency and abstract clocks. In: Furht B, Escalante A (eds) Handbook of data intensive computing. Springer, New York, pp 323–348. doi: 10.1007/978-1-4614-1415-5_12
  14. 14.
    Gamatié A, Beux SL, Piel É, Atitallah RB, Etien A, Marquet P, Dekeyser JL (2011) A model-driven design framework for massively parallel embedded systems. ACM Trans Embed Comput Syst 10(4):39CrossRefGoogle Scholar
  15. 15.
    Gascon R, Mallet F, DeAntoni J (2011) Logical time and temporal logics: comparing UML MARTE/CCSL and PSL. In: Combi C, Leucker M, Wolter F (eds) 18th interantional symposium on temporal representation and reasoning, TIME. IEEE, Lübeck, pp 141–148Google Scholar
  16. 16.
    Glitia C (2009) Optimisation des applications de traitement systmatique intensives sur systems-on-chip. PhD thesis, Université Lille 1, Sciences et TechnologiesGoogle Scholar
  17. 17.
    Glitia C, Boulet P (2008) High level loop transformations for multidimensional signal processing embedded applications. In: SAMOS 2008 workshop. Samos, GreeceGoogle Scholar
  18. 18.
    Glitia C, Boulet P, Lenormand E, Barreteau M (2011) Repetitive model refactoring strategy for the design space exploration of intensive signal processing applications. J Syst Archit 57(9):815–829CrossRefGoogle Scholar
  19. 19.
    Glitia C, DeAntoni J, Mallet F (2010) System specification and design languages. In: Kazmierski TJ, Morawiec A (eds) Logical time @ work: capturing data dependencies and platform constraints, chap 14. Lecture notes in electrical engineering, vol. 106. Springer, New York, pp. 223–238Google Scholar
  20. 20.
    Glitia C, Dumont P, Boulet P (2010) Array-OL with delays, a domain specific specification language for multidimensional intensive signal processing. Multidimens Syst Signal Process 21(2):105–131zbMATHMathSciNetCrossRefGoogle Scholar
  21. 21.
    Kahn G (1974) The semantics of a simple language for parallel programming. In: Information processing, pp 471–475Google Scholar
  22. 22.
    Lamport L (1978) Time, clocks, and the ordering of events in a distributed system. Commun ACM 21(7):558–565zbMATHCrossRefGoogle Scholar
  23. 23.
    Lee EA (1993) Mulitdimensional streams rooted in dataflow. In: Architectures and compilation techniques for fine and medium grain parallelism, pp 295–306Google Scholar
  24. 24.
    Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235–1245CrossRefGoogle Scholar
  25. 25.
    Object Management Group (2009) OMG: UML profile for MARTE, v1.0. Document number: formal/09-11-02Google Scholar
  26. 26.
    Object Management Group (2009) OMG: UML superstructure, v2.2. Formal/2009-02-02Google Scholar
  27. 27.
    Soula J (2001) Principe de compilation d’un langage de traitement de signal. PhD thesisGoogle Scholar
  28. 28.
    Yin L, Mallet F, Liu J (2011) Verification of MARTE/CCSL time requirements in Promela/SPIN. In: 16th IEEE interantional conference on engineering of complex computer systems, ICECCS, pp 65–74Google Scholar
  29. 29.
    Yu H, Talpin JP, Besnard L, Gautier T, Marchand H, Guernic PL (2011) Polychronous controller synthesis from MARTE CCSL timing specifications. In: Singh S, Jobstmann B, Kishinevsky M, Brandt J (eds) MEMOCODE, pp 21–30. IEEEGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Calin Glitia
    • 1
    • 2
    • 3
  • Julien DeAntoni
    • 1
    • 2
    • 3
  • Frédéric Mallet
    • 1
    • 2
    • 3
  • Jean-Vivien Millo
    • 1
    • 2
    • 3
  • Pierre Boulet
    • 4
    • 5
    • 6
  • Abdoulaye Gamatié
    • 4
    • 5
    • 6
  1. 1.Université Nice Sophia AntipolisNiceFrance
  2. 2.INRIA Sophia Antipolis MéditerranéeSophia AntipolisFrance
  3. 3.I3S, UMR 7271UNS and CNRSSophia AntipolisFrance
  4. 4.LIFL, UMR 8022Univ. Lille 1 and CNRSVilleneuve d’AscqFrance
  5. 5.Lille - Nord EuropeINRIAVilleneuve d’AscqFrance
  6. 6.Univ. Lille Nord de FranceVilleneuve d’AscqFrance

Personalised recommendations