skip to main content
article

Automating commutativity analysis at the design level

Authors Info & Claims
Published:01 July 2004Publication History
Skip Abstract Section

Abstract

Two operations commute if executing them serially in either order results in the same change of state. In a system in which commands may be issued simultaneously by different users, lack of commutativity can result in unpredictable behaviour, even if the commands are serialized, because one user's command may be preempted by another's, and thus executed in an unanticipated state. This paper describes an automated approach to analyzing commutativity. The operations are expressed as constraints in a declarative modelling language such as Alloy, and a constraint solver is used to find violating scenarios. A case study application to the beam scheduling component of a proton therapy machine (originally specified in OCL) revealed several violations of commutativity in which requests from medical technicians in treatment rooms could conflict with the actions of a beam operator in a master control room. Some of the issues involved in automating the analysis for OCL itself are also discussed.

References

  1. BRAT, G., HAVELUND, K., PARK, S., AND VISSER, W. Java PathFinder - A second generation of a Java modelchecker. In Workshop on Advances in Verification (July 2000).Google ScholarGoogle Scholar
  2. CLARK, T., AND WARMER, J., Eds. Object Modeling with the OCL: The Rationale behind the Object Constraint Language. No. 2263 in LNCS. Springer-Verlag, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. FEKETE, A., LYNCH, N., MERRITT, M., AND WEIHL, W. Commutativity-based locking for nested transactions. Journal of Computer and System Sciences 41, 1 (Aug. 1990), 65--156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. FOOD AND DRUG ADMININSTRATION. FDA Statement on Radiation Overexposures in Panama. http://www.fda.gov/cdrh/ocd/panamaradexp.html.Google ScholarGoogle Scholar
  5. HOLZMANN, G. J. The Model Checker SPIN. IEEE Transactions on Software Engineering 23, 5 (May 1997), 279--295. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. HUSSMANN, H., DEMUTH, B., AND FINGER, F. Modular Architecture for a Toolset Supporting OCL. In Proceedings of UML 2000: Advancing the Standard (York, UK, Oct. 2000), A. Evans, S. Kent, and B. Selic, Eds., no. 1939 in LNCS.Google ScholarGoogle ScholarCross RefCross Ref
  7. JACKSON, D. Automating First-Order Relational Logic. In Proc. ACM SIGSOFT Conf. Foundations of Software Engineering (FSE) (Nov. 2000). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. JACKSON, D., SHLYAKHTER, I., AND SRIDHARAN, M. A micromodularity mechanism. In ACM SIGSOFT Conference on Foundations of Software Engineering / European Software Engineering Conference (Vienna, Sept. 2001). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J.R. BURCH, E.M. CLARKE, K.L. MCMILLAN, D.L. DILL, AND L.J. HWANG. Symbolic Model Checking: 1020 States and Beyond. In Proceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science (Washington, D.C., 1990), IEEE Computer Society Press, pp. 1--33.Google ScholarGoogle Scholar
  10. LEVESON, N. G., AND TURNER, C. An investigation of the Therac-25 accidents. IEEE Computer 7, 26 (1993), 18--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. MCMILLAN, K. L. Symbolic Model Checking. Kluwer Academic Publishers, 1993. http://www.cs.cmu.edu/~modelcheck/smv.html. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. MIT SOFTWARE DESIGN GROUP. The Alloy Analyzer. http://alloy.mit.edu.Google ScholarGoogle Scholar
  13. QUEILLE, J.-P., AND SIFAKIS, J. Specification and Verification of Concurrent Systems in CESAR. LNCS 137 (1982), 337--351. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. RICHTERS, M., AND GOGOLLA, M. OCL: Syntax, Semantics, and Tools. In Clark and Warmer {2}, pp. 42--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. RICKS, R. C., BERGER, M. E., HOLLOWAY, E. C., AND GOANS, R. E. REACTS Radiation Accident Registry: Update of Accidents in the United States. International Radiation Protection Association, 2000.Google ScholarGoogle Scholar
  16. RINARD, M. C., AND DINIZ, P. C. Commutativity analysis: A new analysis technique for parallelizing compilers. ACM Transactions on Programming Languages and Systems 19, 6 (1997), 942--991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. WARMER, J., Ed. Response to the UML 2.0 OCL RfP (ad/2000-09-03). Object Management Group, Jan. 2003. Revised submission, version 1.6. OMG Document ad/2003-01-07.Google ScholarGoogle Scholar
  18. WARMER, J., AND KLEPPE, A. The Object Constraint Language: Getting your models ready for MDA, 2nd ed. Addison-Wesley, Aug. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. WEIHL, W. E. Commutativity-based concurrency control for abstract data types. IEEE Transactions on Computers 37, 12 (1988), 1488--1505. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. WU, P., AND FEKETE, A. An empirical study of commutativity in application code. In Proceedings of International Database Engineering and Applications Symposium (Hong Kong, July 2003).Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Automating commutativity analysis at the design level

              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

              Full Access

              • Published in

                cover image ACM SIGSOFT Software Engineering Notes
                ACM SIGSOFT Software Engineering Notes  Volume 29, Issue 4
                July 2004
                284 pages
                ISSN:0163-5948
                DOI:10.1145/1013886
                Issue’s Table of Contents
                • cover image ACM Conferences
                  ISSTA '04: Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
                  July 2004
                  294 pages
                  ISBN:1581138202
                  DOI:10.1145/1007512

                Copyright © 2004 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: 1 July 2004

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader