Linked.Archi ML-Specific Quality Attributes
type: Ontology
version IRI: 0.1.0#
license: http://creativecommons.org/licenses/by/4.0/
description: Quality attribute individuals specific to ML-enabled systems. Extends the base quality-attributes extension with ML-specific concerns identified by Moin et al. (2023) and Lewis et al. (2021).
publisher: linked.archi
publisher: Linked.Archi
source: https://arxiv.org/abs/2308.05239
created: 2026-05-03
creator: Kalin Maldzhanski
modified: 2026-05-03
status: draft
preferred namespace prefix: mlqa
version info: 0.1.0

addresses force
type: ObjectProperty
domain: Option
range: Force
definition: Links an Option to a Force that it directly addresses or satisfies.
example: An Option for caching addresses the Performance force.
rationale: Explicitly connects candidate solutions to the forces they are designed to satisfy.

adds concept
type: ObjectProperty
sub property of: affects concept
domain: Option
range: ModelConcept
definition: Links an Option to a new ModelConcept that would be introduced if the Option is selected.
example: An Option adds a new Message Broker component to the architecture.
rationale: Captures new elements that an option would bring into the architecture.

affects concept
type: ObjectProperty
domain: Option
range: ModelConcept
definition: Links an Option to a ModelConcept that would be affected if the Option is selected.
example: Selecting a microservices Option affects the existing monolithic Application Component.
rationale: Tracking which concepts are affected by an Option enables impact analysis before a decision is made.

applied in option
type: ObjectProperty
domain: Pattern
domain: ReferenceArchitecture
domain: Tactic
range: Option
definition: Links a Tactic, Pattern, or Reference Architecture to a Decision Option in which it is applied.

associated issue
type: ObjectProperty
domain: ModelConcept
range: Issue
definition: Links a ModelConcept directly to an Issue that needs to be addressed. These issues may relate to specific requirements or can map technical debt after a decision process.

caused by
type: ObjectProperty
sub property of: related decision
domain: Decision
range: Decision
definition: Links a Decision to another Decision that caused or triggered it.

complementary force
type: ObjectProperty
domain: Force
range: Force
definition: Links a Force to another Force that complements or reinforces it.
example: A Reliability force complements an Availability force since both aim at continuous service.

conflicts with
type: ObjectProperty
sub property of: related decision
domain: Decision
range: Decision
definition: Links a Decision to another Decision that it conflicts with.

depends on
type: ObjectProperty
sub property of: related decision
domain: Decision
range: Decision
definition: Links a Decision to another Decision that it depends on or requires as a prerequisite.

has alternative
type: ObjectProperty
domain: Decision
range: Option
definition: Links a Decision to a candidate Option that was considered but not necessarily selected. Options can be any Element, and standard options can be modelled as part of a ReferenceArchitecture in the form of building blocks, tactics, or patterns.

has decision
type: ObjectProperty
inverse of: has issue
domain: Issue
range: Decision
definition: Links an Issue to the Decision that addresses it.

has decision goal
type: ObjectProperty
domain: Decision
range: Concept
definition: Links a Decision to its goal, related to the ADD concept of iteration goal. The goal can also indicate the type of decision, such as choosing a reference architecture, tactic, or a combination of goals. Goals can be classified as concepts and referred to in the Architecture Metamodel.

has influence
type: ObjectProperty
domain: Decision
range: Force Influence
definition: Qualifies how a Force influenced a Decision, using an instance of ForceInfluence.

has issue
type: ObjectProperty
domain: Decision
range: Issue
definition: Links a Decision to the Issue that it is supposed to address.

has requirement
type: ObjectProperty
inverse of: requested by stakeholder
domain: Stakeholder
range: Requirement
definition: Links a Stakeholder to a Requirement that they have requested.

has risk
type: ObjectProperty
domain: Option
range: Thing
definition: Links an Option to a risk associated with selecting it. Risk is highly related to the level of uncertainty.
example: An Option for a novel technology carries a risk of insufficient community support.
rationale: Capturing risks per option enables informed trade-off analysis during the decision process.

has selected option
type: ObjectProperty
domain: Decision
range: Option
definition: Links a Decision to the Option that was ultimately selected as the chosen solution.

includes concept
type: ObjectProperty
sub property of: hasPart
domain: Option
range: ModelConcept
definition: Specifies ModelConcepts such as Elements, Relationships, and Viewpoints that are part of the Option.
example: An Option for Shared Repository DBMS includes MySQL; another may include PostgreSQL; another MongoDB.
rationale: Options are composed of concrete model concepts that together form the candidate solution.

