29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

262 Chapter 20<br />

problem <strong>de</strong>finition. In section 4 we present techniques that i<strong>de</strong>ntify promising<br />

sequences of transitions to be fired as a single instance during scheduling.<br />

Section 5 <strong>de</strong>scribes procedures to eliminate repetitions of markings inclu<strong>de</strong>d<br />

in the resulting schedule, and presents the results obtained <strong>for</strong> several<br />

experiments. Section 6 conclu<strong>de</strong>s the paper.<br />

2. RELATED WORK<br />

The <strong>de</strong>tection of symmetries as a method to mitigate the state explosion<br />

problem has been previously studied in [8]. This approach has the drawback<br />

of its computational complexity, which is exponential with respect to the graph<br />

size.<br />

The reduction theory tries to overcome this problem by per<strong>for</strong>ming a<br />

controlled simplification of the system specification. In [7] a series of trans<strong>for</strong>mations<br />

that preserve liveness, safety and boun<strong>de</strong>dness in ordinary PNs are<br />

introduced. However, the situations mo<strong>de</strong>led by these rules can be consi<strong>de</strong>red<br />

somewhat simple. In section 4 we show a powerful approach that<br />

combines behavioural and structural in<strong>for</strong>mation to achieve higher levels of<br />

reduction.<br />

Partial or<strong>de</strong>r methods are other approach to avoid the state repetitions that<br />

has been successfully employed, <strong>for</strong> example, in the <strong>for</strong>mal verifier SPIN<br />

[9]. Specifically, the persistent set theory [5] allows verifying properties that<br />

only <strong>de</strong>pend on the final state of the system and not on the history of traversed<br />

states. Un<strong>for</strong>tunately this method cannot be applied to our case, as we will<br />

see in section 3. Similarly, the theory of unfoldings [4] has been mainly<br />

<strong>de</strong>veloped <strong>for</strong> safe PNs while our application uses unboun<strong>de</strong>d nets.<br />

A different approach consists in storing the state space in a memory efficient<br />

manner. Implicit enumeration methods such as binary <strong>de</strong>cision diagrams,<br />

BDDs, or interval <strong>de</strong>cision diagrams, IDDs, aim at this goal [11]. However,<br />

the construction of these graphs tends to be time consuming and their<br />

per<strong>for</strong>mance highly <strong>de</strong>pends on the specific problem. This makes them unattractive<br />

<strong>for</strong> our applications.<br />

Hash tables [6] are another way to manage the storage of the reached states.<br />

We will use them in our work due to their simplicity and high efficiency.<br />

3. PROBLEM DEFINITION<br />

Our synthesis problem belongs to the same class that was introduced in [2].<br />

We <strong>de</strong>al with a system specification composed of concurrent processes. Each<br />

process may have input and output ports to communicate with other processes<br />

or with the environment. Ports communicating with the environment are called<br />

primary ports. Primary ports written by the environment are called uncontrollable<br />

since the arrival of events to them is not regulated by the system.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!