First edition

Date: 2025-02-06

ELF

EXPRESS changes model in YAML


Don’t panic, EXPRESS.



Foreword

The EXPRESS Language Foundation (“ELF”) is a registered public charity in the US that facilitates the education, standardization, research, promotion, definition, and usage of information modelling and programming languages, with a focus on the EXPRESS language family.

ELF works with international partners and experts across the globe, reflecting the international nature of its mission. More information about ELF is available on the official website (https://www.expresslang.org).

The procedures used to develop this document and those intended for its further maintenance are described in the ELF Directives.

In particular, the different approval criteria needed for the different types of ELF documents should be noted. This document was drafted in accordance with the editorial rules of the ELF Directives.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ELF shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will be provided in the Introduction.

Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.

This document was prepared by Technical Committee EXPRESS.


Introduction

This document specifies the YAML format used to track changes in EXPRESS schema files.

EXPRESS changes model in YAML

1  Scope

This document specifies the YAML format used to track changes in EXPRESS schema files.

2  Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

ISO 10303-1:2024, Industrial automation systems and integration — Product data representation and exchange — Part 1: Overview and fundamental principles

ISO 10303-11:2004, Industrial automation systems and integration — Product data representation and exchange — Part 11: Description methods: The EXPRESS language reference manual

3  Terms and definitions

For the purposes of this document, the following terms and definitions apply.

ISO and IEC maintain terminology databases for use in standardization at the following addresses:

change

modification to an EXPRESS schema that alters the structure or semantics of the schema

4  Format structure

The EXPRESS Changes YAML format follows this basic structure:

path: String (required)
  # Relative path to the EXPRESS file
changes:
  - type: String (required)
    # Type of change: add, remove, modify
    entity: String (required)
    # Name of the entity being changed
    details: String (required)
    # Description of the change
    original: String (optional)
    # Original content (for modify/remove)
    new: String (optional)
    # New content (for add/modify)

Figure 1

5  Change types

5.1  Add

Used when adding new elements to the schema.

EXAMPLE — Example 

path: data/schema.exp
changes:
  - type: add
    entity: PERSON
    details: Add new entity for representing individuals
    new: |
      ENTITY PERSON;
        name: STRING;
        age: INTEGER;
      END_ENTITY;

5.2  Remove

Used when removing elements from the schema.

EXAMPLE — Example 

path: data/schema.exp
changes:
  - type: remove
    entity: OBSOLETE_TYPE
    details: Remove deprecated type definition
    original: |
      TYPE OBSOLETE_TYPE = INTEGER;
      END_TYPE;

5.3  Modify

Used when modifying existing elements.

EXAMPLE — Example 

path: data/schema.exp
changes:
  - type: modify
    entity: PERSON
    details: Add email attribute to PERSON entity
    original: |
      ENTITY PERSON;
        name: STRING;
      END_ENTITY;
    new: |
      ENTITY PERSON;
        name: STRING;
        email: STRING;
      END_ENTITY;

6  Validation rules

  1. The path field must be a valid relative path to an EXPRESS file

  2. Each change must have a type, entity, and details field

  3. original is required for remove and modify types

  4. new is required for add and modify types

  5. Multiple changes can be specified for the same file

7  Usage guidelines

  1. Keep change descriptions clear and specific

  2. Include context in the details field

  3. Maintain proper EXPRESS syntax in original/new content

  4. Use consistent indentation in YAML structure


Bibliography

[1]  ISO 10303-21:2016, Industrial automation systems and integration — Product data representation and exchange — Part 21: Implementation methods: Clear text encoding of the exchange structure