From: Uluc Saranli [ulucs+@cs.cmu.edu]
Sent: Wednesday, September 03, 2003 1:25 PM
To: G. Clark Haynes
Cc: Jay Gowdy; Alfred Rizzi
Subject: Source tree restructuring proposal


Clark;

Below is my proposal for a new source tree structure. Please feel free to
send suggestions and feedback before we start discussing it with other
software people in the group.
--------------------------------------------------------------------

Goals:

 - Eliminate dependence of RHexLib on rhex specific code
   (hence facilitating its independent distribution).
 - Create a convenient hierarchy for the coexistance of RHex and RiSE
   code without interdependencies.
 - Provide sensible places for addition of new code, robots, hardware
   interfaces as well as embedded code.

Required changes:
 - Reorganization of the source tree
 - Revising Makefiles accordingly
 - Fixing ModeSupervisor to eliminate explicit dependence on CalibMachine
   and SitMachine
 - Relocating a number of files to cleanup up various library dependencies

Here is the new hierarchy:
------------------------------------------------------------------------
Libraries
  lib
  include
  RHexLib
    include
    base
    libutils
    tools
    doc
    examples
  VisLib
  ClientLib
  GUILib
  flame
  fltk
RHex
  lib
  include
  Simulation
    SimSect++
  RobotCode
    Hardware
      CommonHW
        include,src
      ResearchHW
        include,src
      RuggedHW
        include,src
      SimSectHW
        include,src
    BehaviorLib
      modules
      modes
      include
    CalibTools
    TestTools
  OCUCode
    RHexGUI
    RuggedGUI
    LogGUI
    CLI
  VisionCode
  EmbeddedCode
    RhIO
  SWRI
    Operator
    Supervisor
    Config
RiSE
  lib
  include
  Simulation
    RiSESimLib
  RobotCode
    Hardware
      CommonHW
        include,src
      RiSEHW
        include,src
      RiSESimHW
        include,src
    BehaviorLib
      modules
      modes
      include
    CalibTools
    TestTools
  OCUCode
    RiSEGUI
    LogGUI
    CLI
  VisionCode
  EmbeddedCode
  SWRI
    Operator
    Supervisor
    Config


Notes:
 - There are many top level directories, including one for generic
   libraries and one for each individual robot project
 - RHexLib itself will no more include any RHex specific hardware class
   or module.
 - All robot specific modules and modes will be combined under "BehaviorLib"

--------------------------------------------------------------------
 Uluc Saranli
 Postdoc, Robotics Institute          http://www.cs.cmu.edu/~ulucs
 Carnegie Mellon University           phone : (412) 268 3260
 5000 Forbes Avenue                   fax   : (412) 268 5571
 Pittsburgh, PA 15213                 email : ulucs+@cs.cmu.edu

-- ClarkHaynes? - 29 Sep 2003

 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback