The fcTools User

action t tti r t tti r t tti r think1 t i t i t i tau ta ta ta eat1 t ea t eat ea ~tau ta ta ta think2 t i t i t i tau ta ta ta eat2 t ea t eat ea ~tau ta ta ta think3 t i t i t i tau ta ta ta bad-philo il il il il il il il il Figure 7: philosophers abstract-action and eat and the third one can take a fork without any drop have been performed. if such a path exits it will be replace by a single transition labeled with bad-philo. The fc2 description below corresponds to the translated form of the gure7. nets 1 hook"main" > 0 struct"Autograph Window" net 0 structs 1 :0 "abstract-action" behavs 6 :0 "eat1" :1 "eat2" :2 "think1" :3 "think2" :4 "think3" :5 "bad-philo" struct 0 logic "initial">0 hook "abstract_action" vertice 9 vertex0 edges 1 edge0 behav 2 -> 1 vertex1 edges 1 edge0 behav tau -> 2 vertex2 edges 1 edge0 behav 0 -> 3 vertex3 edges 2 edge0 behav 3 -> 4 edge1 behav ~tau 19 -> 3 vertex4 edges 1 edge0 behav tau -> 5 vertex5 edges 1 edge0 behav 1 -> 6 vertex6 edges 2 edge0 behav 4 -> 7 edge1 behav ~tau -> 6 vertex7 edges 1 edge0 behav tau -> 8 vertex8 behav 5 8.1 The Explicit Abstractor fc2abst To run the explicit abstractor, two fc2 les must be provided: 1. the network description of the system 2. the automaton description of abstract actions The global product is computed wrt the abstract action and instead of producing the whole global system, only the abstracted one is built. 8.2 The Implicit Abstractor fc2iabst From the transition relation of the global automaton and the abstraction criterion, an abstract transition relation is built. Then, to get the abstract model, we compute the reachable states from the initial state with the new transition relation. The command fc2iabst is actually a restricted use of the tool command fc2implicit. One has in fact to give two fc2 les as input to the command, the rst being the network description and the second the abstract criterion. Result output option is automatically set. See section 2.3 for Unix command syntax. 9 Veri cation by Observers and Comparisons A great deal of practical veri cation is usually conducted by compiling an automaton-like structure from the property to establish, with possibly additional annotations on states and transitions of various sorts (success, failure or recur states, don't care transitions,.). Veri cation then starts by constructing a synchronised product of the (usually large) network state space with the (usually smaller) state space of the observer stucture. One can attempt to introduce the actual veri cation algorithms in the middle of this construction, to get potential negative results as early as possible (known as \on the y" or \local" techniques). Here again the distinction between implementations based on explicit and implicit state representation are relevant, and here symbolic techniques are usually a clear winner, the more so if no representation 20 of subsets of transitions are required, and only forward search across states is needed (since backward search may exit the reachable state space and needs to be controled). The combined construction poses little problem. For counterexample facility one has to recover symbolically these states from the network which can be couple (in the synchronous product) to particular states of the observers (these showing success or failure.). Results are then analysed, which in case of undesirable reachable states leads usually to a counterexample path in the product. Source recovery functions are then needed to uplift this diagnostic back to the original multi le network description. 21 References [1] A. Bouali and R. de Simone. Symbolic bisimulation minimisation. In Fourth Workshop on Computer-Aided Veri cation, volume 663 of LNCS, pages 96{108, Montreal, 1992. Springer-Verlag. [2] P.C. Kanellakis and S.A. Smolka. CCS expressions, nite state processes, and three problems of equivalence. Information and Computation, 86:43{68, 1990. [3] E. Madelaine and R. de Simone. The FC2 Reference Manual. available by ftp from cma.cma. fr:pub/verif as le fc2refman.ps. gz, 1993. [4] J.K. Ousterhout. Tcl and the Tk Toolkit. Professional Computing Series. Addison-Wesley, 1994. 22