skip to main content
10.1145/2641483.2641529acmotherconferencesArticle/Chapter ViewAbstractPublication PagesuccsConference Proceedingsconference-collections
research-article

Using Category Theory and Data Flow Analysis for Modeling and Verifying Properties of Communications in the Process-Oriented Language Erasmus

Authors Info & Claims
Published:03 August 2014Publication History

ABSTRACT

The increasing significance of concurrency and the need to address the challenges presented by concurrency motivate its formalization. In this paper, a methodology for modeling and verifying communications in a concurrent system developed in Erasmus, a process-oriented programming language, is proposed. The innovative aspects of this methodology include the use of category theory to model and verify properties of communications in Erasmus, and the use of data flow to analyze and abstract an implementation of Erasmus. The methodology is illustrated by a simple example.

References

  1. P. Grogono and B. Shearing. Modular concurrency: A new approach to manageable software. In Proceedings of the 3rd International Conference on Software and Data Technologies, pages 47--54, Porto, Portugal, 2008.Google ScholarGoogle Scholar
  2. P. Godefroid. Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. Springer, Secaucus, United States, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A.T. Sampson. Process-Oriented Patterns For Concurrent Software Engineering. PhD thesis, University of Kent, Kent, United Kingdom, 2008.Google ScholarGoogle Scholar
  4. E.M. Clarke, O. Grumberg, and D. Peled. Model Checking. The MIT Press, Cambridge, United States, 2001.Google ScholarGoogle Scholar
  5. M. Zakeryfar. Static Analysis of a Concurrent Programming Language by Abstract Interpretation. PhD thesis, Concordia University, Montreal, Canada, 2014.Google ScholarGoogle Scholar
  6. P. Grogono and B. Shearing. Concurrent software engineering: Preparing for paradigm shift. In Proceedings of the 1st Canadian Conference on Computer Science and Software Engineering, pages 99--108, Montreal, Canada, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E.A. Lee. The problem with threads. IEEE Computer, 39(5):33--42, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F.E. Allen and J. Cocke. A program data flow analysis procedure. Communications of the Association for Computing Machinery, 19(3):137--147, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M.B. Dwyer and L.A. Clarke. Data flow analysis for verifying properties of concurrent programs. In Proceedings of the 2nd ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 62--75, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B.C. Pierce. Basic Category Theory for Computer Scientists. The MIT Press, Cambridge, United States, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J.L. Fiadeiro. Categories for Software Engineering. Springer Berlin Heidelberg, Germany, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C.A.R. Hoare. Notes on an approach to category theory for computer scientists. In Proceedings of the NATO Advanced Study Institute on Constructive Methods in Computer Science, volume 55. Springer Berlin Heidelberg, Germany, 1989.Google ScholarGoogle Scholar
  13. H. Kuang, O. Ormandjieva, S. Klasa, and J. Bentahar. A formal specification of fault-tolerance in prospecting asteroid mission with reactive autonomic systems framework. In Proceedings of the International Conference on Application-Specific Systems, Architectures and Processors, pages 99--106, 2010.Google ScholarGoogle Scholar

Index Terms

  1. Using Category Theory and Data Flow Analysis for Modeling and Verifying Properties of Communications in the Process-Oriented Language Erasmus

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Other conferences
              C3S2E '14: Proceedings of the 2014 International C* Conference on Computer Science & Software Engineering
              August 2014
              201 pages
              ISBN:9781450327121
              DOI:10.1145/2641483

              Copyright © 2014 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 3 August 2014

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed limited

              Acceptance Rates

              Overall Acceptance Rate12of42submissions,29%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader