Skip to content

Architecture

ADORE Architecture data model (UML), click to enlarge:

ADORE Architecture Data Model (UML)

Architecture

adore.api.schema.adore_schema.Architecture

Architecture

Represents an architecture instance, as derived from the architecture design space by taking architecture choices. Can be either derived manually, or from a design problem (in this case the design problem is referenced).

constraints
constraints: Optional[List[ArchConstraint]] = constraints
context
context: ArchSystemContext = context
decisions
decisions: List[ArchDecision] = decisions
design_problem_id
design_problem_id: Optional[int] = design_problem_id
design_vars
design_vars: Optional[List[Union[ArchDiscreteDesignVar, ArchContinuousDesignVar]]] = design_vars
eval_duration_sec
eval_duration_sec: Optional[float] = eval_duration_sec

Duration of architecture evaluation (seconds)

eval_time_end
eval_time_end: Optional[str] = eval_time_end

End of architecture evaluation (ISO8601 timestamp)

eval_time_start
eval_time_start: Optional[str] = eval_time_start

Start of architecture evaluation (ISO8601 timestamp)

feasible
feasible: bool = feasible

An architecture is valid if all functions are fulfilled and all port connections have been made according to their connection specifications.

final
final: bool = final

An architecture is final if there all choices have been taken and all design variables have been set.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
objectives
objectives: Optional[List[ArchObjective]] = objectives
perf_evaluated
perf_evaluated: bool = perf_evaluated

Whether or not the performance of this architecture has been evaluated.

perf_feasible
perf_feasible: Optional[bool] = perf_feasible

Whether or not the evaluated performance is feasible when taking optimization constraints into account. If undefined if the performance has not been evaluated.

ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

system
system: ArchSystem = system

adore.api.schema.adore_schema.ArchSystem

ArchSystem

A architecture system as derived from a design space system object.

components
components: List[ArchComponent] = components
concepts
concepts: List[ArchConcept] = concepts
decompositions
decompositions: List[ArchDecomposition] = decompositions
display
display: Optional[List[DisplayProperties]] = display
edges
edges: Optional[List[EdgeProperties]] = edges
element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

functions
functions: List[ArchFunction] = functions
id
id: int = id
index
index: int = index

The index (0-based) of the system instance.

multi_fulfillments
multi_fulfillments: List[ArchMultiFulfillment] = multi_fulfillments
name
name: str = name
non_fulfillments
non_fulfillments: List[ArchNonFulfillment] = non_fulfillments
notes
notes: Optional[str] = notes
ports
ports: List[ArchPort] = ports
qois
qois: List[ArchQOI] = qois
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

systems
systems: List[ArchSystem] = systems

adore.api.schema.adore_schema.ArchSystemContext

ArchSystemContext

The architecture system context, or external environment, derived from the design space system context.

components
components: List[ArchComponent] = components
concepts
concepts: List[ArchConcept] = concepts
decompositions
decompositions: List[ArchDecomposition] = decompositions
display
display: Optional[List[DisplayProperties]] = display
edges
edges: Optional[List[EdgeProperties]] = edges
element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

functions
functions: List[ArchFunction] = functions
id
id: int = id
multi_fulfillments
multi_fulfillments: List[ArchMultiFulfillment] = multi_fulfillments
name
name: str = name
non_fulfillments
non_fulfillments: List[ArchNonFulfillment] = non_fulfillments
notes
notes: Optional[str] = notes
ports
ports: List[ArchPort] = ports
qois
qois: List[ArchQOI] = qois
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

System Elements

adore.api.schema.adore_schema.ArchFunction

ArchFunction

A function instance, derived from a design space function.

boundary_function
boundary_function: bool = boundary_function

Whether the function is a boundary function or not.

element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
qois
qois: List[ArchQOI] = qois

QOIs assigned to the architecture function.

ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

type
type: FunctionType = type

adore.api.schema.adore_schema.ArchComponent

ArchComponent

A component instance, derived from a design space component.

display
display: Optional[List[DisplayProperties]] = display
edges
edges: Optional[List[EdgeProperties]] = edges
element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

fulfilled_arch_function_ids
fulfilled_arch_function_ids: List[int] = fulfilled_arch_function_ids
id
id: int = id
instances
instances: List[ArchComponentInstance] = instances

The component instances.

name
name: str = name
needed_arch_function_ids
needed_arch_function_ids: List[int] = needed_arch_function_ids
notes
notes: Optional[str] = notes
qois
qois: List[ArchQOI] = qois

QOIs assigned to the architecture component.

ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

adore.api.schema.adore_schema.ArchComponentInstance

ArchComponentInstance

A component instance linked to an architecture component.

attributes
attributes: List[ArchAttribute] = attributes

Attributes assigned to this component instance. Note that component attributes (as opposed to component instance attributes) are also assigned to the component instances.

element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
index
index: int = index

The index (0-based) of the component instance.

input_ports
input_ports: List[ArchPortInstance] = input_ports

The input port instances of this component instance.

