Add `producedBy` annotation to CIF
From https://gitlab.eclipse.org/eclipse/escet/escet/-/issues/621#note_2536037:
>>>
We could have a new annotation `@producedBy` that tools can add to their output. They should copy other such annotations from their input. Likely it needs at least a tool-name, and a sequence number (so you can recover the order of the annotations).
In that way you could get a trace of what happened to the specification.
I pondered a bit about adding a checksum. If you include the checksum of the last already existing `producedBy` annotation, you can detect changes in the chain. Not sure it's very useful though, as you can always just delete the last annotation, or delete all these annotations.
>>>
>>>
The second idea can also be done with a kind of log-file associated with the specification.
>>>
This issue focuses on the `producedBy` annotation, to create an audit trail of tools applied to CIF specifications. For instance, a CIF transformer would add that it was applied, a CIF data-based synthesis tool would indicate it applied synthesis, etc. The annotation could include:
* Which tool was applied.
* Version number of the tool? (not very reproducible for tests)
* Sequence number? (annotations have order already, so this may not be needed)
* Details on what the tool did? For instance, which CIF to CIF transformations were applied, tool settings, etc.
* A checksum?
issue