Saturation: An Efficient Iteration Strategy for ... - Semantic Scholar

34 downloads 21382 Views 1MB Size Report
NASA STI Help Desk. NASA Center for ... On top of usually performing ...... Free. --]Ouner i. , ni. Wrlte i V--. FtG. 5.1. Petri nets used in our experiments: round- ...
NASA/CR-2001-210663 ICASE

Report

No.

2001-5

Saturation: An Efficient Iteration Symbolic State-space Generation Gianfranco

Ciardo

The College Gerald The Radu

Strategy

of William

& Mary,

Williamsburg,

Virginia

Liittgen

University

of Sheffield,

Sheffield,

United

Kingdom

Siminiceanu

The College

February

of William

2001

& Mary,

Williamsburg,

Virginia

for

The

NASA

STI

Program

Office...

Since its founding, NASA has been dedicated to the advancement of aeronautics and space science. The NASA Scientific and Technical Information (STI) Program Office plays part in helping NASA maintain this important

CONFERENCE

PUBLICATIONS.

Collected

from scientific

papers

and

technical conferences, symposia, seminars, or other meetings sponsored cosponsored by NASA.

a key

or

role. SPECIAL technical,

The NASA STI Program Office is operated by Langley Research Center, the lead center for NASA's scientific and technical information.

NASA

collection

of aeronautical

programs,

projects,

and missions, having

and space

science STI in the world. The Program is also NASA's institutional mechanism disseminating development

PUBLICATION. Scientific, or historical information from

often concerned with subjects substantial public interest.

The NASA STI Program Office provides access to the NASA STI Database, the largest

in Profile

TECHNICAL

Office for

the results of its research and activities. These results are

published by NASA in the NASA STI Report Series, which includes the following report types:

TRANSLATION.

English-

language translations of foreign and technical material pertinent NASA's mission.

Specialized

services

scientific to

that complement

the

STI Program Office's diverse offerings include creating custom thesauri, building customized

TECHNICAL PUBLICATION. completed research or a major

Reports significant

of

phase of research that present the results of NASA programs and include extensive data or theoretical analysis. Includes

data bases, organizing and publishing research results.., even providing videos.

For more information Program

Office,

about

the NASA

STI

see the following:

compilations of significant scientific and technical data and information deemed to be of continuing reference counterpart of peer-reviewed professional

papers,

value. NASA's formal

but having



Access the NASA STI Program Page at http://www.sti.nasa.gov



Email your question help@ sti.nasa.gov



Fax your question

Home

less

stringent limitations on manuscript length and extent of graphic

via the Internet

to

presentations. TECHNICAL

MEMORANDUM.

Help Desk at (301)

to the NASA

STI

621-0134

Scientific and technical findings that are preliminary or of specialized interest, •

e.g., quick release reports, working papers, and bibliographies that contain minimal annotation. Does not contain extensive

analysis.

CONTRACTOR

Telephone the NASA (301) 621-0390

STI Help Desk at

Write to: REPORT.

Scientific

technical findings by NASA-sponsored contractors and grantees.

and

NASA STI Help Desk NASA Center for AeroSpace 7121 Standard Drive Hanover,

MD 21076-1320

Information

NASA/CR-2001-210663 ICASE

Report

No. 2001-5

=

_;_

_

._i_i!i.......

_-%i

_; _

Saturation: An Efficient Iteration Symbolic State-space Generation Gianfranco

Strategy

for

Ciardo

The College

of William

& Mary,

Williamsburg,

Virginia

Gerald L_ttgen The University

of Sheffield,

Sheffield,

United

Kingdom

Radu Siminiceanu The College

of William

& Mary,

Williamsburg,

Virginia

ICASE NASA Langley Hampton, Operated

Research

Virginia by Universities

Center Space Research

Association

National Aeronautics and Space Administration Langley Research Center Hampton, Virginia 23681-2199

February

2001

Prepared for Langley Research Center under Contract NAS 1-97046

Available

fi'om tile following:

NASA Center 7121 Standard Hanover,

for AeroSpace Drive

MD 21076

(301) 621 0390

1320

hffomlation

(CASI)

National

TectHficalhffomlation

5285 Port Royal

Road

Spfingfield, VA22161 (703) 487 4650

2171

Service(NTIS)

SATURATION:

AN

EFFICIENT

SYMBOLIC GIANFRANCO

Abstract. using

This

paper

Multi-valued

is not encoded application

as a single

of various strategy,

several

of magnitude

orders

peak

memory

Key

is often

words,

Subject

1.

Introduction. such

