11.07.2015 Views

State Based Control of Timed Discrete Event Systems using Binary ...

State Based Control of Timed Discrete Event Systems using Binary ...

State Based Control of Timed Discrete Event Systems using Binary ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 5. BDD based implementation 41In order to do these computations we employ binary decision diagrams (BDDs) as therepresentation <strong>of</strong> predicates.The algorithm for finding the reachable states is as follows:Reachable<strong>State</strong>s := Initial<strong>State</strong>;DO{tmp := Reachable<strong>State</strong>s;new := Next<strong>State</strong>s(Reachable<strong>State</strong>s, T );Reachable<strong>State</strong>s := Reachable<strong>State</strong>s ∨ new;}While tmp ≠ Reachable<strong>State</strong>s;Actually, we have started from the initial state and find all the states we can reachfrom it.As stated in Chapter 3, ordering <strong>of</strong> the variables in a BDD is one <strong>of</strong> the most importantoptimizations.The variables we have in finding the transition predicate are:act, t σ1 , ..., t σn , act ′ , t ′ σ 1, ..., t ′ σ n. Since the number <strong>of</strong> elements in the domain <strong>of</strong> each variableis greater than 2, each variable itself consists <strong>of</strong> a number <strong>of</strong> BDD variables. Themore closely coupled two variables are, the “closer” the two components should be placedin the BDD. In our algorithm, the variables representing t σ and t ′ σ should be adjacentbecause in most <strong>of</strong> the transitions t σ and t ′ σ differ only in one or zero unit <strong>of</strong> time. If weuse a different ordering <strong>of</strong> variables, the number <strong>of</strong> BDD nodes will be increased andthe algorithm may become much too slow.One <strong>of</strong> the main problems in working with BDDs is the problem <strong>of</strong> “intermediate nodenumber explosion” [30][18], i.e. although the number <strong>of</strong> BDD nodes in the final resultmay not be large, it could be tens <strong>of</strong> times larger during the synthesis process, or moreaccurately, during the generation <strong>of</strong> reachable states. In order to reduce this problem in

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

Saved successfully!

Ooh no, something went wrong!