[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Criteria for Specification Languages



At  1:55 AM 2/29/96 -0500, Carl Ellison wrote:
>At 22:44 2/28/96, Bill Frantz wrote:
>>Ben Laurie was kind enough to start a list of specification languages.  I
>>would like to start a list (in no particular order) of criteria to use in
>>evaluating them.
>>
>>(1) Ease of understanding (Assuming a knowledge of C)
>>(2) Cost of learning (Assuming a knowledge of C)
>>(3) Cost of tools (e.g. ASN.1 compilers) in both $$$ and bother.
>>(4) Compactness of machine representation (these things are going to
>>    be sent over networks and stored in machines)
>>(5) Adaquacy of expression (can it express what we need it to?)
>>
>>more?
>
>Yes --
>
>I assume you're restricting yourself to the job of specifying data structures
>in a normal programming language (what I called DDL) -- not in the other
>2 things ASN.1 tries to do [chalk-talk about structure content; encoding
>of structures between machines].

Actually, my reflexes are based on 30+ years of assembler level
programming, so I don't really think in terms of language.  I was thinking
mostly of the wire protocol.  It is a simple matter of programming to
convert a wire protocol to the structures you need in some programming
language.

As for chalk-talk language, I am not convinced that it needs to
understandable to a computer.  It can admit to many possible computer
implementations.  When you have decided the structures you need at that
high level, you then should make a specific implementation of those
structures at lower levels, eventually resulting in a wire protocol.

[I have this same problem now with Java.  There are high-level functions to
put ints and longs etc. on the wire and take them off.  However, I need to
specify the wire protocol so people writing in other languages can take
them off, and I can't find documentation for it.  (In truth, I haven't been
through all the Java Virtual Machine documentation yet, so I haven't run
out of places to look.)]

As for some compiled language doing all the work for me, fine.  However I
want that language to be commercial quality, ported to all platforms of
interest, and inexpensive.  Little used specification languages are likely
to fail all three of these tests.  (And I hate taking the covers off the
black box of machine generated source code.  It is usually as bad as
machine generated assembler.)

Regards - Bill


------------------------------------------------------------------------
Bill Frantz       | The CDA means  | Periwinkle  --  Computer Consulting
(408)356-8506     | lost jobs and  | 16345 Englewood Ave.
frantz@netcom.com | dead teenagers | Los Gatos, CA 95032, USA