There is no pattern to constraint fractional seconds.
In the AOM specs is a attribute for fractional_seconds.
The grammar is following the ADL specs.
Please indicate which spec is to be followed.
In the ADL2 spec, fractional seconds are constrained as part of the 'S' constrainer, i.e. ISO 8601 doesn't provide another letter to accommodate fractional seconds. For example 'P1.5S' is ISO 8601 for '1.5 seconds'. I've added a note in the text in the ADL2 spec for this.
You are right - the AOM2 spec is wrong - it should not have fractional_seconds_allowed in C_DURATION. This has been removed.