[vox] Dijkstra was ahead of his time!

Brian Lavender brian at brie.com
Tue Sep 28 11:00:05 PDT 2010


On Tue, Sep 28, 2010 at 10:43:26AM -0700, timriley at appahost.com wrote:
> > -------- Original Message --------
> > Subject: [vox] Dijkstra was ahead of his time!
> > From: Brian Lavender <brian at brie.com>
> > Date: Tue, September 28, 2010 9:32 am
> > To: vox at lists.lugod.org
> > 
> > 
> > I just listened to this speech by Disjkstra in 1972
> 
> My Data Structures professor, Dr. Weiss, corresponded with Dijkstra
> when Dr. Weiss was researching data structures. So by taking Dr. Weiss,
> I was introduced early on to Dijkstra's inspirations.

Undoubtedly as you say, Abstract Data Types are a form of abstract
specification.  Say you take a stack. We could care less if you use an
array or a linked list to store the data, just as long as it can store
the elements that are contained in the stack. Weiss' books don't devote
adequate attention to these principles. They are just spelled out in
English, which of course suffers from ambiguities. The Formal Methods
book I reference below describes a concise, correct specification of a
stack as an example.

> 
> >, an amazing speech. He
> > discusses abstraction,
> 
> Abstraction is an abstract idea in itself. In English, abstraction
> means generalizing. So in computer programming, it means to
> generalize code.

Both Z and VDM can be used to properly express a program in abstract terms.
It is a concrete process. Then, through the process of reification, you
develop your code. 

Did you use Weiss' book "Data Structures and Algorithm Analysis in Ada"? If you did,
then SPARK will be second nature.

Here is a book on Z and VDM.
Formal Methods Fact File: VDM and Z 
by Andrew Harry

Using Formal Methods requires a background in predicate logic. I even still have 
problems doing proofs.

brian
-- 
Brian Lavender
http://www.brie.com/brian/

"Program testing can be used to show the presence of bugs, but never to show their absence!"

Professor Edsger Dijkstra
1972 Turing award recipient


More information about the vox mailing list