The Requirements Problem for Adaptive Systems

What is the design and decision-making problem to solve, when engineering adaptive systems?

With Alexander Borgida at Rutgers, Neil Ernst at the Software Engineering Institute Carnegie Mellon University, and John Mylopoulos at University of Trento, I proposed a statement of this problem, and a formal language to represent the problem and its solutions. The paper will be published at the ACM Transactions on Management Information Systems.

The abstract is below. I will post the paper as soon as ACM publishes it.

Requirements Engineering (RE) focuses on eliciting, modelling, and analysing the requirements and environment of a system-to-be in order to design its specification. The design of the specification, known as the Requirements Problem (RP), is a complex problem solving task, as it involves, for each new system, the discovery and exploration of, and decision making in a new problem space.

A system is adaptive if it can detect deviations between its runtime behaviour and its requirements, specifically situations where its behaviour violates one or more of its requirements. Given such a deviation, an Adaptive System uses feedback mechanisms to analyse these changes and decide, with or without human intervention, how to adjust its behaviour as a result.

We are interested in defining the Requirements Problem for Adaptive Systems (RPAS). In our case, we are looking for a configurable specification such that whenever requirements fail to be fulfilled, the system can go through a series of adaptations that change its configuration and eventually restore fulfilment of the requirements.

From a theoretical perspective, this paper formally shows the fundamental differences between standard RE (notably Zave & Jackson) and RE for Adaptive Systems (see the seminal work by Fickas & Feather, Letier & van Lamsweerde, Whittle et al.). The main contribution of this paper is to introduce the RPAS as a new RP class that is specific to Adaptive Systems. We relate the RPAS to RE research on the relaxation of requirements, the evaluation of their partial satisfaction, and the monitoring and control of requirements, all topics of particular interest in research on adaptive systems.

From an engineering perspective, we define a proto-framework for solving RPAS, which illustrates features needed in future frameworks for adaptive software systems.

Published by

Ivan Jureta

I hold the Senior Researcher (Chercheur qualifié) position with the Belgian national research fund (Fonds de la Recherche Scientifique – FNRS, Brussels) and am Associate Professor with the Department of Business Administration, University of Namur. My principal research interest is in method engineering and method automation, focusing on the elicitation, modeling and analysis of knowledge that human experts apply in problem solving and decision making, the engineering of ontologies and processes capturing that knowledge, and the automation of the said processes. This interest falls within the various research fields concerned with the transfer, preservation and automation of knowledge. I am the author of “Analysis and Design of Advice” (Springer, 2011) and have published over 50 research papers on these topics within the fields of requirements engineering, business analysis, and conceptual modeling of information systems. I organize and chair the series of International Workshops on Modeling and Reasoning for Business Intelligence (MORE-BI), held in Brussels in 2011 and Florence in 2012. I serve on scientific committees of the IEEE International Requirements Engineering Conference (RE), the International Conference on Advanced Information Systems Engineering (CAiSE), and the International Conference on Conceptual Modeling (ER). In parallel, I am / have been involved with several startups at CxO level and have held lead roles in Product Design for web and digital services that today serve more than 500.000 people every day.