160 likes | 331 Views
The State Explosion Problem - Introduction. Stephan Kugelmann Aalto University – School of Science Stephan.kugelmann@aalto.fi. Two main approaches to checking that a concurrent system is correct. Theorem proving Specially trained personnel needed
E N D
The State Explosion Problem - Introduction Stephan Kugelmann Aalto University – School of Science Stephan.kugelmann@aalto.fi
Twomainapproachestocheckingthat a concurrentsystemiscorrect • Theorem proving • Speciallytrainedpersonnelneeded • Doesn‘tprovidegooddebugginginformation • State spacemethods • Incompleteanalysis. Doesn‘tprovecorrectness. • State explosion
Already trivial systemscanhave a high numberofstates Dining philosophers Token ring protocol States numberofphilosophers States numberofstations http://en.wikipedia.org/wiki/File:Dining_philosophers.png
Definition of State Spaces • The statespaceisdefinedasthetuple • is a setofstates. • is a setofstructuraltransitions. • is a setofsemantictransitions. • is a setofinitialstates.
Semantictransitions • Formally: • Simplified(processalgebra): or • Petri nets:
Executionof a system • Finite: , Deadlocking, if last stateis a deadlock=> complete Last stateenabledstructualtransitions => incomplete • Infinite: , complete
Abstractionsof States andTransitions • setof (atomic) propositions • Formally: • E.g.:“Process 2 is in itscriticalsection“ • setof observable transitionlabels • E.g.: “press_start_button“, “send_message<123>“ • a unobservableaction.
Evaluation functionstodeterminethevaluesfor a statespace , newnamestostructurualtransitions. e.g. reset_x
Stuttering, an importantissuearisingwith–abstractedexecustions forsome forsome
State-basedand action-basedformalisms • Can beconvertedintoeachother • State informationencodedintoactions : and stored Alternative:
Action informationencodedasstates (X,a) a a X (X,b) b b