checking states and transitions of a set of communicating
play

Checking states and transitions of a set of communicating finite - PowerPoint PPT Presentation

Checking states and transitions of a set of communicating finite state machines R.M. Hierons Professor of Computing in Brunel University Yousra Lembachar University of California Riverside December 9, 2010 1/12 What is a model consisting of


  1. Checking states and transitions of a set of communicating finite state machines R.M. Hierons Professor of Computing in Brunel University Yousra Lembachar University of California Riverside December 9, 2010 1/12

  2. What is a model consisting of communicating finite state machines? One FSM produces an output that is placed in the input queue of another FSM a/c d/f 2 3 2 3 a/y d/y b/x c/y b/e b/y c/x a/x c/x M = M 1 | M 2 1 1 M 1 M 2 d/x ◮ Global state (M) = ( s ( M 1 ) , s ( M 2 )) , q ( M 1 ) , q ( M 2 )) ◮ A local transition is (1 , 2 , a/x ) and (1 , 2 , c/x ) ◮ A global transition is ((3,3),(2,1),a/y) ◮ A stable state is when all the queues are empty ◮ (2,3) with b at the input queue of M 2 is not a stable state 2/12

  3. Why don’t we generate the product machine of these FSMs and apply standard methods? ◮ If the model M has n CFSMs, each CFSM i having n i states, ◮ The number of the transitions of M is O ( | X | Π i = n i =1 ( ni ) 2 3 2 3 (1 , 2) (1 , 3) (1 , 1) M 1 1 M 1 M 2 (2 , 1) (3 , 1) The potential states of M are (( 1 , 1 ), ( 1 , 2 ), ( 1 , 3 ), ( 2 , 1 ), ( 2 , 2 ), ( 2 , 3 ), ( 3 , 1 ), ( 3 , 2 ), ( 3 , 3 )) 3/12

  4. Why don’t we generate the product machine of these FSMs and apply standard methods? ◮ If the model M has n CFSMs, each CFSM i having n i states, ◮ The number of the transitions of M is O ( | X | Π i = n i =1 ( ni ) 2 3 2 3 (1 , 2) (1 , 3) (1 , 1) M 1 1 M 1 M 2 (2 , 1) (3 , 1) Checking only local transitions ⇒ O (Σ i = n i =1 | X i | n i ) 3/12

  5. Outline Assumptions Avoiding fault masking while testing local and global transitions Checking local states Checking global states 4/12

  6. Assumptions ◮ M = M 1 | ... | M n ◮ No errors in communications and queueing ◮ Local transitions correct ⇒ Global transitions correct ◮ M i has one initial state ◮ M i is deterministic, minimal, strongly connected and completely specified ◮ The input alphabets of the M i are disjoint ◮ M is a deterministic model, deadlock and live-lock free ◮ Only stable states are considered ◮ M is equivalent to the product machine ◮ Only output errors and transfer errors are considered 5/12

  7. Fault masking ◮ Masking an output fault 2 3 2 3 2 3 2 3 a/x a/b 1 1 1 1 ′ ′ M 1 M 2 b/x M M 1 2 ( 1 , 1) , (2 , 1) , a/x ) ◮ Masking a state transfer fault a/x a/b 2 3 2 3 2 3 2 3 c/x c/y a/x c/y a/x 1 1 1 1 M 1 M 2 ′ ′ b/c M M 1 2 (( 1 , 1) , (1 , 1) , ac/xy ) (( 3 , 1) , (3 , 1) , a/x ) 6/12

  8. Avoiding fault masking ◮ Assumption: When testing a local transition t , all other transitions executed are correct ◮ Finding a set of global transitions that contain t that allow any fault in t to be revealed b/y b/y 2 3 2 3 2 3 2 3 a/x a/b 1 1 1 1 b/x ′ ′ b/x M 1 M 2 M M 1 2 ◮ A test from (1,1) with a will not reveal the fault since the output = x ◮ A test from (1 , 3) with a will reveal the fault since the output = y 7/12

  9. Checking local states ◮ Finding the input sequence u that may check s for some set of states of the other M j ∈ M a/c d/f 3 2 3 2 a/y d/y b/x c/x c/y b/e b/y a/x c/x 1 1 M 1 M 2 d/x ◮ (1 , _ ) a/x ◮ (1 / 2 , _ ) c/x ◮ (3 , _ ) a/c ◮ (3 , _ ) c/y a checks that M 1 in state 1 iff M 2 is in state 3. ⇒ Constrained identification sequence CIS 8/12

  10. Checking global states ◮ Choose a CIS for each local state and execute the test sequence ... but, there are maybe some dependencies in the CIS! Checking s i ⇒ M j in s j and s j correct � if s i and s j are incorrect? Checking s j ⇒ M i in s i and s i correct ⇒ Dependency circularity 9/12

  11. Dependency digraph Directed graph G D = ( V D , E D ) where V D is ( d 1 , ..., d n ) and d i representes M i . a/c d/f 3 d 1 2 3 2 a/y d/y b/x c/x c/y b/e b/y a/x c/x 1 1 d 2 M 1 M 2 d/x  CIS 1 : We can use a to check state 1  iff M 2 is in state 3  ⇒ Cycle free graph CIS 2 : We can use c to check 3 ⇒ We can use these CIS to test the final global state (1,3). 10/12

  12. Dependency digraph Directed graph G D = ( V D , E D ) where V D is ( d 1 , ..., d n ) and d i representes M i . a/c d/f 3 d 1 2 3 2 a/y d/y b/x c/x c/y b/e b/y a/x c/x 1 1 d 2 M 1 M 2 d/x  CIS 1 : We can use a to check state 1  iff M 2 is in state 3  ⇒ Cycle free graph CIS 2 : We can use c to check 3 ( c/x, d/y, c/y ) , reset, ( c/x, d/y, a/x ) 10/12

  13. Sequencing CIS a/c d/f 3 d 1 2 3 2 a/y d/y b/x c/x c/y b/e b/y a/x c/x 1 1 d 2 M 1 M 2 d/x ◮ The edges of the dependency graph impose an ordering that may reduce the test effort. d 1 d 3 O 1 O 3 d 3 d 2 O 4 O 2 These CISs cannot be sequenced since there is a cycle. Partitioning the set of CIS ⇒ many cycle free order digraphs. 11/12

  14. Sequencing CIS a/c d/f 3 d 1 2 3 2 a/y d/y b/x c/x c/y b/e b/y a/x c/x 1 1 d 2 M 1 M 2 d/x ◮ Edge from d 1 to d 2 ⇒ u 1 depends on s ( M 2 ) ⇒ u 1 before u 2 since ( u 2 will change s ( M 2 ) .) d 1 d 3 O 1 O 3 d 3 d 2 O 4 O 2 These CISs cannot be sequenced since there is a cycle. Partitioning the set of CIS ⇒ many cycle free order digraphs. 11/12

  15. Sequencing CIS a/c d/f 3 d 1 2 3 2 a/y d/y b/x c/x c/y b/e b/y a/x c/x 1 1 d 2 M 1 M 2 d/x ( c/x, d/y, a/x, c/y ) instead of ( c/x, d/y, c/y ) , reset, ( c/x, d/y, a/x ) d 1 d 3 O 1 O 3 d 3 d 2 O 4 O 2 These CISs cannot be sequenced since there is a cycle. Partitioning the set of CIS ⇒ many cycle free order digraphs. 11/12

  16. Conclusions ◮ An interesting approach when testing a model consisting of CFSMS. ◮ Testing transitions and checking states using constrained identification sets ⇒ avoids generating the product machine. ◮ CIS ⇒ circuit of dependencies ⇒ finding a consistent set of CIS with a circuit free digraph. + sequencing is possible to reduce the test effort. ◮ No focus on how to generate the CIS or how to get a circuit free order digraph. 12/12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend