Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [stellation-res] Adding artifact priority

On Friday 09 August 2002 09:05 pm, Dave Shields wrote:
> During our weekly tea at Research today, Mark mentioned an idea he has of
> associating a "priority" with an artifact type, which could be used to
> determine the order in which artifacts are processed. This may well offer a
> chance to put more function in the artifact agents and so require less
> artifact-specific information in the workspace code. For example, I am
> currently doing a major rewrite of the workspace, and have found several
> cases where special code is needed to handle "Link" artifacts, when a more
> general approach should be possible.
>
> There is (now) lots of code to see if an artifact is a Compound, to detect
> a directory, and so guide a recursive traversal over the artifact set. If
> we had priorities, we should be able to move some of this function into the
> agents.
>
> The problem with assuming that a Compound is a directory is that when we
> add fine-grain artifacts, we will most likely need a compound to collect
> together fine-grain artifacts, and not just to represent a directory.
>
> All this is new (and untested). However, since Mark is revising some of the
> artifact representation in the database, I suggest we add a "priority"
> column for artifacts (or perhaps just for artifact agent), so we can
> actually try to test some of these ideas.

That's a good idea. It definitely belongs with the agent; the priority is
a property of the artifact type, not the individual artifact. So the priority
belongs with the agent.

Also, to clarify one confusion in the above. Originally, I expected
that Compounds would double as both directories and other
kinds of aggregate artifacts.

After the experiments I did last year with the information retrieval
stuff, I realized that that was wrong. That's what all the aggregate
stuff in the FSE paper is about: figuring out how to handle aggregate
types other than directories. 

> All that really matters for an initial test is that Compound representing a
> directory (as all Compounds currently do) have a distinguished priority.  I
> would suggest default priority of 0, with Compound having priority 1.

I'd like to suggest doing something slightly different. I'd like the option
of putting things at both lower and higher priorities than compounds. So
I'd like to select a range for priorities - say 1-200. Then put compounds
right in the middle.  Things that need to run before compounds
get priorities less than 100; things that run after the compounds
get priorities greater than 100. At the same priority, we don't
define the order. I'm not sure how large a priority range we want. I
think 200 should be plenty - I can't imagine 200 artifact agents! - but
people who make assumptions like that often get quoted years later
for their foolishness :-). 

Actually, how about just make the priorities an integer, let them be
signed, and run them in increasing order? Then we put Compound at 0,
which is a nice central distinguished position. That way, we've got as large a
range as we could possibly want.

	-Mark
-- 
Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center  
*** The Stellation project: Advanced SCM for Collaboration
***		http://www.eclipse.org/stellation
*** Work Email: mcc@xxxxxxxxxxxxxx  ------- Personal Email: markcc@xxxxxxxxxxx




Back to the top