A calculus of mobile processes, I
Information and Computation
Managing conflicts between rules
Journal of Computer and System Sciences
Proof, language, and interaction
Communicating sequential processes
Communications of the ACM
Formal verification of parallel programs
Communications of the ACM
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
A Calculus of Communicating Systems
A Calculus of Communicating Systems
ERLANG for Concurrent Programming
ERLANG for Concurrent Programming
Expert Systems: Principles and Programming
Expert Systems: Principles and Programming
Automated Software Engineering
Smart Play-out of Behavioral Requirements
FMCAD '02 Proceedings of the 4th International Conference on Formal Methods in Computer-Aided Design
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
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
International Journal on Software Tools for Technology Transfer (STTT) - Special section on high-level test of complex systems
From multi-modal scenarios to code: compiling LSCs into aspectJ
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Using LSCs for scenario authoring in tactical simulators
Proceedings of the 2007 Summer Computer Simulation Conference
Toward Verified Biological Models
IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB)
FMOODS '09/FORTE '09 Proceedings of the Joint 11th IFIP WG 6.1 International Conference FMOODS '09 and 29th IFIP WG 6.1 International Conference FORTE '09 on Formal Techniques for Distributed Systems
S2A: a compiler for multi-modal UML sequence diagrams
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Planned and traversable play-out: a flexible method for executing scenario-based programs
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
SMTT'03 Proceedings of the 2003 international conference on Scenarios: models, Transformations and Tools
Combining state-based and scenario-based approaches in modeling biological systems
CMSB'04 Proceedings of the 20 international conference on Computational Methods in Systems Biology
PlayGo: towards a comprehensive tool for scenario based programming
Proceedings of the IEEE/ACM international conference on Automated software engineering
Coordinating and visualizing independent behaviors in erlang
Proceedings of the 9th ACM SIGPLAN workshop on Erlang
On coordination tools in the PicOS tuples system
Proceedings of the 2nd Workshop on Software Engineering for Sensor Network Applications
Model-checking behavioral programs
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
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
Spaghetti for the main course?: observations on the naturalness of scenario-based programming
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
The quest for runware: on compositional, executable and intuitive models
Software and Systems Modeling (SoSyM)
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 |
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.