These instances are NOT objects. Objects are run-time instances of a specifying Class.
It's common among game engines that runtime supports design activities. A title is developed with the engine running "editor mode", and then played with a constrained & optimized build running "game mode". The same prototype instances are deserialized and then cloned, both in editor mode and game mode.
But...
That a new game object is instantiated by cloning its prototype, rather than by invoking a conventional constructor, is an implementation detail. So modelling
these prototypes as classifiers related by «prototype» generalizations does seem more useful than as instances related by e.g. «prototype» dependencies. (For this model view's intent/audience.)
These instances have lifetimes outside the run-time.
(Wouldn't that would be true of any persistent object, e.g. in an object-relational database?)
Cheers,
Yes, eberline,
I was speaking in the context of Sparx/UML Objects. the t-object table has a column RunState which is only invoked/manifest when the object_type is "Object". Other properties are also not manifest unless the object_type is "Object".
So, we came to the conclusion that in Sparx EA "Object" meant run-time object only.
Investigating the relationship between the various things we're trying to model with ArchiMate-like technology, we decided that we were basically dealing with two types of instances - specific instances (eberline, Paolo) and placeholder instances ((a) Developer, (an) Architect).
We came to the view that the concept of Class (Classifier) should be
reserved for those types of items which define the structural and behavioural specification of the instances/run-time objects. Thus, in our view, ArchiMate Actor is a Classifier, ALL Actors are instances.
The process of cloning is NOT one of classifier->run-time object, but not_classifier (instance?)->run-time object. So a different relationship is required (you could use "isEnlivened" - given life - for this purpose). The point is that the design mode item is an instance of the class of Actors, but in the game mode, it is give "live" and run-time specific properties which may vary from those "snapshotted" into the design mode instance. While they are both Theseus' ship, they aren't the same ship.
HTH,
Paolo