influenced by
type: ObjectProperty
domain: Decision
range: Force
definition: Links a Decision to the forces that actually influenced it. Note that for a chosen Option we already have the forces being addressed, but those are not quantified and we do not know what pushed for that particular option other than the rationale.

influencing force
type: ObjectProperty
domain: Issue
range: Force
definition: Links an Issue to forces that potentially influence it. These may differ from the forces that actually drive the final decision.
rationale: This is different from influencedByForce in that influencingForce captures potential forces recorded on an Issue before a decision is made, whereas influencedByForce captures the forces that actually drove the Decision.

issue caused by
type: ObjectProperty
domain: Issue
range: Element
range includes: Decision
range includes: Issue
definition: Links an Issue to the element that caused it. An Issue can be caused by another Issue, a Decision, or any internal or external Element such as a global environmental event or change of strategy.

issue owner
type: ObjectProperty
domain: Issue
range: Stakeholder
definition: Links an Issue to the Stakeholder who is responsible for resolving it.

issue reported by
type: ObjectProperty
domain: Issue
range: Element
definition: Links an Issue to the entity that reported it. The reporter can be a Stakeholder or any other Element such as a monitoring system or audit process.

justification document
type: ObjectProperty
domain: Decision
range: CreativeWork
definition: An externally documented architecture rationale that justifies the Decision.

makes use of concept
type: ObjectProperty
sub property of: affects concept
domain: Option
range: ModelConcept
definition: Links an Option to an existing ModelConcept that it reuses without significant changes.
example: An Option reuses the existing API Gateway without modification.
rationale: Distinguishes reuse from modification — the concept satisfies the option as-is with only minor configuration.

modifies concept
type: ObjectProperty
sub property of: affects concept
domain: Option
range: ModelConcept
definition: Links an Option to a ModelConcept that would be modified if the Option is selected.
example: An Option modifies the existing Authentication Service to support OAuth 2.0.
rationale: Captures elements that an option would change rather than add or remove.

on quality attribute
type: ObjectProperty
domain: Quality Attribute Requirement
range: QualityAttribute
alternative label: hasMeasure
definition: Relates a QualityAttributeRequirement to the QualityAttribute it constrains.

opposing force
type: ObjectProperty
domain: Force
range: Force
definition: Links a Force to another Force that opposes or conflicts with it.
example: A Security force may oppose a Usability force when strict authentication hinders user experience.

pertains to
type: ObjectProperty
domain: Decision
range: Consideration
definition: Links a Decision to the architecture consideration (stakeholder perspective, aspect, or concern) that it addresses.
rationale: This way we may relate any Architecture Documentation Consideration such as stakeholder perspectives (layers), architecture aspects and concerns that are addressed by specific viewpoints.

QAS artifact
type: ObjectProperty
domain: Quality Attribute Requirement
range includes: Element
definition: The system artifact that is stimulated in the Quality Attribute Scenario, such as a service, component, or data store.

QAS environment
type: ObjectProperty
domain: Quality Attribute Requirement
definition: The conditions under which the stimulus occurs, such as normal operation, peak load, or degraded mode.

QAS response
type: ObjectProperty
domain: Quality Attribute Requirement
definition: The activity or behavior the system exhibits in response to the stimulus in the Quality Attribute Scenario.

QAS response measure
type: ObjectProperty
domain: Quality Attribute Requirement
range includes: QualityMeasure
definition: The measurable criterion used to determine whether the response satisfies the Quality Attribute Scenario.
scope note: Range includes arch:QualityMeasure but also simple text or other documentation.

QAS source of stimulus
type: ObjectProperty
domain: Quality Attribute Requirement
definition: The entity (a human, a computer system, or any other actuator) that generated the stimulus in a Quality Attribute Scenario.

QAS stimulus
type: ObjectProperty
domain: Quality Attribute Requirement
definition: The condition or event that triggers the Quality Attribute Scenario, such as a user request, a fault, or an attack.

quality attribute match
type: ObjectProperty
sub property of: broadMatch
sub property of: mappingRelation
definition: Maps ontology concepts between domains, for example between Tactics and Quality Attributes.

realize requirement
type: ObjectProperty
domain: Element
range: Requirement
definition: Links an Element to a Requirement that it realizes or fulfills.

related concept
type: ObjectProperty
domain: Decision
range: ModelConcept
definition: Links a Decision to a ModelConcept that is related to or affected by the decision.

