Application module: Analytical model | ISO/TS 10303-1603:2019(E) © ISO |
This clause specifies the information requirements for the Analytical model application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Analytical_model_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Analytical_model_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Document_structure_arm;
--
ISO/TS 10303-1124
USE FROM
Model_parameter_arm;
--
ISO/TS 10303-1703
USE FROM
Part_template_arm;
--
ISO/TS 10303-1722
USE FROM
Product_view_definition_relationship_arm;
--
ISO/TS 10303-1041
USE FROM
Software_arm;
--
ISO/TS 10303-1746
REFERENCE FROM
Specification_document_arm
--
ISO/TS 10303-1747
(get_document_definition);
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Document_structure_arm ISO/TS 10303-1124 Model_parameter_arm ISO/TS 10303-1703 Part_template_arm ISO/TS 10303-1722 Product_view_definition_relationship_arm ISO/TS 10303-1041 Software_arm ISO/TS 10303-1746 Specification_document_arm ISO/TS 10303-1747
NOTE 2 See Annex C, Figures C.1, C.2and C.3 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
The am_external_identification_item type is an extension of the external_identification_item type. It adds the data type Digital_analytical_model_vector_port to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
am_external_identification_item =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
external_identification_item
WITH
(Digital_analytical_model_vector_port);
END_TYPE;
(*
The am_documented_element_select type is an extension of the documented_element_select type. It adds the data type Analytical_model_definition to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
am_documented_element_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
documented_element_select
WITH
(Analytical_model_definition);
END_TYPE;
(*
The am_parameter_assignment_select type is an extension of the parameter_assignment_select type. It adds the data type Analytical_model_parameter to the list of alternate data types.
EXPRESS specification:
*)
TYPE
am_parameter_assignment_select =
SELECT
BASED_ON
parameter_assignment_select
WITH
(Analytical_model_parameter);
END_TYPE;
(*
The am_property_assignment_select type is an extension of the property_assignment_select type. It adds the data type Analytical_model_definition to the list of alternate data types.
EXPRESS specification:
*)
TYPE
am_property_assignment_select =
SELECT
BASED_ON
property_assignment_select
WITH
(Analytical_model_definition);
END_TYPE;
(*
The analytical_model_port_assignment_select type is an extensible list of alternate data types that allows for the designation of the data type .
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
analytical_model_port_assignment_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT;
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
port_property_type =
ENUMERATION
OF
(string_property_type,
boolean_property_type,
logical_property_type,
numeric_property_type,
physical_property_type);
END_TYPE;
(*
Enumerated item definitions:
string_property_type: specifies a string type;
boolean_property_type: specifies a boolean type;
logical_property_type: specifies a logical type;
numeric_property_type: specifies a numeric type;
physical_property_type: specifies a physical type.
EXPRESS specification:
*)
TYPE
signal_flow_direction =
ENUMERATION
OF
(unknown_direction,
not_applicable,
output_direction,
input_direction,
bidirectional);
END_TYPE;
(*
Enumerated item definitions:
unknown_direction: specifies that direction is unknown;
not_applicable: specifies that direction is not applicable;
output_direction: specifies that direction is output direction;
input_direction: specifies that direction is input direction;
bidirectional: specifies that signal flow is bidirectional.
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
An Across_port_variable is a type of Port_variable. An Across_port_variable maps a unit to an interface point for an Analytical_model_definition and assigns an identifier to the mapping. This standard does not enumerate a fixed list of allowed "across unit". A unit is required.
NOTE Physical macro-level models require across variables to occur in pairs, but that is not formalized in this standard.
EXAMPLE A temperature is an "across unit".
EXPRESS specification:
*)
ENTITY Across_port_variable
SUBTYPE OF (Port_variable);
WHERE
WR1: EXISTS(SELF\Port_variable.unit_of_measure);
END_ENTITY;
(*
Formal propositions:
WR1: The unit_of_measure inherited from Port_variable shall exist.
EXPRESS specification:
*)
ENTITY Analog_analytical_model_port
SUBTYPE OF (Analytical_model_port);
INVERSE
signal_variable : SET[1:?] OF port_variable FOR associated_port;
END_ENTITY;
(*
Attribute definitions:
signal_variable: an inverse relationship that specifies that the existence of the Analog_analytical_model_port is dependent on the existence of the Port_variable that specifies the Analog_analytical_model_port as its associated_port. There shall be one or more Port_variable for a particular Analog_analytical_model_port.
NOTE A port may have more than one signal variable because so-called "through" and "across" variables are properties of the same analog port[3].
A Port_variable is a mapping of a unit to an interface point for an Analytical_model_definition and assigns an identifier to the mapping. A Port_variable may be one of a Through_port_variable, or an Across_port_variable, or a Transform_port_variable.
NOTE When modelling physical systems at the macroscopic level, energy equations demand the ability to specify a through variable and an across variable for the same port.
EXPRESS specification:
*)
ENTITY Port_variable
SUPERTYPE OF (ONEOF (Through_port_variable,
Across_port_variable,
Transform_port_variable));
associated_port : Analog_analytical_model_port;
variable_name : STRING;
unit_of_measure :
OPTIONAL
Unit;
UNIQUE
UR1: variable_name, associated_port;
END_ENTITY;
(*
Attribute definitions:
associated_port: specifies the Analog_analytical_model_port that contains this Port_variable.
variable_name: specifies the string that represents an identifier, understandable by the end user, for this Port_variable.
NOTE The variable_name is documented in the reference_document for the Analytical_model_definition.
unit_of_measure: specifies the string for the descriptive label for the unit of measure of the value of a property associated with the simulated physical phenomenon exchanged through a member of the Port_variable. The value of this attribute need not be specified. The representation of the unit_of_measure is in accordance with ISO 10303-41.
Formal propositions:
UR1: The combination of the variable_name and the associated_port shall be unique within a population of Port_variable.
EXPRESS specification:
*)
ENTITY Analytical_model
SUBTYPE OF (Information_product);
UNIQUE
UR1:
SELF\product.id;
END_ENTITY;
(*
Formal propositions:
UR1: The id shall be unique within a population of Analytical_model.
NOTE Specific expectations for the correlation of the behaviour exhibited by the model and the behaviour of the object modelled may be identified by assigning requirements to the model.
EXPRESS specification:
*)
ENTITY Analytical_model_application
SUBTYPE OF (Representation);
model_parameter_assignment :
OPTIONAL
SET[1:?] OF Parameter_assignment;
model_representation : Analytical_model_definition;
UNIQUE
UR1:
SELF\representation.name;
END_ENTITY;
(*
Attribute definitions:
model_parameter_assignment: Parameter_assignment for the Analytical_model_application. The model_parameter_assignment binds instance data to data slots in the Analytical_model_definition. The value of this attribute need not be specified.
NOTE For each parameter declared in a model definition, an actual value must be assigned when that model is referenced, unless there is a default assignment included in the source code for the model.
model_representation: specifies the Analytical_model_definition as the basis model for the Analytical_model_application.
Formal propositions:
UR1: The name attribute inherited from Representation shall be unique within a population of Analytical_model_application.
NOTE 1 In this part of ISO 10303 an Analytical_model_definition includes the variable declarations of the mathematical description but may not include the assignment of actual values for the variables declared. Assignment of actual values is accomplished in Analytical_model_application.
NOTE 2 This part of ISO 10303 provides support for computer systems to verify type consistency between product data defined in this part of ISO 10303 and product data captured by Analytical_model_definition.
NOTE 3 This part of ISO 10303 describes the interfaces (ports) to an Analytical_model_definition and provides support for type checking of the units used for the parameters that may be assigned values for an Analytical_model_definition.
EXAMPLE Figure 1 is an example of the case where actual values are not included: the Analytical_model_definition for a resistor that is coded in pseudocode.
When the Analytical_model_definition is referenced by an Analytical_model_application, literals will be supplied for parameters declared in the interface, and the simulator must ensure that types are compatible.
NOTE 1 Usually the system is exercised in experiments to evaluate the usefulness of the system in the intended application.
NOTE 2 The language syntax and semantics of an Analytical_model_definition are not specified by this part of ISO 10303.
NOTE 3 This part of ISO 10303 provides complete support for exchange of units, including SI units, derived units, and user-declared units.
NOTE 4 This part of ISO 10303 provides complete support for prefixes of units.
EXPRESS specification:
*)
ENTITY Analytical_model_definition
SUBTYPE OF (Information_definition);
SELF\product_view_definition.defined_version : Analytical_model_version;
source_code : SET[1:1] OF Digital_file;
DERIVE
representation_language : SET[1:1] OF Document_definition := get_document_definition(SELF, 'representation language', 'SPECIFICATION_DOCUMENT_ARM.LANGUAGE_REFERENCE_MANUAL');
INVERSE
access_mechanism : SET[1:?] OF analytical_model_port FOR accessed_analytical_model;
parameter : SET[1:?] OF analytical_model_parameter FOR accessed_analytical_model;
reference_document : document_assignment FOR is_assigned_to;
END_ENTITY;
(*
Attribute definitions:
defined_version: the Analytical_model_version of which the Product_view_definition provides a characterization.
source_code: specifies the role of the Digital_file for an Analytical_model_definition. The source_code contains the source code for the Analytical_model_definition. Figure 1 illustrates how source_code is specified and coded.
representation_language: specifies the Language_reference_manual that defines the semantics and syntax of the computer interpretable strings in which the Analytical_model_definition will be encoded. Figure 1 illustrates how representation_language is specified and coded.
NOTE Only representation_languages that use characters from the ASCII code are supported by this part of ISO 10303.
access_mechanism: an inverse relationship that specifies that the existence of the Analytical_model_definition is dependent on the existence of the Analytical_model_port that specifies the Analytical_model_definition as its accessed_analytical_model. There shall be one or more Analytical_model_port for an Analytical_model_definition.
parameter: an inverse relationship that specifies that the existence of the Analytical_model_definition is dependent on the existence of the Analytical_model_parameter that specifies the Analytical_model_definition as its accessed_analytical_model. There shall be one or more Analytical_model_parameter for a particular Analytical_model_definition. Figure 1 illustrates the use of the parameter.
reference_document: an inverse relationship that specifies that the existence of the Analytical_model_definition is dependent on the existence of the Document_assignment that specifies the Analytical_model_definition as its is_assigned_to. The reference_document includes interface specifications for Analytical_models of interest to the enterprise.
EXPRESS specification:
*)
ENTITY Analytical_model_make_from_relationship
SUBTYPE OF (View_definition_relationship);
SELF\view_definition_relationship.relating_view RENAMED reusable_model : Analytical_model_definition;
SELF\view_definition_relationship.related_view RENAMED resultant_model : Analytical_model_definition;
UNIQUE
UR1: reusable_model, resultant_model;
WHERE
WR1: reusable_model :<>: resultant_model;
END_ENTITY;
(*
Attribute definitions:
reusable_model: specifies an Analytical_model_definition to be used for the Analytical_model_make_from_relationship.
resultant_model: specifies an Analytical_model_definition that is the result of the reuse for the Analytical_model_make_from_relationship.
Formal propositions:
UR1: The combination of reusable_model and resultant_model shall be unique within a population of Analytical_model_make_from_relationship.
WR1: The reusable_model shall not be the resultant_model.
EXAMPLE In Spice, the temperature is an Analytical_model_parameter that may be set at the execution time.
EXPRESS specification:
*)
ENTITY Analytical_model_parameter
SUBTYPE OF (Applied_independent_property);
SELF\assigned_property.described_element RENAMED accessed_analytical_model : Analytical_model_definition;
UNIQUE
UR1:
SELF\assigned_property.id, accessed_analytical_model;
END_ENTITY;
(*
Attribute definitions:
accessed_analytical_model: specifies the Analytical_model_definition for which the parameter is being established.
Formal propositions:
UR1: The combination of the id and accessed_analytical_model shall be unique within a population of Analytical_model_parameter.
An Analytical_model_port is a description of an interface point for an Analytical_model_definition. An Analytical_model_port may be an Analytical_model_vector_port, or, additionally, may be one of an Analog_analytical_model_port, or a Digital_analytical_model_port.
NOTE These points are the points at which a simulator allows a user to stimulate an application of an Analytical_model_definition or to evaluate the response of an application of an Analytical_model_definition to a stimulus in an experiment. In this context, the application includes the reference to the Analytical_model_definition and the literals required for the parameters as provided by a member of Analytical_model_application. A simulator that enforces conservative laws enforces that the energy entering an application of an Analytical_model_definition must be the same as that leaving the same application of the Analytical_model_definition. The structure of the port is not visible merely by accessing this information. The subtypes of this object provide more visibility into the underlying structure as appropriate. Members of the subtype tree of this object are populated as needed by an application in order to disclose the appropriate level of detail. The specialization in the subtypes of this object occurs as a result of being more specific about certain properties of the port.
EXPRESS specification:
*)
ENTITY Analytical_model_port
SUPERTYPE OF (Analytical_model_vector_port
ANDOR (ONEOF (Analog_analytical_model_port,
Digital_analytical_model_port)));
accessed_analytical_model : Analytical_model_definition;
port_name : STRING;
UNIQUE
UR1: port_name, accessed_analytical_model;
END_ENTITY;
(*
Attribute definitions:
accessed_analytical_model: specifies the Analytical_model_definition that contains this Analytical_model_port.
NOTE 1 Containment, in this case, means that if a member of Analytical_model_definition is deleted from the information base then the members of Analytical_model_port that are contained in that member of Analytical_model_definition are also deleted.
NOTE 2 Containment, in this case, also means that the visibility of the name of an Analytical_model_port is limited to the Analytical_model_definition that is the accessed_analytical_model.
port_name: specifies the string that represents an identifier, understandable by the end user, for this Analytical_model_port.
NOTE 3 The port_name is documented in the reference_document for the Analytical_model_definition.
Formal propositions:
UR1: The combination of the port_name and the accessed_analytical_model shall be unique within a population of Analytical_model_port.
An Analytical_model_port_assignment is a relationship established between an Analytical_model_port and an assigned_item. The assignment is established for the purpose of assigning explicit behaviour to a product aspect as accessed through the assigned_item.
EXPRESS specification:
*)
ENTITY Analytical_model_port_assignment;
assigned_analytical_model_port : Analytical_model_port;
assigned_item : analytical_model_port_assignment_select;
associated_analytical_model_application : Analytical_model_application;
UNIQUE
UR1: assigned_analytical_model_port, assigned_item, associated_analytical_model_application;
WHERE
WR1: assigned_analytical_model_port.accessed_analytical_model = associated_analytical_model_application.model_representation;
END_ENTITY;
(*
Attribute definitions:
assigned_analytical_model_port: specifies the Analytical_model_port that is to be associated with an assigned item in an Analytical_model_port_assignment.
assigned_item: specifies the item that is to be associated with an Analytical_model_port in an Analytical_model_port_assignment.
associated_analytical_model_application: specifies the role of the Analytical_model_application for the Analytical_model_port_assignment.
Formal propositions:
UR1: The combination of assigned_analytical_model_port, assigned_item and associated_analytical_model_application shall be unique within a population of the Analytical_model_port_assignment.
WR1: The accessed_analytical_model of assigned_analytical_model_port shall be the model_representation of associated_analytical_model_application.
EXPRESS specification:
*)
ENTITY Analytical_model_port_make_from_relationship;
associated_make_from : Analytical_model_make_from_relationship;
reusable_feature : Analytical_model_port;
resultant_feature : Analytical_model_port;
UNIQUE
UR1: reusable_feature, resultant_feature;
WHERE
WR1: reusable_feature :<>: resultant_feature;
WR2: reusable_feature.accessed_analytical_model :<>: resultant_feature.accessed_analytical_model;
END_ENTITY;
(*
Attribute definitions:
associated_make_from: specifies an Analytical_model_make_from_relationship for the Analytical_model_port_make_from_relationship.
reusable_feature: specifies one role of the Analytical_model_port for the Analytical_model_port_make_from_relationship.
resultant_feature: specifies one role of the Analytical_model_port for the Analytical_model_port_make_from_relationship.
Formal propositions:
UR1: The combination of reusable_feature and resultant_feature shall be unique within a population of Analytical_model_port_make_from_relationship.
WR1: The reusable_feature shall not be the resultant_feature.
WR2: The Analytical_model_definition referenced by the reusable_feature shall not be the Analytical_model_definition referenced by the resultant_feature.
An Analytical_model_scalar_port is a type of Analytical_model_vector_port that has a size of exactly one. The Analytical_model_scalar_port is used if there is a requirement to specify the cardinality of the ports associated by a relationship entity.
EXAMPLE Some examples are in the allocation to a functional unit terminal definition for analysis, or in mapping between a distributed model and a lumped equivalent circuit model, or in mapping to a vector port specified in an external syntax.
EXPRESS specification:
*)
ENTITY Analytical_model_scalar_port
SUBTYPE OF (Analytical_model_vector_port);
WHERE
WR1: SIZEOF(SELF\Analytical_model_vector_port.element_port) = 1;
WR2: SELF = SELF\Analytical_model_vector_port.element_port[1];
END_ENTITY;
(*
Formal propositions:
WR1: The port size shall be one.
WR2: Analytical_model_scalar_port shall contain self as the only item of element_port inherited from Analytical_model_vector_port.
An Analytical_model_vector_port is a type of Analytical_model_port that has a size that may be greater than one. An Analytical_model_vector_port may be an Analytical_model_scalar_port. This part of ISO 10303 does not predefine the elements of a vector port.
NOTE The cardinality of the structured port is known, and a list of names is specified for it.
EXAMPLE Examples are bus ports, multi-degrees-of-freedom connections, microwave domain modes, and address and data bus definitions.
EXPRESS specification:
*)
ENTITY Analytical_model_vector_port
SUPERTYPE OF (Analytical_model_scalar_port)
SUBTYPE OF (Analytical_model_port);
element_port : LIST[1:?] OF Analytical_model_scalar_port;
DERIVE
size : INTEGER := SIZEOF(element_port);
END_ENTITY;
(*
Attribute definitions:
element_port: specifies a role of the Analytical_model_scalar_port for the Analytical_model_vector_port.
size: specifies the integer for the cardinality of the Analytical_model_vector_port.
EXPRESS specification:
*)
ENTITY Analytical_model_version
SUBTYPE OF (Information_version);
SELF\product_version.of_product : Analytical_model;
END_ENTITY;
(*
Attribute definitions:
of_product: specifies a role of the Analytical_model for the Analytical_model_version.
NOTE 1 In this part of ISO 10303, a high impedance port state is considered to be a value assigned during simulation and is not a type declaration. It is represented by a string value assigned in accordance with the language reference manual. In the case that four-state logic is used for simulation, that is "zero", "one", "unknown", "inactive" the property type shall be explicitly declared as a string because ISO 10303-11 does not define four-state logic. Other more complex valued logic shall also use a string property type declaration.
NOTE 2 The Signal_specification provides a mechanism to assign specific experimental values captured in Signal_property to an application of a Digital_analytical_model_port in a functional netlist context. Specifically, the Signal_specification applies values to a Functional_unit_terminal which provides the required facility to declare the logical value of the terminal independent of the signal value on the network node.
EXAMPLE A Signal_specification may declare that the Functional_unit_terminal with an identifier of "output valid" is "inactive" for the same event, or, at the same time, mark that the Signal_specification for the network node the terminal is assigned to is declared to be a "true" value.
NOTE 3 The permitted combinations of relationships between node value and terminal values is defined in the language reference manual for the simulation environment and is outside the scope of this part of ISO 10303.
NOTE 4 The Signal_property provides a mechanism to exchange experimental values of the time or event dependent data.
EXPRESS specification:
*)
ENTITY Digital_analytical_model_port
ABSTRACT
SUPERTYPE OF (Digital_analytical_model_vector_port)
SUBTYPE OF (Analytical_model_port);
nominal_signal_flow_direction : signal_flow_direction;
port_type : port_property_type;
WHERE
WR1: not_applicable <> nominal_signal_flow_direction;
WR2: numeric_property_type <> port_type;
WR3: physical_property_type <> port_type;
WR4: unknown_direction <> nominal_signal_flow_direction;
END_ENTITY;
(*
Attribute definitions:
nominal_signal_flow_direction: specifies the signal_flow_direction for the Digital_analytical_model_port. The nominal_signal_flow_direction specifies either bidirectional, input_direction, or output_direction for the Digital_analytical_model_port.
port_type: specifies the port_property_type for the Digital_analytical_model_port. The port_type specifies one of a boolean_property_type, a logical_property_type, or a string_property_type.
Formal propositions:
WR1: not_applicable is not an allowed value for nominal_signal_flow_direction.
WR2: numeric_property_type is not an allowed value for port_type.
WR3: physical_property_type is not an allowed value for port_type.
WR4: unknown_direction is not an allowed value for nominal_signal_flow_direction.
EXPRESS specification:
*)
ENTITY Digital_analytical_model_scalar_port
SUBTYPE OF (Digital_analytical_model_vector_port, Analytical_model_scalar_port);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Digital_analytical_model_vector_port
SUBTYPE OF (Digital_analytical_model_port, Analytical_model_vector_port);
INVERSE
data_encoding_method : external_source_identification FOR item;
WHERE
WR1: SELF\Digital_analytical_model_port.port_type = port_property_type.string_property_type;
END_ENTITY;
(*
Attribute definitions:
data_encoding_method: specifies an inverse relationship where the existence of the Digital_analytical_model_vector_port is dependent on the existence of the External_source_identification that specifies the Digital_analytical_model_vector_port as its item.
Formal propositions:
WR1: The port_type inherited from Digital_analytical_model_port shall be string_property_type.
A Reference_part_template_for_analytical_model is the association of a template definition with an Analytical_model_definition to enable referencing explicit product data including reference geometric model for a simulation model.
NOTE The simulation model parameters and ports may be related back to the reference template definition properties to informally ground the simulation model in the geometric context.
EXPRESS specification:
*)
ENTITY Reference_part_template_for_analytical_model;
template : Template_definition;
analytical_representation : Analytical_model_definition;
UNIQUE
UR1: template;
END_ENTITY;
(*
Attribute definitions:
template: specifies the Template_definition for the Reference_part_template_for_analytical_model.
analytical_representation: specifies the Analytical_model_definition for the Reference_part_template_for_analytical_model.
Formal propositions:
UR1: The template shall be unique within a population of Reference_part_template_for_analytical_models.
EXPRESS specification:
*)
ENTITY Terminal_pair_port_equivalence_relationship;
equivalent_port : Analytical_model_port;
scalar_ports : Analytical_model_vector_port;
WHERE
WR1: (SIZEOF(scalar_ports.element_port) = 2);
END_ENTITY;
(*
Attribute definitions:
equivalent_port: specifies the Analytical_model_port that represents the single distributed port for the Terminal_pair_port_equivalence_relationship.
scalar_ports: specifies the two Analytical_model_scalar_port in the ordered sequence for the Terminal_pair_port_equivalence_relationship. The second scalar port is always the reference port. Other details depend on the specific domain of the Analytical_model_definition.
EXAMPLE Port "INPUT" of a microwave coaxial filter model is the equivalent_port for this example. Port "INPUT center pin" is the first Analytical_model_scalar_port for this example. Port "INPUT shield" is the second Analytical_model_scalar_port for this example.
Formal propositions:
WR1: Size of element_port of scalar_ports shall be two.
A Through_port_variable is a type of Port_variable. A Through_port_variable maps a unit that is identified as a "through unit" to an interface point for an Analytical_model_definition and assigns an identifier to the mapping. This standard does not enumerate a fixed list of allowed "through unit". A unit is required.
EXAMPLE An Electric_current_unit is a "through unit". A temperature is an "across unit". Reference: ISO 10303-41.
EXPRESS specification:
*)
ENTITY Through_port_variable
SUBTYPE OF (Port_variable);
WHERE
WR1: EXISTS(SELF\Port_variable.unit_of_measure);
END_ENTITY;
(*
Formal propositions:
WR1: The unit_of_measure inherited from Port_variable shall exist.
A Transform_port_variable is a type of Port_variable. A Transform_port_variable supports the creation of directed graph based definitions if the nominal_signal_flow_direction is limited to input or output only. A Transform_port_variable may map a unit to an interface point for an Analytical_model_definition. This standard does not enumerate a fixed list of allowed "transform unit".
EXAMPLE A Laplace transform based Analytical_model_definition would use a Transform_port_variable as the Port_variable for input and output ports.
EXPRESS specification:
*)
ENTITY Transform_port_variable
SUBTYPE OF (Port_variable);
nominal_signal_flow_direction : signal_flow_direction;
WHERE
WR1: signal_flow_direction.not_applicable <> nominal_signal_flow_direction;
WR2: signal_flow_direction.bidirectional <> nominal_signal_flow_direction;
END_ENTITY;
(*
Attribute definitions:
nominal_signal_flow_direction: specifies either input_direction, output_direction, or unknown_direction for the Transform_port_variable.
Formal propositions:
WR1: not_applicable is not an allowed value for nominal_signal_flow_direction.
WR2: bidirectional is not an allowed value for nominal_signal_flow_direction.
This subclause specifies the ARM rules for this module. The ARM rules and definitions are specified below.
EXPRESS specification:
*)
RULE analytical_model_version_constraint FOR
(product_version);
WHERE
WR1: SIZEOF(QUERY(pv <* product_version | (NOT ('ANALYTICAL_MODEL_ARM.ANALYTICAL_MODEL_VERSION'
IN TYPEOF(pv))) AND ('ANALYTICAL_MODEL_ARM.ANALYTICAL_MODEL' IN TYPEOF(pv.of_product)))) = 0;
END_RULE;
(*
Argument definitions:
product_version : the set of all instances of product_version.
Formal propositions:
WR1: There shall not be any instance of Product_version that refers to an Analytical_model as of_product and is not an instance of Analytical_model_version.
EXPRESS specification:
*)
RULE analytical_model_definition_constraint FOR
(product_view_definition);
WHERE
WR1: SIZEOF(QUERY(pvd <* product_view_definition | (NOT ('ANALYTICAL_MODEL_ARM.ANALYTICAL_MODEL_DEFINITION'
IN TYPEOF(pvd))) AND ('ANALYTICAL_MODEL_ARM.ANALYTICAL_MODEL_VERSION' IN TYPEOF(pvd.defined_version)))) =
0;
END_RULE;
(*
Argument definitions:
product_view_definition : the set of all instances of product_view_definition.
Formal propositions:
WR1: There shall not be any instance of Product_view_definition that refers to an Analytical_model_version as defined_version and is not an instance of Analytical_model_definition.
*)
END_SCHEMA; -- Analytical_model_arm
(*
© ISO 2019 — All rights reserved