On 20/09/2013 12:01, Diego Bosc? wrote: > By the way, I just found out that archetype_node_id from locatable > class from the reference model (common_im document, page 22) is > obligatory (!!!). > > The meaning of the attribute is as follows: > "Design-time archetype id of this node taken from its generating > archetype; used to build archetype paths. Always in the form of an > ?at? code, e.g. ?at0005?. This value enables a "standardised" name for > this node to be generated, by referring to the generating archetype > local ontology. At an archetype root point, the value of this > attribute is always the stringified form of the archetype_id found in > the archetype_details object." > If you have to put the atxxxx code and the archetype does not have it, > what do you put there? What should expect the systems? > > > There is even an invariant defined as "Archetype_node_id_valid: > archetype_node_id /= Void and then not archetype_node_id.is_empty" > How does this work in your current implementations when sometimes the > atxxxx code is not present?
it's simpler than you think - we made that property mandatory so that programmers would never get a null exception. If it doesn't contain an at-code or an archetype id, it can be empty (but not null), or (what the ADL workbench currently does) - it can contain a dummy id like 'unknown' that the software can easily spot and strip out. I'm not against making it an optional property if developers would prefer that. - thomas

