TMACS: A Tool for Modeling, Manipulation, and Analysis of Concurrent Systems

  • Jane Jovanovski
  • Maja Siljanoska
  • Vladimir Carevski
  • Dragan Sahpaski
  • Petar Gjorcevski
  • Metodi Micev
  • Bojan Ilijoski
  • Vlado Georgiev
Part of the Advances in Intelligent and Soft Computing book series (AINSC, volume 150)

Abstract

This paper reports on an effort to build a tool for modeling, manipulation, and analysis of concurrent systems. The tool implements the CCS process language and can build labeled transition systems in Aldebaran format from CCS expressions. Furthermore, it can be used to reduce the state space of a labeled transition system and to check whether two labeled transition systems exhibit the same behaviour, using two behavioural equivalences: strong and weak bisimulation equivalence. The tool has the functionality needed to perform modeling, specification, and verification, illustrated on one classical example in the concurrency theory: the Alternating Bit Protocol.

Keywords

Tree Parser Label Transition System Label Graph Concurrent System Behavioral Equivalence 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer (1980)Google Scholar
  2. 2.
    Milner, R.: Communication and Concurrency. Prentice-Hall (1989)Google Scholar
  3. 3.
    Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier Science B.V. (2001)Google Scholar
  4. 4.
    Keller, R.M.: Formal Verification of Parallel Programs. Communications of the ACM 19(7), 371–384 (1976)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Aceto, L., Ingolfsdottir, A., Larsen, K.G., Srba, J.: Reactive Systems - Modeling, Specification and Verification. Cambridge University Press (2007)Google Scholar
  6. 6.
    Park, D.M.R.: Concurrency and Automata on Infinite Sequences. In: Deussen, P. (ed.) GI-TCS 1981. LNCS, vol. 104, pp. 167–183. Springer, Heidelberg (1981)CrossRefGoogle Scholar
  7. 7.
    Roscoe, A.W.: Understanding Concurrent Systems. Texts in Computer Science. Springer, Heidelberg (2010)CrossRefMATHGoogle Scholar
  8. 8.
    Milner, R.: Operational and Algebraic Semantics of Concurrency Processes. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, pp. 1201–1242. Elsevier and MIT Press (1990)Google Scholar
  9. 9.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press (2008)Google Scholar
  10. 10.
    Fernandez, J.C.: Aldebaran: User’s Manual, Technical Report, LGI-IMAG Grenoble (1988)Google Scholar
  11. 11.
    Moller, F.: Perdita Stevens, Edinburgh Concurrency Workbench User Manual (Version 7.1) (1999), http://homepages.inf.ed.ac.uk/perdita/cwb/
  12. 12.
    van Weerdenburg, M., et al.: mCRL2 User’s Manual (2008), http://www.mcrl2.org
  13. 13.
    Alexander, M., Gardner, W.: Process Algebra for Parallel and Distributed Processing. Computational Science Series. Chapman&Hall/CRC Press (2009)Google Scholar
  14. 14.
    Fernandez, J.C.: An Implementation of an Efficient Algorithm for Bisimulation Equivalence. Science of Computer Programming, vol. 13, pp. 219–236 (1989/1990)Google Scholar
  15. 15.
    Lynch, W.C.: Computer systems: Reliable Full-duplex File Transmission over Half-duplex Telephone Line. Communications of the ACM 11(6), 407–410 (1968)CrossRefGoogle Scholar
  16. 16.
    Bartlett, K.A., Scantlebury, R.A., Wilkinson, P.T.: A note on Reliable Full-duplex Transmission over Half-duplex Links. Communications of the ACM 12, 260–261 (1969)CrossRefGoogle Scholar
  17. 17.
    Groote, J.F., Reniers, M.: Modelling and Analysis of Communicating Systems. Technical University of Eindhoven, rev. 1478 (2009)Google Scholar
  18. 18.
    Chomsky, N.: Three Models for the Description of Language. IEEE Transactions on Information Theory (1956)Google Scholar
  19. 19.
    Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley (2006)Google Scholar
  20. 20.
    Parr, T.: The Definitive ANTLR Reference - Building Domain-Specific Languages. The Pragmatic Bookshelf (2007)Google Scholar
  21. 21.
    Tarski, A.: A Lattice-theoretical Fixpoint Theorem and its Applications. Pacific Journal of Mathematics 5(2), 285–309 (1955)MathSciNetCrossRefMATHGoogle Scholar
  22. 22.
    Kanellakis, P., Smolka, S.A.: CCS expressions, finite state processes and three problems of equivalence. In: Proceedings of the 2nd ACM Symposium on Principles of Distributed Computing, pp. 228–240. ACM Press (1983)Google Scholar
  23. 23.
    Paige, R., Tarjan, R.: Three Partition Refinement Algorithms. SIAM J. Comput. 16(6) (1987)Google Scholar
  24. 24.
    Kulick, S.: Process Algebra, CCS, and Bisimulation Decidability. University of Pennsylvania, pp. 8–10 (1994)Google Scholar

Copyright information

© Springer-Verlag GmbH Berlin Heidelberg 2012

Authors and Affiliations

  • Jane Jovanovski
    • 1
  • Maja Siljanoska
    • 1
  • Vladimir Carevski
    • 1
  • Dragan Sahpaski
    • 1
  • Petar Gjorcevski
    • 1
  • Metodi Micev
    • 1
  • Bojan Ilijoski
    • 1
  • Vlado Georgiev
    • 1
  1. 1.Institute of Informatics, Faculty of Natural Sciences and MathematicsUniversity “Ss. Cyril and Methodius”SkopjeMacedonia

Personalised recommendations