Programming Coordinated Behavior in Java David Harel, Assaf Marron, Gera Weiss
1
ב תטיסרבינוא בגנב וירוג Ben-Gurion University of the Negev
Programming Coordinated Behavior in Java David Harel, Assaf Marron, - - PowerPoint PPT Presentation
Programming Coordinated Behavior in Java David Harel, Assaf Marron, Gera Weiss Ben-Gurion University of the Negev 1 David Harel Gera Weiss Assaf Marron 2 Overview Scenario-based
1
ב תטיסרבינוא בגנב וירוג Ben-Gurion University of the Negev
2
3
4
5
6
7
– watch for tempTooLow – request reduceCold or addHot, and block reduceHot and addCold
– watch for flowTooHigh – request reduceHot or reduceCold, and block addHot and addCold
– watch for flowTooLow – request addHot or addCold, and block reduceCold and reduceHot
8
9
10
11
12
requestedEvents : Event set blockedEvents : Event set watchedEvents : Event set priority : Real runBThread() /* overridden for every b-thread */ bSync(requested, watched, blocked)
13
14
15
16
X<0,0> X<0,1> X<0,2> X<1,0> X<1,1> X<1,2> X<2,0> X<2,1> X<2,2> O<0,0> O<0,1> O<0,2> O<1,0> O<1,1> O<1,2> O<2,0> O<2,1> O<2,2>
17
18
– Add/remove behavior with little or no change to existing b-threads – Suitability for collaborative / open source projects – Possibility for dynamic updates. – Possibility for dynamic updates.
– Code of b-threads has little or no dependency on code in other b-threads – “Redundant” requested events are unified, events that are not watched are ignored
19
– Programming and running scenarios: play-in and play-out – Programming and running scenarios: play-in and play-out – Multi-modality:
– Focused on executing or monitoring the specification
– Basic idioms: b-threads, request/watch/block – BPJ: Integrate b-thread programming with OO – Focused on enabling scenario-based programming in traditional environments.
20
21
22
– Behavior modularity, incrementality, suitability for multi-core, natural development,…
– implementable in other languages – extendable
23
24