[Issue 6521] New - Troubles with diamond inheritance

[email protected] Fri, 28 Oct 2016 05:32:15 -0700 (PDT)
Newsgroups gmane.comp.lang.uml.argouml.issues
Message-ID <[email protected]>
http://argouml.tigris.org/issues/show_bug.cgi?id=6521
                 Issue #|6521
                 Summary|Troubles with diamond inheritance
               Component|argouml
                 Version|current
                Platform|PC
                     URL|
              OS/Version|Linux
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|GUI
             Assigned to|bobtarling
             Reported by|jmvanel






------- Additional comments from [email protected] Fri Oct 28 05:32:14 -0700 2016 -------
A model with diamond inheritance is incorrectly diagnosed as "cyclic inheritance".
Moreover, when selecting "inheritance centered" tree view, the software enters a
non-responsive frozen state.
Even when turning critique off.

Problem exists also with the current code in git.

My understading :

The algorithm used to gather recursively subclasses is used both in:
- critique: detecting inheritance problems
- displaying inheritance tree view

To work with my model, I commented out the throwing of an exception.
But this is not a good solution, because with a real cyclic inheritance an
infinite loop would certainly occur.

The design of the algorithm to detect inheritance problem is a problem, because
it just throws an exception when seeing a parent-child pair for the second time.
But I'm not sure if there is enough information gathered to diagnose correctly a
cycle.

But, more importantly, the exception is probably not or badly caught in the
displaying of inheritance tree view.

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=448&dsMessageId=3191567

To unsubscribe from this list, e-mail: [[email protected]].
Please do not reply to this mail. Instead, add your comments in the issue.