TY - GEN
T1 - Keeping Behavioral Programs Alive
T2 - 32nd IEEE International Requirements Engineering Conference, RE 2024
AU - Yaacov, Tom
AU - Elyasaf, Achiya
AU - Weiss, Gera
N1 - Publisher Copyright:
© 2024 IEEE.
PY - 2024/1/1
Y1 - 2024/1/1
N2 - 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.
AB - 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.
KW - Behavioral Programming
KW - Executable Specifications
KW - Liveness
KW - Requirement Engineering
UR - http://www.scopus.com/inward/record.url?scp=85202738674&partnerID=8YFLogxK
U2 - 10.1109/RE59067.2024.00019
DO - 10.1109/RE59067.2024.00019
M3 - Conference contribution
AN - SCOPUS:85202738674
T3 - Proceedings of the IEEE International Conference on Requirements Engineering
SP - 91
EP - 102
BT - Proceedings - 32nd IEEE International Requirements Engineering Conference, RE 2024
A2 - Liebel, Grischa
A2 - Hadar, Irit
A2 - Spoletini, Paola
PB - Institute of Electrical and Electronics Engineers
Y2 - 24 June 2024 through 28 June 2024
ER -