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