Hi Dimitre,
At 23:22 2005-06-17, you wrote:
On 6/18/05, Andre Cusson <ac-ncSKzJSyWVNl57MIdRCFDg@xxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> We seem to be on different planets.
Definitely.
Hey, some common ground already ...
OK, let me try to land closer.
First, while hoping not to bother you or anyone, a few extracts from
previous messages in the "Template recursion, StackOverflowError,
saxon:while a nd variable assignability" track, some from answers to
questions not presented here as the focus here is on defining a problem to
solve, in an alternate way, as a generalization from an issue already
tackled and solved using assign, this time in a non-assign way
... Cool! So here are a few sentences that could have got lost in the noise:
<
Just from memory I would say that typically they are global accumulators
that maintain some form of changing status maintained and shared by
multiple processes, and changing over time, for example, real-time
streaming security analysis, in parallel processing pipelines, over graphs
of potentially billions of nodes (that you would not want to copy over too
often, especially on-line), 24/7, with a large number of users (ex: 120 000
000/week).
The graph is a (generic) capacity network (multi-digraph) and one of the
tasks, for example, is to follow every path between node A and node B,
weighting the arcs and processing, while not getting tangled in a loop,
very quickly, very often, on possibly huge graphs, all in XSLT. No
(significant) heuristics are currently used, only plain crunching, and
saxon:assign. Of course, as paths are traversed and processed, some may be
found to be uninteresting at the time and further processing of that path
is skipped, for now.
The issue was not so much finding the paths or processing them (both of
which are kind of nice in XSLT), as it was to not get tangled in a loop and
never get out of a (circular) path, in the network.
Each node in the network is really a tree, as each "database model" record
is itself a document.
The network is not usually a complete network but could be and two adjacent
nodes can have multiple arcs between them.
The "database" contents change constantly, based on update requests,
sometimes fast, sometime slow.
Not all requests are for update but in any case (ie. read or read/write),
the network analysis has to be performed as inside and outside conditions
can change.
Triggered by a request passing it a request parameter nodeset specifying
the required processing conditions, source, targets, etc., used throughout
the traversal, the analysis currently does a single pass forward traversal
of the required paths without any back axis access. Also, a node is never
processed twice.
Currently, as the traversal progresses nothing is changed in the network
but some information is accumulated in a variable, using assign, and the
traversal process further refers to this variable as it
progresses. Currently the "analysis" model variable is a single string and
referral to it uses regular expressions.
>
Do you understand this ? Is this not what you want ? What are you looking
for ? Do you have questions ?
To me, it seems that we are looking at non-trivial language design and
solution design issues, affecting common but non-trivial problems, and that
we are also doing this through email. I could not say if this needs a more
formal and structured setting or not, but at least we should take great
care not to loose focus, if we are to achieve anything. I do not feel that
I have a problem that needs a solution, I am only looking at the future of
XSLT and Saxon, because I like them, use them, think about them, and am
ready to contribute whatever I can. I have plenty of other pressing issues
to deal with, but still I am offering my view and time, if it doesn't
offend anyone.
I do not have code to submit and I can't submit this company's application
code or operation data. I understand the problems and concepts though. If
someone needs code or data someone will have to find a way to produce it,
but first, I feel that there is some ground to break and that a lot
can/should be done conceptually, given a real existing use case. Don't you
think ? Or is it just code that you want ? How long would you like to
spend looking at 25k lines of XSLT to figure out if you can do it without
assign?
Thank you.
Andre
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
|