1 MoDRE workshop series

To date, the Model-Driven Requirements Engineering (MoDRE) workshop series has produced 12 workshops from 2011 to 2022, all of which were co-located with the IEEE International Requirements Engineering (RE) Conference. The MoDRE workshop series provides a forum to discuss the challenges of Model-Driven Development (MDD) for RE. Building on the interest of MDD for design and implementation, RE may benefit from MDD techniques when properly balancing flexibility for capturing varied user needs with formal rigidity required for model analysis and transformations as well as high-level abstraction with information richness. MoDRE seeks to explore those areas of RE that have not yet been formalized sufficiently to be incorporated into an MDD environment as well as how RE models can benefit from emerging topics in the model-driven community. Over the years, this included topics such as models@runtime, reuse, flexible and collaborative modeling, modeling for DevOps and iterative development, sustainability, human values and ethics, equality and fairness, adaptive systems, and artificial intelligence-enabled modeling and applications. The motivation, format, and history of the MoDRE workshop series are available at http://www.modre.ece.mcgill.ca/.

To help identify new challenges for MoDRE, to discuss ongoing work and potential solutions, to analyze the strengths and weaknesses of MDD approaches for RE and opportunities to apply MDD approaches for RE, and to foster stimulating discussions, the MoDRE workshop series featured well-known keynote speakers: Bruce Trask and Angel Roman from MDE Systems “Applying Model Driven Engineering to Requirements Engineering: Experiences and Challenges from Industry” (2012), Pete Sawyer “Modeling What We Don’t Know” (2013), Xavier Franch “Dealing with NFRs in the MDD Process” (2014), Lionel Briand “Capturing and Analyzing Legal Requirements” (2015), Daniel Amyot “Modeling in Healthcare: Requirements and Clinical Processes” (2016), Martin Glinz “Forty Years of Modeling in Requirements Engineering” (2017), Julio Leite “The Prevalence of Code Over Models: Turning it Around With Transparency” (2018), John Mylopoulos “A Refinement Calculus for Requirements Engineering” (2019), Betty Cheng “Applying Model-Driven Requirements Engineering to Manage Uncertainty for High-Assurance Self-Adaptive Systems: Lessons Learned and Research Challenges” (2020), Birgit Penzenstadler “Resilience via Socio-Technical Systems: Projecting Sustainability Impacts During RE” (2021), and Grischa Liebel “Modelling Requirements at Scale: On the Use of Requirements Models in Large-Scale Agile Systems Engineering” (2022).

MDD [1] is a paradigm for software development where models are no longer just simple mediums for describing software systems or only facilitating inter-team communication. In MDD, models become first-class citizens, and a software system is obtained through the definition and transformation of different models at different abstraction layers. Models may be descriptive (capturing properties of an existing system), prescriptive (capturing properties of a future system much like a construction blueprint), or predictive (creating new knowledge for decision-making and trade-off analyses) [2, 3]. MDD is no longer a novel development paradigm [4,5,6], and the MoDRE workshop series has investigated the use of MDD for RE for more than a decade, but there are still many requirements engineering areas, such as requirements elicitation or requirements prioritization, that have not been investigated in depth yet [4].

The success of MDD is mainly due to the opportunities that software development artifacts offer when they are managed as models. For instance, a model can be used to generate other models by means of automatic model transformations, thus ensuring consistency and speeding up repetitive tasks of system’s development [7]. Using model management languages, models can be inspected and analyzed to ensure different non-functional requirements [8,9,10,11], such as security and/or gender equality. In other cases, models are used for simulation purposes or to govern the execution of a system at runtime [12]. Moreover, MDD solutions may be applied more concisely to RE models with clearly separated concerns [13]. All these possibilities have been largely explored at the design and implementation levels, but less work has been done at the requirements engineering level.

2 In this theme section

This theme section celebrates the 10th anniversary of the MoDRE workshop series. Authors of MoDRE workshop papers were challenged to produce original contributions to be submitted to this theme section. Additionally, an open call for submissions was made publically available. From the 19 papers submitted to this theme section, 10 were selected after a thorough reviewing process.

The paper CaRE: a refinement calculus for requirements engineering based on argumentation theory by Y. Elrakaiby, A. Borgida, A. Ferrari, and J. Mylopoulos is grounded in the connection between requirements, defects, and refinements and covers the complete RE refinement process. CaRE provides a comprehensive calculus for deriving specifications from stakeholder requirements, an argumentation-based semantics of what it means for a specification to address a set of stakeholder requirements and an equivalent semantics based on Horn abduction, a prototype tool for reasoning support, and an illustration of the elements of the proposed calculus.

