Component Identification
Contents
Basic concepts
Rationale
TODO: unique identifiers for entities like structural components, really making sure that an entity is the same as another in distributed team work
Use cases
TODO
- Management of shared modelling concepts using export/import or shared repository
- Full-featured inspection of old versions
- Version comparison analysis tools
Technical details
- A unique identifier can be attached to any resource with the L0.identifier relation:
>-- L0.identifier <R L0.HasProperty : L0.FunctionalRelation L0.HasLabel "Identifier" --> L0.GUID
- The version identifier is a binary GUID and its values can be handled using the utility bean class
org.simantics.datatypes.literal
. - Identifiers are only given to structural configuration components and composites in a model configuration, not diagram elements. This makes it possible to perform global comparisons between versions of a model.
- Related code utilities:
class ModelingUtils:
public static void rewriteGUIDS(WriteGraph graph, Resource root, boolean deep) throws DatabaseException
public static void createMissingGUIDs(IProgressMonitor monitor, WriteGraph graph, Collection<Resource> roots) throws DatabaseException
TODO