Skip to main navigation Skip to search Skip to main content

Keeping Behavioral Programs Alive: Specifying and Executing Liveness Requirements

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    2 Scopus citations

    Abstract

    One of the benefits of using executable specifications such as Behavioral Programming (BP) is the ability to align the system implementation with its requirements. This is facilitated in BP by a protocol that allows independent implementation modules that specify what the system may, must, and must not do. By that, each module can enforce a single system requirement, including negative specifications such as 'don't do X after Y.' The existing BP protocol, however, allows only the enforcement of safety requirements and does not support the execution of liveness properties such as 'do X at least three times.' To model liveness requirements in BP directly and independently, we propose idioms for tagging states with 'must-finish;' indicating that tasks are yet to be completed. We show that this idiom allows a direct specification of known requirements patterns from the literature. We also offer semantics and two execution mechanisms, one based on a translation to Büchi automata and the other based on a Markov decision process (MDP). The latter approach offers the possibility of utilizing deep reinforcement learning (DRL) algorithms, which bear the potential to handle large software systems effectively. This paper presents a qualitative and quantitative assessment of the proposed approach using a proof-of-concept tool. A formal analysis of the MDP-based execution mechanism is given in an appendix.

    Original languageEnglish
    Title of host publicationProceedings - 32nd IEEE International Requirements Engineering Conference, RE 2024
    EditorsGrischa Liebel, Irit Hadar, Paola Spoletini
    PublisherInstitute of Electrical and Electronics Engineers
    Pages91-102
    Number of pages12
    ISBN (Electronic)9798350395112
    DOIs
    StatePublished - 1 Jan 2024
    Event32nd IEEE International Requirements Engineering Conference, RE 2024 - Reykjavik, Iceland
    Duration: 24 Jun 202428 Jun 2024

    Publication series

    NameProceedings of the IEEE International Conference on Requirements Engineering
    ISSN (Print)1090-705X
    ISSN (Electronic)2332-6441

    Conference

    Conference32nd IEEE International Requirements Engineering Conference, RE 2024
    Country/TerritoryIceland
    CityReykjavik
    Period24/06/2428/06/24

    Keywords

    • Behavioral Programming
    • Executable Specifications
    • Liveness
    • Requirement Engineering

    ASJC Scopus subject areas

    • General Computer Science
    • General Engineering
    • Strategy and Management

    Fingerprint

    Dive into the research topics of 'Keeping Behavioral Programs Alive: Specifying and Executing Liveness Requirements'. Together they form a unique fingerprint.

    Cite this