ietf
[Top] [All Lists]

Re: IETF and APIs

2011-04-05 12:21:49


On 4/5/2011 12:02 AM, Eliot Lear wrote:
Bob, Joe,

Given this viewpoint, what guidance would you give, then, to protocol
designers who are writing specifications?

IMO, we have never really explained what we expect in a protocol specification. We focus on required sections like "security considerations" and "IANA considerations", but we've never explained what we're looking for in a protocol spec.

Here's what I expect:

- description/format of "on the wire" messages
        basically the I/O to the layer below

- state at the endpoints
        if any (it's rare that there is none, even for so-called
        'stateless' protocols), and whether it's hard or soft

- upper layer service
        the I/O to the layer above

- event and action table
        a list of events:
                - message arrival
                - upper layer service request
                - timer event
                - other event (queue overload, etc.; any other
                condition that can act as a trigger)

        for each event, in each state:
                list the actions
                        e.g., messages to emit,
                        upper layer responses/signals
                        timers to set/reset
                        other state (e.g., queues) to manage
                and whether the state changes

Overall, this is basically a Mealy machine description. That's what I expect, and why it includes the upper layer service, IMO.

If this sort of thing is useful, I'd be glad to write it up - and keep it short. I still expect that protocol designers are familiar with the basics of protocols. ;-)

Joe


Eliot

On 3/30/11 8:09 PM, Bob Braden wrote:
+1

Bpb Braden

On 3/30/2011 1:11 AM, Joe Touch wrote:
Hi, all,

Perhaps we're not talking about an API, or even an abstract API, but
just the "application interface" (or just "upper layer service"
specification).

RFC793 is a great example that a protocol provides a service, and
that service needs to be explained - and that explaining it does NOT
need to be done in a specific language.

Joe
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf

_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf

_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf

<Prev in Thread] Current Thread [Next in Thread>