JUCS - Journal of Universal Computer Science 11(5): 687-702, doi: 10.3217/jucs-011-05-0687
On Atomicity and Software Development
expand article infoJörg Kienzle
‡ School of Computer Science, McGill University, Montreal, Canada
Open Access
Abstract
This paper shows how the concept of atomicity can ease the development of concurrent software. It illustrates by means of a case study how atomicity is used to reduce the complexity of concurrency by presenting simplified models or views of the system at certain stages of the development cycle. As the development process goes on, the atomic views from the early stages are refined - broken up into smaller pieces - to slowly introduce concurrency back into the system. Finally, at the design stage, low-level concepts that provide atomicity, such as transaction or monitors, are used to ensure consistent concurrent updating of the application state.
Keywords
atomicity, software development, concurrency, UML, OCL, transactions, monitors