View: Hide Browser | Browser on the left | Browser on the right | Dictionary
Report:General Info | Inner Elements

Parent Package: archetype
Package am::archetype::assertion

Assertions are expressed in archetypes in typed first-order predicate logic (FOL). They are used in two places: to express archetype slot constraints, and to express invariants in complex object constraints. In both of these places, their role is to constrain something inside the archetype. Constraints on external resources such as terminologies are expressed in the constraint binding part of the archetype ontology, described in the Ontology Package The concrete syntax of assertion statements in archetypes is designed to be compatible with the OMG Object Constraint Language (OCL). Archetype assertions are essentially statements that contain the following elements: • variables, which are attribute names, or ADL paths terminating in attribute names (i.e. equivalent of referencing class feature in a programming language); • manifest constants of any primitive type, plus date/time types • arithmetic operators: +, *, -, /, ^ (exponent) • relational operators: >, <, >=, <=, =, !=, matches • Boolean operators: not, and, or, xor • quantifiers applied to container variables: for_all, exists The package described here is currently designed to allow the representation of a general-purpose binary expression tree, as would be generated by a parser. This may be replaced in the future by a more specific model, if needed.


Inner Elements
NameType
 ASSERTIONClass
 ASSERTION_VARIABLEClass
 EXPR_BINARY_OPERATORClass
 EXPR_ITEMClass
 EXPR_LEAFClass
 EXPR_OPERATORClass
 EXPR_UNARY_OPERATORClass
 OPERATOR_KINDClass
 Definition_validConstraint
 expression_validConstraint
 item_validConstraint
 left_operand_validConstraint
 Name_validConstraint
 operand_validConstraint
 right_operand_validConstraint
 tag_validConstraint
 type_validConstraint
 unnamed1Constraint
 ValidityConstraint
 validityConstraint