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

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

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

Chapter 20<br />

STATE SPACE COMPRESSION IN HISTORY<br />

DRIVEN QUASI-STATIC SCHEDULING<br />

Antonio G. Lomeña 1 , Marisa López-Vallejo 1 , Yosinori Watanabe 2 and<br />

Alex Kondratyev 2<br />

1 Electronic Engineering Department. ETSI Telecomunicación, Universidad Politécnica <strong>de</strong><br />

Madrid, Ciudad Universitaria s/n, 28040, Madrid, Spain, E-mail:<br />

{lomena,marisa}@die.upm.es; 2 Ca<strong>de</strong>nce Berkeley Laboratories, 2001 Addison Street, 3rd<br />

Floor, Berkeley, CA 94704, USA, E-mail: {watanabe,kalex}@ca<strong>de</strong>nce.com<br />

Abstract. This paper presents efficient compression techniques to avoid the state space<br />

explosion problem during quasi-static task scheduling of embed<strong>de</strong>d, reactive systems.<br />

Our application domain is targeted to one-processor software synthesis, and the scheduling<br />

process is based on Petri net reachability analysis to ensure cyclic, boun<strong>de</strong>d and live programs.<br />

We suggest two complementary compression techniques that effectively reduce the size of the<br />

generated schedule and make the problem tractable <strong>for</strong> large specifications.<br />

Our experimental results reveal a significant reduction in algorithmic complexity (both in<br />

memory storage and CPU time) obtained <strong>for</strong> medium and large size problems.<br />

Key words: hash table, state explosion, quasi-static scheduling<br />

1. INTRODUCTION<br />

During the last years, the use of <strong>de</strong>sign methodologies based on <strong>for</strong>mal<br />

methods has been encouraged as a means to tackle the increasing complexity<br />

in the <strong>de</strong>sign of electronic systems. However, traditional <strong>for</strong>mal verification<br />

methods such as mo<strong>de</strong>l checking or reachability analysis have the drawback<br />

of requiring huge computing resources.<br />

In this paper we address the problem of software synthesis <strong>for</strong> embed<strong>de</strong>d,<br />

reactive systems, using Petri nets (PNs) as our un<strong>de</strong>rlying <strong>for</strong>mal mo<strong>de</strong>l and<br />

reachability analysis as a way to <strong>for</strong>mally obtain a valid quasi-static task<br />

schedule that ensures cyclic, buffer boun<strong>de</strong>d, live programs [2]. To overcome<br />

the state space explosion problem that is inherent to the reachability analysis,<br />

we suggest two complementary techniques <strong>for</strong> schedule compression. The first<br />

technique explores the reachability space at a coarser granularity level by<br />

doing scheduling in big moves that combine the firing of several transitions<br />

at once. The second technique uses a dynamic, history based criterion that<br />

prunes the state space of uninteresting states <strong>for</strong> our application domain.<br />

The paper is organized as follows. Next section reviews previous work<br />

related to the reduction of the state space explosion. Section 3 states the<br />

261<br />

A Jerraya et al. (eds.), <strong>Embed<strong>de</strong>d</strong> <strong>Software</strong> <strong>for</strong> SOC, 261–274, 2003.<br />

© 2003 Kluwer Aca<strong>de</strong>mic Publishers. Printed in the Netherlands.

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

Saved successfully!

Ooh no, something went wrong!