TY - GEN
T1 - Programming coordinated behavior in java
AU - Harel, David
AU - Marron, Assaf
AU - Weiss, Gera
PY - 2010/8/3
Y1 - 2010/8/3
N2 - Following the scenario-based approach to programming which centered around live sequence charts (LSCs), we propose a general approach to software development in Java. A program will consist of modules called behavior threads (b-threads ), each of which independently describes a scenario that may cross object boundaries. We identify a protocol and a coordination mechanism that allow such behavioral programming. Essentially, runs of programs are sequences of events that result from three kinds of b-thread actions: requesting that events be considered for triggering, waiting for triggered events, and blocking events requested by other b-threads. The coordination mechanism synchronizes and interlaces b-threads execution yielding composite, integrated system behavior. The protocol idioms and the coordination mechanism of b-threads are implemented as a Java library called BPJ. Throughout the exposition we illustrate benefits of the approach and discuss the merits of behavioral programming as a broad, implementation-independent paradigm.
AB - Following the scenario-based approach to programming which centered around live sequence charts (LSCs), we propose a general approach to software development in Java. A program will consist of modules called behavior threads (b-threads ), each of which independently describes a scenario that may cross object boundaries. We identify a protocol and a coordination mechanism that allow such behavioral programming. Essentially, runs of programs are sequences of events that result from three kinds of b-thread actions: requesting that events be considered for triggering, waiting for triggered events, and blocking events requested by other b-threads. The coordination mechanism synchronizes and interlaces b-threads execution yielding composite, integrated system behavior. The protocol idioms and the coordination mechanism of b-threads are implemented as a Java library called BPJ. Throughout the exposition we illustrate benefits of the approach and discuss the merits of behavioral programming as a broad, implementation-independent paradigm.
UR - http://www.scopus.com/inward/record.url?scp=77955022772&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-14107-2_12
DO - 10.1007/978-3-642-14107-2_12
M3 - Conference contribution
AN - SCOPUS:77955022772
SN - 3642141064
SN - 9783642141065
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 250
EP - 274
BT - ECOOP 2010 - Object-Oriented Programming - 24th European Conference, Proceedings
T2 - 24th European Conference on Object-Oriented Programming, ECOOP 2010
Y2 - 21 June 2010 through 25 June 2010
ER -