Skip to main content
Log in

Contextual local analysis in the design of distributed systems

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Compositional Reachability Analysis is a popular technique for studying behaviour of finite-state distributed systems. The technique is applied by a repetition oflocal analyses, the basic steps of which are to construct and examine the behaviour of subsystems. In most cases, behaviour of the subsystem is constrained by its environment (calledcontext) formed by neighbouring components. These behaviour constraints are normally not considered when using local analysis in conventional techniques of compositional reachability analysis. As a result, many execution paths derived in the local analysis may not be actually traversed by the subsystem. These paths are made impossible to traverse by the constraints. The paths are unnecessary for understanding the subsystem behaviour and their removal greatly simplifies the local analysis.

In this paper, we describe an elegant technique, calledcontextual local analysis, to include these behaviour constraints in conventional local analysis. The technique can alleviate dramatically the state explosion problem encountered in local analysis. It also facilitates early detection of anomalous behaviour of a distributed system at its design stage. The technique works by composing an interface process with the subsystem being examined. That interface process is so chosen that it captures behaviour constraints enforced by the environment while its composition with the subsystem does not affect the global system behaviour. This interface process can be automatically derived using a simple algorithm. The contextual local analysis technique results in a simplified labelled transition system which can be used as a substitute for the original subsystem in the construction of the global system behaviour. The contextual local analysis technique is illustrated with a clients/server example implementing a round-robin protocol.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Apt, K. R. 1983. A static analysis of CSP programs. InProc. Workshop Program Logic, Outtsvyrgg.

  • Brookes, S., Hoare, C. A. R., and Roscoe, A. 1984. A theory of communicating sequential processes.Journal of the ACM 31(3):560–599.

    Google Scholar 

  • Cheung, S. C. 1994. Tractable and compositional techniques for behaviour analysis of concurrent systems. Ph.D. dissertation, Department of Computing, Imperial College of Science, Technology and Medicine.

  • Cheung, S. C., and Kramer, J. 1993a. Enhancing compositional reachability analysis with context constraints. InProc. 1st ACM International Symposium on the Foundations of Software Engineering, ACM SIGSOFT, Los Angeles, California, pp. 115–125.

    Google Scholar 

  • Cheung, S. C., and Kramer, J. 1993b. Tractable flow analysis for anomaly detection in distributed programs. InProc. 4th European Software Engineering Conference (ESEC'93), Germany, published in LNCS 717, pp. 283–300.

  • Cheung, S. C., and Kramer, J. 1994a. An integrated method for effective behaviour analysis of distributed systems. InProc. 16th IEEE International Conference on Software Engineering (ICSE16), Sorrento, Italy.

  • Cheung, S. C., and Kramer, J. 1994b. Tractable dataflow analysis for distributed systems.IEEE Transactions on Software Engineering August.

  • Clarke, E. M., Long, D. E., and McMillan, K. L. 1989. Compositional model checking. InProc. 4th Annual Symposium on Logic in Computer Science, IEEE, Pacific Grove, California, pp. 353–362.

    Google Scholar 

  • DeNicola, R., and Hennessy, M. 1984. Testing equivalences for processes.Theoretical Computer Science 34:83–133.

    Google Scholar 

  • Ghezzi, C., Jazayeri, M., and Mandrioli, D. 1991.Fundamentals of Software Engineering, Chapter 6. Prentice-Hall.

  • Godefroid, P., and Wolper, P. 1991. Using partial orders for the efficient verification of deadlock freedom and safety properties. InProc. 3rd International Conference on Computer Aided Verification (CAV), Aalborg, Denmark, published in LNCS 575, pp. 332–342.

  • Graf, S., and Steffen, B. 1990. Compositional minimization of finite state systems. InProc. 2nd International Conference of Computer-Aided Verification, New Brunswick, NJ, USA, published in LNCS 531, pp. 186–196.

  • Hennessy, M. 1988.Algebraic Theory of Processes, MIT Press, MIT Press Series in the Foundations of Computing.

  • Hoare, C. A. R. 1985.Communicating Sequential Processes. Prentice-Hall.

  • Holmström, S. 1988. Hennessy-Milner logic with recursion as a specification language, and a refinement calculus based on it. InProc. BCS-FACS Workshop on Specification and Verification of Concurrent Systems, Stirling, Scotland, pp. 294–330.

  • Holzmann, G. 1987. On limits and possibilities of automated protocol analysis. InProc. IFIP Protocol Specification, Testing, and Verification, VII. North-Holland.

  • Hopcroft, J. E., and Ullman, J. D. 1979.Introduction to Automata Theory, Languages, and Computation.

  • Kanellakis, P. C., and Smolka, S. A. 1990. CCS expressions, finite state processes, and three problems of equivalence.Information and Computation 86(1):43–68.

    Google Scholar 

  • Kemppainen, J., Levanto, M., Valmari, A., and Clegg, M. 1992. “ARA” puts advanced reachability analysis techniques together. InProc. 5th Nordic Workshop on Programming Environment Research, Programming Environment Research, Tampere University of Technology, Tampere, Finland, pp. 233–257.

    Google Scholar 

  • Kramer, J., Magee, J., and Finkelstein, A. 1990. A constructive approach to the design of distributed systems. InProc. 10th IEEE International Conference on Distributed Computing Systems, Paris.

  • Kramer, J., Magee, J., Ng, K., and Sloman, M. 1993. The system architect's assistant for design and construction of distributed systems. InProc. 4th IEEE Workshop on Future Trends of Distributed Computing Systems, Lisbon.

  • Kramer, J., Magee, J., Sloman, M., and Lister, A. 1983. CONIC: An integrated approach to distributed computer control systems.IEE Proceedings, Part E, 130(1):1–10.

    Google Scholar 

  • Krumm, H. 1989. Projections of the reachability graph and environment models. InProc. International Workshops on Automatic Verification Methods for Finite State Systems, Grenoble, France, published in LNCS 407, pp. 89–96.

  • Lam, S. 1984. Protocol verification via projections.IEEE Transactions on Software Engineering SE-10(4):325–342.

    Google Scholar 

  • Larsen, K., and Milner, R. 1987. Verifying a protocol using relativized bisimulation. InProc. 14th International Colloquium on Automata, Languages and Programming, Karlsruhe, Federal Republic of Germany, July 1987, published in LNCS 267, pp. 126–135.

  • Larsen, K. G. 1989. Compositional theories based on an operational semantics of contexts. InProc. REX Workshop on Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, Mook, The Netherlands, published in LNCS 430, pp. 487–518.

  • Milner, R. 1989.Communication and Concurrency. Prentice-Hall.

  • Milner, R., Parrow, J., and Walker, D. 1989. A calculus of mobile processes Part I and II. Technical Report, University of Edinburgh.

  • Peterson, J. L. 1981.Petri Net Theory and the Modelling of Systems. Prentice-Hall.

  • Rabinovich, A. 1992. Checking equivalences between concurrent systems of finite agents. InProc. 19th International Colloquium on Automata, Languages and Programming, Wien, Austria, July 1992, published in LNCS 623, pp. 696–707.

  • Sabnani, K. K., Lapone, A. M., and Uyar, M. Ü. 1989. An algorithmic procedure for checking safety properties of protocols.IEEE Transactions on Communications 37(9):940–948.

    Google Scholar 

  • Tai, K. C., and Koppol, V. 1993. Hierarchy-based incremental reachability analysis of distributed programs. InProc. 7th International Workshop on Software Specification and Design. IEEE, Los Angeles.

    Google Scholar 

  • Taylor, R. N. 1983a. Complexity of analyzing the synchronization structure of concurrent programs.Acta Informatica 19:57–84.

    Google Scholar 

  • Taylor, R. N. 1983b. A general-purpose algorithm for analyzing concurrent programs.CACM 26:362–376.

    Google Scholar 

  • Valmari, A. 1991. Compositional state space generation. Technical Report, A-1991-5, Department of Computer Science, University of Helsinki, Finland.

    Google Scholar 

  • Valmari, A. 1992. Alleviating state explosion during verification of behavioural equivalence. Technical Report, A-1992, Department of Computer Science, University of Helsinki, Finland.

    Google Scholar 

  • Yeh, W. J., and Young, M. 1991. Compositional reachability analysis using process algebra. InProc. Symposium on Testing, Analysis, and Verification (TAV4), ACM SIGSOFT, Victoria, British Columbia, October 8–10, pp. 49–59.

    Google Scholar 

  • Yeh, W. J., and Young, M. 1993. Compositional reachability analysis of Ada programs using process algebra. Technical Report, Software Engineering Research Centre, Department of Computer Sciences, Purdue University, West Lafayette, Indiana.

    Google Scholar 

  • Yi, W. 1988. Specifying processes in terms of their environments. InProc. BCS-FACS Workshop on Specification and Verification of Concurrent Systems, Stirling, Scotland, July 1988, pp. 276–293.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cheung, S.C., Kramer, J. Contextual local analysis in the design of distributed systems. Autom Software Eng 2, 5–32 (1995). https://doi.org/10.1007/BF00873407

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00873407

Keywords

Navigation