SCHEMA Maths_space_arm;
USE FROM Engineering_analysis_basics_arm -- Engineering_analysis_basics (Class); USE FROM Maths_value_arm -- Maths_value (Maths_value);
ENTITY Elementary_space
SUBTYPE OF (Maths_space);
code : STRING;
supplier : STRING;
UNIQUE
single_instance_of_class : code, supplier;
WHERE
valid_standard_class :
IF (supplier = 'ISO/PDTS 10303-1091') THEN
code IN ['MS001', 'MS002', 'MS003', 'MS004'];
ELSE
TRUE;
END_IF;
END_ENTITY;
ENTITY Integer_interval ABSTRACT SUPERTYPE OF (ONEOF ( Finite_integer_interval, Hibounded_integer_interval, Lobounded_integer_intervall)) SUBTYPE OF (Maths_space); END_ENTITY;
ENTITY Finite_integer_interval SUBTYPE OF (Integer_interval); size : INTEGER; lobnd : INTEGER; DERIVE hibnd : INTEGER := lobnd + size - 1; WHERE positive_definite_size : size > 0; END_ENTITY;
ENTITY Finite_real_interval SUBTYPE OF (Real_interval); lobnd : REAL; loclosure : BOOLEAN; hibnd : REAL; hiclosure : BOOLEAN; WHERE nontrivial : lobnd < hibnd; END_ENTITY;
ENTITY Finite_space SUBTYPE OF (Maths_space); members : SET [0,?] OF Maths_value; END_ENTITY;
ENTITY Hibounded_integer_interval SUBTYPE OF (Integer_interval); hibnd : INTEGER; END_ENTITY;
ENTITY Hibounded_real_interval SUBTYPE OF (Real_interval); hibnd : REAL; hiclosure : BOOLEAN; END_ENTITY;
ENTITY Listed_product_space SUBTYPE OF (Product_space); factors : LIST [1,?] OF Maths_space; END_ENTITY;
ENTITY Lobounded_real_interval SUBTYPE OF (Real_interval); lobnd : REAL; loclosure : BOOLEAN; END_ENTITY;
ENTITY Lobounded_integer_interval SUBTYPE OF (Integer_interval); lobnd : INTEGER; END_ENTITY;
ENTITY Maths_space SUPERTYPE OF (ONEOF ( Elementary_space, Integer_interval, Real_interval, Finite_space, Tuple_space)) SUBTYPE OF (Class); END_ENTITY;
ENTITY Product_space
ABSTRACT SUPERTYPE OF (ONEOF (
Uniform_product_space,
Listed_product_space))
SUBTYPE OF (Tuple_space);
END_ENTITY;
ENTITY Real_interval ABSTRACT SUPERTYPE OF (ONEOF ( Finite_real_interval, Hibounded_real_interval, Lobounded_real_interval)) SUBTYPE OF (Maths_space); END_ENTITY;
ENTITY Tuple_space SUPERTYPE OF (Product_space) SUBTYPE OF (Maths_space); END_ENTITY;
ENTITY Uniform_product_space SUBTYPE OF (Product_space); base : Maths_space; exponent : INTEGER; WHERE positive_exponent : exponent > 0; END_ENTITY;
END_SCHEMA;
Page last updated - 7 Sep 2000