constructing

and

storing

Diagrams

sizes

techniques

eration

latter using

asynchronous an event This

systems,

requires

global

frameworks allowing

each event

including

Petri

each component results

consumption

nets

when

compared

these

updates

relatively the

of a system

This

permits

this paper

state

the

introduces performing

the algorithm's

required

spaces.

saturation,

state-space

fundamental

challenges

is itself

[31] and

vector

generation

with

work

symbolic

by the

which authors

which

construct

as a BDD

algebras

Decision fashion.

as it increased

the

state-space

generation

techniques

are known

not to work

suffer

state-space

from

in the

exploited

and state

context the

fact

state

the

local

spaces

functions

explosion.

of state-space that,

vector

[11]. Hence,

manipulation

in most satisfy

gen-

in event-based

by iteratively

[28]. Additionally,

[5], next-state

Binary

in a compact

circuits,

explicit

of a system's

functions

which

to be updated

state-space

traditional

requires

One research

usually

sets of states digital

formal

systems

of a workstation.

large

protocols,

for many

digital

diagrams,

of synchronous

encoded

of locality

memory

representing

next-state

process

of today's

use of decision

just a few components

techniques

ideas

small

[25] (MDDs),

of local

which

to other

systems

On top of usually

the overall

most

Unfortunately,

in previous Diagrams

of the state

implementing

functions.

In particular,

complexity

106 states,

[10].

BDD-based

function

function

generators,

diagrams,

high

as communication

application

to classic

for storing

verification

about

102° states

Decision

only the

next-state

from

was addressed

Multi-valued

is in contrast

single,

mental

problem

The

for implicitly

for the

such

space.

state-space

is one of the

suggests

structure

systems,

next-state

of integer

state

decision

in the

literature

spaces

[18, 19], to about

needed

[16].

spaces

successful

of state

well for asynchronous The

as a data

the

of asynchronous

Science

checkers

state

in the

to be very

manageable

memory

work,

spaces

it in the tool SMART.

BDD-based

generation

as model

pursued

[8] (BDDs),

proved

existing

Computer

huge

a system's

multi-valued

State-space

tools,

to related

state

as cross-products

to build

than

strategy,

but

FOR

AND RADU SIMINICEANU t

for generating

and implements

close to the final

iteration

widely

function,

saturation, faster

algorithm

STRATEGY

GENERATION*

L/JTTGEN$,

In contrast

strategies

called

verification

This

Boolean

classification.

direction

a novel

Diagrams.

iteration

a new elegant

STATE-SPACE

CIARDO t, GERALD

presents

Decision

ITERATION

firing

of MDDs. applying

a

concurrency

a product

somewhat

independently

of the others.

showed

significant

improvements

in speed

generators

[30].

form Experi-

and memory

*This work was supported by the National Aeronautics and Space Administration under NASA Contract No. NAS1-97046 while the authors were in residence at ICASE, NASA Langley Research Center, Hampton, VA 23681-2199, USA. G. Ciardo and R. Siminiceanu were also partially supported by NASA Grant No. NAG-I-2168. tDepartment of Computer Science, P.O. Box 8795, College of William and Mary, Williamsburg, VA 23187-8795, USA, emaih {ciardo, radu}@cs.wm.edu. SDepartment of Computer Science, The University of Sheffield, 211 Portobello Street, Sheffield $1 4DP, U.K., emaih [email protected].

In this state

paper

space

we take

considered

often

all events

affecting

considered The

enough

reduces We

on

case

390KB

Our

notation,

space evaluated

in

surveyed

in Section

2.

MDDs

high-level

for

states;

(ii)

s E S,

which

states

can

algebras,

and

Ale is the

can

enter

system

where

.....

space

2.1. structures common K

state

of our

of the

system;

and

this

of node

are

discussed

function

as

with

(iii)

in state

set

s.

saturation

system

e.

23,

models.

Finally,

for future

step.

