Subject-Observer system for 1 subject

Models

Component-Interaction automata model / Labelled Kripke structure model:

CI control component model - Subject CI user model - Observer

Size

size of the system with the control component and n users without symmetry reduction.

n 1 2 3 4 5 6 7 8
size of the system with n users 35 230 1 430 8 480 48 320 266 240 1 425 920 7 454 720

Extended information

- information involving verification of the reachability properties on the model.

Cutoffs

l 0 1 2 3 4 5
Cutoff 3 4 5 6 7 8

Reachable states, Unreachable l+1-tuples

- The following table describes all reachable states in the system with any number of clients. For example

                 1 2 3 4 5 6 7
(1, 1, 1, 2)  || * - * - * 1 *  

describes that if the control component is in the state (1, 1, 1, 2) then it is possible that an arbitrary number of users are in the local states 1, 3, 5, 7 (symbol "*"), no user is in the states 2, 4 (symbol "-"), and exactly one user is in the state 6 (symbol "1").

- The (l+1)-tuples after each line denotes all unreachable (l+1)-tuples which do not contain an unreachable i+1-tuple for some i < l. An interesting fact is that such tuples are only 1+1-tuples and 2+1-tuples

       Reachable states                             Unreachable l+1-tuples 
                 1 2 3 4 5 6 7                                                                              
