Abstract
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.
Similar content being viewed by others
Notes
The instance of the repeated part whose coordinate into the repetition space is 0 on each dimension.
The shape of a port gives the size of the matrix going through the port.
Here again, the keyword shape is used. When it is attached to an elementary task, shape denotes the repetition space.
Let us note that we do not model here the failed attempts to capture the resource but only the successful ones.
Throughout this last section, figures are screen captures of actual uml models.
A complete model is available at http://www-sop.inria.fr/aoste/dev/time_square/ccsl-rsm.
This red rectangle has been superimposed for the discussion. timesquare can only display groups of ticks of the same clock (in green).
References
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–120
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–165
André C (2009) Syntax and semantics of the Clock Constraint Specification Language (CCSL). Research report 6925, INRIA. http://hal.inria.fr/inria-00384077/
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–149
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–454
Boulet P, Marquet P, Piel E, Taillard J (2007) Repetitive allocation modeling with MARTE. In: Forum on specification and design languages (FDL’07). Barcelona, Spain
Boussinot F, De Simone R (2002) The ESTEREL language. Proc IEEE 79(9):1293–1304
Dumont P (2005) Spécification multidimensionnelle pour le traitement du signal systmatique. PhD thesis
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
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–103
Fidge C (2002) Logical time in distributed computing systems. Computer 24(8):28–33
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 Society
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
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):39
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–148
Glitia C (2009) Optimisation des applications de traitement systmatique intensives sur systems-on-chip. PhD thesis, Université Lille 1, Sciences et Technologies
Glitia C, Boulet P (2008) High level loop transformations for multidimensional signal processing embedded applications. In: SAMOS 2008 workshop. Samos, Greece
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–829
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–238
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–131
Kahn G (1974) The semantics of a simple language for parallel programming. In: Information processing, pp 471–475
Lamport L (1978) Time, clocks, and the ordering of events in a distributed system. Commun ACM 21(7):558–565
Lee EA (1993) Mulitdimensional streams rooted in dataflow. In: Architectures and compilation techniques for fine and medium grain parallelism, pp 295–306
Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235–1245
Object Management Group (2009) OMG: UML profile for MARTE, v1.0. Document number: formal/09-11-02
Object Management Group (2009) OMG: UML superstructure, v2.2. Formal/2009-02-02
Soula J (2001) Principe de compilation d’un langage de traitement de signal. PhD thesis
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–74
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. IEEE
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Glitia, C., DeAntoni, J., Mallet, F. et al. Progressive and explicit refinement of scheduling for multidimensional data-flow applications using UML MARTE. Des Autom Embed Syst 19, 1–33 (2015). https://doi.org/10.1007/s10617-014-9140-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-014-9140-y