Re: [Asdf] Composing sdfThings
Ari Keränen <ari.keranen@ericsson.com> Wed, 31 March 2021 18:44 UTC
Return-Path: <ari.keranen@ericsson.com>
X-Original-To: asdf@ietfa.amsl.com
Delivered-To: asdf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id BE5C23A315C
for <asdf@ietfa.amsl.com>; Wed, 31 Mar 2021 11:44:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.802
X-Spam-Level:
X-Spam-Status: No, score=-2.802 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001,
URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
header.d=ericsson.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 O7PZOnFV6m4c for <asdf@ietfa.amsl.com>;
Wed, 31 Mar 2021 11:44:44 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
(mail-eopbgr80055.outbound.protection.outlook.com [40.107.8.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 235AF3A315A
for <asdf@ietf.org>; Wed, 31 Mar 2021 11:44:43 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=kCArD9e51pUS+VPGhSRcGj4l1ZQ0YcC7vhGGZvSKGlx6kL0QG6DBNvBeMnvtCpzFoBJe87Y4dQ3bQtoLN/qOEqsVc72vqzBqcEIQ1CIaNH2Am5UGYvJFW5EHGkRg9wSiuRxEXrTemyMxv/jQYmFxnxGYMzr/pm8O9tAXCfoBycRzpRi21tV9P4j0pTv3GcqypPMu3pgaonxjyajA8/F/4PfIsUQ18hPZm3cdNVqIvHxEzk60dJaIzxilJsNw3h4QpQQ/GngLS/WCjnR0aPNXA/Tjwu5gerbDxYUc68rmZsb1A6umJ9GNC+m/uWyxBXTCBTNd5gHrKvwFnt1zjtK/uQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=CQGvsMHktvEKTQqnOKCcuk9PoOhRVdTcxl0F5iLAz1w=;
b=URMxFRbhRz4lCL/VMKeDu14inPVzm1gG647Tci8f7ST5PA7HjQmi0IAF9EwLuOMdlknwe0tFJ26sSJbNNZZD36UXg5BD+haJM+YDGUBUaTzoz1QRCmUIXrhAI4AXVMe3v4+65BVtgMToOYavLb4VXfLEYazkkXAY+8VuU8wR0m7aG6ZlvqXLlADCc7TmKRWnjADGfeXAWNYWHlDTh6sYTuRutJui9FWxPnWXS0L2r5ovjSERoX43YSGMuDHv+M9ZEIJ7LlTRpG3kmhJZDdQxOy8PiKduOEXzGdRdaL2T2m02iS/p2ruUIxVqt5Z7maMJbKJxr8aJ1Ztcchxg7k58Mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com;
dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=CQGvsMHktvEKTQqnOKCcuk9PoOhRVdTcxl0F5iLAz1w=;
b=KdJGtAEm40kMPtfO1o1opjaFHhxPfyTkCbLiSTpkrc/vN+ZqrAnX87aRKg+o1Kec0iEGIrEmRFxUb+Gus3hKk8aRhCzacZVsnbNMjFehihZb9EbzKjPUhILqWlF6nmuGgkCK5YPgNHYU1bMUG1ufwHpCUcAke9REmuQ9kt6sKgE=
Received: from HE1PR07MB3226.eurprd07.prod.outlook.com (2603:10a6:7:33::20) by
HE1PR0701MB2265.eurprd07.prod.outlook.com (2603:10a6:3:20::17) with
Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.3999.16; Wed, 31 Mar 2021 18:44:40 +0000
Received: from HE1PR07MB3226.eurprd07.prod.outlook.com
([fe80::8a3:ef22:4a29:7d1b]) by HE1PR07MB3226.eurprd07.prod.outlook.com
([fe80::8a3:ef22:4a29:7d1b%5]) with mapi id 15.20.3999.025; Wed, 31 Mar 2021
18:44:40 +0000
From: =?Windows-1252?Q?Ari_Ker=E4nen?= <ari.keranen@ericsson.com>
To: "asdf@ietf.org" <asdf@ietf.org>
CC: Carsten Bormann <cabo@tzi.org>
Thread-Topic: [Asdf] Composing sdfThings
Thread-Index: AQHXJLaF5NxdA1m79kukjSwA+w0hYKqeajMN
Date: Wed, 31 Mar 2021 18:44:40 +0000
Message-ID: <HE1PR07MB32269680CB56CC9BDEA1DADD857C9@HE1PR07MB3226.eurprd07.prod.outlook.com>
References: <5E1F89D1-0E77-4DE2-B302-12F4AB248EA7@tzi.org>
In-Reply-To: <5E1F89D1-0E77-4DE2-B302-12F4AB248EA7@tzi.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: ietf.org; dkim=none (message not signed)
header.d=none;ietf.org; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [2001:14bb:180:147c:4061:4e56:c706:fa5a]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: aa9b2672-d714-4b5c-d924-08d8f4750b11
x-ms-traffictypediagnostic: HE1PR0701MB2265:
x-microsoft-antispam-prvs: <HE1PR0701MB2265AEA670D8DC48556E1280857C9@HE1PR0701MB2265.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: xxk2aVkX565vpsSSAWdGdCIwdCPMoCZg8iqXjzGV81tp0MdVE7IvlqY4g5syN7lgxHSj+v4pWMEuUJFCmg3nYcV84VMM4xGuvl5reYf2cF0WLwP1+e0spJlnncvY1JShZkJAYpCJMhrBOddXM2+rm81QlZ1jvoV8BjVSgZNSkJkxpEMSr+J+rY2c6K2Db55adk5Wvw1cXWubOJSesv+KpEft1qEa6648fwqtRp+ckC8y7ozC0WS7G+v6Vy+/HGODMqwYyFCqjFbw5ZKYRa2L3c+gF5JsLzGA2F8qztASNI0KoNaR1qVZ5GJPWfWIUkCjGBrv5Kf6ebuLkZYxDIJIpo53QgbZ/YM5CfBgykxacVoLbllKmJ2HZUBCPAZgkwc0/qUo6NTCDa6Dlmyan/Jx235F2qmvqA4l0kFC/9IK7Y4jv9vV9M4iXjAnEe5sTfZbiEGGrQMXGIDktaV90HvlCxnSakfII71T+Ojxu4S4nheUTlV3FkPAn2c9w7D5iw9mKtmxMtKC4yO7zjFAPOcZbX+vPsUO8jUC1CzKke2zGOnN+PZod5l4rDkaNBYxE1B0ogiBVrCcBAVQbc/Ikoxz0cK8C/KmhtIajym3TFNplBcuYMiUmn6TnMXrkGdS9RnguP+QqONIdSgtQwgqA8s2dy5COY2oTtXsmzd66xjiesgVz4kbpjTOvf/UtYqwAjVSiBdJX/g+GpBHbd2Pd43PjiOyEUeeSt4RzazsB+nEXwbNefP6iXrtTIVu6ygC1XpL
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
IPV:NLI; SFV:NSPM;
H:HE1PR07MB3226.eurprd07.prod.outlook.com; PTR:; CAT:NONE;
SFS:(4636009)(366004)(71200400001)(4326008)(186003)(5660300002)(7696005)(86362001)(2906002)(55016002)(6916009)(8676002)(6506007)(52536014)(33656002)(9686003)(38100700001)(8936002)(66946007)(83380400001)(91956017)(966005)(498600001)(66446008)(19627235002)(64756008)(66556008)(66476007)(76116006);
DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: =?Windows-1252?Q?DqzU3gphuPqzjknwXEDcfbD6VpOkPYziCi45FzMiVzhQdlO0QzPGKQ8Q?=
=?Windows-1252?Q?fCV7EpwYTCQ6FlHL/wjqAwczXlskejU9OKbfYYa6OiatktqtqYrbq+bY?=
=?Windows-1252?Q?EHkKCooHWDlkFsC3t7XMoX1Hosbk+B+kiD7IhJTrvv+jtGDinULK2XNC?=
=?Windows-1252?Q?N4CyOexFgpsfUSYNCXaTmmvXDEPdVDibEc9SQIqKsBg9aACoAesTdoir?=
=?Windows-1252?Q?oKAgr8qw2wwe4SNhGWJZ8tO+TL4pJb/AgotkW0wfb+48m8n/2zrfvMBv?=
=?Windows-1252?Q?RcgE8jITsj5HmIaR6Klzvl/Rm/bRonMElXttj0Npn7np+x1GlVORz3gY?=
=?Windows-1252?Q?ZWFYF+48IXb7hqQAKpkWA1a0H3ECyKNyY3dAhErf/A2Hw2cu2ubYcADq?=
=?Windows-1252?Q?0xHnIMBZknK9gVdijDvA2CfjTUFF6eCdpgLI+anb5Fe1tuS3M2sHfgYZ?=
=?Windows-1252?Q?REilnYC2TXDz7e3gKPwhebsrj00F/ErIUy7J4htflyIn26fhyVxy0QZB?=
=?Windows-1252?Q?wdJj+BqEbcPITyBJjAd2nnDg3emFiTTzMeRZqH31ZRQz2oPCi2xnYk2v?=
=?Windows-1252?Q?KDUudWRgeLg3g6Pt4ZlfHpiYQ2YP10NLkEaC1cSJbXahWbZJbxOL9kEX?=
=?Windows-1252?Q?fX6TbIwGsMMtsgybd4HmmWxDd1YPSBSBEuaVfKIhHmH20kzhrcMEaEtD?=
=?Windows-1252?Q?CfJVg34yCEsJGQTNyp+Le8vQmr4hzSzMZ6n8T1H2TPuFCDzwtt97RpXf?=
=?Windows-1252?Q?w2Er64VEt8ktkf2xtG8yishyLrVJNUlJ6GO3EPRNh+N+CLPbYZX6jRt1?=
=?Windows-1252?Q?bJRx3tBIY1Tism4T0oD04VGG+l7rpif/PqQ+Ibb2rEt5lAnQoJTbbBrg?=
=?Windows-1252?Q?xXijX2k5hhYCyKPJ5rfZPyPuo54mQABKReld8Mte3o6Qd72rMEQfbkYL?=
=?Windows-1252?Q?Zqtg/XTp1D3pilB5WaW9eaBzSqbPCwH48yPpagOLIKs6fwSmQabfTvjm?=
=?Windows-1252?Q?035MRA59qPsnpOjOljtPtWs6r0JB9l4MDSEb5UmxRs8BFuDJQPuwFF0X?=
=?Windows-1252?Q?k6tEQrIMpkvDvxvGp8NgvDgBGRoiQ6SYldlosofliQker3qswPxa2b3/?=
=?Windows-1252?Q?z4Jf5rtWIdHmPgh2J9ZMErHUWZtSBRt5fgKtYQFQQHTRH8cnQC9fESyz?=
=?Windows-1252?Q?hzNmWwC5rSWvpZq41F6tO83e3UXLvZHrmgO7Upi/jTxamC0qxJ6Vj6sq?=
=?Windows-1252?Q?Bvwt1+EanJrt6Z58fygEp4scO1mP95B2uICY0G729R+KpGPiAUUMLh2J?=
=?Windows-1252?Q?MeGyAlwQwt7c8SO2TY9tZ/7TUX1vRKv/n+WUY/K8OZd83uhrYWO+e2hX?=
=?Windows-1252?Q?pRroAIkINVKai3iMFFvlBdlIHr4C5CSTQ8o+Lr2+ouynMClDGmjZq1UV?=
=?Windows-1252?Q?j0vs/wCeLg5r0EIWcRDkGUrJ5BIXAzsHNlx1hivXcU90ydNemLaQNFym?=
=?Windows-1252?Q?94MC0BQZn8VBpMIT90Dte5I83QNZ1g=3D=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: HE1PR07MB3226.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa9b2672-d714-4b5c-d924-08d8f4750b11
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2021 18:44:40.5436 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FK+9djlVnXE2Sc/WognlLAKU5j50Qd9GEjATpEdlWqYMMzUOWzQZZYAxBj+UKEe8uWRbsZymCOZkr7FjX30kDs6v/hwmAELuJ6HheRVef4Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2265
Archived-At: <https://mailarchive.ietf.org/arch/msg/asdf/OpXdhQqcUb6pchkpTeFfqvx9o3c>
Subject: Re: [Asdf] Composing sdfThings
X-BeenThere: asdf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A Semantic Description Format \(SDF\) for Things and their
Interactions and Data" <asdf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/asdf>,
<mailto:asdf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/asdf/>
List-Post: <mailto:asdf@ietf.org>
List-Help: <mailto:asdf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/asdf>,
<mailto:asdf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 Mar 2021 18:44:49 -0000
Here's another strawman, based on Carsten's example, of a potential design with array of sdfObjects: https://github.com/one-data-model/exploratory/blob/master/sdfThing/fridgemultifreezer.sdf.json It uses new "minItems" and "maxItems" qualities (similar to JSO min/maxItems for array type) to define how many freezer Objects can there be in the Thing. This seems like a reasonable design, but there are still open questions like how to address those objects. One option is to use JSON pointer array syntax, e.g., a pointer to the 7th freezer object could look like: #/sdfThing/FridgeMulti-freezer/sdfObject/freezer/6 However, given the definition is not an actual array (it's JSON object with two new qualities), something like additional processing steps on the model would need to be applied before the JSON pointers can be used as such. Another question is whether we should have minItems quality or should we use only sdfRequired also here. Unless we want to invent new wildcard syntax for sdfRequired, seems that sdfRequired would need to have separate pointer for each required instance. That could result in excessively large sdfRequired blocks so minItems seems like a reasonable shorthand for that. Cheers, Ari On 29.3.2021, 19.13, "ASDF" <asdf-bounces@ietf.org> wrote: > > After today’s OneDM discussion, I put together a quick strawman that shows how to put together a fridge-freezer out of two refrigeration components. > > https://github.com/one-data-model/exploratory/blob/master/sdfThing/fridgefreezer.sdf.json > > This demonstrate static named composition. > It does not show how to do Ari’s use case of numbered composition (an array of sdfThings or sdfObjects in an sdfThing). > It also doesn’t demonstrate dynamic composition. > > Grüße, Carsten >
- [Asdf] Composing sdfThings Carsten Bormann
- Re: [Asdf] Composing sdfThings Ari Keränen
- Re: [Asdf] Composing sdfThings Carsten Bormann
- Re: [Asdf] Composing sdfThings Michael Koster
- Re: [Asdf] Composing sdfThings Michael Koster
- Re: [Asdf] Composing sdfThings Michael Koster