The paper Requirements document relations: A reuse perspective on traceability through standards by K. Großer, V. Riediger, and J. Juerjens proposes a framework for better dealing with highly complex requirements documents dependencies in large software projects. The solution is based on a tracing system that stores the interconnection between those requirements documents. The authors use a simplified excerpt of the EagleEye case study to show their concepts and formalize different types of relations in an ORM meta-model. Based on this metamodel, requirement collections and their relationships can be extracted as graphs, and graph algorithms and queries can be run to reveal document inconsistencies.

The paper Early timing analysis based on scenario requirements and platform models by J. Holtmann, J. DeAntoni, and M. Fockel presents an end-to-end timing analysis approach that can be used during requirements engineering without detailed knowledge of the implementation. The approach offers an extension to Modal Sequence Diagrams to include timing properties of platforms, enabling platform-aware timing analyses at the software requirements stage. The approach is exemplified and finally validated based on an automotive system example for autonomous emergency braking.

The paper Decision-making under uncertainty: be aware of your priorities by H. Samin, N. Bencomo, and P. Sawyer proposes Pri-AwaRE, a two-layered architecture for supporting runtime decision-making in self-adaptive systems based on NFR priorities. Such architecture is inspired by the feedback architecture of the reinforcement learning process and separates the concerns of the decision-making agent and the environment. Pri-AwaRE, using a reward vector, works towards non-scalar nature of priorities, thus offering better-informed trade-offs of NFRs at runtime. The paper provides details of the managing system’s components and two application examples from the Internet of things (IoT) domain.

The paper Modeling and reasoning about uncertainty in goal models: a decision-theoretic approach by S. Liaskos, S. Khan, and J. Mylopoulos presents an extension of the standard iStar 2.0 goal modeling language which allows both representation and reasoning for uncertainty and preferential utility in goals. In this work, solutions are not just specifications, such as functions, quality constraints, and assumptions, they are policies, i.e., sequences of situational action decisions that promote stakeholder goals to be fulfilled. Tool support, based on AI reasoning, is used for the identification of optimal policies regarding the value they offer to stakeholders in relation to the probability of failure. The evaluation of the approach involves simulation study and scalability experiments.

The paper Measurement and classification of inter-actor dependencies in goal models by J. Hassine and M. Tukur presents a quantitative metric (Actor Interaction Metric (AIM)), which measures inter-actor dependencies in GRL models. This metric is based on the computation of GRL actors’ quantitative satisfaction intervals. AIM is syntactic as it depends only on the model structure. AIM categorizes inter-actor dependencies into positive, negative, and neutral and is used to identify the most harmful or beneficial dependency for each actor, given any user-defined strategy. The approach provides tool support in the context of the textual GRL language, part of the TURN (Textual User Requirements Notation) standard. The approach is evaluated experimentally with 13 textual GRL models of different sizes, configurations, and complexity.

The paper A descriptive study of assumptions in STRIDE security threat modeling by D. Van Landuyt and W. Joosen presents a descriptive study that consists of 640 textual assumptions made in 96 STRIDE threat models considering the same system. The focus of the study is on the diversity in the use of assumptions in practice: their role or function in the threat modeling process; the degree of coupling between the assumptions and the system being analyzed; and the degree to which these assumptions are restricted to security. Considerable differences were noticed on the mentioned investigated aspects. The authors are critical of the exclusive use of Data Flow Diagrams as the main basis for threat analysis and approve the integration of more expressive attacker and trust models, which can progress together with both the threat model and the system.

The paper Model-based assurance evidence management for safety–critical systems by J. L. de la Vara, A. S. García, J. Valero, and C. Ayora presents a new approach for managing evidence required by assurance processes in safety-critical systems. This evidence is composed of a large number of artifacts that can be difficult to manage. To alleviate this problem, this work proposes a process built on a metamodel that defines the whole lifecycle of the artifacts used as assurance evidence. This approach has been validated with several industrial partners.

The paper Model-driven system-level validation and verification on the space software domain by A. Montalvo, P. Parra, O. R. Polo, A. Carrasco, A. Da Silva, A. Martinez, and S. Sánchez introduces a model-driven approach to support the system-level validation and verification process for space software applications according to standards ECSS-E-ST-40 and ECSS-Q-ST-80. By using models and models transformations, several artifacts, such as inputs for test environments, can be automatically generated. Similarly, some checks are also automatically performed, such as ensuring that requirements removed in previous versions are also deleted from the traceability matrix. The process has been applied to the development of software within the European Space Agency (ESA) Solar Orbiter mission.

The paper Specification and analysis of legal contracts with Symboleo by A. Parvizimosaed, S. Sharifi, D. Amyot, L. Logrippo, M. Roveri, A. Rasti, A. Roudak, and J. Mylopoulos describes two new tools, SymboleoCC and SymboleoPC, for verifying properties of legal contracts specified using Symboleo. Symboleo is a language for specifying legal contracts based on a collection of powers and obligations. Using SymboleoCC, we can run test cases to verify concrete scenarios of the execution of a contract. Moreover, using SymboleoPC, we can formally verify some temporal properties of Symboleo contracts.