related decision
type: ObjectProperty
domain: Decision
range: Decision
definition: Links a Decision to another related Decision, indicating a general relationship between the two.

removes concept
type: ObjectProperty
sub property of: affects concept
domain: Option
range: ModelConcept
definition: Links an Option to a ModelConcept that would be removed from the architecture if the Option is selected.
example: An Option removes the legacy batch-processing service.
rationale: Captures elements that an option would eliminate from the architecture.

replaces
type: ObjectProperty
sub property of: related decision
domain: Decision
range: Decision
definition: Links a Decision to a previous Decision that it supersedes.

requested by stakeholder
type: ObjectProperty
sub property of: supported by stakeholder
domain: Requirement
range: Stakeholder
definition: Links a Requirement to the Stakeholder who requested it.

supported by stakeholder
type: ObjectProperty
domain: Force
range: Stakeholder
definition: Links a Force to the Stakeholder who supports or champions it.

has difficulty measure
type: DatatypeProperty
domain: Requirement
definition: Quantifies the difficulty of realizing a Requirement, measured by the impact and effort required. This measure can be stated, but in reality it often depends on the available Options. The less difficult the Requirement, the more influence it might have on the overall solution.

has impact flexibility
type: DatatypeProperty
domain: Force
definition: Indicates the degree to which an architect could influence or change the impact of this force.

has impact measure
type: DatatypeProperty
domain: Force
definition: Quantifies the general impact of a Force. This impact results in a specific influence onto a decision.

has impact volatility
type: DatatypeProperty
domain: Force
definition: Indicates how much the impact of the force changes over time. This can be measured by capturing the resulting influence on concrete Issues and Decisions.

has importance measure
type: DatatypeProperty
domain: Requirement
definition: Quantifies the importance of a Requirement, measured by the value it creates for the business, a particular Stakeholder, technology strategy, or Technical Debt reduction. The more important the Requirement, the more influence it might have on the overall solution.

has influence measure
type: DatatypeProperty
domain: Force Influence
definition: Quantifies the influence of a Force onto a Decision via a ForceInfluence instance.

justification
type: DatatypeProperty
domain: Decision
range: string
definition: Architecture rationale text that justifies the Decision.

problem statement
type: DatatypeProperty
domain: Issue
range: string
definition: A textual description of the problem or concern that the Issue represents.

