Thomas Beale wrote:
> Kerry Raymond wrote:
> 
>> If I might ask a rather mundane technical question about archetypes ...
>>
>> Looking at the archetype models, there appears to be no way to enforce 
>> that the class to be used for some specific piece of information is 
>> exactly that class and not one of its subtypes. For example, what if 
>> it is important to have a DVTime used and not a DVPartialTime? Or an 
>> ObjectRef that should never an AccessGroupRef or a PartyRef?
>>
>> My feeling is that the class constraint in an archetype needs an 
>> additional property "subtypesAllowed" or similar to cater for the two 
>> cases.
> 
> 
> Hi Kerry,
> 
> there are two ways to see this. The orthodox oo modelling approach is to 
> say: if your model defines X (concrete) as a subtype of Y (also 
> concrete) then at runtime, an X is always acceptable in a variable of 
> type Y. By this argument, archetypes should not try to circumvent this. 

What I am wondering now is during automated object creation process, it 
has to be clear which concrete class to be instantiated - either X or Y 
? Apparently the end user will not supply the class name to the system ;)

My guess is that the choice has to be made before 'operational' 
archetypes are created based on some extra input from local settings, 
for instance a localized template.

> If on the other hand, there are circumsances where a Y is ok but not an 
> X, then the underlying reference model should say so by modelling X and 
> Y as disjoint subtypes of a common parent W.
> 
> A pragmatic approach would be to do what you say. We could probably 
> argue for this just on the basis of the fact that many reference models 
> (i.e. object models) are not well constructed, and out of the control of 
> the archetype designers, and/or that models consdered good today are 
> shown up later on by changing requirements, which changes the validity 
> of inheritances such as the one Kerry points out.
> 
> The purist in me says stick with the first way of seeing it; the realist 
> says to consider the second. What do others think?
> 
> - thomas beale
> 
> -
> If you have any questions about using this list,
> please send a message to d.lloyd at openehr.org
> 

-
If you have any questions about using this list,
please send a message to d.lloyd at openehr.org

Reply via email to