For the Pegasus SI2 project we proposed to conduct a refactoring and cleanup of the Pegasus codebase. This document will help us identify components that need to be removed, moved, and refactored and help us plan these cleanup activities.

Already Removed

  1. /contrib/wfprof (obsoleted by the new kickstart)
  2. Everything under /archive
  3. /contrib/qq (obsoleted by pegasus-status?)
  4. /contrib/modules
  5. /contrib/bp2db (obsoleted by STAMPEDE?)
  6. /contrib/netlogger (obsoleted by STAMPEDE?)
  7. /libexec/statistics (obsoleted by STAMPEDE?)
  8. /libexec/reassemble-chunks (no longer required for kickstart)
  9. /libexec/pegasus-check-helper.1 (no longer used?)
  10. /libexec/pegasus-check-helper.2 (no longer used?)
  11. /libexec/latex-sample-props (obsoleted by docbook)
  12. /libexec/docbook-sample-props (no longer used)
  13. /libexec/groff.sh
  14. /libexec/dot-ps2-to-eps.pl
  15. /release-tools/svn-nightly (obsoleted by GIT, bamboo)
  16. /release-tools/nmi (obsoleted by Bamboo)
  17. /contrib/dbschema (either convert them to a format we can use, or remove them?)
  18. /src/tools/pegasus-invoke (is this used?)
  19. /src/ShowProperties.java
  20. Version.in
  21. /src/examples
  22. /share/pegasus/sql (remove stuff we don't need, mostly replaced by pegasus-db-admin)
  23. /share/pegasus/visualize (converted dag2dot into pegasus-graphviz)

Remove

These are the components that can be removed.

None remaining.

Already Moved

  1. /libexec/perl-docs (moved to doc)
  2. /contrib/tutorial_vm (moved to release-tools)

Move

These are the components that need to be moved.

None remaining.

Already Refactored

  1. /release-tools (not so many subdirs needed)
  2. Convert python docs from build.xml into a script
  3. /lib/pegasus/perl (remove everything we don't support, keep what we do?)

Refactor

These are the components that need to be refactored.

None remaining.

Defer

These are the components that we need to revisit later.

  1. /contrib/workflow_gallery (and /lib/pegasus/php, and /lib/pegasus/javascript, will be obsoleted by workflow archive)
  2. pegasus-plots (and /share/pegasus/plots, obsoleted by dashboard, deprecate until next release)
  3. /contrib/plots (are we going to maintain this? Either make it part of dashboard or remove it)
  4. /release-tools/python-modules-dir (we should manage the python stuff differently)
  5. /src (should we create /src/planner, /src/kickstart, /src/pegasus-mpi-cluster, etc?)