Exploiting dataflows and Petri nets mappings

6
Exploiting dataflows and Petri nets mappings Jos´ e-In´ acio Rocha ∗†∥‡ , Oct´ avio P´ ascoa Dias ∗¶ and Lu´ ıs Gomes †∥§ Escola Superior de Tecnologia de Set´ ubal, Set´ ubal, Portugal Universidade Nova de Lisboa Faculdade de Ciˆ encias e Tecnologia, Portugal UNINOVA-Centro de Tecnologia e Sistemas, Portugal Email: [email protected] § Email: [email protected] Email: [email protected] Abstract—Dataflow and Petri nets are used in modeling and analyzing streaming applications, which execute indefinitely using limited resources. Therefore it is essential to know if a system model guaranties certain properties, namely, liveness, bounded- ness or the maximal throughput. Besides, working with hard- ware/software co-design techniques helps to define architecture and platform mapping, accommodating static and dynamically reconfigurable components. Over the last two decades a multitude of dataflow domains emerged along with the specificity of the outlined model of computation, in particular the Synchronous Dataflows, which have proved their adequacy in data-dominated systems, and it is nowadays a mature model of computation. This paper describes a set of translating rules allowing the mapping from Synchronous Dataflows into Petri nets. Study on invariants is presented. Signal processing application examples are used, illustrating the effectiveness of Petri net based modeling strategies to optimize digital system design, identifying a schedule that minimizes the amount of storage resource thus improving the systems’ power consumption. The proposed approach allows one to know in advance at design stage the maximum potential and effective amount of storage resource at any signal processing system. I. I NTRODUCTION Gilles Kahn introduced in 1974 the principles of a language for parallel processing. In [1] Kahn presents the semantics, syntax and the graphical representation of simple processes to explore the concepts of the proposed outlined formulation approach. The basic idea was to represent programs using nodes and arcs. Kahn process networks are monotonic and continuous. Monotonicity implies that if nodes process more input information then also generate more output stream infor- mation, whilst continuity establish that a increasing continuous chain of information is mapped into another increasing chain. Dataflow principles were established by [2] aiming at the exploitation of parallelism in programs. In a dataflow representation a program is formed by two components, vertices known as actors representing computa- tions and edges representing First In First Out (FIFO) queues to hold data values, which are embodied in objects known as tokens. Afterwards Lee et al. [3] in 1987 presented Syn- chronous Dataflows (SDF), a particular set of dataflow where at compile time the number of tokens consumed/produced by an actor on each edge (arc) are known. This way a further improvement about runtime overhead can be achieved. Synchronous Dataflow has demonstrated their adequacy as a reference model in signal processing systems, since it allows to detect deadlocks at compile time, are well suited for specifying multirate systems and can be statically scheduled, as well as parallelism can revealed in systems. A static scheduling in a SDF is obtained by taking one balance equation per arc, but sometimes this procedure leads to a dead end, once some SDFs don’t hold a static schedule. Therefore, due to the lack of a well established formal analysis, a set of translation rules is provided to perform a mapping from a SDF into a Petri net [4]. This way, one takes benefit of the well known properties verification capabilities, namely invari- ants and reachability analysis, and adds valuable information to the scheduler, allows one to gain insight knowledge about the storage resources for each arc (know the maximum number of tokens for each SDF), as well as about resource allocation by realizing an inverse mapping into dataflow domain. Actually and over the last years, the electronic industry is pointing towards complex multi-function devices, which integrate more and more features. Besides, most of these func- tionalities are performed by digital circuits that must interact with analog circuits, responsible for interacting with physical world. The increase of functionalities and complexity in these devices requires from the designers new design techniques and methods to cope with this complexity [5]. As stated before, most electronic devices have digital parts, which may coexist with analog circuitry bringing specific chal- lenges to mixed-signal circuitry. On the analog side, several techniques have been proposed to reduce the two type of power consumption: dynamic and static power (also known as leakage power). Among low power design (basic or advanced) techniques, one can find, clock gating [6], multiple threshold voltage transistor [7], variable frequency and power supply [8], Multi Voltage (power supply voltage) [9], [10], voltage islands [11], dynamic voltage frequency scaling [12], [13], [14], [15]. The thematic of energy consumption optimization is de- manding a great effort and attention from the scientific com- munity. Several techniques were developed, some evolving towards hardware solutions whilst other evolve into software domain. This seeking for new solutions is mostly due to the proliferation of mobile systems. In this context Paulo 978-1-4799-0752-6/13/$31.00 ©2013 IEEE 590

