Even nicer would be to have the metamodel recognize that the instances are the same in such a way the you could even assign a subtype attribute. i.e., [supertype handle].[subtype attribute] = x;
OTOH, if you know the subtype why not just get it’s handle? The polymorphic events are a nicety to the OAL coder, but require extra work in state modeling. The question is does it also result in more efficient compiled output, and if so, is this a flaw in the model compiler?
Can it be mitigated through a rework of the metamodel? In this metamodel, I worked to get generalization right (I hope), but it doesn’t have any supporting tooling to verify that it makes things better. Maybe I’ll get the tooling done when I retire. Maybe BridgePoint can benefit from the lessons I’ve learned in making it.