View: Hide Browser | Browser on the left | Browser on the right | Dictionary
Report:General Info | Attributes | Operations | Relations | Constraints

Parent Package: archetype
Class ARCHETYPE


AUTHORED_RESOURCE
   |
   +--ARCHETYPE

Archetype equivalent to ARCHETYPED class in Common reference model. Defines semantics of identfication, lifecycle, versioning, composition and specialisation.

Attributes
SignatureOptionalityMultiplicityConstantDocumentation
 adl_version : String 0..1  --   
 archetype_id : ARCHETYPE_ID  --  Multi-axial identifier of this archetype in archetype space. 
 concept : String  --  The normative meaning of the archetype as a whole, expressed as a local archetype code, typically “at0000”. 
 parent_archetype_id : ARCHETYPE_ID 0..1  --  Identifier of the specialisation parent of this archetype. 
 uid : HIER_OBJECT_ID 0..1  --  OID identifier of this archetype. 

Attributes from Associations
SignatureOptionalityMultiplicityDocumentation
 definition : C_COMPLEX_OBJECT -- Root node of this archetype 
 ontology : ARCHETYPE_ONTOLOGY -- The ontology of the archetype. 
 invariants : Set<ASSERTION>0..1   


Operations
SignatureConstraintsDocumentation
 concept_name(a_lang : String) : String  The concept name of the archetype in language. a_lang; corresponds to the term definition of the concept_code attribute in the archetype tology. 
 constraint_references_valid() : Boolean  True if every CONSTRAINT_REF.reference found on a C_OBJECT node in the archetype definition is found in ontology. constraint_codes. 
 internal_references_valid() : Boolean  True if every ARCHETYPE_INTERNAL_REF. target_path refers to a legitimate node in the archetype definition. 
 is_specialised() : Boolean  True if this archetype is a specialisation of another. 
 is_valid() : Boolean  True if the archetype is valid overall; various tests should be used, including checks on node_ids, internal references, and constraint references. 
 logical_paths(a_lang : String) : Set<String>  Set of language-dependent paths extracted from archetype. Paths obey the same syntax as physical_paths, but with node_ids replaced by their meanings from the ontology. 
 node_ids_valid() : Boolean  True if every node_id found on a C_OBJECT node is found in ontology.term_codes. 
 physical_paths() : Set<String>  Set of language-independent paths extracted from archetype. Paths obey Xpath-like syntax and are formed from alternations of C_OBJECT.node_id and C_ATTRIBUTE.rm_attribute_name values. 
 previous_version() : String  Version of predecessor archetype of this archetype, if any. 
 short_concept_name() : String  The short concept name of the archetype extracted from the archetype_id. 
 specialisation_depth() : Integer  Specialisation depth of this archetype; larger than 0 if this archetype has a parent. Derived from ontology.specialisation_depth. 
 version() : String  Version of this archetype, extracted from id. 

Constraints
NameExpression
revision_history_validityinv: is_controlled implies (revision_history <> Void and revision_history.is_empty) 
archetype_id_validityinv: archetype_id <> Void 
description_existsinv: description <> Void 
ontology_existsinv: ontology <> Void 
definition_existsinv: definition <> Void 
uid_validityinv: uid <> Void implies not uid.is_empty 
original_language_validinv: original_language <>void and language <> Void and code_set(Code_set_id_languages).has_code(original_language) 
version_validityinv:version <> Void and version.is_equal(archetype_id.version_id) 
has_parentpost: is_specialised implies parent_archetype_id <>Void 
invariants_validinv: invariants <> Void implies not invariants.is_empty 
concept_validinv: ontology.has_term_code(concept_code) 
Specialisation_validityinv: is_specialised implies specialisation_depth > 0