View Issue Details

IDProjectCategoryView StatusLast Update
0007449Part 83: UAFX Offline EngineeringSpecpublic2022-04-08 13:37
ReporterLars Ott Assigned ToJim Luth  
PrioritynormalSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
Fixed in Version1.00.00 RC2 
Summary0007449: ReferenceTypeMapping - hard for Tools to connect Forward with Backward InterfaceClasses
Description

For asymmetric ReferenceTypes RC2 defines the following: "All other ReferenceTypes shall be represented by a pair of AML InterfaceClasses where one element of the pair represents the source endpoint, and the other represents the destination endpoint corresponding to the forward and inverse names. "
In practice I expect that it will be quite hard for tools to implement all the connection rules and to even associate the forward InterfaceClass with it's backwards companion.
The currently specified solution is nice for humans to read but not ideal for software applications.

It is also only implied that a forward Interface can only have an InternalLink to a backwards Interface.

AutomationML provides standardized Attributes (Cardinality, Category, Direction) that are supposed to solve the problem of what can be connected to what in a generic, machine readable fashion. FX should use these Attributes.
Cardinality - must be used to describe the allowed maximum/minimum connections from/to this interface.
Category - Only interface Classes of the same category value are allowed to be connected.
Direction - In, Out, or InOut. Interfaces with In can only be connected to InOut or Out, Interfaces with Out can only be connected to In and InOut

If these attributes are used it will be much easier to use standard AML tools to check the validity of FX AML.

Additional Information

for more info on these attributes, see Chapter 2.4.4 of Rainer Drath's AutomationML - A Practical Guide

TagsNo tags attached.

Activities

Todd Snide

2022-01-14 14:57

developer   ~0015717

We should add full path AML references to each partner interface class. In the specification. We should add the proposed algorithm. This makes it easier to find out which interfaces can be connected to other interfaces.

Todd Snide

2022-01-14 15:02

developer   ~0015718

Cardinality is not described in OPC, in and out is implied in the references in this case. We may need add indication whether or not an interface class is a source or a sink.

Jim Luth

2022-01-14 20:13

administrator   ~0015721

Cloning this issue to the Library Generator to make the code changes first to prove the new scheme, Then use this Mantis issue to update the Spec.

Lars Ott

2022-01-17 14:01

reporter   ~0015728

Cardinality could be mapped to the ModellingRules:

  • Optional -> MinOccur=0, MaxOccur=1
  • Mandatory -> MinOccur=1, MaxOccur=1
  • OptionalPlaceholder -> MinOccur=0, MaxOccur=0 (infinite)
  • MandatoryPlaceholder -> MinOccur=1, MaxOccur=0 (infinite)

Jim Luth

2022-03-11 22:11

administrator   ~0016356

The redesign of UA References mapped to AML Interfaces is complete and implemented in version 2022-02-08 of the AML Generator. Part 83 needs to be updated to match what the code does.

Jim Luth

2022-03-22 14:25

administrator   ~0016436

Added IsSource and RefClassConnectsToPath. See Table A.6 in Part 83.

Using the AML-defined Cardinality was rejected because it was specifically added for Ports and was no appropriate for use modelling UA References in AML. The general topic of cardinality will be addressed in the future by the addition of a constraints language.

Emanuel Kolb

2022-04-08 13:37

manager   ~0016544

Review done in OE team

Issue History

Date Modified Username Field Change
2021-11-30 12:57 Lars Ott New Issue
2021-12-20 21:30 Jim Luth Category Performance Problem => Spec
2022-01-14 14:57 Todd Snide Note Added: 0015717
2022-01-14 15:02 Todd Snide Note Added: 0015718
2022-01-14 15:04 Todd Snide Assigned To => Jim Luth
2022-01-14 15:04 Todd Snide Status new => assigned
2022-01-14 20:13 Jim Luth Note Added: 0015721
2022-01-14 20:14 Jim Luth Issue cloned: 0007555
2022-01-17 14:01 Lars Ott Note Added: 0015728
2022-03-11 22:11 Jim Luth Note Added: 0016356
2022-03-22 14:25 Jim Luth Status assigned => resolved
2022-03-22 14:25 Jim Luth Resolution open => fixed
2022-03-22 14:25 Jim Luth Note Added: 0016436
2022-04-08 13:37 Emanuel Kolb Status resolved => closed
2022-04-08 13:37 Emanuel Kolb Fixed in Version => 1.00.00 RC2
2022-04-08 13:37 Emanuel Kolb Note Added: 0016544