Christopher Shank
09/20/2022, 12:43 AMWe describe an implementation-independent programming paradigm, behavioral programming, which allows programmers to build executable reactive systems from specifications of behavior that are aligned with the requirements. Behavioral programming simplifies the task of dealing with under- specification and conflicting requirements by enabling the addition of software modules that can not only add to but also modify existing behaviors. A behavioral program employs specialized programming idioms for expressing what must, may, or must not happen, and a novel method for the collective execution of the resulting scenarios. Behavioral programming grew out of the scenario-based language of live sequence charts (LSC), and is now implemented also in Java and in other environments. We illustrate the approach with detailed examples in Java and LSC, and also review recent work, including a visual trace-comprehension tool, model-checking assisted development, and extending behavioral programs to be adaptive.https://www.wisdom.weizmann.ac.il/~amarron/BP%20-%20CACM%20-%20Author%20version.pdf
Andrew F
09/20/2022, 6:34 AMChristopher Shank
09/21/2022, 6:39 AM