Re: A proposal for a scientific approach to this question [was Re: I'm struggling with 2219 language again]

John Day <jeanjour@comcast.net> Tue, 08 January 2013 15:54 UTC

Return-Path: <jeanjour@comcast.net>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8088D21F88B1 for <ietf@ietfa.amsl.com>; Tue, 8 Jan 2013 07:54:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.677
X-Spam-Level:
X-Spam-Status: No, score=-100.677 tagged_above=-999 required=5 tests=[AWL=-0.240, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ltiDt9McE0Ca for <ietf@ietfa.amsl.com>; Tue, 8 Jan 2013 07:54:46 -0800 (PST)
Received: from qmta07.westchester.pa.mail.comcast.net (qmta07.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:64]) by ietfa.amsl.com (Postfix) with ESMTP id 8DC1121F8833 for <ietf@ietf.org>; Tue, 8 Jan 2013 07:54:45 -0800 (PST)
Received: from omta16.westchester.pa.mail.comcast.net ([76.96.62.88]) by qmta07.westchester.pa.mail.comcast.net with comcast id lTfP1k0051uE5Es57Tul83; Tue, 08 Jan 2013 15:54:45 +0000
Received: from [10.0.1.3] ([98.229.211.49]) by omta16.westchester.pa.mail.comcast.net with comcast id lTuj1k00R14WE023cTukT5; Tue, 08 Jan 2013 15:54:45 +0000
Mime-Version: 1.0
Message-Id: <a06240811cd11f0cb5e46@[10.0.1.3]>
In-Reply-To: <CAF4+nEE9uq_811ZMX4ShCqoprL_FZFhY4XW9W2U0TZmpf86uTQ@mail.gmail.com>
References: <7ED55FF1-3E1A-4DF7-918E-07790517B848@softarmor.com> <50E87B7B.5070605@acm.org> <CAKW6Ri6mb2468ScH8zcfQFzerA-wsVqOTY56vgXgQ1OrX8mEdw@mail.gmail.com> <a0624080acd11df9df1f7@10.0.1.3> <CAF4+nEE9uq_811ZMX4ShCqoprL_FZFhY4XW9W2U0TZmpf86uTQ@mail.gmail.com>
Date: Tue, 08 Jan 2013 10:51:46 -0500
To: Donald Eastlake <d3e3e3@gmail.com>, IETF Discussion <ietf@ietf.org>
From: John Day <jeanjour@comcast.net>
Subject: Re: A proposal for a scientific approach to this question [was Re: I'm struggling with 2219 language again]
Content-Type: text/plain; charset="us-ascii"; format="flowed"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1357660485; bh=usupgj7IzAadExeka0cCFuktA8NtPAPm5hamoXRHb3w=; h=Received:Received:Mime-Version:Message-Id:Date:To:From:Subject: Content-Type; b=FnIRLBRH51ZswPbvSE8ikUVEHxKwwFS4JxvMBiIUwqA/ZXTwKcX2CoTeUZaqnIsjE AIaHA5LqV+3g5f93YvHNv5Ob3OCwprzaxsixhjUMpVynGdjuHUTkDwStpBvy+cErij lsyyjlDkiN/c7kaVUH+a4pZffdBFzwElI0gLQjdKkWOQ0iCSXN210F+tQc60GQG+m+ LAGjmKn2waZ9viEFL03dYPTLIiU8qLRXitrUamJ+OqHYUFHYfvulvKfSAFoE5p2Fq7 ClfSpMGXLkGvMFRRnvdJKRgD0WacYXrd4Mgz8yGRnaKl6pWn/1DYVcgVin0k4Qegif LMdFOyIEqCB6A==
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 Jan 2013 15:54:46 -0000

Hear. Hear.  Ditto!  Absolutely.  etc.

At 10:12 AM -0500 1/8/13, Donald Eastlake wrote:
>Another problem is maintenance. Protocols change. Having to maintain a
>formal specification is commonly at least an order of magnitude more
>effort than maintaining a prose description. So it doesn't happen and
>they very rapidly get out of synch in any living protocol. As an
>example, the IEEE 802.11 (Wi-Fi) standard used to have a normative
>formal description of the MAC operation (see Annex C of 802.11-1999).
>By 802.11-2007 this was out of synch but was still included as
>informational material on the theory it might be of some use and the
>section began with the words "This clause is no longer maintained...".
>Although still present as informational in 802.11-2012, the first
>words of that section are now "This annex is obsolete."
>
>And, as has been mentioned before, I'd like to emphasize that the IETF
>experience and principal is that, if you want interoperation,
>compliance testing is useless. The way to interoperation is
>interoperation testing between implementations and, to a first
>approximation, the more and the earlier you do interoperation testing,
>the better.
>
>Thanks,
>Donald
>=============================
>  Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
>  155 Beaver Street, Milford, MA 01757 USA
>  d3e3e3@gmail.com
>
>
>On Tue, Jan 8, 2013 at 9:45 AM, John Day <jeanjour@comcast.net> wrote:
>>  The reasons have been discussed or at least alluded to previously in this
>>  thread.  The short answer is we have been there and done that: 30 years ago.
>>
>>  All those tools were developed and used successfully in the 80s.   I know of
>>  cases where doing the formal specification alongside the design phase caught
>>  lots of problems.   However, there are two central problems:  First, in
>>  general, programmers are lazy and just want to code. ;-)  Using a formal
>>  method is a lot more work.  Second, the complexity of the formal statements
>>  that must be written down is greater than the code.  So there is a higher
>>  probability of mistakes in the formal description than in the code.
>>  Admittedly, if those statements are made, one has a far greater
>>  understanding of what you are doing.
>>
>>  Once you have both, there is still the problem that if a bug or ambiguity
>>  shows up, neither the code nor the formal spec nor a prose spec can be taken
>>  be the right one.  What is right is still in the heads of the authors.  All
>>  of these are merely approximations.  One has to go back and look at all of
>>  them and determine what the right answer is.  Of course, the more things one
>>  has to look at the better. (for a bit more, see Chapter 1 of PNA).
>>
>>  John
>>
>>
>>>  Which raises the obvious question:  Why do we not write protocol specs
>>>  in a formal specification language instead of struggling with the
>>>  ambiguities of natural language?
>>>
>>>  Theorem provers and automated verification tools could then be brought
>>>  to bear on both specifiations and implementations.
>>>
>>>
>>>
>>>  Dick
>>>  --
>>
>>