Child pages
  • 2019-11-29 IISOMI Meeting Minutes

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Attendees

Agenda

  • Administrative
    • Call plan (schedule, leader, topics)
  • UML-YANG: Reference Mapping: Use of "Current" in xPath 
  • leafref on non-config data - continue discussion
  • Agenda of next call - Dec 02

Discussion items

10 minCall planAll
  •   Leader Martin Skorupski; Topics:

    (1) leafref on non-config data, check the status of descriptions

    (2) UML-YANG: Reference Mapping: Use of "Current" in xPath

  •   Leader Hing-Kam Lam
  •   Leader Andrea Mazzini
  •   Leader ?
  •   canceled
  •   
  •   canceled
  •   
  •   Leader ?

GuidelinesAll

No updates this call (22 Nov)

Kam reported the status of the guidelines documents: IISOMI Deliverables

  • TR-514 UML Modeling Guidelines
    • Published: v1.3 (7/2018),
    • Posted editor draft: v1.3.01 (10/2018), v1.3.02 (12/2018)
    • In progres draft: v1.3.03. Posting date undecided. Topics updated:
      • Clause 7.3.3 "Style Sheets". Should be per papyrus project.
  • TR-515 Papyrus Guidelines
    • Published: v1.3 (7/2018),
    • Posted editor draft: v1.3.01 (8/2018)
    • In progress draft: v1.3.02. Posting date undecided. Topics to update:
      • clauses 5.2 and 5.4 to point to Github for the versions of Eclipse/Papyrus and Gendoc to be installed. 
      • clause 7.4.6 on style sheet file per papyrus project 
  • TR-531 UML-YANG Mapping Guidelines
    • Published: v1.1 (7/2018),
    • Posted editor draft: v1.1.01 (11/2018), v1.1.02 (12/2018)
    • In progress draft: Karthik Sethuramanto provide
  • TR-543 UML-OpenAPI Mapping Guidelines
    • Published: v1.0 (2/2018)
  • TR-544 UML-ProtoBuf Mapping Guidelines
    • Published: v1.0 (2/2018)
 40 min Use of "Current" in xPath

 Deferred to next call on November 29


leafref on non-config dataThorsten Heinze

Thorsten presented an issue that they encounted:

In UML:

We define a read-only Class (e.g. TransmissionMode) that hold several attributes (e.g. center frequency, channel bandwidth, modulation)

We reference this datatype in read-only classes (Capability) for vendors to list the combinations of values, which are supported by the hardware

We reference this datatype in read-write classes (Configuration) for operators to select one of the supported combinations of values

It looks like this in the class diagram (unfortunately the referencing _attributes in the Capability and Configuration classes are not shown in Papyrus):

The “shared” associations from the Configuration class to the TransmissionMode are very well translated into leafref statements in the YANG.

But unfortunately, we get the following error messages during compiling the resulting YANG:

… error: the node is config, but refers to a non-config leaf 'transmission-mode-name' in module …

We would have thought that this is a very reasonable appliance of leafref, and are surprised about the error message.

Do you have an idea about what we have to correct in the YANG, respectively the UML? Note that the error message doesn’t show up, when the leafref is complemented with a require-instance==false statement, but we are not sure about the side effect of this amendment.

Bernd Zeuner gave the following link on "require-instance false" when pulling leafref definitions from grouping. 

Discussion resumed on the Nov. 22 IISOMI call:

Thorsten Heinzeconfirms that the issue can be solved thanks to this "require-instance false":

    leaf transmission-mode-min {
      type leafref {
        require-instance false;
        path "/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/air-interface:air-interface-pac/air-interface:air-interface-capability/air-interface:transmission-mode-list/air-interface:transmission-mode-name";
      }
      must 'boolean(/core-model:control-construct/core-model:logical-termination-point/core-model:layer-protocol/air-interface:air-interface-pac/air-interface:air-interface-capability/air-interface:transmission-mode-list[transmission-mode-name=current()])';
      description
        "Minimum transmission mode to be configured (in case adaptive modulation is not used, this value represents also the fixed transmission mode).";
    }

The above Yang definitions should be the result of UML to Yang translation of "shared association to read-only list", but currently the tool is not generating the "must" statement.



update UML to Yang Mapping Guidelines with respect to leafref on non-config data

UML starting point: 

A shared association in UML, to a read-only list of object-classes.

From a functional point of view, the user should be able to select an entry from y read-only list. An example would be to select a certain behavior defined by hardware capabilities. 

Yang solution:

In order to avoid yang validations for such case, the yang instance validation can be suppressed by adding the "require-instance: false;" statement to the "leafref" statement and in addition to verify the existence of the instance by adding a "must" statement to the "leaf" statement. 

```
   leaf rw.pointer-to-ro-list {
      type leafref {
        path "/list/key";
require-instance false;
      }
      must 'boolean(/list[key=current()])';
    }

```

To be discussed:

Where to add such section in TR531?

5 minAgenda of next callAll
  • leafref on non-config data, to complete the description of the issue and close the item.
  • UML-YANG: Reference Mapping: Use of "Current" in xPath

Action items