RE: Re: dynamics: comment about MBdyn...

Herman Bruyninckx <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Message-ID <Pine.LNX.4.44.0307150009110.2096-100000@srv04.mech.kuleuven.ac.be>
On Mon, 14 Jul 2003, Tiller, Michael (M.M.) wrote:

[...]
> > Well, parsing is not really the big software hurdle... It's defining
> > the objects that correspond to the models, as well as the tools to
> > build systems and prepare them for simulation. (And the numeric
> > solvers too, of course.)
> 
> I want to just clarify my comments.  I said "parsing *and* semantic
> processing tools".  In this context, semantic processing means
> elaboration of the underlying Modelica code (i.e. things like type
> checking, name lookup, declaration processing, etc).  I would argue
> this *is* a big step.  My tools are not complete, but they go well
> beyond parsing.
Ok, sounds interesting! But I must confess I do not completely
understand what you mean exactly. Isn't type checking etc performed
during parsing? I mean, I expect a parser to fail when the types of
the processed language constructs do not match...
Probably I am overlooking something here :-)


> 
> Perhaps I'm mistaken, but there seems to be quite a distinct
> difference in perspectives about what is required here.  You
> meantion "objects that correspond to the models" and "build
> systems", etc.  The "objects that correspond to the models" are
> represented in the Modelica code itself.  You seem to be (correct me
> if I'm wrong) thinking more along the lines of building a C++
> framework in which you would implement class definitions for nodes,
> elements, etc and then inherit from these framework components to
> build specific models.  
Indeed, that sounds like what I had in mind.

> I used to be quite deeply in the "framework"
> camp when I was in grad school (In fact, I built a PDE framework
> around these same ideas).  Eventually, I abandoned that way of
> thinking in favor of Modelica.  I'm sure we could argue endlessly
> about frameworks vs. special purpose languages but let's not.  I'm
> perfectly happy to accept that for reasons related to your specific
> goals (e.g. writing embeded control code), you prefer to work with a
> framework. !
Well, I do not see the relevance of mentioning a "framework" :-)
What I do care about is that one needs runnable code, for simulation
and control purposes, and having the model description correctly
parsed is just the small first step, isn't it? Mind you, I am not
complaining at all, just trying to make sure I understand what you
were saying.

> I'm not sure what you mean by "build systems".  I can think of two
> interpretations.  First, you could mean the software build (e.g.
> autoconf, make, etc).  Or, you could mean the formulation of the
> system of equations.
The latter. Including the processing into a form that the DAE solver
can work with efficiently.

> After semantic processing of a Modelica model is complete, the
> result is a system of hybrid DAEs.  There are no objects at this
> point, only variables and equations.  That is it.  The object
> hierarchy has "washed away" and only a "flattened" representation of
> the problem remains.
Ok, I follow you until here. But in order to have a consistent and
correct flattened representation, quite some model checking and
connection construction had to take place. And now I begin to see
where we probably misunderstood each other: what you seem to call
"parsing", I called "symbolic processing" :-) So, as far as I am
concerned, we are synchronized again!

> > BTW, do you have any idea about the quality of the DAE solvers in
> > projects like OCtave and Scilab? (They use some form of DASSL, if I am
> > not mistaken...)
> 
> I have not used the DAE solvers in Octave and Scilab.  The DAE
> solvers I am familiar with are also based on DASSL but since they
> exist in closed source tools, I'm sure they are of no interest to
> you.
Unless you have an idea about what they changed or added to the DASSL
code...

Herman

-- 
  K.U.Leuven, Mechanical Engineering, Robotics Research Group
<http://people.mech.kuleuven.ac.be/~bruyninc> Tel: +32 16 322480
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.