Opaque, Complex, Biased, and Unpredictable AI

Opaque, Complex, Biased, and Unpredictable AI

Opacity, complexity, bias, and unpredictability are key negative nonfunctional requirements to address when designing AI systems. Negative means that if you have a design that reduces opacity, for example, relative to another design, the former is preferred, all else being equal. The first thing is to understand what each term refers to in general, that…

Choice in Absence of Utility and Probability Estimates

In expected utility models, utility quantifies preferences, probability quantifies uncertainty. Sounds simple, elegant, but tends to be expensive. What if options can be identified, but there is no information about preferences or uncertainty in a format that can be translated into, respectively, utility and probability? What is an alternative decision process, which is still structured…

Requirements as Decision Criteria

Assuming two or more alternative solutions are available, to make a decision means to pick only one of these, or, equivalently here, to commit to one and ignore others. What role do requirements play in such decision making situations?  In classical decision theory [1], the best solution is the one that yields the highest expected…

Nurtured Choice

What can you do to influence someone’s decision, if you cannot give them advice? In short, a possible approach is to take actions that satisfy two conditions: I call this the nurturing of choice. Instead of providing advice that is clearly directed at the elements of the decision problem (as I discussed in my book…

Limits of Decentralized Autonomous Organizations (DAO)

The crypto glossary at Andreessen Horowitz [1] gives the following definition of a Decentralized Autonomous Organization, or DAO:  “Decentralized autonomous organizations” or DAOs represent exactly what they are called; they are: (i) decentralized so, the rules cannot be changed by a single individual or centralized party; (ii) autonomous, so they operate based on logic written…

When Is a Design Problem a Sequence of Decision Problems?

Are decision problems and design problems related? Is one part of the other? Or is the relationship different? In a decision problem, there are, roughly speaking options and an objective, and the problem is to select the one option that best satisfies the objective. (There are other things in a decision problem, such as preferences…

What Is Evidence?

What Is Evidence?

There is no single definition of the term “evidence”, and trying to make one isn’t the purpose of this text. But there are ways of telling if something might be evidence, and knowing when it clearly isn’t. Such knowledge helps you develop a taste, so to speak, in evidence. Isn’t that valuable, given how frequently you may be giving evidence to support your ideas, and how frequently others do the same to you?

What Is an Explanation?

What Is an Explanation?

Many people spent a lot of time, across centuries, trying to build good explanations, and trying to distinguish good from bad ones. While there is no consensus on what “explanation” is (always and everywhere), it is worth knowing what good explanations may have in common. It helps develop a taste in explanations, which is certainly helpful given how frequently you may need to explain something, and how often others offered explanations to you.

Building University Spin-Offs from Research on Decision-Making

Building University Spin-Offs from Research on Decision-Making

This short interview on my research on decision making and use of it in companies, was done in 2018 with fnrs.tv, part of the Belgian Fonds de la Recherche Scientifique – FNRS, in Brussels. Each of my first two academic books led to the founding of a spin-off; see the books here.

What If People Learn Requirements Over Time?

The overall objective of Requirements Engineering is to specify, in a systematic way, a system that satisfies the expectations of its stakeholders. Despite tremendous effort in the field, recent studies demonstrate this is objective is not always achieved. In this paper, we discuss one particularly challenging factor to Requirements Engineering projects, namely the change of…

Requirements Problem and Solution Concepts for Adaptive Systems Engineering

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

On Notification Importance for Online Social Network Users

Over the last decade, online social networks (OSNs) have been growing quickly to become some of the largest systems in use. Their users are sharing more and more content, and in turn have access to vast amounts of information from and about each other. This increases the risk of information overload for every user. We…

Choosing Compliance Solutions through Stakeholder Preferences

Compliance to relevant laws is increasingly recognized as a critical, but also expensive, quality for software requirements. Laws contain elements such as conditions and derogations that generate a space of possible compliance alternatives. During requirements engineering, an analyst has to select one of these compliance alternatives and ensure that the requirements specification she is putting…

Product Portfolio Scope Optimization based on Features and Goals

In this paper we propose a mathematical program able to optimize the product portfolio scope of a software product line and sketch both a development and a release planning. Our model is based on the description of customer needs in terms of goals. We show that this model can be instantiated in several contexts such…

Mixed-Variable Requirements Roadmaps for Adaptive Systems

The requirements roadmap concept is introduced as a solution to the problem of the requirements engineering of adaptive systems. The concept requires a new general definition of the requirements problem which allows for quantitative (numeric) variables, together with qualitative (binary boolean) propositional variables, and distinguishes monitored from controlled variables for use in control loops. We…

From Decision Theory to Techne, and back

From Decision Theory to Techne, and back

I gave two talks on the topic of qualitative decision analysis, which is what Techne was designed to support. At the time, we were looking for conceptual foundations for doing qualitative decision analysis, an alternative to standard decision analysis, which assumes richer information than what we typically have during requirements engineering and system design. Much…

Dealing with Quality Tradeoffs during Service Selection

In a service-oriented system (SoS) service requests define tasks to execute and quality of service (QoS) criteria to optimize. A service request is submitted to an automated service selector in the SoS, which allocates tasks to those service that, together, can “best” satisfy the given QoS criteria. When the selector cannot optimize simultaneously the given…

Engineering Pluripotent Information Systems

A pluripotent information system is an open and distributed information system that (i) automatically adapts at runtime to changing operating conditions, and (ii) satisfies both the requirements anticipated at development time, and those unanticipated before but relevant at runtime. Engineering pluripotency into an information system therefore responds to two recurring critical issues: (i) the need…

Capturing and Using QoS Relationships to Improve Service Selection

In a Service-Oriented System (SOS), service requesters specify tasks that need to be executed and the quality levels to meet, whereas service providers advertise their services’ capabilities and the quality levels they can reach. Service selectors then match to the relevant tasks, the candidate services that can perform these tasks to the most desirable quality…

Continually Learning Optimal Allocations of Services to Tasks

Open service-oriented systems which autonomously and continually satisfy users’ service requests to optimal levels are an appropriate response to the need for increased automation of information systems. Given a service request, an open service-oriented system interprets the functional and nonfunctional requirements laid out in the request and identifies the optimal selection of services-that is, identifies…

Dynamic Web Service Composition within a Service-Oriented Architecture

Increasing automation requires open, distributed, service-oriented systems capable of multicriteria-driven, dynamic adaptation for appropriate response to changing operating conditions. We combine a simple architecture with a novel algorithm to enable openness, distribution, and multi-criteria-driven service composition at runtime. The service-oriented architecture involves mediator Web services coordinating other Web services into compositions necessary to fulfill user…