Publications
publications by categories in reversed chronological order.
2025
- Using Behavior Trees in Risk AssessmentRazan Ghzouli, Atieh Hanna, Endre Erös, and 1 more authorIn 2025 IEEE 30th International Conference on Emerging Technologies and Factory Automation (ETFA), 2025
Cyber-physical production systems increasingly involve collaborative robotic missions, which come with a higher demand for robustness and safety. Practitioners rely on risk assessments to identify potential failures and implement measures to mitigate their risks. Ensuring that mitigation strategies derived from risk assessments are adequately considered in the software implementation can be challenging, especially when stakeholders involved in the assessment process lack a programming background. This leads to a disconnection between the outputs of risk assessments and the actual implementation of robotic missions. To address this issue, there is a need to integrate software engineering practices into the risk assessment process to ensure consistency and traceability between the outputs of risk assessments and their corresponding software implementation.This paper presents a design science study that conceived a model-based approach for early risk assessment in a development-centric way. Our approach supports risk assessment activities by using behavior-tree models. We evaluated the approach together with five practitioners from four companies. This approach is the first attempt to use behavior-tree models to support risk assessment. Our findings highlight the potential of behavior-tree models in supporting early identification, visualization, and bridging the gap between code implementation and the outputs of risk assessments. Our findings suggest research directions for further development of the approach to increase its applicability and usefulness in practice.
@inproceedings{ghzouli2025using, title = {Using Behavior Trees in Risk Assessment}, author = {Ghzouli, Razan and Hanna, Atieh and Er{\"o}s, Endre and Wohlrab, Rebekka}, booktitle = {2025 IEEE 30th International Conference on Emerging Technologies and Factory Automation (ETFA)}, pages = {1--8}, year = {2025}, organization = {IEEE}, doi = {10.1109/ETFA65518.2025.11205620}, } - Extending Behavior Trees for Robotic Missions with Quality RequirementsRazan Ghzouli, Rebekka Wohlrab, and Jennifer HorkoffIn International Working Conference on Requirements Engineering: Foundation for Software Quality, 2025
Context and motivation: In recent years, behavior trees have gained growing interest within the robotics community as a specification and control-switching mechanism for the different tasks that form a robotics mission. Problem: Given the rising complexity and prevalence of robotic systems, it is increasingly challenging and important for practitioners to design high-quality missions that meet certain qualities, for instance, to consider potential failures or mitigate safety risks. In software requirements engineering, quality or non-functional requirements have long been recognized as a key factor in system success. Currently, qualities are not represented in behavior-tree models, which capture a robotic mission, making it difficult to assess the extent to which different mission components comply with those qualities. Principal ideas/results: In this paper, we propose an extension for behavior trees to have qualities and quality requirements explicitly represented in robotics missions. We provide a meta-model for the extension, develop a domain-specific language (DSL), and describe how we integrated our DSL in one of the most used languages in robotics for developing behavior trees, BehaviorTree.CPP. A preliminary evaluation of the implemented DSL shows promising results for the feasibility of our approach and the need for similar DSLs. Contribution: Our approach paves the way for incorporating qualities into the behavior model of robotics missions. This promotes early expression of qualities in robotics missions, and a better overview of missions’ components and their contribution to the satisfaction of quality concerns.
@inproceedings{ghzouli2025extending, title = {Extending Behavior Trees for Robotic Missions with Quality Requirements}, author = {Ghzouli, Razan and Wohlrab, Rebekka and Horkoff, Jennifer}, booktitle = {International Working Conference on Requirements Engineering: Foundation for Software Quality}, pages = {333--349}, year = {2025}, organization = {Springer}, doi = {10.1007/978-3-031-88531-0_24}, }
2023
- Behavior trees and state machines in robotics applicationsRazan Ghzouli, Thorsten Berger, Einar Broch Johnsen, and 2 more authorsIEEE Transactions on Software Engineering, 2023
Autonomous robots combine skills to form increasingly complex behaviors, called missions. While skills are often programmed at a relatively low abstraction level, their coordination is architecturally separated and often expressed in higher-level languages or frameworks. State machines have been the go-to language to model behavior for decades, but recently, behavior trees have gained attention among roboticists. Originally designed to model autonomous actors in computer games, behavior trees offer an extensible tree-based representation of missions and are claimed to support modular design and code reuse. Although several implementations of behavior trees are in use, little is known about their usage and scope in the real world. How do concepts offered by behavior trees relate to traditional languages, such as state machines? How are concepts in behavior trees and state machines used in actual applications? This paper is a study of the key language concepts in behavior trees as realized in domain-specific languages (DSLs), internal and external DSLs offered as libraries, and their use in open-source robotic applications supported by the Robot Operating System (ROS). We analyze behavior-tree DSLs and compare them to the standard language for behavior models in robotics: state machines. We identify DSLs for both behavior-modeling languages, and we analyze five in-depth. We mine open-source repositories for robotic applications that use the analyzed DSLs and analyze their usage. We identify similarities between behavior trees and state machines in terms of language design and the concepts offered to accommodate the needs of the robotics domain. We observed that the usage of behavior-tree DSLs in open-source projects is increasing rapidly. We observed similar usage patterns at model structure and at code reuse in the behavior-tree and state-machine models within the mined open-source projects. We contribute all extracted models as a dataset, hoping to inspire the community to use and further develop behavior trees, associated tools, and analysis techniques.
@article{ghzouli2023behavior, title = {Behavior trees and state machines in robotics applications}, author = {Ghzouli, Razan and Berger, Thorsten and Johnsen, Einar Broch and Wasowski, Andrzej and Dragule, Swaib}, journal = {IEEE Transactions on Software Engineering}, volume = {49}, number = {9}, pages = {4243--4267}, year = {2023}, publisher = {IEEE}, doi = {10.1109/TSE.2023.3269081}, }
2022
- Supporting the migration towards model-driven robotic systemsRazan Ghzouli2022
Robots are increasingly deployed to perform every-day tasks. It is crucial to implement reliable and reusable systems to reduce development effort. The complexity of robotic systems requires the collaboration of experts from different backgrounds. Therefore, clear and communicatable abstraction of components is essential for successful development process. There has been a demand in the community for increased adoption of software engineering approaches to support better robotic systems. Adopting model-driven approaches has been proved successful in supporting this movement. We aim to support the adaptation of model-driven approaches in robotic domain in three interest areas: behavior models, structural models and guaranteeing confidence in system behavior. The overall goal is to support the creation of reusable, verifiable and easy to communicate robotic missions and systems. To achieve that, we conducted a mix of knowledge-seeking and solution-seeking studies. We started with behavior models. We wanted to build knowledge about used behavior models in practice. We investigated the state-of-practice of an emerging behavior model, behavior trees, in comparison to two standardized UML models and a traditional roboticists choice. Moving to the second interest area, we wanted to support the creation of light-weight tools for building an understanding of system structure using feature models. We conducted a pilot evaluation of an already light-weight tool, called FeatureVista. The final interest area was guaranteeing confidence in system behavior. The usual engineering process of self-adaptive controllers in robotic involves different model-based approaches. We wanted to investigate an approach that reaffirm, at code-level, control properties while keeping the usual engineering process. We investigated an approach for mapping control properties to software ones using an appropriate input format for software model-based checking. Our investigations in the different interest areas have built knowledge and shed light on opportunities. We provided characteristics of behavior models, behavior trees and state machines, in popular robotic implementations and highlighted opportunities for improvements. We also provided usage trend for studied implementations in open-source projects. In addition, we provided core- structural characteristic and code-reuse patterns for studied behavior models in open-source projects. For feature models, our results showed promising results for using an interactive tool that provides an easy and initiative navigation between feature models and software components. Improvement aspects were also highlighted for developing similar tools. Finally, our work for the confidence of system behavior showed promising results in reaffirming the correctness of a control property at code-level using appropriate software notation, specification patterns. Also, our approach allowed keeping the current practices of using model-based approaches in self-adaptive robotic systems.
@book{ghzouli2022supporting, title = {Supporting the migration towards model-driven robotic systems}, author = {Ghzouli, Razan}, year = {2022}, publisher = {Chalmers Tekniska Hogskola (Sweden)}, }
2021
- Towards Mapping Control Theory and Software Engineering Properties using Specification PatternsRicardo Caldas, Razan Ghzouli, Alessandro V Papadopoulos, and 3 more authorsIn 2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C), 2021
A traditional approach to realize self-adaptation in software engineering (SE) is by means of feedback loops. The goals of the system can be specified as formal properties that are verified against models of the system. On the other hand, control theory (CT) provides a well-established foundation for designing feedback loop systems and providing guarantees for essential properties, such as stability, settling time, and steady state error. Currently, it is an open question whether and how traditional SE approaches to self-adaptation consider properties from CT. Answering this question is challenging given the principle differences in representing properties in both fields. In this paper, we take a first step to answer this question. We follow a bottom up approach where we specify a control design (in Simulink) for a case inspired by Scuderia Ferrari (F1) and provide evidence for stability and safety. The design is then transferred into code (in C) that is further optimized. Next, we define properties that enable verifying whether the control properties still hold at code level. Then, we consolidate the solution by mapping the properties in both worlds using specification patterns as common language and we verify the correctness of this mapping. The mapping offers a reusable artifact to solve similar problems. Finally, we outline opportunities for future work, particularly to refine and extend the mapping and investigate how it can improve the engineering of self-adaptive systems for both SE and CT engineers.
@inproceedings{caldas2021towards, title = {Towards Mapping Control Theory and Software Engineering Properties using Specification Patterns}, author = {Caldas, Ricardo and Ghzouli, Razan and Papadopoulos, Alessandro V and Pelliccione, Patrizio and Weyns, Danny and Berger, Thorsten}, booktitle = {2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)}, pages = {281--286}, year = {2021}, organization = {IEEE}, doi = {10.1109/ACSOS-C52956.2021.00067}, } - Featurevista: Interactive feature visualizationAlexandre Bergel, Razan Ghzouli, Thorsten Berger, and 1 more authorIn Proceedings of the 25th ACM International Systems and Software Product Line Conference-Volume A, 2021
Comprehending and characterizing the spread and interaction of features in a software system is know to be difficult and error-prone. This paper presents FeatureVista, a lightweight tool providing interactive, glyph-based, and iconic visualization concepts designed to visually characterize the feature locations in software assets (source code). FeatureVista supports navigating between software components and features in an equal fashion. Our pilot study indicates that FeatureVista is intuitive and supports comprehending features. It helps to precisely characterize relations among features in large software systems and to contrast explicit software component definitions (e.g., package, class, method) with annotated feature portions—which so far was a largely manual and error-prone activity, albeit essential to get an adequate understanding of a software system. We suggest research directions for true, feature-oriented interfaces that can be used to manage software assets.
@inproceedings{bergel2021featurevista, title = {Featurevista: Interactive feature visualization}, author = {Bergel, Alexandre and Ghzouli, Razan and Berger, Thorsten and Chaudron, Michel RV}, booktitle = {Proceedings of the 25th ACM International Systems and Software Product Line Conference-Volume A}, pages = {196--201}, year = {2021}, doi = {10.1145/3461001.347115}, }
2020
- Behavior trees in action: a study of robotics applicationsRazan Ghzouli, Thorsten Berger, Einar Broch Johnsen, and 2 more authorsIn Proceedings of the 13th ACM SIGPLAN international conference on software language engineering, 2020
Autonomous robots combine a variety of skills to form increasingly complex behaviors called missions. While the skills are often programmed at a relatively low level of abstraction, their coordination is architecturally separated and often expressed in higher-level languages or frameworks. Recently, the language of Behavior Trees gained attention among roboticists for this reason. Originally designed for computer games to model autonomous actors, Behavior Trees offer an extensible tree-based representation of missions. However, even though, several implementations of the language are in use, little is known about its usage and scope in the real world. How do behavior trees relate to traditional languages for describing behavior? How are behavior tree concepts used in applications? What are the benefits of using them? We present a study of the key language concepts in Behavior Trees and their use in real-world robotic applications. We identify behavior tree languages and compare their semantics to the most well-known behavior modeling languages: state and activity diagrams. We mine open source repositories for robotics applications that use the language and analyze this usage. We find that Behavior Trees are a pragmatic language, not fully specified, allowing projects to extend it even for just one model. Behavior trees clearly resemble the models-at-runtime paradigm. We contribute a dataset of real-world behavior models, hoping to inspire the community to use and further develop this language, associated tools, and analysis techniques.
@inproceedings{ghzouli2020behavior, title = {Behavior trees in action: a study of robotics applications}, author = {Ghzouli, Razan and Berger, Thorsten and Johnsen, Einar Broch and Dragule, Swaib and W{\k{a}}sowski, Andrzej}, booktitle = {Proceedings of the 13th ACM SIGPLAN international conference on software language engineering}, pages = {196--209}, year = {2020}, doi = {10.1145/3410254}, }