Harel, D., Kantor, A., and Katz, G. (2013a). Relaxing Syn-
chronization Constraints in Behavioral Programs. In
Proc. 19th Int. Conf. on Logic for Programming, Arti-
ficial Intelligence and Reasoning (LPAR), pages 355–
372.
Harel, D., Kantor, A., Katz, G., Marron, A., Mizrahi, L.,
and Weiss, G. (2013b). On Composing and Proving
the Correctness of Reactive Behavior. In Proc. 13th
Int. Conf. on Embedded Software (EMSOFT), pages
1–10.
Harel, D., Kantor, A., Katz, G., Marron, A., Weiss, G., and
Wiener, G. (2015a). Towards Behavioral Program-
ming in Distributed Architectures. Science of Com-
puter Programming, 98(2):233–267.
Harel, D. and Katz, G. (2014). Scaling-Up Behavioral Pro-
gramming: Steps from Basic Principles to Applica-
tion Architectures. In Proc. 4th Int. Workshop on Pro-
gramming based on Actors, Agents, and Decentral-
ized Control (AGERE!), pages 95–108.
Harel, D., Katz, G., Lampert, R., Marron, A., and Weiss, G.
(2015b). On the Succinctness of Idioms for Concur-
rent Programming. In Proc. 26th Int. Conf. on Con-
currency Theory (CONCUR), pages 85–99.
Harel, D., Katz, G., Marelly, R., and Marron, A. (2016).
An Initial Wise Development Environment for Behav-
ioral Models. In Proc. 4th Int. Conf. on Model-Driven
Engineering and Software Development (MODEL-
SWARD), pages 600–612.
Harel, D., Katz, G., Marron, A., and Weiss, G. (2012a).
Non-Intrusive Repair of Reactive Programs. In Proc.
17th IEEE Int. Conf. on Engineering of Complex Com-
puter Systems (ICECCS), pages 3–12.
Harel, D., Katz, G., Marron, A., and Weiss, G. (2015c). The
Effect of Concurrent Programming Idioms on Veri-
fication. In Proc. 3rd Int. Conf. on Model-Driven
Engineering and Software Development (MODEL-
SWARD), pages 363–369.
Harel, D., Kugler, H., Marelly, R., and Pnueli, A. (2002).
Smart Play-Out of Behavioral Requirements. In Proc.
4th Int. Conf. on Formal Methods in Computer-Aided
Design (FMCAD), pages 378–398.
Harel, D., Lampert, R., Marron, A., and Weiss, G. (2011a).
Model-Checking Behavioral Programs. In Proc. 11th
Int. Conf. on Embedded Software (EMSOFT), pages
279–288.
Harel, D. and Marelly, R. (2003a). Come, Let’s Play:
Scenario-Based Programming Using LSCs and the
Play-Engine. Springer.
Harel, D. and Marelly, R. (2003b). Specifying and Execut-
ing Behavioral Requirements: The Play In/Play-Out
Approach. Software and System Modeling (SoSyM),
2:82–107.
Harel, D., Marron, A., and Weiss, G. (2012b). Behav-
ioral Programming. Communications of the ACM,
55(7):90–100.
Harel, D., Marron, A., Weiss, G., and Wiener, G. (2011b).
Behavioral Programming, Decentralized Control, and
Multiple Time Scales. In Proc. 1st SPLASH Work-
shop on Programming Systems, Languages, and Ap-
plications based on Agents, Actors, and Decentralized
Control (AGERE!), pages 171–182.
Harel, D. and Segall, I. (2011). Synthesis from live se-
quence chart specifications. Computer System Sci-
ences. To appear.
Katz, G. (2013). On Module-Based Abstraction and Re-
pair of Behavioral Programs. In Proc. 19th Int. Conf.
on Logic for Programming, Artificial Intelligence and
Reasoning (LPAR), pages 518–535.
Katz, G., Barrett, C., and Harel, D. (2015). Theory-Aided
Model Checking of Concurrent Transition Systems. In
Proc. 15th Int. Conf. on Formal Methods in Computer-
Aided Design (FMCAD), pages 81–88.
Miller, C. and Poellabauer, C. (2009). A Decentralized Ap-
proach to Minimum-Energy Broadcasting in Static Ad
Hoc Networks. In Proc. 8th Int. Conf. on Ad-Hoc, Mo-
bile and Wireless Networks (ADHOC-NOW), pages
298–311.
Ramadge, P. and Wonham, W. (1987). Supervisory Control
of a Class of Discrete Event Processes. SIAM J. on
Control and Optimization, 25(1):206–230.
Stefanescu, A., Esparza, J., and Muscholl, A. (2003). Syn-
thesis of Distributed Algorithms Using Asynchronous
Automata. In Proc. 14th Int. Conf. on Concurrency
Theory (CONCUR), pages 27–41.
van Gemund, A. (1997). The Importance of Synchroniza-
tion Structure in Parallel Program Optimization. In
Proc. 11th Int. Conf. on Supercomputing (ICS), pages
164–171.
Yook, J., Tilbury, D., and Soparkar, N. (2002). Trading
Computation for Bandwidth: Reducing Communica-
tion in Distributed Control Systems Using State Esti-
mators. IEEE Transactions on Control Systems Tech-
nology, 10(4):503–518.
Appendix: Proof for Lemma 1
Here we discuss the execution semantics of our dis-
tributed model, show that they produce runs that are
compatible with the BP semantics, and prove an im-
portant property: assuming communication is instan-
taneous, the distributed system behaves identically to
the undistributed one.
Definition 2. A distributed model produced from a
behavioral model M, with respect to a strict event sep-
aration, S = {C
1
,...,C
k
}, denoted as D (M,S), is de-
fined to be the set of projections of M along the com-
ponents of the event separation:
D (M) = {project(M,C
1
),...,project(M,C
k
)}.
Executing a distributed model means executing the
component models (i.e., the projections) according to
the operational semantics defined in Section 3.3.
Next we formally define the global state (the cut)
of a behavioral model that is being executed:
MODELSWARD 2017 - 5th International Conference on Model-Driven Engineering and Software Development
194