QAS description
type: DatatypeProperty
domain: Quality Attribute Requirement
range: string
definition: Textual description of the Quality Attribute Scenario. To qualify and distinguish different elements use the specific QAS properties: [qasSourceOfStimulus](#qasSourceOfStimulus), [qasStimulus](#qasStimulus), [qasEnvironment](#qasEnvironment), [qasArtifact](#qasArtifact), [qasResponse](#qasResponse), and [qasResponseMeasure](#qasResponseMeasure).

Business Constraint
type: Class
subclass of: Constraint
definition: A business restriction on architecture options, such as budget limits, regulatory compliance, or organizational policies.

Constraint
type: Class
subclass of: Requirement
definition: A restriction that limits architecture options.

Decision
type: Class
subclass of: Element
definition: An architecture decision that records a chosen course of action, its rationale, and the forces and options considered during the decision process.
example: ex:ADR-042 a ad:Decision ; skos:prefLabel "ADR-042: Use read replicas for Orders DB scaling"@en ; ad:hasIssue ex:DBScalabilityIssue ; ad:hasSelectedOption ex:ReadReplicas ; ad:hasAlternative ex:VerticalScaling, ex:CQRSOption ; ad:influencedByForce ex:AvailabilityReq, ex:PerformanceReq, ex:BudgetConstraint ; ad:relatedConcept ex:OrdersDB ; ad:justification "Read replicas provide horizontal scaling without downtime."@en .
scope note: Aligned with the MADR (Markdown Any Decision Records) template structure: Title, Status, Context, Decision, Consequences. Also compatible with Nygard-style ADRs and the Y-statement format (In the context of X, facing Y, we decided Z).
mentioned in: 978-3-540-87879-7 14
mentioned in: j.jss.2015.08.054
mentioned in: WICSA.2014.32
mentioned in: madr
mentioned in: from-architectural-decisions-to-design-decisions-f05f6d57032b
mentioned in: https://www.ifs.hsr.ch/index.php

Decision State
type: Class
definition: The lifecycle state of an architecture decision, such as proposed, accepted, deprecated, or superseded.
example: Common states: Proposed, Accepted, Deprecated, Superseded. Compatible with MADR status values.

Force
type: Class
subclass of: Element
definition: An architecture force — also referred to as an architecture driver (as in ADD) or motivation — that influences architecture decisions. The name Force is chosen as a more generic term that encompasses all factors influencing decisions, distinguishing it from the narrower meaning of Driver or Motivation.
example: ex:BudgetConstraint a ad:BusinessConstraint ; skos:prefLabel "Infrastructure Budget Limit"@en ; skos:definition "Monthly infrastructure cost must not exceed €15,000."@en ; ad:supportedByStakeholder ex:PlatformTeamLead ; ad:hasImportanceMeasure "high" .
scope note: The term "Force" comes from the software architecture literature (Bass, Clements, Kazman) where "architectural forces" is the established term for all influences on architecture decisions. See DD-12 in doc/guide/design-decisions.md.
mentioned in: WICSA-ECSA.212.18

Force Influence
type: Class
subclass of: QualifiedRelationship
definition: A qualified relationship that describes the influence of a Force onto a Decision. Used with the hasInfluence relationship.

Functional Requirement
type: Class
subclass of: Requirement
definition: A requirement specifying a function the system must perform.

Impact
type: Class
definition: The effect that a decision or option has on model concepts. Used with the affects relationship in the core ontology when linking ModelConcepts.

Impending Influence
type: Class
subclass of: Force Influence
definition: An influence that opposes or hinders a decision option.

Issue
type: Class
subclass of: Element
alternative label: DecisionRequired
alternative label: Problem
definition: A problem or concern that requires an architecture decision. An Issue can be associated with any model concept and is also referred to as a Problem or a Decision-Required statement.
example: ex:ScalabilityIssue a ad:Issue ; skos:prefLabel "Database cannot handle peak load"@en ; ad:problemStatement "Current PostgreSQL instance reaches 95% CPU during Black Friday sales"@en ; ad:issueOwner ex:SolutionArchitect .
rationale: Issue is any problem that needs a decision to be resolved. It can be mapped to an abstract component where a more concrete implementation needs to be provided, or when an actual issue occurs that needs to be tackled. An Issue can represent, for example, an issue inside your issue-tracking software.

Iteration
type: Class
definition: An iteration in the Attribute-Driven Design (ADD) process, grouping a set of related decisions and their goals.
example: ex:ADDIteration1 a ad:Iteration ; skos:prefLabel "ADD Iteration 1 — Establish Overall Structure"@en ; ad:hasDecisionGoal ex:SelectReferenceArchitecture ; ad:hasDecision ex:ADR-001, ex:ADR-002 .

Option
type: Class
subclass of: Element
definition: A candidate solution considered during the architecture decision process. Each Option addresses one or more forces and may include elements, tactics, or patterns.
example: ex:Option1 a ad:Option ; skos:prefLabel "Vertical scaling — upgrade to larger instance"@en ; ad:addressesForce ex:PerformanceReq ; ad:includesConcept ex:LargerDBInstance . ex:Option2 a ad:Option ; skos:prefLabel "Horizontal scaling — read replicas"@en ; ad:addressesForce ex:PerformanceReq, ex:AvailabilityReq ; ad:addsConcept ex:ReadReplica1, ex:ReadReplica2 .
mentioned in: madr

Personal Preference
type: Class
subclass of: Force
definition: Someone's personal preference. Often not mentioned, but important to take into consideration as a force influencing architecture decisions.
rationale: PersonalPreference might not be an officially used architecture force, but often is the one that drives many decisions especially if that preference is held by a very important Stakeholder.

Policy
type: Class
subclass of: Force
definition: An organizational policy that constrains architecture decisions.

Principle
type: Class
subclass of: Force
definition: A qualitative statement of intent that should be met by the architecture. It has at least a supporting rationale and a measure of importance.

Quality Attribute Requirement
type: Class
subclass of: Requirement
definition: A requirement on a specific [QualityAttribute](#QualityAttribute). Quality Attribute Requirements are described using Quality Attribute Scenarios. To model QAS use the properties: * [qasDescription](#qasDescription) * [qasSourceOfStimulus](#qasSourceOfStimulus) * [qasStimulus](#qasStimulus) * [qasEnvironment](#qasEnvironment) * [qasArtifact](#qasArtifact) * [qasResponse](#qasResponse) * [qasResponseMeasure](#qasResponseMeasure) Quality Attribute Requirements are tightly related to Technical Debt. Not addressing these software quality forces will increase the Technical Debt, which in turn will increase the force itself and also the cost to address that force later on.
example: ex:AvailabilityReq a ad:QualityAttributeRequirement ; skos:prefLabel "Payment Service Availability Under Peak Load"@en ; ad:onQualityAttribute iso25010:Availability ; ad:qasSourceOfStimulus "External users"@en ; ad:qasStimulus "Black Friday peak load (10x normal traffic)"@en ; ad:qasEnvironment "Normal operation, all regions active"@en ; ad:qasArtifact ex:PaymentService ; ad:qasResponse "Service continues processing transactions"@en ; ad:qasResponseMeasure "99.95% uptime, p99 latency < 500ms"@en .
scope note: Based on the Quality Attribute Scenario (QAS) structure from Bass, Clements, Kazman "Software Architecture in Practice": Source of Stimulus → Stimulus → Environment → Artifact → Response → Response Measure.

Requirement
type: Class
subclass of: Force
definition: A statement of need that drives architecture decisions.

Supporting Influence
type: Class
subclass of: Force Influence
definition: An influence that supports or favors a decision option.

Technical Constraint
type: Class
subclass of: Constraint
definition: A technical restriction on implementation choices, such as mandated technologies or platform limitations.

Trend
type: Class
subclass of: Force
definition: A general direction in which something is developing or changing. This can be a generic technology trend or specific to the domain of interest.
rationale: Trend might not be an officially used architecture force, but often is the one that drives many decisions especially in young and less strict organizations.

Adversarial Robustness
type: NamedIndividual
type: QualityAttribute
source: https://arxiv.org/abs/2308.05239
definition: The degree to which an ML model maintains correct behavior when subjected to adversarial inputs — deliberately crafted perturbations designed to cause misclassification. Includes robustness against evasion attacks, data poisoning, and model extraction.

Data Privacy (ML)
type: NamedIndividual
type: QualityAttribute
source: https://arxiv.org/abs/2308.05239
definition: The degree to which an ML system protects the privacy of individuals whose data was used for training. Includes resistance to model inversion attacks, membership inference attacks, and training data memorization.
scope note: Extends general privacy concerns with ML-specific attack vectors.

Explainability
type: NamedIndividual
type: QualityAttribute
source: https://arxiv.org/abs/2308.05239
definition: The degree to which an ML model's predictions can be understood, interpreted, and communicated to stakeholders. Includes local explanations (why this specific prediction) and global explanations (how the model generally behaves). Critical for regulatory compliance (GDPR Article 22), stakeholder trust, and debugging.
scope note: Also known as Interpretability. Related to Trustworthiness.

Fairness
type: NamedIndividual
type: QualityAttribute
source: https://arxiv.org/abs/2308.05239
definition: The degree to which an ML model treats individuals or groups equitably, without systematic discrimination based on protected attributes. Includes demographic parity, equalized odds, and individual fairness metrics.

ML Monitorability
type: NamedIndividual
type: QualityAttribute
definition: The degree to which an ML model's production behavior can be observed, measured, and alerted on. Includes prediction distribution monitoring, feature drift detection, data quality checks, and serving performance tracking.
scope note: Identified by Lewis et al. (2021) as a new quality attribute concern specific to ML-enabled systems.

Model Freshness
type: NamedIndividual
type: QualityAttribute
definition: The degree to which an ML model reflects current real-world conditions. Inversely related to model staleness — a model trained on old data may not capture recent distribution shifts.

Reproducibility
type: NamedIndividual
type: QualityAttribute
definition: The degree to which an ML experiment or training run can be exactly reproduced given the same data, code, and configuration. Requires versioning of data, code, hyperparameters, and environment.

Trustworthiness
type: NamedIndividual
type: QualityAttribute
source: https://arxiv.org/abs/2308.05239
definition: The degree to which stakeholders can rely on an ML system's predictions and behavior. A composite quality attribute encompassing explainability, fairness, robustness, privacy, and accountability.

Linked.Archi Architecture Decision Ontology
license: http://creativecommons.org/licenses/by/4.0/
description: Extension ontology for modeling architecture decisions, the issues that trigger them, candidate options, influencing forces (requirements, constraints, trends), and the rationale linking forces to chosen options. Use this extension when you need to capture decision records, trace forces to options, or integrate with ADD-style iterative decision processes.
publisher: linked.archi
publisher: Linked.Archi
abstract: Ontology for modeling architecture decisions, issues, options, forces, and their relationships.
created: 2020-07-27
creator: Kalin Maldzhanski
issued: 2020-07-27
modified: 2026-04-16
status: draft
preferred namespace prefix: ad
citation: Linked.Archi Architecture Decision Ontology
version info: 0.0.5