Re: tools forum idea for IETF 98

Phillip Hallam-Baker <phill@hallambaker.com> Thu, 09 February 2017 18:19 UTC

Return-Path: <hallam@gmail.com>
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 CC380129C48 for <ietf@ietfa.amsl.com>; Thu, 9 Feb 2017 10:19:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.596
X-Spam-Level:
X-Spam-Status: No, score=-2.596 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 PMZ8Ai8l-ND1 for <ietf@ietfa.amsl.com>; Thu, 9 Feb 2017 10:19:23 -0800 (PST)
Received: from mail-yw0-x22a.google.com (mail-yw0-x22a.google.com [IPv6:2607:f8b0:4002:c05::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8EA2B127076 for <ietf@ietf.org>; Thu, 9 Feb 2017 10:19:23 -0800 (PST)
Received: by mail-yw0-x22a.google.com with SMTP id l19so7240853ywc.2 for <ietf@ietf.org>; Thu, 09 Feb 2017 10:19:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=tN9p0QsaQdvB498jUBa+OQXkp0ALGId5ZJoVZ+18ZuY=; b=deWLDALEVglnEFxCTdz5PA5X1aEIgRqPAPd/IAUOrMjvILKqFShAjt8BTQOqzLckoD 5b1v3vdrTJ94+g5kgk0NhzcqUU56WvAy/MzTGxL6/jSzzmXSivM0U0l/O2vV16UYnkZt u3eX9qtIKTf5XbneOS6b5+OmhHxpOYUyco9UugVqIKizHhr9YajqSjHZbXieyYSGsVQs 8iP8L6rcOspTh3NUNHsyETHCpKPB1Tgv4XmxzuiSVJ1CjKhfIeRi+O0rAmvhhNSHSDv9 GvaRq5kqHYzZqYXGrBiv5irDWPNsGp96R5zfCeOStFA1o9b0wqu2RAMqrbWZXQyGCbdu b+Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=tN9p0QsaQdvB498jUBa+OQXkp0ALGId5ZJoVZ+18ZuY=; b=cKyVZ05W+2m4Sf0MwpO6z3dHjSyALyFc6samUs0qarpwnAztV7jggo4kGiv55OUuQY +DkAvNwNunYTnJszD3CPD5Dk6YjkKOHZ+xXBh7dSIH5qN5XqiymzU7pWtq0fzyL0BM2T xNQol+mXMvoRowQ8h2XZvJZ3rTttc185rsb6gZARcxGx0RMZJd/+e0DoYaXBQ//qJK4J UnAaeBZ4JBeLgEIAYWGYrUjyRHW/eT/YC5KHbZ8AjbJfxzh9LGcGFZ2zSdp499jGHN3f G3UDROH72I5y4SJheJT/LWzquHYcm84GZ7hVLIbl5Xk8J5DJsifyexlSUR1OS4Xs17Ep nGnw==
X-Gm-Message-State: AMke39n6qaW0fN7VF/sTUgK4yNDE8OVPKbXIokV7rS3EQBrLv6qar8FMjUCrVjhbctzfsmB40IhjFhdqX/gSeQ==
X-Received: by 10.13.231.129 with SMTP id q123mr3282130ywe.202.1486664362646; Thu, 09 Feb 2017 10:19:22 -0800 (PST)
MIME-Version: 1.0
Sender: hallam@gmail.com
Received: by 10.83.17.213 with HTTP; Thu, 9 Feb 2017 10:19:22 -0800 (PST)
In-Reply-To: <19251.1486663121@obiwan.sandelman.ca>
References: <CAG4d1re-o2jBJQhs+C51Xw-T1yV7UmQY86wrq0THikm6WDgQ1A@mail.gmail.com> <19251.1486663121@obiwan.sandelman.ca>
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Thu, 09 Feb 2017 13:19:22 -0500
X-Google-Sender-Auth: -hMkLTSibspKLGl0LmP7udjJ1l4
Message-ID: <CAMm+LwhdFkjR3b3YPfnsMKKNdQ4-0wbQAbo_qdz03VrxKtUEaQ@mail.gmail.com>
Subject: Re: tools forum idea for IETF 98
To: Michael Richardson <mcr+ietf@sandelman.ca>
Content-Type: multipart/alternative; boundary="94eb2c0763923c632005481d05dd"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/tirAKoPEhHCUU3Gwg8nhYq5Lm-4>
Cc: IETF Discussion Mailing List <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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: Thu, 09 Feb 2017 18:19:26 -0000

Since its on topic, just thought I would mention that I have ported my
documentation and spec building tools to Linux and OSX. I do not yet have a
Linux installer but that will probably happen in a couple of months time.

https://github.com/hallambaker/PHB-Build-Tools

The code is all in C# which has just acquired a fully MIT Licensed open
source implementation. The tools can be used as standalone command line
tools or as integrated Visual Studio components. I use Visual Studio for my
build environment on every platform, Linux and OSX included. There is a
tool that will convert Visual Studio projects to Gnu Makefiles. The only
serious limitation being that I can't run unit tests on platforms other
than Windows at the moment.

OK so what tools?

First, I have my own RFC documentation tool that can take source from
MarkDown, Word, XML2RFC or HTML. It does not yet support the new format but
will in the near future.

Second, I have a protocol compiler that allows a protocol to be defined in
a very high level schema from which the reference sections of the
specification, examples, reference and production code are generated.

My approach is at a higher level of abstraction to YANG. I believe that the
process of designing a standard is to remove choices that don't matter.
There are hundreds of ways that an integer value can be encoded and DNS
uses at least 6 different forms. If you are designing a protocol you should
choose one and stick to it. I don't currently deal in YANG but if I had to,
YANG would be an output from my tools.

The same libraries also include an ASN.1 encoder (and partial decoder),
JSON, RFC822 and DNS serialization/deserialization tools.

The tool building tool is also included.