Re: Bug report - error in role position for ternary fact type

I replicated the problem in a new project/model/diagram using the same system (VS 2005-Standard on WS 2008) - the same behavior.

I just did a fresh install of Plix and nORMa for VS 2008 - 4/2008 drop on a different box (VS 2008 Pro, on Vista Ult 32bit). I created another new project/model/diagram from scratch, and see the same problems.

Checking the Context Window with a ternary fact selected, I sometimes see the correct sequence of roles - but in reverse order (both setups).

In what may be a related issue, I see ternary fact types listed as entity type objects, under the Object Types listing of the Object Browser. The same fact type is also listed (as it should be), in the Fact Types section of the tree.

Hope someone can figure out the mismatched fact readings, shape connections and verbalization and context display for ternary fact types - it's giving me vertigo, trying to assign constraints; and I haven't even tried to enter sample populations for these yet.

Re: Bug report - error in role position for ternary fact type

Hi,For anyone having issues I mentioned with Object Shape/Predicate Role connection and readings, I found out a few things that may help you steer clear of these, while a better fix is prepared by the team.Matt says he will try to look at these issues, but needs to deal with problems with "unary binarization.”Once his unary track is cleared, I’m sure he’ll be up to taking care of this other stuff.If the issue is not due to artifacts from an earlier install (see Matt’s instructions for clearing the GAC, at the bottom of this post).It looks to be a fault in the Fact Editor.The bad stuff happens when using the FE to enter a Fact Type with arity greater than two, while introducing a primary reference scheme for an entity Object Type – for example “Technician calls Supervisor(.name) about Issue”Here, it’s that the Supervisor Object hasn’t yet been introduced in another part of the model, that causes the faulty display.If ALL the Object Types for this ternary FT are already established already in the model – “Technician calls Supervisor about Issue” works fine.If leftovers from earlier versions are causing other problems; and uninstalling and reinstalling NORMA, PliX and DSLTools (don’t reinstall DSLTools for VS2008), doesn’t solve your problems; try these steps forwarded from Matt:One thing I’ve done with the occasional setup issue we’ve seen is to uninstall the NORMA products, then hand rip any garbage out of the gac.From a Visual Studio 200x command prompt:Cd C:\Windows\Assembly\GAC_MSILDir *neumont*gacutil –u DIRNAMEfor each of the remaining dll directories you see (if any). Note that gacutil takes the assembly name, not the dll name (usually, just leave off .dll)After the gac is totally cleaned out, then you can reinstall NORMA and you should be fine.-MattJustifiably or not, Matt assumed I’d know what this meant, and how to do this without messing things up on my system.All the usual caveats about fiddling with stuff you don’t understand apply.I ran this, and found there were no artifacts to clear out on my GAC.It was worth doing, nonetheless, as it helped me isolate the problem with using the Fact Editor.Hope it helps.BRN..

Re: Bug report - error in role position for ternary fact type

For anyone having issues I mentioned with Object Shape/Predicate Role connection and readings, I found out a few things that may help you steer clear of these, while a better fix is prepared by the team. Matt says he will try to look at these issues, but needs to deal with problems with " unary binarization." Once his unary track is cleared, I'm sure he'll be up to taking care of this other stuff.

If the issue is not due to artifacts from an earlier install (see Matt's instructions for clearing the GAC, at the bottom of this post). It looks to be a fault in the Fact Editor. The bad stuff happens when using the FE to enter a Fact Type with arity greater than two, while introducing a primary reference scheme for an entity Object Type - for example "Technician calls Supervisor(.name) about Issue" Here, it's that the Supervisor Object hasn't yet been introduced in another part of the model, that causes the faulty display. If ALL the Object Types for this ternary FT are already established already in the model - "Technician calls Supervisor about Issue" works fine.

If leftovers from earlier versions are causing other problems; and uninstalling and reinstalling NORMA, PliX and DSLTools (don't reinstall DSLTools for VS2008), doesn't solve your problems; try these steps forwarded from Matt:

One thing I've done with the occasional setup issue we've seen is to uninstall the NORMA products, then hand rip any garbage out of the gac.

From a Visual Studio 200x command prompt:

Cd C:\Windows\Assembly\GAC_MSIL

Dir *neumont*

gacutil -u DIRNAME

for each of the remaining dll directories you see (if any). Note that gacutil takes the assembly name, not the dll name (usually, just leave off .dll)

After the gac is totally cleaned out, then you can reinstall NORMA and you should be fine.

-Matt

Justifiably or not, Matt assumed I'd know what this meant, and how to do this without messing things up on my system. All the usual caveats about fiddling with stuff you don't understand apply. I ran this, and found there were no artifacts to clear out on my GAC. It was worth doing, nonetheless, as it helped me isolate the problem with using the Fact Editor.

Re: Bug report - error in role position for ternary fact type

In what may be a related issue, I see ternary fact types listed as entity type objects, under the Object Types listing of the Object Browser.

All n-ary and spanning binary FactTypes have implied objectifications, which are part of the model. From a FactType selection you can always tell which FactTypes are implicitly objectified because the 'Name' property becomes editable (FactTypes do no have editable names, the name comes from the underlying ObjectType). To simplify mapping scenarios, we always have a live fully binarized form (aka coreferenced form) of the model. You can see the implied binary FactTypes (and their verbalizations in the Verbalization Browser) by selecting them in the model browser under the 'Implied FactTypes' branch inside an (implicitly or explicitly) objectified FactType.

The only thing you can do with these implied FactTypes is to change their readings using the Reading Editor window. To do this, either select an implied FactType in the model browser, or select a role in the diagram and use the 'Implied Fact Type Readings' branch in the Reading Editor to see the same information.

Whether we should display these (or not) in the Model Browser is a different issue. We do explicitly limit the available properties (IsIndependent, IsValueType, RefMode, ObjectifiedFactType are all locked down), but the other properties are potentially editable.

As for the main issue, I'm having a hard time reproducing the problem as state. However, it appears to be a FactTypeShape.DisplayOrder issue, and you can always change the display order on a FactTypeShape. There are two different ways to do this:

Select a single role and use the context menu to 'Move Role Left' or 'Move Role Right'

Select the FactType and use 'Orientation/Reverse Role Order' on the context menu

The displayed reading for a specific FactTypeShape will the reading matching the exact displayed role order (if available, you'll see ellipsis but no role player names), backed up by the exact reverse order shown with the reverse reading arrow (if available, ellipsis also used), followed by the highest priority reading with replacement fields filled in (what you're seeing).

Re: Bug report - error in role position for ternary fact type

Thanks for the info and advice - I'll review both and see how the mechanics work out.

As for "main problem" I continue to see this behavior in both VS 2005(WS2008) and VS 2007(Vista Ult) systems. I'm taking that you were able to see the effects, as posted in the VS images I included in my email.

I'll try sending a project file with good behavior and faults on separate pages of single ORM file (as email attachment). I'll go with a minimal amount of elements and no schema generation. I don't think I have any unusual options set for VS.

I've been working mostly on the VS 2005 system, and can get most everything done using the work around. So, this is more of a nuisance than anything else. So far, I've been able to get everything right, if I make sure to establish all Object Types in binaries, before using them in arity>2 Fact Types.