Re: Protocol Definition

Joe Touch <touch@isi.edu> Mon, 18 June 2012 22:44 UTC

Return-Path: <touch@isi.edu>
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 AC2A911E80A0 for <ietf@ietfa.amsl.com>; Mon, 18 Jun 2012 15:44:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.599
X-Spam-Level:
X-Spam-Status: No, score=-103.599 tagged_above=-999 required=5 tests=[AWL=-1.000, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3+vD-UmMhmTB for <ietf@ietfa.amsl.com>; Mon, 18 Jun 2012 15:44:43 -0700 (PDT)
Received: from darkstar.isi.edu (darkstar.isi.edu [128.9.128.127]) by ietfa.amsl.com (Postfix) with ESMTP id D471E11E808F for <ietf@ietf.org>; Mon, 18 Jun 2012 15:44:43 -0700 (PDT)
Received: from [128.9.160.166] (abc.isi.edu [128.9.160.166]) (authenticated bits=0) by darkstar.isi.edu (8.13.8/8.13.8) with ESMTP id q5IMiPR0012655 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 18 Jun 2012 15:44:25 -0700 (PDT)
Message-ID: <4FDFAF49.7070708@isi.edu>
Date: Mon, 18 Jun 2012 15:44:25 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Alessandro Vesely <vesely@tana.it>
Subject: Re: Protocol Definition
References: <4FDF0362.3050101@tana.it>
In-Reply-To: <4FDF0362.3050101@tana.it>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: IETF discussion list <ietf@ietf.org>
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: Mon, 18 Jun 2012 22:44:44 -0000

On 6/18/2012 3:30 AM, Alessandro Vesely wrote:
...
> I noticed no disagreement between "method" and "mechanism", at the
> time.  In retrospect, those two terms might seem to allude to a
> different depth of semantic explanations.  Rereading that thread, I
> find that the same ambiguity holds for algorithm descriptions:  one
> can give a full description (or coding) of, say, sqrt, without
> actually saying that the square of the result will match its argument
> up to some rounding error.  The specification does not have to relate
> the underlying mathematical abstraction.

This is the difference between a behavioral description and a procedural 
description.

Behavioral treats a system as a "black box", and defines the system as a 
function and how it transforms its input into its output.

Procedural specifies the particular steps taken inside the box.

Procedural is more specific than behavioral:

	behavioral = any of a number of ways of calculating SQRT
	procedural = one specific algorithm for calculating SQRT

Semantics is a completely different thing - the assignment of "meaning" 
to symbols. Neither procedural nor behavioral descriptions need to 
include semantic descriptions.

> Protocol specifications, especially when dealing with policies, do not
> have to describe the exact meaning of the relevant tokens.  To do that
> would often look like mandating a state or a reaction, neither of
> which is needed to ensure interoperability.

In a protocol, state transitions and response messages are specified. 
Protocols are typically described procedurally, FWIW.

> In fact, the protocol
> just has to ensure that a policy can be transmitted correctly.  Many
> would rather leave a policy token underspecified than get involved in
> its details.

This is like claiming that a protocol is just "bits on the wire", and it 
is not accurate.

> In that respect, a protocol is not a complete method.  The "upper
> layer", where policies and politics are dealt with, seems to be too
> fuzzy to be specified.  I think this limitation is consistent with the
> etymological meaning of the term, that refers to forms of conduct that
> don't betray intentions.  Is that right?

Conduct, intention, and semantics refer to human interpretations of 
events. Unless a human is part of your protocol stack, they're not relevant.

I agree with AB - these issues aren't relevant to IETF descriptions of 
protocols.

Joe