New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a suite of graph walkng and analysis algorithms #395

Open
Nava2 opened this Issue Aug 26, 2015 · 4 comments

Comments

Projects
None yet
2 participants
@Nava2
Member

Nava2 commented Aug 26, 2015

Originally reported on Google Code with ID 497


We need in several contexts to analyse the various graphs in an Umple model.

  1. The state machine graph (nodes = states, arcs = transitions, but accounting for
    nesting)
  2. The graph formed by associations (nodes = classes, interfaces, etc; arcs = associations)
  3. The graphs (tree) formed by constraint expressions (nodes = variables, arcs = operators).

We need to compute numerous algorithms on these

  • Basic walking (e.g. depth first and/or breadth first, with marking of visits)
  • Enumerate cycles, simple number of cycles
  • Unreachable elements (at least in state machines)
  • Cyclomatic complexity
  • etc

Applications

  • Metrics
  • Model analysis (finding faults such as unreachable states, issue 492 )
  • Diagram drawing (improving current generators)

To do this we need a basic walking infrastructure in place first, then to implement
the


Reported by @umple on 2014-02-04 20:45:23

@Nava2

This comment has been minimized.

Member

Nava2 commented Aug 26, 2015

As an example, the following will enumerate the cycles (circuits)
http://dutta.csc.ncsu.edu/csc791_spring07/wrap/circuits_johnson.pdf


Reported by @umple on 2014-02-05 14:10:28

@Nava2

This comment has been minimized.

Member

Nava2 commented Aug 26, 2015

See also issue 266


Reported by @umple on 2014-02-21 02:55:21

@mfritze mfritze self-assigned this Oct 16, 2015

@mfritze

This comment has been minimized.

mfritze commented Oct 25, 2015

Added wiki page to document the API and get feedback on the potential details.

@mfritze

This comment has been minimized.

mfritze commented Dec 9, 2015

The StateMachine graph class is finished. I will be continuing to work on Umple after my term with UCOSP, and will implement other concrete graphs such as class inheritance hierarchy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment