in

The ORM Foundation

Get the facts!

Bug report - error in role position for ternary fact type

Last post Mon, May 26 2008 11:21 by Matthew Curland. 6 replies.
Page 1 of 1 (7 items)
Sort Posts: Previous Next
  • Tue, May 13 2008 6:11

    Bug report - error in role position for ternary fact type

     

    Bug Report

    Error in role order for ternary (two role for one object) fact type

    For the ternary fact type: Team (.name) plays Team (.name) on Date ()

    The fact editor positions the roles as: Team1, Date, Team2

    The Fact type reads correctly, but is shown (and verbalized), in wrong order

    Note the two ternary fact types in nORMa model fragment below:

     

    Only the fact type with two references to same object type displayed incorrectly.

    nORMa May 2008 drop, VS 2005.

    BRN..


    Filed under: ,
  • Thu, May 15 2008 6:27 In reply to

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

    More Info

    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.

    BRN..

  • Sat, May 17 2008 18:32 In reply to

    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. -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. Hope it helps. BRN.. 

     

  • Sat, May 17 2008 18:39 In reply to

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

     

    Hi,

     

    [Sorry for monolithic previous reply - I'll have ask Ken how to delete these. Here's a better view]

     

    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.

     

    Hope it helps.

     

    BRN..

     

     

  • Thu, May 22 2008 10:04 In reply to

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

    Brian Nalewajek:
    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).

    -Matt

     

  • Thu, May 22 2008 12:04 In reply to

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

     

    Hi Matt,

    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.

    Hope your tangle with absorption was resolved over the weekend.

    BRN..

     

  • Mon, May 26 2008 11:21 In reply to

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

    Answer

    The issue should be fixed with changeset 1292.

    -Matt

Page 1 of 1 (7 items)
© 2008-2024 ------- Terms of Service