Re: [Anima] GRASP API in C?

Michael Richardson <mcr+ietf@sandelman.ca> Fri, 24 March 2017 18:46 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 48430129536 for <anima@ietfa.amsl.com>; Fri, 24 Mar 2017 11:46:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dy9S27MC6SxU for <anima@ietfa.amsl.com>; Fri, 24 Mar 2017 11:46:46 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DF3071294BE for <anima@ietf.org>; Fri, 24 Mar 2017 11:46:45 -0700 (PDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id DC8E42009E; Fri, 24 Mar 2017 15:10:22 -0400 (EDT)
Received: from obiwan.sandelman.ca (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id C20FA636E0; Fri, 24 Mar 2017 14:46:44 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
cc: Anima WG <anima@ietf.org>
In-Reply-To: <76345f98-758c-49a1-f1cd-9bb50c3c757e@gmail.com>
References: <83c2beba-2ad5-eb1d-b188-fe2d9e688391@gmail.com> <9809.1490283823@obiwan.sandelman.ca> <76345f98-758c-49a1-f1cd-9bb50c3c757e@gmail.com>
X-Mailer: MH-E 8.6; nmh 1.6+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Date: Fri, 24 Mar 2017 14:46:44 -0400
Message-ID: <18940.1490381204@obiwan.sandelman.ca>
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/fWOKgxxn9EJ6PS098ypPMuDLwVw>
Subject: Re: [Anima] GRASP API in C?
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Mar 2017 18:46:48 -0000

Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
    >> Brian E Carpenter <brian.e.carpenter@gmail.com> wrote: > Hi,
    >>
    >> > We will discuss the GRASP API >
    >> (https://tools.ietf.org/html/draft-liu-anima-grasp-api-03) in Chicago.
    >>
    >> > One related topic is how to map this API into C, which is perhaps
    >> the > most fundamental mapping.
    >>
    >> As someone who writes lots of C, I am not convinced this is a useful
    >> exercise.

    > Can you explain? If you're arguing that no ASAs will be written in C,
    > that's defensible, but maybe that isn't your argument?

I think that ASAs that are written in C will be written in that language for
reasons of extreme constraints. As such, they won't bother with a
library/API.  It will all be statically initialized globals and other stuff.
(Go read the Contiki code for an example of what I mean...)

Everyone else will write their ASAs in a higher level language: python, ruby,
perl, java, scala, *go*, maybe rust.   The really hard thing about the C api
is that doesn't deal well with indefinites like intents...

--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-