HELP! formalizing OO

Tansel Ersavas tansel at rase.com
Sat Apr 25 06:13:52 UTC 1998


Florin Mateoc wrote:
> 
> At 08:54 PM 24/04/98 -0700, Alan wrote:
[... Alan's good stuff deleted]  
> Alan,
> 
> Thank you for your reply. I would say though that math looks to me like it
> is still ticking, even if it is much more formal than in its early days.
> And I think that the efforts towards formalization have helped its
> progress. Metamathematics or, more general, thinking about the thought
> process, are still very useful tools, even if not universal panaceas (sigh...)

Florin, 

Alan is known to be 20 to 50 years ahead of his time. I know where his
heart is but by his own words in last years OOPSLA opening speech we are
not "there" where we reach anywhere near the complexity of biological
systems yet. Still computer programs are the most complex systems human
beings have ever created so far. 

I agree with Alan that the current mathematics hasn't got sufficient
tools that can make sense of object oriented systems. The reason for
this is an average object oriented system in terms of its combinatorial
complexity makes up a non-linear system far beyond the reach of current
mathematical techniques. 

Mathematics as is today does not have the techniques that can be applied
to an arbitrary non-trivial non-linear system. When mathematicians face
a complex non-linear system they either try to go into messy
linearization techniques to convert the darn thing into something that
they can apply their techniques to, or all together call it a yucky
system and avoid it; and I am afraid most non-trivial OO systems are in
this second category. 

I suspect what you're looking for is something in the lines of
relational database theory so that by means of something or some
mechanism similar to "normal forms" so that one can apply the magic of
formulas to prove a design's correctness; in fact OO was long criticized
(yawn) that it didn't have something similar to that.

If this is an assignment, then you can fake it by finding some attempts
to address the issue such as [1] and [2]. You can also look at FOOD
(formal OO development) FOOM (formal OO methodology) or even very
appropriately named FOOL (Yes, you guessed it, formal OO language:). If
you are genuinely looking for an answer then I recommend that you look
far beyond the existing mathematical techniques, because you won't find
the answers there.  

[1] Formal Object-Oriented Development,Springer-Verlag, Formal
Approaches to Computing and Information Technology Series Editor:
Professor S.A.Schuman 
[2] Formal Object-Oriented Development of Software Systems using LOTOS
, Paul Gibson

> Regards,
> 
> Florin

Tansel





More information about the Squeak-dev mailing list