-
Notifications
You must be signed in to change notification settings - Fork 12
Compare ADMs
In WebCyPhy it will be important to identify changes in a design-space (can be described using the adm-format) when storing configurations and results.
Starting from the RootContainer
, all Containers
must have the same Name
and xsi:type
(Compound, Alternative or Optional).
Further they must have matching Containers
, ComponentInstances
, Properties
, Connectors
and Formulas
.
Attributes:
Name
xsi:type
Containment:
Attributes:
Name
ComponentID
Containment:
Attributes:
Name
Relations:
Attributes:
Name
Containment:
Relations:
The attribute xsi:type
determines if the formula is a SimpleFormula
or CustomFormula
. Containment does not need to be checked for Formulas
- instead they will checked as ends in ValueFlowCompositions
.
Attributes:
Operation
Each Operand
in Operands
(divided by path) must have the same ValueFlowComposition
end.
Attributes:
Expression
Each Operand
must have the same ValueFlowComposition
end.
Attributes:
IDInComponentModel
Relations:
Attributes:
IDInComponentModel
Relations:
Roles correspond to DomainConnectors
inside Connectors
.
The attribute xmlns:q1
determines if the port is a modelica
- or cad
-port. (A perhaps better way to check the
category is to see if the Role
has the attribute Class
.)
Attributes:
Class
Attributes:
xsi:type
The direct ends of a ConnectorComposition
must match. Two different types of ends:
-
ConnectorInstance
- Identifier is the attributeIDInComponentModel
concatenated with the Name ofComponentInstance
. -
Connector
- Identifier is the attributeName
of the connector concatenated with theNames
of all itsContainers
.
The elaborated ends of a ValueFlowCompositions
must match. By elaboration is meant that whenever a Value
is of type DerivedValue
the value flow must be followed.