Semantic defintions in standards

Henry Spencer henry at zoo.toronto.edu
Fri Jul 27 03:03:10 AEST 1990


In article <KHB.90Jul25140420 at chiba.Eng.Sun.COM> khb at chiba.Eng.Sun.COM (chiba) writes:
>   Are there any attempts to use any of the ``formal semantics'' methods?
>
>It is my understanding that the ISO Modula work uses VDM. Most other
>standards bodies, that I am aware of, do not employ "formal semantics"
>techniques. 

The problem with formal semantic specifications is that most programmers
cannot read them.  A standard, ideally, is a contract between the user
and the implementor, telling the user what he can count on and what he
shouldn't, and the implementor what he is allowed to do and what he
is forbidden to even consider.  As with any contract, you have a choice
of writing it in formal, precise language that only lawyers understand,
or doing the best you can on precision while keeping it human-readable.
Making a human-language standard precise and unambigous is difficult,
but a formal-language standard is inaccessible to many of the people who
need it most.  Most language designers and standards committees prefer
widely-accessible documents.

Arguably more programmers *should* be able to read formal specs.  The
fact is, they can't.  One either lives in the real world, or not.  Oddly
enough, most widely-used languages were designed by people who favored
living in the real world.
-- 
NFS:  all the nice semantics of MSDOS, | Henry Spencer at U of Toronto Zoology
and its performance and security too.  |  henry at zoo.toronto.edu   utzoo!henry



More information about the Comp.lang.c mailing list