Formal verification of parallel programs
Communications of the ACM
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
Come, Let's Play: Scenario-Based Programming Using LSC's and the Play-Engine
Come, Let's Play: Scenario-Based Programming Using LSC's and the Play-Engine
ERESYE: artificial intelligence in Erlang programs
Proceedings of the 2005 ACM SIGPLAN workshop on Erlang
Using the Erlang Language for Multi-Agent Systems Implementation
IAT '05 Proceedings of the IEEE/WIC/ACM International Conference on Intelligent Agent Technology
Visualizing inter-dependencies between scenarios
Proceedings of the 4th ACM symposium on Software visualization
Programming coordinated behavior in java
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Behavioral programming, decentralized control, and multiple time scales
Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE!'11, AOOPES'11, NEAT'11, & VMIL'11
Communications of the ACM
A decentralized approach for programming interactive applications with JavaScript and blockly
Proceedings of the 2nd edition on Programming systems, languages and applications based on actors, agents, and decentralized control abstractions
Hi-index | 0.02 |
Behavioral programming, introduced by the LSC language and extended by the BPJ Java library, enables development of behaviors as independent modules that are relatively oblivious of each other, yet are integrated at run-time yielding cohesive system behavior. In this paper we present a proof-of-concept for infrastructure and a design pattern that enable development of such behavioral programs in Erlang. Each behavior scenario, called a behavior thread, or b-thread, runs in its own Erlang process. 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 that may be requested by other b-threads. A central mechanism handles these requests, and coordinates b-thread execution, yielding composite, integrated system behavior. We also introduce a visualization tool for Erlang programs written in the proposed design pattern. We believe that enabling the modular incremental development of behavioral programming in Erlang could further simplify the development and maintenance of applications consisting of concurrent independent behaviors.