NORMA is tightly integrated with the DSL Tools framework in Visual Studio. At the time the project was started (almost a decade ago) we also looked at web-based frameworks (there was no chance, the browsers simply weren't ready yet) and EMF in Eclipse. The big downfall on EMF was that it lacked the 'deleting' notification, ...
The information on this feature is linked in the January 2013 section of the readme under the title Extended Subtyping Constraint Combinations. The behavior is as expected: you can place a subset from a subtyping line to a role on a direct or indirect supertype, but not the other direction. Exclusion is also allowed, but not ...
Trying these constraints in the NORMA tool on your own model can also be very instructive. You can practice using them against a domain you're familiar with, look at the verbalizations, try different constraint patterns, etc.
I believe part of the confusion here is that an Xor constraint is two constraints, the inclusive-or and the exclusion. ...
Yes, you're in a serious error mode here with no identifying value type for your entity type. The issue is the preferred identifier pattern still holds, but the identifying value type is no more. I'm not sure I should even allow the PID to exist in this state, but I'm sure that changing that workflow would be much harder than ...
Thanks for catching this.
NORMA builds against 5 (soon 6) different Visual Studio versions. I don't have the luxury of buying hardware to isolate all of these versions, so I'm not surprised by the cross-contamination where 2013 is grabbing resources from 2012 (or even 2010). I've heard issues (that I can't reproduce) ...
You can pick the existing items using the dropdown, or by exactly matching the name of the item in the text field. If you need to edit an existing name do it with the raw item selected or it will create a new item instead of editing the existing one.
If you have a model file that isn't exhibiting this behavior I'd like to ...
A subset constraint (along with an equality constraint and an exclusion constraint) is classified as a set comparison constraint. This means that these constraints compare the population of ordered sets of roles, not individual roles. (The instructions and error messages in NORMA refer to these sets role ...
Good to hear from you.
A couple of comments:
(minor) You can change the name of the objectifying entity type on the shape as well. Just click the name shape above the fact type. There are other uses for this shape as well. For example, if you want to use the fact editor to create a fact type with the objectifying entity type as ...
I don't have the book with me, so I'll try to answer without it:
First off, a primitive entity type does not need to play a non-existential (reference) role. Country(.Code) is a valid as a complete and properly formed ORM model where Country plays only the existential role attaching it to the CountryCode value type.
For a ...
The diagrams are built as views on top of the model, not the other way around. The core model doesn't even know the diagramming layer exists, including UI-only concepts such as 'ExpandRefMode'.
The only shapes that routinely don't display are those collapsed in a reference model (ENTITY(.Id)). It is also possible to have ...