1
Automation Interface, Add-Ins and Tools / Validating MDG Technology Stereotypes and Tagged Value Types from Database
« on: December 27, 2025, 02:57:59 am »
We're new to using MDG technologies and UML profiles in our models, and have recently discovered some issues with our existing automation tools and a new data type that was created as an MDG technology.
Previously, we'd been using class objects, with stereotypes and tagged value types defined in the UML Types dialog, and have a number of automations built that, before inserting an element or tagged value, check in the database to a) validate that what's being added is valid and b) to determine the type of tagged value being inserted, to know how to insert it (i.e. if Type=Memo, add to the Notes, not the value, if Type=RefGUID, lookup the ea_guid first, and insert that, rather than the name, etc, etc). We'd been looking at the t_propertytypes and t_stereotypes tables to get this information for the automation.
What we've found, however, is that our new object type that is derived from an MDG technology does not insert stereotype names or tagged value definitions into those tables, which means that validation fails when our automation tries to manipulate these new types of objects. When creating the UML profile for these new types, I'd initially tried creating the tagged values in the UML Types dialog, and adding them to the stereotype object in my profile diagram: but, that didn't create new tagged values in the objects to which that technology stereotype was applied: so I added them as features on the stereotype element, and created dataType / enumeration objects that I associated with the features (and added the "Type=RefGuid; Values=Actor;" string that you'd normally put in the notes in the UML Types dialog into the notes of the data type, and they worked as I'd expect them to - apart from not being in the database table. I'd wondered if perhaps I'd done this wrong (the documentation was a little unclear to me - though I assume that's an understanding issue, not a documentation issue...), or whether this was expected behavior, and I was looking in the wrong place for where these stereotype / tagged value definitions appear in the database?
Previously, we'd been using class objects, with stereotypes and tagged value types defined in the UML Types dialog, and have a number of automations built that, before inserting an element or tagged value, check in the database to a) validate that what's being added is valid and b) to determine the type of tagged value being inserted, to know how to insert it (i.e. if Type=Memo, add to the Notes, not the value, if Type=RefGUID, lookup the ea_guid first, and insert that, rather than the name, etc, etc). We'd been looking at the t_propertytypes and t_stereotypes tables to get this information for the automation.
What we've found, however, is that our new object type that is derived from an MDG technology does not insert stereotype names or tagged value definitions into those tables, which means that validation fails when our automation tries to manipulate these new types of objects. When creating the UML profile for these new types, I'd initially tried creating the tagged values in the UML Types dialog, and adding them to the stereotype object in my profile diagram: but, that didn't create new tagged values in the objects to which that technology stereotype was applied: so I added them as features on the stereotype element, and created dataType / enumeration objects that I associated with the features (and added the "Type=RefGuid; Values=Actor;" string that you'd normally put in the notes in the UML Types dialog into the notes of the data type, and they worked as I'd expect them to - apart from not being in the database table. I'd wondered if perhaps I'd done this wrong (the documentation was a little unclear to me - though I assume that's an understanding issue, not a documentation issue...), or whether this was expected behavior, and I was looking in the wrong place for where these stereotype / tagged value definitions appear in the database?
- thanks very much for any suggestions or pointers!