Transcript of Exploiting dataflows and Petri nets mappings

Exploiting dataflows and Petri nets mappingsJose-Inacio Rocha∗†∥‡, Octavio Pascoa Dias∗¶ and Luıs Gomes†∥§

∗Escola Superior de Tecnologia de Setubal, Setubal, Portugal†Universidade Nova de Lisboa

Faculdade de Ciencias e Tecnologia, Portugal∥UNINOVA-Centro de Tecnologia e Sistemas, Portugal

‡Email: [email protected]§Email: [email protected]

¶Email: [email protected]

Abstract—Dataflow and Petri nets are used in modeling andanalyzing streaming applications, which execute indefinitely usinglimited resources. Therefore it is essential to know if a systemmodel guaranties certain properties, namely, liveness, bounded-ness or the maximal throughput. Besides, working with hard-ware/software co-design techniques helps to define architectureand platform mapping, accommodating static and dynamicallyreconfigurable components. Over the last two decades a multitudeof dataflow domains emerged along with the specificity of theoutlined model of computation, in particular the SynchronousDataflows, which have proved their adequacy in data-dominatedsystems, and it is nowadays a mature model of computation.

This paper describes a set of translating rules allowing themapping from Synchronous Dataflows into Petri nets. Study oninvariants is presented. Signal processing application examplesare used, illustrating the effectiveness of Petri net based modelingstrategies to optimize digital system design, identifying a schedulethat minimizes the amount of storage resource thus improvingthe systems’ power consumption. The proposed approach allowsone to know in advance at design stage the maximum potentialand effective amount of storage resource at any signal processingsystem.

I. INTRODUCTION

Gilles Kahn introduced in 1974 the principles of a languagefor parallel processing. In [1] Kahn presents the semantics,syntax and the graphical representation of simple processesto explore the concepts of the proposed outlined formulationapproach. The basic idea was to represent programs usingnodes and arcs. Kahn process networks are monotonic andcontinuous. Monotonicity implies that if nodes process moreinput information then also generate more output stream infor-mation, whilst continuity establish that a increasing continuouschain of information is mapped into another increasing chain.Dataflow principles were established by [2] aiming at theexploitation of parallelism in programs.

In a dataflow representation a program is formed by twocomponents, vertices known as actors representing computa-tions and edges representing First In First Out (FIFO) queuesto hold data values, which are embodied in objects knownas tokens. Afterwards Lee et al. [3] in 1987 presented Syn-chronous Dataflows (SDF), a particular set of dataflow whereat compile time the number of tokens consumed/produced byan actor on each edge (arc) are known. This way a furtherimprovement about runtime overhead can be achieved.

Synchronous Dataflow has demonstrated their adequacy as areference model in signal processing systems, since it allows todetect deadlocks at compile time, are well suited for specifyingmultirate systems and can be statically scheduled, as well asparallelism can revealed in systems.

A static scheduling in a SDF is obtained by taking onebalance equation per arc, but sometimes this procedure leadsto a dead end, once some SDFs don’t hold a static schedule.Therefore, due to the lack of a well established formal analysis,a set of translation rules is provided to perform a mapping froma SDF into a Petri net [4]. This way, one takes benefit of thewell known properties verification capabilities, namely invari-ants and reachability analysis, and adds valuable informationto the scheduler, allows one to gain insight knowledge aboutthe storage resources for each arc (know the maximum numberof tokens for each SDF), as well as about resource allocationby realizing an inverse mapping into dataflow domain.

Actually and over the last years, the electronic industryis pointing towards complex multi-function devices, whichintegrate more and more features. Besides, most of these func-tionalities are performed by digital circuits that must interactwith analog circuits, responsible for interacting with physicalworld. The increase of functionalities and complexity in thesedevices requires from the designers new design techniques andmethods to cope with this complexity [5].

As stated before, most electronic devices have digital parts,which may coexist with analog circuitry bringing specific chal-lenges to mixed-signal circuitry. On the analog side, severaltechniques have been proposed to reduce the two type ofpower consumption: dynamic and static power (also known asleakage power). Among low power design (basic or advanced)techniques, one can find, clock gating [6], multiple thresholdvoltage transistor [7], variable frequency and power supply [8],Multi Voltage (power supply voltage) [9], [10], voltage islands[11], dynamic voltage frequency scaling [12], [13], [14], [15].

The thematic of energy consumption optimization is de-manding a great effort and attention from the scientific com-munity. Several techniques were developed, some evolvingtowards hardware solutions whilst other evolve into softwaredomain. This seeking for new solutions is mostly due tothe proliferation of mobile systems. In this context Paulo

978-1-4799-0752-6/13/$31.00 ©2013 IEEE 590

Maciel et al. [16], [17] centered their work on techniquesfor reducing energy consumption in hard real-time systems.The proposed method concerns on scheduling an approach toaddress Dynamic Voltage Scaling, with overheads, and inter-task relations, such as exclusion and precedence relations. Theoutlined approach adopts a time Petri net to find a feasibleschedule binding to timing and energy constraints. Moreover,a pre-runtime schedule method is presented to increase thepredictability in time critical systems, where is of utmostimportance that every task regards its deadline.

The proposed mapping using a set of translation mecha-nisms in [4] to switch from dataflow domain into a Petrinet domain is also a contribution aimed at reducing energyconsumption, by establishing the number of resources atdesign stage.

The paper is organized in five sections. In the followingsection we discuss in a nutshell the motivation concerningthe proposed approach (section II). Section III highlights theproposed approach pointing toward cyclic signal processingsystems. Using application examples based on multistagesample rate system and a voice-band data modem, a outlineddiscussion and analysis results is promoted in section IV.Software tools used to perform the analysis in Petri net domainare presented at the end of this section. In conclusions (sectionV), we end with a summary of the results achieved so farand point out further research directions to be addressed infuture research involving the retiming technique [18], to min-imize/optimize even further the number of allocated resourcesin synchronous circuitry.

II. MOTIVATION

As a first example (Figure 1),sample rate conversion systemis proposed, which is a case of a consistent acyclic Syn-chronous Dataflow, to demonstrate the underlying ideas behindour mapping solutions between the two domains. Besides, thetheoretical example is simplified aiming at showing also theeffectiveness of the proposed approach.

Fig. 1. Sample rate system of a CD to a DAT in a multistage implementation

The example depicts two systems with different operatingsampling frequencies and technologies interfaced a DigitalAudio Tape and a Compact Disk. The Digital Audio Tapesystem works at a sampling frequency of 48 KHz, whereasCompact Disk systems operate with 44.1 KHz. The ideabehind this sample rate conversion system could be to performa CD onto a DAT. This conversion could be done in two stages(decimation and interpolation [19]), but it is more efficient toperform in several stages the rate change, due to a significantsaving in computation, as well as in storage resources [20].

Using the proposed approach as described in [21], a Petrinet transformed model of the system composed by a startand ending transition is attained, as presented in Figure 2 (a)

However to apply the Petri net verification techniques, namelyinvariant analysis, a necessary condition must be verified toproceed with this analysis in Petri net domain, the wholetransformed model need to be reversible.

Our research is headed to systems with one-way uniquedata/signal path and that additionally starts and ends withtransitions, and may have loops in this signal chain. Thereforeto describe the initial state of a model, a set of tokens isassociated to the places, known as initial marking M0. EachPetri net can be defined formally by a 5 tuple structure asPN1=(P, T, I,O,M0) [22], where:

• P={p1, p2, ..., pm} is a finite set of places;• T={t1, t2, ..., tn} is a finite set of transitions, with P ∪

T = ∅ and P ∩ T = ∅;• I : (P × T ) 7−→ N is an input function that defines

directed arcs from P to T, where N is a set of naturalnumbers;

• O : (T × P ) 7−→ N is an output function that definesdirected arcs from T to P;

• M0 : P 7−→ N0 is the initial marking.Since our approach is focused on well ordered chain struc-

