lutaml / expressir

Ruby parser for the ISO EXPRESS language
3 stars 2 forks source link

Implement short-to-long ("shtolo") function to generate long form EXPRESS #32

Open ronaldtse opened 3 years ago

ronaldtse commented 3 years ago

The "shtolo" function is used to flatten the REFERENCE FROM expressions in schemas. The output is called "long form EXPRESS" which is described in ISO 10303-11.

ronaldtse commented 3 years ago

The mechanism of shtolo is described in ISO 10303-11 Annex G.

ronaldtse commented 3 years ago

@TRThurman : Annex G includes a mechanism to convert the schema to an ISO 10303-11:1994 schema.

G.1 states:

The original implementation methods included in ISO 10303 presupposed a data model consist- ing of a single schema, termed the longform schema. As long as the implementation methods included in ISO 10303 are not updated to this edition of ISO 10303-11 or implementations are not updated to work with the new implementation methods, it may be useful to convert a data specification that is in accordance to ISO 10303-11:2003 to a data specification that is in ac- cordance to ISO 10303-11:1994. This annex specifies rules for how such a conversion may be done. The rules enable the conversion of an ISO 10303-11:2003 multi-schema specification to an ISO 10303-11:1994 longform schema. These rules are designed to result in a complete and consistent longform and to minimize the loss of semantics of the original data model.

And G5 provides the "Stage 2" procedure:

Screen Shot 2021-01-18 at 3 42 48 PM

I'd like to confirm that shotolo requires this mechanism implemented. Thanks.

TRThurman commented 3 years ago

Confirmed.

On Jan 18, 2021, at 1:47 AM, Ronald Tse notifications@github.com wrote:

@TRThurman https://github.com/TRThurman : Annex G includes a mechanism to convert the schema to an ISO 10303-11:1994 schema.

G.1 states:

The original implementation methods included in ISO 10303 presupposed a data model consist- ing of a single schema, termed the longform schema. As long as the implementation methods included in ISO 10303 are not updated to this edition of ISO 10303-11 or implementations are not updated to work with the new implementation methods, it may be useful to convert a data specification that is in accordance to ISO 10303-11:2003 to a data specification that is in ac- cordance to ISO 10303-11:1994. This annex specifies rules for how such a conversion may be done. The rules enable the conversion of an ISO 10303-11:2003 multi-schema specification to an ISO 10303-11:1994 longform schema. These rules are designed to result in a complete and consistent longform and to minimize the loss of semantics of the original data model.

And G5 provides the "Stage 2" procedure:

https://user-images.githubusercontent.com/11865/104885933-d1d6f900-59a3-11eb-84a2-eb48df4fe1c2.png I'd like to confirm that shotolo requires this mechanism implemented. Thanks.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/lutaml/expressir/issues/32#issuecomment-762053667, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMMKVBCEX37PQUGY7AWGTDS2PRQHANCNFSM4UNRALIA.

ronaldtse commented 3 years ago

Thanks @TRThurman for the confirmation. We will work on this after the publication process is settled.

ronaldtse commented 3 years ago

This task is now active again.