|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked 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).
|
| |
2
|
|
| |
3
|
|
| |
4
|
FOOD AND DRUG ADMININSTRATION. FDA Statement on Radiation Overexposures in Panama. http://www.fda.gov/cdrh/ocd/panamaradexp.html.
|
| |
5
|
|
| |
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.
|
 |
7
|
|
 |
8
|
|
| |
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.
|
| |
10
|
|
| |
11
|
|
| |
12
|
MIT SOFTWARE DESIGN GROUP. The Alloy Analyzer. http://alloy.mit.edu.
|
| |
13
|
|
| |
14
|
|
| |
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.
|
 |
16
|
|
| |
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.
|
| |
18
|
|
| |
19
|
|
| |
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).
|
CITED BY
|
|
Geri Georg , Indrakshi Ray , Kyriakos Anastasakis , Behzad Bordbar , Manachai Toahchoodee , Siv Hilde Houmb, An aspect-oriented methodology for designing secure applications, Information and Software Technology, v.51 n.5, p.846-864, May, 2009
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.4
Software/Program Verification
Subjects:
Formal methods
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.4
Software/Program Verification
Subjects:
Model checking
F.
Theory of Computation
F.4
MATHEMATICAL LOGIC AND FORMAL LANGUAGES
F.4.3
Formal Languages
H.
Information Systems
H.1
MODELS AND PRINCIPLES
H.1.2
User/Machine Systems
General Terms:
Design,
Human Factors,
Reliability,
Verification
Keywords:
OCL,
alloy,
case study,
commutativity,
concurrency,
critical systems,
formal specification,
lightweight formal methods,
model checking,
proton therapy,
radiation therapy,
testing
|