tured SDF graphs, it is mandatory to make the PN transformedmodel reversible and live (see [22]), besides this requirementis fundamental to evolve the structural analysis performed inPetri net domain (P/T invariants and reachability analysis).

Therefore, it can be stated that it is always possible to finda complementary Place-Transition PN (with a unique path ofchained place(s) and transition(s)) defined formally, also as a5 tuple PN2=(P

′, T

′, I

′, O

′,M

0), where• a finite set of places P

′={pP , pP+1, ..., pK} with utmost

the same cardinality of the initial PN model defined inPN1;

• a set of transitions T′

={tP , tP+1, ..., tK} strictly depen-dent on the cardinality of the places (moreover T

′maybe

an empty set if the places cardinality of P′is unitary),

with P′ ∪ T

′ = ∅ and P′ ∩ T

′= ∅;

• I′: (P

′ × T′) 7−→ N is an input function that defines

directed arcs from P′

to T′, where N is a set of natural

numbers constrained by I in PN1.• O

′: (T

′ × P′) 7−→ N is an output function that defines

directed arcs from T′

to P′, constrained by O in PN1;

• M′

0 : P 7−→ N0 is the initial marking constrained by theT-invariants of the whole resulting PN model (PN1 andPN2).

The new appended entity must however fulfill certain con-straints:

• the new model must be a single path sequence withno loops, composed by places and transitions, startingand ending with transitions as the original model to beanalyzed;

• the balance between produced and consumed tokens inPN1 must taken into account in PN2 to guaranteereversibility and liveness of the complete PN model.

Merging both Petri nets (figure 2) by its starting and endingtransition, one can achieve a whole Petri net as can be seen

591

in figure 3.

(a) Generic PN1 model

(b) Generic PN2 model

Fig. 2. Petri net models to be merged

Fig. 3. Expanded Petri net transformed model of a generic model, that startsand ends with a transition.

The proposed approach described in [23], required a repli-cation of the original places to attain an augmented reversiblePetri net , in order to guarantee the presence of T-Invariants, aswell as due to the nature problem itself. This is one of multiplesolutions, since it is always possible to find a reversible areversible PN, which has at utmost the same number of placesas the original one.

III. PROPOSED APPROACH

In data flow system models it is always possible to establisha duality between a dataflow and a Petri net, since in bothdomains one can find activity and passivity elements. In thiscontext, a process or function in dataflow domain can beviewed as a transition in Petri net domain, whereas an arcin a dataflow will be mapped into a place in a Petri net. Arcscarry tokens, which embody data values of any type or kind.Arc may have weights, representing the number of tokens thatcan be consumed (or produced) when the activity elementsexecutes their tasks. Arc weights and initial markings, in theproposed approach have a direct correspondence from onedomain into the other. These translations rules were applied ina multirate system to foresee the necessary amount of storageresource for each arc [23], also to expose the effective and thepotential maximum number of tokens for each dataflow.

Once in Petri net domain, a structural analysis is performedto obtain the P-Invariants and T-Invariants. Using P-Invariantsone can foresee the necessary amount of memory for adataflow, since it is possible to conclude that k-bounded placesin Petri nets can be associated with k-length buffers in dataflowdomain. Whereas with T-Invariants it is possible to preview theinitial markings M0 for each place ([21]).

In every Petri net, given an initial marking M0, new mark-ings are achieved by firing enabled transitions, if M is the newmarking reached by a firing sequence, a PN driving mechanismcan be described in the form of a algebraic equation (1) to findout new states, known as fundamental equation,

M = M0 + C · f (1)

where C is incidence matrix with dimension of m places byn transitions, and f the firing sequence. Each entry in Crepresents a balance between tokens, which may be positive(token gain), negative (token loss) or zero if there is no tokenchange involving a certain transition and place in a Petri net.

In the structural domain analysis (quantitative analysis),two fundamental properties support our analysis in this paper:place and transition invariants.

For P-Invariants, one has

vT · C = 0 (2)

whereas for T-Invariants one has

C · w = 0 (3)

The v components of P-Invariants represent weights associ-ated to each place, and this weighted amount of tokens remainsconstant with respect to firing. Likewise, the w componentsof T-Invariants represent firing numbers involved in a firingsequence, allowing a net to start with a marking and later intime it will return to the start markings. Moreover, each liveand bounded Petri net has a T-Invariant with all componentspositive.

Taking into account figure 3 and keeping in mind thatthe places of interest are p1, p2, p3, ...pK , pK+1, pK+2, ..., pN ,where the first P elements represent the places of the PNtransformed model (attained using the proposed mappingbetween a dataflow and a Petri net domain), and the otherplaces (from pK+1 to pN ) are required to get a reversible PNmodel (belonging to the lower part in figure 3 identified as”Place Transition PN2 model”), therefore one can describethe P-Invariants as

P∑i=1

kni ·M(pi) +N∑

i=K+1

kni ·M(pi) = Kn (4)

where kni stands for the individual components of P-invariant n (assuming that any Petri net may have a finitenumber of invariants, V ), M(pi) the marking in place pi andKn the result of the component n in vT ·M0.

To make conclusions supported by Petri net verificationtechniques concerning the allocated resources in a dataflowmodel, one can state that none of the places in subset pK+1

to pN is marked. This requirement is crucial, because ouranalysis is centered on the Petri net model achieved by theproposed mapping between dataflows and Petri nets. Fromequations in (4) it can be estimate the maximum potentialnumber of tokens in every place belonging to P-Invariant with

592

M(pi) ≤ max{1≤n≤V }(Kn

kni

) (5)

The key aspect of the former equation is that a boundedplace in Petri net domain is seen in the dataflow domain as abounded buffer, therefore places involved in P-Invariant allowsone to know the potential maximum buffer size in advance indataflow domain.

Fig. 4. Petri net transformed model of the sample rate system of a CD to aDAT in a multistage implementation, using just one extra place.

Fig. 5. Petri net transformed model of the sample rate system of a CD to aDAT in a multistage implementation, using two extra place.

Fig. 6. Petri net transformed model of the sample rate system of a CD to aDAT in a multistage implementation

Figures 4, 5, and 6 represent possible implementationsof reversible PN systems, based on the outlined theoreticalaspects formulated in section II.

IV. APPLICATION EXAMPLES: ANALYSIS RESULTS ANDDISCUSSION

The outcomes achieved for the given application examplesin this section result from the invariant analysis produced byINA and TINA packages. Solving a set of homogeneous linearequations, based on the incidence matrix C, one can find thetransition and place invariants, if there exist a non null vector

w or v with integer (Zn) solutions, respectively. Based onthe T-Invariant analysis one can establish the initial markingof the transformed PN. For instance, example applicationillustrated in figure 4 has the following T-Invariant w ={(147, 147, 98, 28, 20, 160)T }. Analyzing graph dependenciesof the model of figure 6, as firing ta depends on p10, initialmarking of p10 will be 147 in order to assure T-Invariantfulfillment.

Fig. 7. Sample rate system of a CD to a DAT in a multistage implementationwith another rate configuration

Independently of number of places inserted (one, two orthe maximum number of places, shown in figures 4, 5 or 6,respectively) to make the whole system reversible and live,the maximum potential number of tokens in each arc/place inthe primary net (net reached using the set of translation rulesproposed previously) remains the same. Using equation (2)one can reach the following the equation (considering figure4)

160 ·M(p1) + 80 ·M(p2) + 120 ·M(p3) + 168 ·M(p4) +

147 ·M(p5) +M(p6) = 160 ·M0(p1) + 80 ·M0(p2) +

120 ·M0(p3) + 168 ·M0(p4) + 147 ·M0(p5) +M0(p6)

= 23520

(6)

where M(pi) identifies the marking in place pi and M0(pi)denotes the initial marking in pi.

TABLE IMAXIMUM POTENTIAL NUMBER OF TOKENS FOR EACH PLACE FOR

FIGURES 4, 5 AND 6.

Case M(p1) M(p2) M(p3) M(p4) M(p5) Memory1 147 294 196 224 160 10212 147 98 70 80 160 5553 147 112 140 80 160 531

