We have been considering use of CIS and TMPlan for an interface for collaboration between local traffic management systems, where there is a need to request signal timing changes.
The local systems are UTMC systems that implement the UTMC specification,
which has a feature called “TrafficSignal_Command” (and other kinds of
System_Command) where messages are exchanged where the payload is basically a machine-readable command as a String, and machine readable parameters as a String. In UTMC there is no a-priori definition of the language or format allowed in the strings – in practice you need to agree offline what kinds of command are supported. In the DATEX approach you would not want to hide information in a machine-readable String, but unfortunately that is our requirement – to enable interoperability with the UTMC system.
We have just been looking at how we could plug the idea of TrafficSignal_Command into DATEX CIS, using a TmpActivationPublication.
A) We considered whether the agreement of a command language could be
seen as equivalent to predefining Tmp actions, and whether we could use the Predefined branch of TMP. The textual description for TMP Table Publication says that previous definitions might be shared offline, and that a DATEX TMP Table Publication is only an option. But the PredefinedTmpActivation has a mandatory tmpTable VersionedReference. Doesn’t that imply a real prior DATEX table publication is required? Or is it permissible to have VersionedReferences not actually to DATEX objects, but just some arbitrary pre-agreed GUIDs?
B) We also looked at using a NonPredefinedTmpImplementingAction. If we
could have considered TrafficSignal_Command to be a kind of OperatorAction, then that would work without change to DATEX CIS, because there is a 1-1 relationship between NonPredefinedTmpImplementingAction and OperatorAction.
However, unfortunately a TrafficSignal_Command does not conform very well to the semantics of OperatorAction – for example it does not have a specific location – it is just an instruction that the remote system understands. So we think that if we want to directly represent the notion of UTMC Commands, we would need to use an altered version of CIS in which the OperatorAction is not mandatory and we have a new class introduced somewhere (via extension) to carry the UTMC command attributes like the machine-readable command string and the parameters string.
Please share any thoughts about how DATEX CIS would best deal with this kind of requirement.