Af -- [Jecc We

say

Moreover,

Ale,

that

where

Ale (s)

event

novel

e is called

is

work

expressed the

is

such

set

of

describing

as Petri

nets

set

of states

disabled

in a

"type"

function,

C is a finite

is the

state-

algorithm

related

model

cases,

much

framework

our

describing

next-state

In many

only

work.

system states

state

using

to engineers.

as well as our 4, and

the

PC

formal

in Section

directions

--+

our

to

requirements.

to handle

feedback

of

in contrast

III

be able

introduces

that

orders

associated

Pentium

faster

of potential

Af : S

a union

event

the

A discrete-state

the

in a single

to construct

system and

Spaces. S,

able

section

idea

and memory

will

proof

indicate

several

to its final

tools

saturated.

overhead,

studies

close

MHz

are

management.

and

important

provide

next

conclusions

State

state

also

cache

fires

elegant

administration

algorithm

on a 800

asynchronous

(i)

or fires,

paper

In

being and

functions

point

iterations,

other

words,

to the

to

E N, so that

encode

that

of the

model

closed

with

respect

in

$.

This

order,

as

which

are

known

i E $ if and $ is finite;

system

only

long to

is usually

consideration

is the

i.e.,

U Af(s)

Af,

$

-- {s}

Af is composed

as we

consider

yield

the

if it can

and

of events

the

system

in s if Ale (s)

-- _;

desired

be reached

for most

each

set

containing

U Af(Af(s))

U ....

functions

Ale often

enough.

This

i.e.,

reachable

point,

s through

zero

asynchronous

the

Ale, for

or more

systems,

e E C,

results

in state

event the

the Af* (s),

of several

fixed

from

practical

smallest

firings.

size

of $ is

problem.

Diagrams.

state

to When

however,

explosion

system

under

closure.

any

Decision

in asynchronous a global

C_ S

transitive

state-space

Multi-valued

case

$

s and

we assume

due

space

reflexive

these

fixed

$ [21].

enormous

e occurs,

state

denotes

iterate

In this

a suite

associated

The our

objects:

expresses

will

an

is

nodes

already

for

efficient

more

verification

details

three

a given

function

event

reachable

initial

"chaotic"

state from

a model

as follows.

Structured

we are

and

presents

often

1 second

state-based

possible

7 contains

specify

reached

problem,

Even

event

it is enabled.

The

we can

Section

are

in under

3 then

it to

[II].

old

reachable

exhaustively

are

experimental

our

the every

Moreover,

allows

much

more

as

which

shape.

also

and

than

algorithm

future

and

that long

descendants

but

[12],

faster

implementation

applying

initial

next-state

when

otherwise,

Section Some

must

be

that

all its

a simpler

SMART

philosophers'

is organized

Encoding

the

of our

strategy

eliminates

generators

is currently

paper

6, while

formalism

process

than

5 by

tool

philosophers,

imply

MDDs.

Section

the

state-space

dining

algorithm.

enables

in

results

including

and

as

saturated

concise,

saturation

observing

order,

a novel

is processed, only

by

in any

it to its final

[II],

of magnitude

further

events proposing

is not

algorithm

for I000

of this

generation

events,

requirements

systems

remainder

a node

work

order

by

bringing

when

previous

existing

states,

freedom

algorithm

step

system's

one

well-known

asynchronous The

other memory

10627

of memory.

larger

and

of the

new

about

peak

of about

our

the

thereby

i.e.,

of firing

the

the

work,

to

a significant

firing this

node,

fashion,

average than

by

exploit

MDD

number

faster

approach

built

generation

implemented

the

space

We

a given

average

magnitude

In

[21].

Compared

performs

related

be

state-space

the

previous

can

in a depth-first

resulting

of correctness.

it

our

of a system

One

possible

design, is a K-tuple

way

when

where

to cope the

system

a system

model

(iK,...

, il),

where

with has

this

problem

some

is composed i k is the

local

is to

structure. of t_ state

use We

efficient

data

consider

subraodels, for submodel

the

for some k.

(We

S 4 =

S = {1000, 1010, 1100, 1110, 1210, 2000,

{0,1,2,3}

s 3 = {o, 1,2}

2010, 2100, 2110,

s 2 = {o, 1} ¢_1

=

{0,

1,

2210, 3010, 3110, 3200, 3201, 3202,

2}

3210, 3211, 3212}

F_G.

use superscripts __ sK

× ...

for submodel × $1

with

can be partitioned

corresponding

submarkings.

local state

into

index

for that

nodes,

(0.0) and

node

(k-1.q),

as eliminating

same

level.

a node

(k.p),

(ik,ik-1,

encoded

would

cannot

"'"

=

{a E S K ×

E S k

by the MDD.

We reserve

the indexes

In particular,

B((0.0))

a system reached system

step. through models,

×

'''

×

:

acyclic

node,

of the

graph

Level they

K

where:

k is the level

node

nodes.

the

1}, for each

where

non-terminal

prefixed

= {0}.

(K.r),

the

0 consists

of

have a special

same

:

is often

of arcs

it through

as) another

any integer

-- (0.1)} = (k.p)}

by a substate

node

sequence

at the

7 ----dr

in A((k.p)),

(k.p);

"above"

(k.p).

form

a (global)

the sets 0 and Sk ×...

2.1 shows a four-level

$ using

a key difference

efficiently

"below"

example

state

encoded

× 31, respectively.

MDD

and the set S

stored.

space

expressible

for our purposes,

for K > k > l > 1, as

node((K.r),a)

Figure

next-state

for

levels.

pattern

from

for i E $a

[8, 9], we allow

respectively,

are actually

and

global

i th arc,

setting

if 7 = 0, the and empty{k.p)[i sequence (ik,5) k] = q.

over 2K variables,

we explicitly

If the

BDD

This will be convenient

multiple

reached

k-1.

original

node.

node((k.p),/3)

that,

However,

as an MDD

this function

S 1

the state

is straightforward.

of the

, n a-

0 or 1 because

at level

in the

k-l+1,

× S k-}-I

nodes

for generating

one step

a generic

Thus,

for example,

{0,...

non-terminal

0 and I at each level k to encode

highlighted

Instead,

node

"'"

= 0 and B((0.1))

function

the

p are then,

A((k.p))

the next-state

nets,

i.e., a directed

for indexes

indexes.)

as the composition

interval

only a single

to nodes

Unlike

(k.p) node({k-l.q),5)

{/_

to MDDs

integer

one or more

to the same

of length

S l

---

algorithms

for event

size n a. In Petri

(k.p) to denote

(i.e., have the

define

=

the substates

Many

it.

subscripts

MDD,

lead to arcs spanning

by p or reaching

by it; only the

by

can be written

initial

ordered)

pointing

= q.

duplicate

×

contains

encoded

the

encoded

later.)

B((k.p))

B((k.p))

finite

(We use boldface

all arcs pointing

S k-1 ×

$

and

Level K contains

(k.p)[i]

node({k.p),7) The substates

with

1 contain

(0.1).

we can recursively ×

space

some

We write

has n a arcs

node

"'" ,i l) E S k

having

sa

(k.p)

such nodes

state

and the marking

we write having

* A non-terminal

sa

level.

through

as we will explain

nodes,

space

K + 1 levels.

two terminal

redundant

the

$ C_S via a (quasi-reduced

K-1

is to node

and

for exponentiation--

identifying

levels

* A non-terminal

them

--not

root, whereas

meaning,

MDD

into K subsets,

are organized

and p is a unique

Thus,

example

When

K > k > 1, one can encode * Nodes

An

indexes

each

set of places

Given

2.1.

BDDs

update

been

proposed

in our new approach

recording

function

have

the

MDD when

as the cross-product

K state nodes

firing

is that

directly,

before

adding event.

next-state

adapting

we do not encode

components

a given

of local

[28], and

the

and after new

states

For asynchronous functions.

2.2. Product-form Behavior. An asynchronous systemmodelexhibitssuchbehaviorif, for each evente, its next-state function Ale can be written as a cross-product of K local functions, i.e., Ale = Afff

× ...

First,

× A;_ where

many

partition

modeling

formalisms

of its places.

coarsen where

H k : Sk ___+ 2 Sk ' for all K > k > 1. This requirement

Second,

K or refine

since,

we may

in the

with

worst

Afe_,j (i a) =

representations, However,

this

Finally, state

and

Afe_,j (i 2) =

where

K

= 1 or where

some

Af_k = Af_

Aft to substates

sets of states: for _" c g. 3.

A Novel

event-based state enough

then

iteration

strategy.

previous

work

level k, all events As main

e with

contribution

only simplifies

idea is to fire events we say that the firing shown

of any event

by contradiction

routine of the

node

for firing state respect

space

concentrate Just

that

under

on the

as in traditional

nodes,

and

paper,

functions states

operation

event.

k, if the

x Hcz(il),

local be

= k are said to be requirement,

Alek' while Af_k (i')

that

that

= {i'} for

by gk.

We also

for K > k > l > 1; to

Af_-(X)

are found.

= Oec_-Afe(X),

the

for each

We refer to a specific

through

The

of an

system's

is considered order

of state-space

MDDs

behavior

event.

as long as each

the efficiency

cycled

we describe

function

in any order,

influences

strategy

we present but

a novel

often

of iteration

generation.

level-by-level

iteration

strategy,

improves

its time

of level-wise

and just

also significantly

and exhaustively,

instead

if it encodes

any node

below

in order

to reveal

construction, on which

can be carried solely

Recall

next-state

a set of states

at its level or at a lower level, i.e., if/3((k.p})

to the levels

manipulations

these

(k.p} is saturated

some event,

]'

as

In our

and fired, at each

= k.

algorithm,

node-wise

an MDD

k

to explicit

and Last(e)

at level k is denoted

= H_(i k) x ...

Saturation.

of strategy

a naive

of this

our previous

¢

the product-form

× SZ; and to sets of events:

a product-form

reachable

choice

First(e)

× ...

Node

using

by iterating

the

,il))

on level

= Last(e)

Af_k = O{e:First(e)=Last(e)=k}

H¢((ik,...

e _a'2¢i_

to a different

of e. Let First(e)

violating

"starting"

(ja,j2)

in our studies.

e depends

First(e)

is possible

Af__ Last(e)

the

table,

on nodes safely

).

ll.

Node

is updated

to (1.1)

(*, 0, 1), with

arbitrary

the sequence

(1.3)

to point

(cf. Snapshot first

of calls RecFire(es1,1,

and its arc (1.3)[0]

to the unique

to the MDD,

arc (2.2)[1]

component, (2.2)[0])

is set to 1 (cf. Snapshot

then

becomes

identical

to node

but

deleted.

Returning

from

table

to the outcome

since the state

of the firing

(c)).

and (d)),

(1.1)

(cf.

RecFire

on

(cf. Snapshot

set 3 3 × {1} × {0} was already

(f)).

encoded

level

event:/1

3

*

2

*

1

event:/2

event:13event:e21event:e321



1_0



0_1



0_1

0_2



1_0

0_1

0_1,2_1

0_1,1_2,2_0

*

2

2

@

@

(1) (a)

(d)

(f)

(e)

2

_2

2

1

@

@

(k)

_2

(in)

(1) F_G. 3.2. * Snapshots

(f-o):

event

e321

result

of the

causing

is,

second

the

only

that

state

({0}

X

To summarize, final

of work any

encapsulated

(cf. 2

X

S

since

diagram needed

further

fire

or to

state in

is marked

is now

enabled,

by

Check

events

({1}

(o)).

Thus,

x {1,2}

x

MDD

nodes

will

eventually

are

explore

subspaces.

discovered

that

{k.p)

and

its

become

descendants.

(2.1)

(cf. Snapshot 0, and

to

the

(cf.

the

(m)).

returns

(1.1),

be

(k))

The

result

This

node

node the

overall

will

either

at

is a new encoding (2.2)

deleted. (3.2)

not

(3.2)

descendant and

and

exhaustively

in node

former

disconnected

and

(h-j)),

Snapshot

disabled

whence

the

node

to

(3.2)[0]).

MDD,

terminates

to

known

found

(3.2)[1],

it to become

algorithm

of e321

but

Snapshots

equal

now

Union(2,

states

(cf.

enabled, encoding

in

Further is declared state

space

Sl).

saturated

uses

our

firing

was

in position

causing more

The

13 is not of nodes

saturated

it becomes

which

node

(3.2)

event

a chain

x {1, 2} x $1

calls

reserved

no

MDD.

routines.

Local

is in turn since

{1}

its firing

(n)),

add

build

RecFire

Event/3,

of node

e321

2).

to

to the

saturated.

Snapshot

Saturate(3,

deleted,

subspace

and

and RecFire

of them

to be

added

to be the

13 or

calls

Each

entire

descendant (cf.

we call

(1.4)

to be

the

(2.3)

as the

U

(2.3) but

Snapshot 1)

node

of the Saturate

The

(g-i)).

created

is removed

to

S

Snapshots

node

is found

saturated

(0, 0, 0).

(1, 2, 1),

is added

position

is saturated,

newly

node

which x $1

(2.2)

(cf.

attempt,

attempts

the

the

as

first

node $2

firing

of the execution

pattern

the

saturated

adds

explored, the

Once by

first

Example

(n)

as soon

as they

disconnected,

are created,

but

Once

all

events

{k.p)

for

its

in

encoding

ga

never are

be

each

node

modified.

exhaustively

benefits

in

advance

This fired

reduces in

from

some the

be present the node

in

amount {k.p),

"knowledge"

4.

Garbage

gorithm

Collection,

by means

collection

policies,

on extending 4.1.

mention

such that

(k.p) is disconnected

in traditional

symbolic

In our algorithm, nodes

set and its arcs

(k.p)[i]

a hit in the

the delete-flag decide

the indexes

union

the

the entries

in UC[k]

of numbers

of nodes

is optimal

4.2.

loops

consider

these

explored

without

speed-ups

/3(

Suggest Documents