Table I come up with with three different cases of maximumpotential number of tokens in each place, in where the centralissues are exchanging the appearance order in the structuredchain SDF graph of the processes (case 2) and the rate changeof each process in the SDF graph (as exemplified in figure 7,case 3). The last column of table I presents the total amountof memory required for three different situations consideringonly the places of interest. These results allow us to concludethat it is possible to decrease the amount of storage resourcejust exchanging the arc weights in the dataflow or establishingdifferent rates of produced/consumed tokens along the severalprocesses (stages) but maintaining the sample rate conversionof the whole system. These results are indeed comparable withthose presented by [24].

593

Fig. 8. Synchronous Dataflow for a voice-band data modem

Also to evaluate effectiveness of our methodology, it isproposed as an application example a streaming system (figure8) with loops, the voice band data modem [25], which has9 processes and 16 FIFOs queues. This system comprisesseveral macro processes with implicit delay structures, frontend and Hilbert filter, adaptive equalizer, phase-lock loop andthe decoder.

Fig. 9. Voice-band data modem transformed Petri net model

The corresponding PN model with one extra place (p10) togenerate reversibility is shown in figure 9. This applicationexample also makes use of models depicted in figure 10 togenerate one and two delay blocks in PN model, highlightedby orange and blue dash backgrounds respectively in figure 9.

(a) One delay structure

(b) Two delays structure

Fig. 10. Structures to model delays

Applying the translation rules stated in III a model in Petrinet domain is achieved as shown in figure 9.

The maximum potential number of tokens in table III are arough estimation, since it establish a maximum threshold thatcould not possibly be attained by the system.

TABLE IIPLACE INVARIANTS

Case Place Invariants1 M(d1), M(d2), 2 ·M(p9)2 M(d1), M(d2), M(p3), M(p7)3 M(p0), M(p1),M(p10),4·M(p2),

8·M(p3),8·M(p5),16·M(p6),16·M(p8)4 2*M(d3), M(p4)5 M(p0), M(p1),M(p10),4· M(p2),

8· M(p3),8· M(p4),8· M(p5),16· M(p6)6 M(d3), M(p8)7 M(d1), M(d2), M(p3), M(p4), M(p7)8 M(d1), M(d2), M(p3), M(p4), 2· M(p8)

The values in table III traduce the maximum potentialnumber of token for each place due to the contribution of P-Invariants identified in the system by TINA and INA packagesand shown in table II. It is safe to say that a place in a Petrinet may have a multitude of maximums depending on their ineach P-Invariant, thereafter the maximum number of tokens foreach place will be equal to the minimum of the maximumsassociated to the place. Take for instance marking on placedelay3, d3, M(d3), three P-Invariant equations (case 2, 4 and6) define the amount of storage resource required in such placed3. In this situation, the amount of memory required is 1(following what was stated before) and is depicted in the lastcolumn of table III, #tokens. The maximum potential amountof storage resource necessary to define a static schedule forvoice-band data modem is 54 units as shown in table III

TABLE IIIMAXIMUM POTENTIAL TOKENS PER PLACE

Case 1 2 3 4 5 6 7 8 # tokensM(d1) 2 2 2 2 2M(d2) 2 2 2 2 2M(d3) 2 1 1 1M(p0) 16 16 16M(p1) 16 16 16M(p2) 4 4 4M(p3) 2 2 2 2 2M(p4) 2 2 2 2M(p5) 2 2 2M(p6) 1 1 1M(p7) 2 2 2M(p8) 1 1 1 1 1M(p9) 1 1M(p10) 16 16 —M(p11) 2 2

Total amount of resources 54

Based on state space of the transformed PN model, thepractitioner can foresee the maximum effective number oftokens in each place since there is a final snapshot of the wholeallocated picture resource. Analyzing the state space [26] ofthe associated Input Output Place Transition (IOPT) model[27] it is possible to know the maximum effective number oftokens in each place.

The development of the resulting Petri nets was performedby two non commercial tools that are available freely in theweb: (1) Integrated Net Analyzer INA [28], a non graphical

594

Petri net editor, that requires a previous knowledge of the INAsyntax language to perform a net description; (2) Still TINA-TIme Petri Net Analyzer [29], a graphical editor with a steppersimulator to perform a step by step animation in a Petri net.The invariant analysis (used in section IV) was performed inboth environments.

