Title :
Prototyping a Concurrency Model
Author :
Morandi, Benjamin ; Schill, Mischael ; Nanz, Sebastian ; Meyer, Bertrand
Author_Institution :
Dept. of Software Eng., ETH Zurich, Zurich, Switzerland
Abstract :
Many novel programming models for concurrency have been proposed in the wake of the multicore computing paradigm shift. They aim to raise the level of abstraction for expressing concurrency and synchronization in a program, and hence to help developers avoid programming errors. Because of this goal, the semantics of the models themselves becomes ever more complex, increasing the risk of design flaws. We propose a methodology for prototyping concurrency models using executable formal specifications. The prototype can be used to test and correct the model at an early stage. Once the development is completed, the executable formal specification serves as an unambiguous reference. We apply this methodology to SCOOP, an object-oriented concurrency model. Using this approach, we were able to uncover and fix three major flaws in the model.
Keywords :
concurrency control; formal specification; object-oriented methods; SCOOP object-oriented concurrency model; concurrency model prototyping; executable formal specification; multicore computing paradigm shift; program concurrency; program synchronization; programming model; Concurrent computing; Equations; Mathematical model; Object oriented modeling; Programming; Reactive power; Runtime; Maude; SCOOP; concurrent programming; formal specification; prototyping; testing;
Conference_Titel :
Application of Concurrency to System Design (ACSD), 2013 13th International Conference on
Conference_Location :
Barcelona
DOI :
10.1109/ACSD.2013.21