Nick Leaton wrote in reply to Martijn Meijering:
I did not mean to suggest that we should not use OO for this problem. IfQuote:> > This is all very nice, but it is not very significant. The real problem
> > is modelling the movement of all these bodies, for which we need
> > classical mechanics and differential equations. This is the hard part.
> But it is hard in OO, and in any other area.
I were to write a program for interplanetary navigation I would
certainly want to use OO methods. My point is that for this application
domain analysis is extremely important. I think that OO Analysis does
not have a lot to contribute to this. I fully expect OO Design and OO
programming to be useful for this application.
I certainly would not try to solve it on paper. Except for very specialQuote:> However, you do have to be
> careful. Do you want to solve the problem the same way that you would
> try and solve the problem on paper? No always. In this case I would
> think that a simulation using Eulers method would be the solution to try
> first.
cases, you can't give an elementary expression for the solution. We
would have to apply numerical methods. Euler's method is probably not
the right one. It is notorious for its numerical instability. There are
far more complicated methods. Numerical mathematics is a very
sophisticated discipline...
This sounds reasonable, but I think we are now already concerned withQuote:>Then there would be more behaviour in celestial body. Solar
> system iterates all the bodies for each body in turn. Then you update
> the forces on that body, and for a small step update its position. After
> all there is no N-body solution. The converse is also true. The computer
> solution can be much more complex that the mathematical solution.
*software*. I'd like to separate the physical and mathematical
considerations from the software engineering considerations. I'd call
the physical considerations domain analysis. I don't consider OO methods
very useful at this point. I don't expect physicists and astronomers to
adopt OO techniques any time soon.
Perhaps we should also call the mathematical considerations domain
analysis. But we are already moving in the direction of software here.
We might be studying numerical methods for solving the differential
equations, shooting methods, numerical stability etc.
At this stage OO methods are still not very useful.
This is indeed one of the problems, but I would not consider it theQuote:> > RANT
> > I think domain analysis should be about clearly and carefully defining
> > relevant concepts and reasoning about them. In other words it should be
> > *mathematical modelling*. There are lots of useful concepts from
> > mathematics and logic (sets, functions, relationships, products etc)
> > that we can use and I remain unconvinced that OO has much to add to
> > this, especially where it concerns continuous phenomena.
> At the end of the day, this isn't the problem. The fundamental
> difficulty is to get the users (or yourself) to express what is needed
> in a clear, unabiguous way. The assumptions need to be stated clearly.
(only) fundamental difficulty. There are a couple of fundamental
difficulties. Stating precise requirements is hard. Tracing requirements
to implementation requires effort. Making your design maintainable is
hard. Planning is hard. For some applications analysis is hard and can
require mathematical methods.
I think that for interplanetary navigation modeling the problem domain
(its physics and mathematics) is the most difficult part. OTOH, for most
business applications I think stating the requirements may be a more
important concern.
CONSIDER YOURSELF INVITED!
A while back someone suggested that we do a project together in order to
test our theories and find out if our disagreements were really
substantial or mainly the result of different terminology. It never got
off the ground.
I've been toying with the idea of developing a program for
interplanetary navigation. It looks like a lot of fun. We'd actually be
doing rocket science! I think it would make a good case study because it
would require a great deal of analysis. Anyone interested in joining me?
Martijn