V. CONCLUSIONS

Nowadays, practitioners in mobile embedded system andSystem-on-Chips (SoC), try to find solutions aiming at re-source optimization, minimization of power consumption, aswell as miniaturization.

In this paper a methodology to foresee the amount ofallocated resources in dataflow models under a cyclic andcontinuous flow of data is presented. One of the key areasthat demand the knowledge of allocated resources is signalprocessing field. Two examples are discussed to illustrate thekey points of the outlined methodology, allowing a switchingfrom dataflow into Petri domain. On the side of Petri net astructural analysis is performed, namely place and transitioninvariants.

Also as future work, it is planned to use new optimizationtechniques to minimize the data requirements between eacharc in a specific static schedule in signal processing chains,namely genetic algorithms and retiming technique.

ACKNOWLEDGMENTS

This work was partially financed by Portuguese Agency”FCT - Fundacao para a Ciencia e a Tecnologia” in the frame-work of projects PEst-OE/EEI/UI0066/2011 and PTDC/EEI-AUT/2641/2012.

REFERENCES

[1] G. Kahn, “The Semantic of a Simple Language for Parallel Program-ming,” in in Proc. of the IFIP Congress 74. North-Holland PublishingCo, 1974.

[2] J. Dennis, “First version of a data flow procedure language,” in Program-ming Symposium, ser. Lecture Notes in Computer Science, B. Robinet,Ed., 1974, vol. 19, pp. 362–376.

[3] E. A. Lee and D. G. Messerschmitt, “Synchronous data flow,” Proceed-ings of the IEEE, vol. 75, no. 9, pp. 1235–1245, September 1987.

[4] J.-I. Rocha, L. Gomes, and O. Dias, “Petri net verification techniqueson synchronous dataflow models,” in IECON 2011 - 37th AnnualConference on IEEE Industrial Electronics Society, Nov. 2011, pp. 3792–3797.

[5] L. Gomes and J. M. Fernandes, Behavioral Modeling for EmbeddedSystems and Technologies: Applications for Design and Implementa-tion. Hershey, PA: Information Science Reference - Imprint of: IGIPublishing, 2009.

[6] R. Bhutada and Y. Manoli, “Complex clock gating with integratedclock gating logic cell,” in Design Technology of Integrated Systems inNanoscale Era, 2007. DTIS. International Conference on, Sept. 2007,pp. 164 –169.

[7] K. Roy, L. Wei, and Z. Chen, “Multiple-Vdd multiple-Vth CMOS(MVCMOS) for low power applications,” in Circuits and Systems, 1999.ISCAS ’99. Proceedings of the 1999 IEEE International Symposium on,vol. 1, Jul 1999, pp. 366 –370 vol.1.

[8] M. Horowitz, “A fully digital, energy-efficient, adaptivepower-supply regulator,” IEEE Journal of Solid-State Circuits,vol. 34, no. 4, pp. 520–528, Apr. 1999. [Online]. Available:http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=753685

[9] J. Chang and M. Pedram, “Energy minimization using multiple supplyvoltages,” IEEE Trans. on VLSI Systems, vol. 5, pp. 436–443, 1997.

[10] D. Chen, J. Cong, and J. Xu, “Optimal simultaneous module and multi-voltage assignment for low power,” ACM TODAES, vol. 11, p. 2006,2006.

[11] D. Lackey, P. Zuchowski, T. Bednar, D. Stout, S. Gould, and J. Cohn,“Managing power and performance for system-on-chip designs usingvoltage islands,” in Computer Aided Design, 2002. ICCAD 2002.IEEE/ACM International Conference on, Nov. 2002, pp. 195 – 202.

[12] W. Cheng and B. Baas, “Dynamic voltage and frequency scaling circuitswith two supply voltages,” in Circuits and Systems, 2008. ISCAS 2008.IEEE International Symposium on, May 2008, pp. 1236 –1239.

[13] Y. Ponomarev, “High-performance deep submicron CMOS technologieswith polycrystalline-SiGe gates,” IEEE Transactions on Electron De-vices, vol. ED-32, no. 4, pp. 584–855, Apr. 2000.

