Context constraints for compositional reachability analysis

Behavior analysis of complex distributed systems has led to the search for enhanced reachability analysis techniques which support modularity and which control the state explosion problem. While modularity has been achieved, state explosion in still a problem. Indeed, this problem may even be exacerbated, as a locally minimized subsystem may contain many states and transitions forbidden by its environment or context. Context constraints, specified as interface processes, are restrictions imposed by the environment on subsystem behavior. Recent research has suggested that the state explosion problem can be effectively controlled if context constraints are incorporated in compositional reachability analysis (CRA). Although theoretically very promising, the approach has rarely been used in practice because it generally requires a more complex computational model and does not contain a mechanism to derive context constraints automatically. This article presents a technique to automate the approach while using a similar computational model to that of CRA. Context constraints are derived automatically, based on a set of sufficient conditions for these constraints to be transparently included when building reachability graphs. As a result, the global reachability graph generated using the derived constraints is shown to be observationally equivalent to that generated by CRA without the inclusion of context constraints. Constraints can also be specified explicitly by users, based on their application knowledge. Erroneous constraints which contravene transparency can be identified together with an indication of the error sources. User-specified constraints can be combined with those generated automatically. The technique is illustrated using a clients/server system and other examples.

[1]  D. Walker,et al.  A Calculus of Mobile Processes, Part I , 1989 .

[2]  守屋 悦朗,et al.  J.E.Hopcroft, J.D. Ullman 著, "Introduction to Automata Theory, Languages, and Computation", Addison-Wesley, A5変形版, X+418, \6,670, 1979 , 1980 .

[3]  George S. Avrunin,et al.  Experiments with an improved constrained expression toolset , 1991, TAV4.

[4]  Shing-Chi Cheung,et al.  Compositional reachability analysis of finite-state distributed systems with user-specified constraints , 1995, SIGSOFT FSE.

[5]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

[6]  S. Smolka Analysis of communicating finite-state processes , 1984 .

[7]  David Harel,et al.  On visual formalisms , 1988, CACM.

[8]  Bernhard Steffen,et al.  Compositional Minimization of Finite State Systems , 1990, CAV.

[9]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

[10]  Morris Sloman,et al.  The System Architect's Assistant for design and construction of distributed systems , 1993, 1993 4th Workshop on Future Trends of Distributed Computing Systems.

[11]  Alexander Moshe Rabinovich,et al.  Checking Equivalences Between Concurrent Systems of Finite Agents (Extended Abstract) , 1992, ICALP.

[12]  Robin Milner,et al.  Verifying a Protocol Using Relativized Bisimulation , 1987, ICALP.

[13]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[14]  Kim G. Larsen,et al.  Compositional Theories Based on an Operational Semantics of Contexts , 1989, REX Workshop.

[15]  Krishan K. Sabnani,et al.  An algorithmic procedure for checking safety properties of protocols , 1989, IEEE Trans. Commun..

[16]  Kuo-Chung Tai,et al.  An incremental approach to reachability analysis of distributed programs , 1993, Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design.

[17]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[18]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[19]  Dirk Taubner,et al.  Verification in Process Algebra of the Distributed Control of Track Vehicles - A Case Study , 1992, CAV.

[20]  Shing-Chi Cheung,et al.  Tractable Dataflow Analysis for Distributed Systems , 1994, IEEE Trans. Software Eng..

[21]  Antti Valmari,et al.  Compositional State Space Generation , 1991, Applications and Theory of Petri Nets.

[22]  Scott A. Smolka,et al.  Winston: A Tool for Hierarchical Design and Simulation of Concurrent Systems , 1988, Specification and Verification of Concurrent Systems.

[23]  John R. Garman,et al.  The "BUG" heard 'round the world: discussion of the software problem which delayed the first shuttle orbital flight , 1981, SOEN.

[24]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[25]  Heiko Krumm Projections of the Reachability Graph and Environment Models , 1989, Automatic Verification Methods for Finite State Systems.

[26]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[27]  James L. Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[28]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[29]  Richard N. Taylor,et al.  A general-purpose algorithm for analyzing concurrent programs , 1983, CACM.

[30]  Wei Jen Yeh Controlling state explosion in reachability analysis , 1993 .

[31]  David Luckham,et al.  Debugging Ada Tasking Programs , 1985, IEEE Software.

[32]  Michal Young,et al.  Compositional reachability analysis using process algebra , 1991, TAV4.

[33]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[34]  Shing-Chi Cheung,et al.  An integrated method for effective behaviour analysis of distributed systems , 1994, Proceedings of 16th International Conference on Software Engineering.

[35]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.