[kepler-dev] Ptolemy Kore Dependencies

Edward A. Lee eal at eecs.berkeley.edu
Sat May 24 16:57:33 PDT 2008

Great!  An updated UML package diagram would be welcome...


At 09:38 AM 5/23/2008, Christopher Brooks wrote:
>Ok, I've refactored Ptolemy Kore so that the dependencies are better.
>Below, as we go down the list of packages, packages at the top don't
>depend on packages at the bottom.
>However, within a top level package, we still may have dependencies
>between the top level package and its subpackages.  I think this
>is ok, since the subpackages are often syntactic sugar used to
>break down large packages into smaller packages.
>Also, not all packages within a top level package are part of Kore.
>ptolemy.math  - does not depend on other Ptolemy packages.
>ptolemy.util  - does not depend on other Ptolemy packages.
>ptolemy.graph - uses Exceptions from ptolemy.kernel.util
>              - uses NamedObj for better error message
>ptolemy.kernel, ptolemy.kernel.{attributes,util,undo}
>              - Depends on ptolemy.util
>              - Circular dependency: CompositeEntity depends on
>                kernel.attributes.VersionAttribute
>ptolemy.data, ptolemy.data.{expr,type,unit}
>              - Depends on kernel, kernel.util, math, util
>              - Circular dependencies: Classes in data depend on
>                ptolemy.data.{expr,type,unit} and the reverse
>ptolemy.actor - Depends on actor.parameters,
>                data, data.expr, data.type
>                graph
>                kernel, kernel.util
>                math, util
>Things starts to break down here.  In particular, the moml/actor split
>is tricky.
>ptolemy.actor.gui depends on many packages, including moml.
>moml depends on many packages, especially actor.
>However, I _think_ I've removed the circular dependencies between
>moml and the actor packages.  
>Kore Actor packages that require moml:
>      actor.gui, actor.gui.style
>      actor.lib.hoc
>Note that other non-Kore actor packages like actor.gt, actor.gui.run,
>actor.lib.jxta also require moml, but these are not a concern.
>I also removed dependencies in various actor packages on vergil.
>The data.unit package got split up and part moved to moml.unit.
>Future work:
> - Fix any broken tests or builds.
> - Refactor ptolemy.actor.lib.gui so that it is easier to substitute
>   in non-graphical classes for headless runs
> - Once we choose a new version control system, create modules for 
>   Kore
>    I'm using the term "Ptolemy Kore" to refer to the core packages
>    of Ptolemy that are needed by Kepler or other developers that want
>    to mix and match Ptolemy packages.
>    http://en.wikipedia.org/wiki/Persephone says:
>    "for the Greeks knew another face of Persephone as well. She was also
>    the terrible [Queen of the Dead], whose name was not safe to speak
>    aloud, who was euphemistically named, simply as, Kore, "The Maiden", a
>    vestige of her archaic role as the deity ruling the underworld."
>    The K in Kore also refers to Kepler.  
>    I've started a list of package dependencies at
>    http://www.kepler-project.org/Wiki.jsp?page=PtolemyPackageDependencies
>    Basically, there is a certain amount of cleanup that should happen.
>    Thomas Feng is working on pulling fsm out of data.
>    actor.gui has references to vergil.  I'll work on that.
>    The data.unit package is rather well entwined in the code.  I'm open
>    to suggestions on how we can make it optional.
>    A larger issue is:  What do we do with code that is not in the Kore
>    modules?  For example, ptolemy.data.properties is not in a Kore
>    module.  I'd rather leave it where it was and use some sort of build
>    system to determine what packages go into Kore.
>    _Christopher
>    _______________________________________________
>    Kepler-dev mailing list
>    Kepler-dev at ecoinformatics.org
>    http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
>Kepler-dev mailing list
>Kepler-dev at ecoinformatics.org

Edward A. Lee
Chair of EECS and Robert S. Pepper Distinguished Professor
231 Cory Hall, UC Berkeley, Berkeley, CA 94720-1770
phone: 510-642-0253, fax: 510-642-2845
eal at eecs.Berkeley.EDU, http://www.eecs.berkeley.edu/Faculty/Homepages/lee.html  

More information about the Kepler-dev mailing list