[14] Y. Cho, Y. Kim, Y. Joo, K. Lee, and N. Chang, “Simultaneous opti-mization of battery-aware voltage regulator scheduling with dynamicvoltage and frequency scaling,” in Low Power Electronics and Design(ISLPED), 2008 ACM/IEEE International Symposium on, Aug. 2008,pp. 309 –314.

[15] G. Dhiman and T. Rosing, “Dynamic voltage frequency scaling formulti-tasking systems using online learning,” in Low Power Electronicsand Design (ISLPED), 2007 ACM/IEEE International Symposium on,Aug. 2007, pp. 207 –212.

[16] E. Tavares, P. Maciel, B. Silva, and M. N. Oliveira, “Hard Real-Time Tasks’ Scheduling Considering Voltage Scaling , Precedence andExclusion Relations,” Methodology, no. February, 2008.

[17] E. Tavares, B. Silva, P. Maciel, and P. Dallegrave, “Software Synthesisfor Hard Real-Time Embedded Systems with Energy Constraints,” 200820th International Symposium on Computer Architecture and HighPerformance Computing, pp. 115–122, Oct. 2008. [Online]. Available:http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4685735

[18] C. E. Leiserson and J. B. Saxe, “Retiming synchronous circuitry,”Algorithmica, vol. 6, no. 1, pp. 5–35, 1991.

[19] P. P. Vaidyanathan, “Multirate digital filters, filter banks, polyphasenetworks, and applications: a tutorial,” Proceedings of theIEEE, vol. 78, no. 1, pp. 56–93, 1990. [Online]. Available:http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=52200

[20] J. Reed, Software Radio: A Modern Approach to Radio Engineering,ser. Prentice Hall Communications Engineering and EmergingTechnologies Series. Prentice Hall, 2002. [Online]. Available:http://books.google.pt/books?id=7-XJOmNvAOkC

[21] J.-I. Rocha, L. Gomes and O. Dias, “Dataflow model property verifi-cation using Petri net translation techniques,” 9th IEEE InternationalConference on Industrial Informatics, July 2011.

[22] T. Murata, “Petri Nets: Properties, Analysis and Applications,” Proceed-ings of the IEEE, vol. 77, no. 4, pp. 541–580, 1989.

[23] J.-I. Rocha, L. Gomes, and O. Dias, “Analysing storage resources onsynchronous dataflows using Petri net verification techniques,” in IECON2012 - 38th Annual Conference on IEEE Industrial Electronics Society,2012, pp. 4676–4681.

[24] P. K. Murthy, S. S. Bhattacharyya, and E. A. Lee, “Joint minimizationof code and data for synchronous dataflow programs,” Form. MethodsSyst. Des., vol. 11, no. 1, pp. 41–70, Jul. 1997. [Online]. Available:http://dx.doi.org/10.1023/A:1008633809454

[25] E. A. Lee and D. G. Messerschmitt, “Synchronous Data Flow,” inProceedings of the IEEE, vol. 75, no. 9, Sep. 1987, pp. 1235–1245.

[26] F. Pereira, F. Moutinho, and L. Gomes, “A state-space basedmodel-checking framework for embedded system controllers specifiedusing IOPT Petri nets.” in DoCEIS, ser. IFIP Advances inInformation and Communication Technology, L. M. Camarinha-Matos,E. Shahamatnia, and G. Nunes, Eds., vol. 372. Springer, 2012,pp. 123–132. [Online]. Available: http://dblp.uni-trier.de/db/conf/ifip5-5/doceis2012.html#PereiraMG12

[27] L. Gomes, J. Barros, A. Costa, and R. Nunes, “The input-output place-transition Petri net class and associated tools,” in Industrial Informatics,2007 5th IEEE International Conference on, vol. 1, 2007, pp. 509–514.

[28] INA - Integrated Net Analyser, Humboldt - Universita zu Berlin. [On-line]. Available: http://www2.informatik.hu-berlin.de/ starke/ina.html

[29] TINA-TIme Petri Net Analyzer, Laboratoire d’Analyse et d’Architecturedes Systemes. [Online]. Available: http://homepages.laas.fr/bernard/tina/

595

Powered by TCPDF (www.tcpdf.org)