Behavioral programming

    Research output: Contribution to journalReview articlepeer-review

    127 Scopus citations

    Abstract

    Behavioral programming is a novel, language-independent paradigm for programming reactive systems, centered on natural and incremental specification of behavior, and implemented in the visual formalism of live sequence charts (LSC), and in the BPJ Java package. To facilitate full behavioral modularity via the independent coding of separate facets of behavior, all scenarios run simultaneously, and all are consulted at every decision point during execution. Naturally, composing behaviors that were programmed without direct consideration of mutual dependencies raises questions about conflicting requirements, under-specification, and synchronization. When all b-threads are at a synchronization point, an event is chosen, that is requested by at least one b-thread and is not blocked by any b-thread. The selected event is then triggered by resuming all the b-threads that either requested it or are waiting for it.

    Original languageEnglish
    Pages (from-to)90-100
    Number of pages11
    JournalCommunications of the ACM
    Volume55
    Issue number7
    DOIs
    StatePublished - 1 Jul 2012

    ASJC Scopus subject areas

    • General Computer Science

    Fingerprint

    Dive into the research topics of 'Behavioral programming'. Together they form a unique fingerprint.

    Cite this