name
name: str = name
notes
notes: Optional[str] = notes
output_ports
output_ports: List[ArchPortInstance] = output_ports

The output port instances of this component instance.

qois
qois: List[ArchQOI] = qois

QOIs assigned to the architecture component instance.

ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

adore.api.schema.adore_schema.ArchQOI

ArchQOI

An architecture Quantity Of Interest, derived from a design space QOI.

element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

evaluated
evaluated: bool = evaluated
feasible
feasible: Optional[bool] = feasible
id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
option_index
option_index: Optional[int] = option_index
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

type
type: QOIType = type
units
units: Optional[str] = units
value
value: Optional[float] = value
value_str
value_str: Optional[str] = value_str

adore.api.schema.adore_schema.ArchAttribute

ArchAttribute

An architecture component attribute, derived from a design space component attribute. Its assigned values are defined as primitives rather than as attribute value objects.

element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

values
values: List[str] = values

adore.api.schema.adore_schema.ArchPortInstance

ArchPortInstance

A component port instance, derived from a design space port connection. Assigned to either the input or output ports of a component instances.

arch_port_id
arch_port_id: int = arch_port_id
element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
index
index: int = index

The index (0-based) of the port connection instance.

name
name: str = name
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

target_ids
target_ids: List[int] = target_ids

The port instance IDs to which this port is connected.

adore.api.schema.adore_schema.ArchPort

ArchPort

A port instance, derived from a design space port.

element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

adore.api.schema.adore_schema.ArchConcept

ArchConcept

A concept instance, derived from a design space concept.

element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
name
name: str = name
neutral_arch_function_id
neutral_arch_function_id: int = neutral_arch_function_id
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

specific_arch_function_id
specific_arch_function_id: Optional[int] = specific_arch_function_id

adore.api.schema.adore_schema.ArchDecomposition

ArchDecomposition

A decomposition instance, derived from a design space decomposition.

element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

emerged_arch_function_id
emerged_arch_function_id: int = emerged_arch_function_id
id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

zoomed_arch_function_ids
zoomed_arch_function_ids: List[int] = zoomed_arch_function_ids

adore.api.schema.adore_schema.ArchNonFulfillment

ArchNonFulfillment

A non-fulfillment instance, derived from a design space non-fulfillment.

arch_function_ids
arch_function_ids: List[int] = arch_function_ids
element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

adore.api.schema.adore_schema.ArchMultiFulfillment

ArchMultiFulfillment

A multi-fulfillment instance, derived from a design space multi-fulfillment.

arch_function_ids
arch_function_ids: List[int] = arch_function_ids
element_id
element_id: int = element_id

Reference to the design space element that forms the basis of this architecture element.

id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

Design Problem Elements

adore.api.schema.adore_schema.ArchObjective

ArchObjective

An instance of an objective used in the containing architecture instance. The value is set if the performance has been evaluated.

arch_qoi_id
arch_qoi_id: int = arch_qoi_id
id
id: int = id
maximize
maximize: bool = maximize
name
name: str = name
notes
notes: Optional[str] = notes
objective_id
objective_id: int = objective_id
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

value
value: Optional[float] = value

adore.api.schema.adore_schema.ArchConstraint

ArchConstraint

An instance of a constraint used in the containing architecture instance. The value is set if the performance has been evaluated.

arch_qoi_id
arch_qoi_id: Optional[int] = arch_qoi_id
constraint_id
constraint_id: int = constraint_id
id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
pos_feasible
pos_feasible: bool = pos_feasible
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

ref_value
ref_value: float = ref_value
value
value: Optional[float] = value

adore.api.schema.adore_schema.ArchDiscreteDesignVar

ArchDiscreteDesignVar

An instance of a discrete design variable used in the containing architecture instance. The option index is the one used for deriving this architecture and evaluating its performance.

active
active: bool = active
arch_decision_id
arch_decision_id: Optional[int] = arch_decision_id
arch_qoi_id
arch_qoi_id: Optional[int] = arch_qoi_id
design_var_id
design_var_id: int = design_var_id
fixed
fixed: bool = fixed
id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
option_index
option_index: int = option_index
options
options: List[str] = options
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

adore.api.schema.adore_schema.ArchContinuousDesignVar

ArchContinuousDesignVar

An instance of a continuous design variable used in the containing architecture instance. The value is the one used for deriving this architecture and evaluating its performance.

active
active: bool = active
arch_decision_id
arch_decision_id: Optional[int] = arch_decision_id
arch_qoi_id
arch_qoi_id: Optional[int] = arch_qoi_id
bounds
bounds: List[float] = bounds
design_var_id
design_var_id: int = design_var_id
fixed
fixed: bool = fixed
id
id: int = id
name
name: str = name
notes
notes: Optional[str] = notes
ref
ref: Optional[str] = ref

Optional reference, used for linking to external interfaces.

value
value: float = value

Types

adore.api.schema.adore_schema_defs.ArchBaseSystem

ArchBaseSystem = Union[ArchSystem, ArchSystemContext]

adore.api.schema.adore_schema_defs.ArchDesignVar