(1, 1, 1, 1)  || * - * - * - *              ((1,1,1,1),2),   ((1,1,1,1),4),   ((1,1,1,1),6)         
(1, 1, 1, 2)  || * - * - * 1 *              ((1,1,1,2),2),   ((1,1,1,2),4),   ((1,1,1,2),6,6)        
(1, 1, 2, 1)  || * - * 1 * - *              ((1,1,2,1),2),   ((1,1,2,1),4,4), ((1,1,2,1),6)          
(1, 1, 2, 2)  || * - * 1 * 1 *              ((1,1,2,2),2),   ((1,1,2,2),4,4), ((1,1,2,2),6,6)         
(1, 2, 1, 1)  || * 1 * - * - *              ((1,2,1,1),2,2), ((1,2,1,1),4),   ((1,2,1,1),6)          
(1, 2, 1, 2)  || * 1 * - * 1 *              ((1,2,1,2),2,2), ((1,2,1,2),4),   ((1,2,1,2),6,6)       
(1, 2, 2, 1)  || * 1 * 1 * - *              ((1,2,2,1),2,2), ((1,2,2,1),4,4), ((1,2,2,1),6)         
(1, 2, 2, 2)  || * 1 * 1 * 1 *              ((1,2,2,2),2,2), ((1,2,2,2),4,4), ((1,2,2,2),6,6)        
(2, 1, 1, 1)  || * - * - * - *              ((2,1,1,1),2),   ((2,1,1,1),4),   ((2,1,1,1),6)         
(2, 1, 1, 2)  || * - * - * 1 *              ((2,1,1,2),2),   ((2,1,1,2),4),   ((2,1,1,2),6,6)        
(2, 1, 2, 1)  || * - * 1 * - *              ((2,1,2,1),2),   ((2,1,2,1),4,4), ((2,1,2,1),6)          
(2, 1, 2, 2)  || * - * 1 * 1 *              ((2,1,2,2),2),   ((2,1,2,2),4,4), ((2,1,2,2),6,6)         
(2, 2, 1, 1)  || * 1 * - * - *              ((2,2,1,1),2,2), ((2,2,1,1),4),   ((2,2,1,1),6)          
(2, 2, 1, 2)  || * 1 * - * 1 *              ((2,2,1,2),2,2), ((2,2,1,2),4),   ((2,2,1,2),6,6)       
(2, 2, 2, 1)  || * 1 * 1 * - *              ((2,2,2,1),2,2), ((2,2,2,1),4,4), ((2,2,2,1),6)         
(2, 2, 2, 2)  || * 1 * 1 * 1 *              ((2,2,2,2),2,2), ((2,2,2,2),4,4), ((2,2,2,2),6,6)        
(3, 1, 1, 1)  || * - * - * - *              ((3,1,1,1),2),   ((3,1,1,1),4),   ((3,1,1,1),6)         
(3, 1, 1, 2)  || * - * - * 1 *              ((3,1,1,2),2),   ((3,1,1,2),4),   ((3,1,1,2),6,6)        
(3, 1, 2, 1)  || * - * 1 * - *              ((3,1,2,1),2),   ((3,1,2,1),4,4), ((3,1,2,1),6)          
(3, 1, 2, 2)  || * - * 1 * 1 *              ((3,1,2,2),2),   ((3,1,2,2),4,4), ((3,1,2,2),6,6)         
(3, 2, 1, 1)  || * 1 * - * - *              ((3,2,1,1),2,2), ((3,2,1,1),4),   ((3,2,1,1),6)          
(3, 2, 1, 2)  || * 1 * - * 1 *              ((3,2,1,2),2,2), ((3,2,1,2),4),   ((3,2,1,2),6,6)       
(3, 2, 2, 1)  || * 1 * 1 * - *              ((3,2,2,1),2,2), ((3,2,2,1),4,4), ((3,2,2,1),6)         
(3, 2, 2, 2)  || * 1 * 1 * 1 *              ((3,2,2,2),2,2), ((3,2,2,2),4,4), ((3,2,2,2),6,6)        
(4, 1, 1, 1)  || * - * - * - *              ((4,1,1,1),2),   ((4,1,1,1),4),   ((4,1,1,1),6)         
(4, 1, 1, 2)  || * - * - * 1 *              ((4,1,1,2),2),   ((4,1,1,2),4),   ((4,1,1,2),6,6)        
(4, 1, 2, 1)  || * - * 1 * - *              ((4,1,2,1),2),   ((4,1,2,1),4,4), ((4,1,2,1),6)          
(4, 1, 2, 2)  || * - * 1 * 1 *              ((4,1,2,2),2),   ((4,1,2,2),4,4), ((4,1,2,2),6,6)         
(4, 2, 1, 1)  || * 1 * - * - *              ((4,2,1,1),2,2), ((4,2,1,1),4),   ((4,2,1,1),6)          
(4, 2, 1, 2)  || * 1 * - * 1 *              ((4,2,1,2),2,2), ((4,2,1,2),4),   ((4,2,1,2),6,6)       
(4, 2, 2, 1)  || * 1 * 1 * - *              ((4,2,2,1),2,2), ((4,2,2,1),4,4), ((4,2,2,1),6)         
(4, 2, 2, 2)  || * 1 * 1 * 1 *              ((4,2,2,2),2,2), ((4,2,2,2),4,4), ((4,2,2,2),6,6)        
(5, 1, 1, 1)  || * - * - * - *              ((5,1,1,1),2),   ((5,1,1,1),4),   ((5,1,1,1),6)         
(5, 1, 1, 2)  || * - * - * 1 *              ((5,1,1,2),2),   ((5,1,1,2),4),   ((5,1,1,2),6,6)        
(5, 1, 2, 1)  || * - * 1 * - *              ((5,1,2,1),2),   ((5,1,2,1),4,4), ((5,1,2,1),6)          
(5, 1, 2, 2)  || * - * 1 * 1 *              ((5,1,2,2),2),   ((5,1,2,2),4,4), ((5,1,2,2),6,6)         
(5, 2, 1, 1)  || * 1 * - * - *              ((5,2,1,1),2,2), ((5,2,1,1),4),   ((5,2,1,1),6)          
(5, 2, 1, 2)  || * 1 * - * 1 *              ((5,2,1,2),2,2), ((5,2,1,2),4),   ((5,2,1,2),6,6)       
(5, 2, 2, 1)  || * 1 * 1 * - *              ((5,2,2,1),2,2), ((5,2,2,1),4,4), ((5,2,2,1),6)         
(5, 2, 2, 2)  || * 1 * 1 * 1 *              ((5,2,2,2),2,2), ((5,2,2,2),4,4), ((5,2,2,2),6,6)        
"*" - an arbitrary number of users, 
"-" - no user,
"1" - exactly one user.



[1] A. Poetzsch-Heffter, J. Aldrich, M. Barnett, D. Giannakopoulou, G. T. Leavens, and N. Sharygina http://www.cs.ucf.edu/~leavens/SAVCBS/2007/challenge.shtml

[2] P. Varekova and B. Zimmerova. Challenge problem: Subject-observer specification with component-interaction automata. In Proceedings of the ESEC/FSE Workshop on Specification and Verification of Component-Based Systems (SAVCBS'07), pages 75-81, Dubrovnik, Croatia, September 2007.