I decided to do Precentation the easy way. I simply add a “PrecentationOf” attribute that by default is blank. The Dictionary can track multiple items with the same name, so we just add a note to classes that are a precentation of something else. And then we just use the existing property to create a virtual class. BSA will expect that one version exist with a blank precentation field. As of now this is manual, but I can add more automation later.
It is UMLClass, Data Table and ModbusTable that will need this capability to visualize snips of the original table. This was a simple solution, but I think it will work well. I can also add a filter on the Dictionary to not list precented objects or simply list as sub-list of the original. This also means that I need a diagram with the original class for now – will look into creating some objects directly in the Dictionary later.
As we use the objects for Coding the compiler will see that this is a precented object and look for the original. The compiler will also check that we only have one original object of each name, but nothing will prevent the user from entering free names during design.