MSc Computer Science thesis · University of Twente · Omar Shehabi
How do you write requirements for an AI that adapts?
DARE is a step-by-step method for deciding what an autonomous AI system must always do, what it may adjust on its own, and when it must hand back to a human — and for checking all three while the system runs.
Split every requirement in two
Rigid ones are never broken. Flexible ones may bend, but only within stated limits.
Agree the limits before launch
Stakeholders sign off the limits and a priority order for when two requirements clash.
Watch them live
At runtime the system adapts inside the limits, and calls a human when it reaches the edge.
The whole method on one line
Click any step to jump to itRunning example throughout: an AI tutor for university students. It answers questions, sets practice problems and adapts to each student — but must never do their graded homework for them, and must alert a person if a student seems in distress.
Why a new method is needed
Classic requirements methods assume software does what it was told. AI systems adapt — so three things break.
Principles stay vague
“Be fair” or “be safe” rarely becomes a concrete rule an engineer can build, a monitor can check and an auditor can trace.
Conflicts are settled ad hoc
Speed vs accuracy, helpfulness vs integrity. In an adaptive system these trade-offs come up constantly, in situations nobody planned for.
Drift goes unnoticed
The system’s behaviour changes over time; the requirements document doesn’t. Mismatches surface through incidents, not instruments.
More detail
Policy frameworks such as the EU’s Trustworthy AI guidelines give high-level principles but little procedure for turning them into traceable, runtime-aware requirements. Traditional requirements engineering is specification-centric and resolves contradictions before implementation; it has no model of a requirement being partially satisfied, traded off, or monitored after launch.
DARE’s claim is not that these problems are new. It is that they should be handled by one connected method — a shared vocabulary, a way of writing flexible requirements, a conflict priority order and a runtime monitoring loop that all refer to the same requirement objects.
Two kinds of requirement
Every requirement is labelled once: rigid (never broken, under any condition) or flexible (may be adjusted, but only within agreed limits).
Rigid — can never be changed
Holds regardless of load, urgency or user pressure. No adaptation path exists.
Test: could breaking it cause direct harm, a legal or ethical breach, or defeat the system’s purpose? Then it’s rigid.
Flexible — can be adjusted
States what good looks like, admits it isn’t always reachable, and says how far off it may drift.
Test: is there a realistic situation where the ideal is unreachable, and a safe way to fall short? Then it’s flexible.
More detail
How the rigid example is enforced
- Enforced by: matching queries against the assignment database, a confidence threshold, a solution-detail analyser and a mandatory refusal protocol.
- If violated: academic dishonesty enabled, student skills not developed, instructor trust lost.
- Monitored: every query scored, confidence logged, refusal decisions audited.
The full rigid set in the case study
- Never give graded-assignment solutions (integrity).
- Never present uncertain information (confidence below 0.8) as definite fact (accuracy).
- Escalate immediately on signs of self-harm, severe distress, or five failed explanation attempts in a row (safety).
- Keep student data confidential under FERPA (privacy).
- Never give different quality of help based on demographics (equity).
The classification is deliberately made early and argued out, because a rigid requirement has no “relaxed” state to fall back to at runtime.
Writing a flexible requirement RELAX
A flexible requirement says which direction is “good” and how far the system may drift — without having to list every situation in advance.
The four flexibility words
More detail
Four questions asked of every requirement
- Must this hold unconditionally? If yes, it stays rigid — stop here.
- What makes it uncertain? Name the environmental factor (e.g. system load), the signal you can actually observe (CPU use, query-complexity score), and how the two relate. ENV · MON · REL
- Is there a realistic situation where the target can’t be met? If so, relaxation is warranted.
- Choose the flexibility word that fits, and set the limits.
The second question does real work: it forces the team to check whether monitoring can actually observe what the adaptation depends on. A student’s true understanding isn’t observable; the sophistication of their follow-up questions is.
Knock-on effects DEP
Each flexible requirement records which others its relaxation affects. Slowing responses to save capacity must not frustrate students into triggering encouragement messages that cost even more capacity. And no amount of explanation depth may cross into giving away a homework solution.
Limits in action
As conditions get worse, a flexible requirement moves through agreed states until it reaches a human. The rigid one next to it doesn’t move at all.
Response time to student questionsFlexible · target 3 seconds, as soon as possible
satisfiedWhat the system does
Meeting the target. No adaptation, no alert.
Signals that trigger adaptation
- more than 200 students online
- knowledge lookup slower than 2 s
- complex question (score over 0.7)
- server load over 80%
Meanwhile, the rigid homework rule is unaffected by any of this.
satisfiedMore detail
The four runtime states
- Satisfied — at or better than the ideal target.
- Relaxed within limits — deviating, but inside a range stakeholders approved.
- At risk — trending toward the hard limit; the system acts before it gets there.
- Violated — past the hard limit. For a flexible requirement this means handing over to a named person; for a rigid one it is an incident.
Rigid requirements only ever have the first and last state. In the case study, when response time conflicts with explanation depth, the priority order (section 7) says quality beats speed — so time is relaxed into the 10–30 second band rather than giving a shallow answer.
The seven phases
One setup phase, then six phases that repeat for as long as the system is in use. Select a phase.
The next four sections zoom into the phases that most distinguish DARE: setup (0), conflicts (4), sign-off (5) and runtime monitoring (6).
A shared vocabulary Phase 0 · ontology
Before any requirement is written, everyone agrees what the key words mean — so product, engineering, legal and operations are talking about the same things.
failure mode
edge case
liability exposure
incident
One agreed definition: a situation where something valued is threatened, which forces the system to weigh its requirements and decide.
The four stakeholder groups every project maps
More detail
How the core concepts connect
A risk experience also tests specific requirements, and deliberation weighs the intentions of the agents involved. Because each link is explicit, you can trace any decision back to the situation and requirements that caused it.
Questions the vocabulary must be able to answer
- What situations trigger deliberation in the system?
- Which requirements does a given situation put to the test?
- What conflicts arise from it, and how was each resolved?
- What is the full path from situation to decision?
Risk broken into parts
Each risk is split into what could go wrong, what would be lost, how uncertain it is, what is at risk, and what makes it more likely. The last part is usually the actionable one. The thesis applies this retrospectively to the 2018 Uber self-driving fatality — where disabled emergency braking and lenient regulation appear as enablers — and prospectively to the tutor, where deadline pressure and satisfaction-driven metrics enable integrity breaches.
Also set up in Phase 0
- The operating domain, boundaries and what the system explicitly won’t do.
- Applicable ethical frameworks and regulation for the domain.
- Autonomy levels and the conditions for moving between them.
Resolving conflicts Phase 4
When two requirements can’t both be met, a priority order agreed in advance decides — not whoever happens to be on call.
More detail
Conflicts are not eliminated at design time; they are expected to recur in operation. Phase 4 lists them with how often they occur and how hard they are to resolve, and records the reasoning behind each resolution so decisions can be audited later.
In the case study the priority order is grounded in four ethical principles adapted from biomedical ethics — do good, avoid harm, respect the student’s autonomy, treat everyone fairly — which often pull in different directions.
- Tier 1: overrides all performance, personalisation and satisfaction considerations.
- Tier 2: show uncertainty explicitly rather than trade accuracy for speed or simplicity.
- Tier 3: explanations that genuinely advance understanding beat fast shallow ones.
- Tier 4: balance challenge with support; accept reasonable delays for quality.
- Tier 5: optimise within the limits of everything above; relax under pressure.
Stakeholder sign-off Phase 5
Before launch, stakeholders approve what the system may change on its own, what it may never change, and exactly when it must ask a person.
Governance baseline
signed before deployment- ✓What it may adaptEach flexible requirement’s ideal, acceptable and maximum range
- ✓What it may never changeEvery rigid requirement, confirmed correct and complete
- ✓When it must askEscalation triggers and thresholds
- ✓Who responds, and how fastNamed roles, channels and turnaround times
How it’s validated
More detail
This differs from traditional validation, where stakeholders approve a fixed behavioural specification. Here they approve a bounded decision space, accepting that the system will sometimes operate below the ideal when conditions demand — and trusting the agreed mechanisms to handle situations nobody discussed explicitly.
Acceptance requires explicit confirmation that the limits allow meaningful adaptation without hurting quality, that rigid rules hold under all conditions, that escalation triggers are understandable and workable, and that the system’s explanations of its own adjustments are clear to users. The signed baseline becomes the reference for runtime auditing and for any later change to requirements.
Watching requirements at runtime Phase 6 · MAPE-K
Once live, requirements become objects the system continuously checks. A five-step loop watches them, adapts inside the limits, and escalates at the edges.
Example: a slow evening before an exam
- WatchComplex questions are taking 11 seconds — the fourth time this hour. Response time is in its acceptable band, heading toward maximum.
- AssessIt’s a pattern, not a blip. Deep explanations are what’s costing time. Both requirements are still within limits; no rigid rule is involved.
- DecideLearning quality (tier 3) outranks speed (tier 4): allow slower answers rather than shallower ones. Prepare a rollback.
- ActApply it, and watch for side effects — especially whether the delay starts frustrating students.
- RememberLog the situation, reason and outcome. Because this keeps happening, flag the response-time limits for stakeholder review.
The system adapts its behaviour — never its own requirements. If a requirement is repeatedly pushed to its limit, that evidence goes back to stakeholders (Phase 5). Requirements change only by human decision.
More detail
Each flexible requirement is turned into an executable monitoring rule with measurable signals, the three limit bands, adaptation options with safety conditions, and an escalation condition naming the responsible person. Monitoring is proactive: the aim is to spot a trend toward a violation and act before it happens.
Every escalation carries a context package — which requirements are involved, their current limits, recent adaptations, confidence levels and suggested actions — so the person stepping in can act quickly.
Signals that requirements themselves need revisiting: a requirement repeatedly relaxed to its maximum, one persistently unsatisfied despite adaptation, or behaviour revealing needs nobody anticipated.
Human oversight
Autonomy is treated as a dial with five settings. The top setting — no human involved at all — is deliberately ruled out.
Shows information; a person makes every choice.
Testing, sensitive topicsDrafts alternatives; a person picks what’s sent.
Staff review modeHandles routine work; asks before significant decisions.
Medium confidenceRuns whole sessions; calls a person at thresholds or signs of distress.
Well-understood topicsNo human oversight at all.
Excluded by designA person is always called in when…
More detail
Because autonomy is a setting rather than a fixed property, the runtime loop can lower it: in the case study, repeated breaches of the practice-difficulty limit first reduce the tutor’s autonomy to increase supervision, then escalate to the instructor. Every transition is logged.
Level 5 is excluded because even capable systems degrade on unfamiliar problems, and removing oversight in consequential domains removes accountability.
What it costs, and what it doesn’t claim
Worth weighing honestly before you answer the survey.
What adopting it takes
- An up-front vocabulary exercise, agreed across teams that currently use different words for the same thing.
- Labelling every requirement rigid or flexible — and defending each label.
- Numeric limits for every flexible requirement, plus the monitoring to observe them.
- A priority order negotiated with stakeholders, with the reasoning documented.
- Runtime monitoring of requirement states, not just system health, with an owner for every escalation.
- A standing review cadence, because the loop is designed to send requirements back to people.
What it is not
- Not a tool. It’s a methodology; a supporting platform doesn’t exist yet.
- Not validated at scale. It has been applied to one detailed case study, not across production projects over time.
- Not a guarantee of safety. It structures human decisions about a system; it doesn’t verify the model.
- Not self-modifying. The system never changes its own requirements.
- Not obviously right for every team. Whether small teams can absorb it is an open question.
Five things to take into the survey
Requirements are either rigid (never broken) or flexible (bend within limits).
Flexible ones use words like “as close as possible to”, plus numeric limits and triggers.
A shared vocabulary and a priority order are agreed before building.
Stakeholders sign off what the system may and may not adapt before launch.
At runtime a loop monitors requirements, adapts within limits and always keeps a human in reach.
Some survey statements are deliberately phrased as criticisms. There are no right answers — disagreeing is as useful as agreeing, and the open questions at the end matter most.
Start the survey