[kepler-dev] Re: [SDM-SPA] SPA configuration

Edward A Lee eal at eecs.berkeley.edu
Thu Apr 1 19:50:59 PST 2004

I believe this is exactly the right approach...
For one thing, it will make it _much_ easier to take
advantage of new features, such as those coming in the 4.0

It is also worth noting that we put quite a bit of effort
into organizing the configuration into separate xml files
so that you can pull in pieces wholesale (and benefit
from additions).  For example, the "utilities" folder
in the left window pulls in several generic subfiles
that are useful in a wide variety of contexts (such as
decorative attributes like annotations, etc.).  So when
designing a configuration, it's probably worth spending
some time understanding which XML files can be pulled
in wholesale.


At 05:47 PM 4/1/2004 -0800, Bertram Ludaescher wrote:

>Hi Xiaowen:
>Sounds like good suggestions on first sight. But I'll pass that to the
>existing developers, including Kepler\SPA (here "\" is the 'setminus'
>operator ;-) for their comments as well..
> >>>>> "XX" == Xiaowen Xin <xin2 at llnl.gov> writes:
>XX> Hi Everyone,
>XX> Following up on my email about creating a separate configuration for
>XX> SPA, I think having this separate configuration would make our
>XX> additions to Ptolemy II cleaner.
>XX> The default configuration in Kepler is the "full" configuration.  That
>XX> means when Kepler loads, Vergil (the user-interface component of
>XX> Ptolemy II) loads its configuration from
>XX> ptolemy/configs/full/configuration.xml
>XX> If you run Vergil with the -ptiny flag, the configuration gets loaded
>XX> from
>XX> ptolemy/configs/ptiny/configuration.xml
>XX> SPA _must_ either create its own configuration, or modify an existing
>XX> configuration because we want our own actors to appear in the treeview
>XX> on the left-hand side.
>XX> The way it has been done in Kepler is to _delete_ some files loaded by
>XX> configuration.xml, and replace it with its own.  Thus Kepler runs the
>XX> full configuration, with a few modifications.  I think this isn't a
>XX> clean solution because it makes irreversible changes to the Ptolemy II
>XX> directory.
>XX> SPA (in the NCSU repository) has tried to solve this by _not_
>XX> modifying Ptolemy II's directory, but rather putting its files in the
>XX> front of the classpath, so java would find SPA's files before it finds
>XX> Ptolemy II's.  So we're effectively overwriting Kepler's files without
>XX> actually changing their files on the file system.
>XX> In the light of how Ptolemy II handles configuration profiles, I think
>XX> the best solution is to simply create a separate SPA configuration.
>XX> Thus if we have
>XX> ptolemy/configs/spa/configuration.xml
>XX> somewhere in our classpath, we can run Vergil with the -spa flag, and
>XX> it will load the SPA configuration profile.
>XX> Originally, I have proposed having a top-level configs/ directory in
>XX> Kepler, and also in SPA, and creating subdirectories under there for
>XX> each of the sub-projects of Kepler; thus:
>XX> - configs/
>XX>     - spa/
>XX>     - geon/
>XX>     - seek/
>XX> This is how it currently appears in the NCSU repository (i.e. we have
>XX> configs/spa/.) However, I think we can combine the directories into:
>XX> - configs/
>XX>     - ptolemy/
>XX>         - configs/
>XX>             - spa/
>XX>             - geon/
>XX>             - seek/
>XX>             - kepler/
>XX> (The geon/, seek/, and kepler/ directories wouldn't be in the SPA CVS
>XX> repository, but this is how it would look once we merge our code into
>XX> Kepler.)
>XX> The reason for the extra two levels of directories in between configs/
>XX> and spa/ is so that spa/ could be in the ptolemy.configs jave
>XX> package--Ptolemy looks for configuration folders in the
>XX> ptolemy.configs package.
>XX> This makes it so that in Kepler, users would be able to choose between
>XX> launching Vergil with the SPA configuration, or the GEON
>XX> configuration, or SEEK, or also the whole Kepler configuration.
>XX> I believe no one will be greatly affected by this change of the NCSU
>XX> repository, so I'll go ahead and do this tomorrow morning if there are
>XX> no objections.
>XX> Xiaowen
>kepler-dev mailing list
>kepler-dev at ecoinformatics.org

Edward A. Lee, Professor
518 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0455, fax: 510-642-2739
eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal

More information about the Kepler-dev mailing list