TY - GEN
T1 - On the succinctness of idioms for concurrent programming
AU - Harel, David
AU - Katz, Guy
AU - Lampert, Robby
AU - Marron, Assaf
AU - Weiss, Gera
N1 - Publisher Copyright:
© David Harel, Guy Katz, Robby Lampert, Assaf Marron, and Gera Weiss; licensed under Creative Commons License CC-BY.
PY - 2015/8/1
Y1 - 2015/8/1
N2 - The ability to create succinct programs is a central criterion for comparing programming and specification methods. Specifically, approaches to concurrent programming can often be thought of as idioms for the composition of automata, and as such they can then be compared using the standard and natural measure for the complexity of automata, descriptive succinctness. This measure captures the size of the automata that the evaluated approach needs for expressing the languages under discussion. The significance of this metric lies, among other things, in its impact on software reliability, maintainability, reusability and simplicity, and on software analysis and verification. Here, we focus on the succinctness afforded by three basic concurrent programming idioms: requesting events, blocking events and waiting for events. We show that a programming model containing all three idioms is exponentially more succinct than non-parallel automata, and that its succinctness is additive to that of classical nondeterministic and "and" automata. We also show that our model is strictly contained in the model of cooperating automata à la statecharts, but that it may provide similar exponential succinctness over non-parallel automata as the more general model - while affording increased encapsulation. We then investigate the contribution of each of the three idioms to the descriptive succinctness of the model as a whole, and show that they each have their unique succinctness advantages that are not subsumed by their counterparts. Our results contribute to a rigorous basis for assessing the complexity of specifying, developing and maintaining complex concurrent software.
AB - The ability to create succinct programs is a central criterion for comparing programming and specification methods. Specifically, approaches to concurrent programming can often be thought of as idioms for the composition of automata, and as such they can then be compared using the standard and natural measure for the complexity of automata, descriptive succinctness. This measure captures the size of the automata that the evaluated approach needs for expressing the languages under discussion. The significance of this metric lies, among other things, in its impact on software reliability, maintainability, reusability and simplicity, and on software analysis and verification. Here, we focus on the succinctness afforded by three basic concurrent programming idioms: requesting events, blocking events and waiting for events. We show that a programming model containing all three idioms is exponentially more succinct than non-parallel automata, and that its succinctness is additive to that of classical nondeterministic and "and" automata. We also show that our model is strictly contained in the model of cooperating automata à la statecharts, but that it may provide similar exponential succinctness over non-parallel automata as the more general model - while affording increased encapsulation. We then investigate the contribution of each of the three idioms to the descriptive succinctness of the model as a whole, and show that they each have their unique succinctness advantages that are not subsumed by their counterparts. Our results contribute to a rigorous basis for assessing the complexity of specifying, developing and maintaining complex concurrent software.
KW - Automata
KW - Bounded concurrency
KW - Descriptive succinctness
KW - Module size
UR - http://www.scopus.com/inward/record.url?scp=84958244456&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.CONCUR.2015.85
DO - 10.4230/LIPIcs.CONCUR.2015.85
M3 - Conference contribution
AN - SCOPUS:84958244456
T3 - Leibniz International Proceedings in Informatics, LIPIcs
SP - 85
EP - 99
BT - 26th International Conference on Concurrency Theory, CONCUR 2015
A2 - Aceto, Luca
A2 - de Frutos Escrig, David
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 26th International Conference on Concurrency Theory, CONCUR 2015
Y2 - 1 September 2015 through 4 September 2015
ER -