-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add no further clock restriction #1600
Add no further clock restriction #1600
Conversation
Shall merging this issue really close #1385 which goes beyond clocked variables? |
Since we do not understand what a design walkthrough would do more than what we did and since nobody else seems to be interested in doing whatever-needs-to-be-done, we think this is as much as can be expected to happen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The wording is not really clear for me. Does that mean that an input clock can depend on an output clock? If yes, if the output clock ticks, the dependent input clock should tick "synchronously"?
Not quite: Only if the output clock ticks, may this input clock tick. |
Ok. Sorry, but I need to have clear mind about it. Then, there should be an "internal" dependency between the output clock and input clock and causes this "possible" tick? |
The question was, if input clocks could be a clocked variable on another clocks and if there are restrictions. |
But this would open the Pandora's box. Just suppose there is an output clock CO, and there is an input clock which is the clocked variable of CO. Similar to what we discussed last year, and finally it was not accepted and IntervalType of CountDown clock was introduced to disallow it. With this feature, CountDown Clock is no more needed, I can do it with this feature. I will check it anyway if everything is fine with this new feature. |
A countdown clock would allow scheduling ahead of time. This here is different, because the current output clocks can only be triggered. |
_[Some importers might require a variable to be dependent on a single clock for technical reasons._ | ||
_They could reject FMUs violating this restriction._ + | ||
_Note: It is not further restricted, which variables can be clocked to not restrict currently unknown use cases._ | ||
_For example, an <<input>> Clock could be a clocked variable of another (<<input>> or <<output>>) clock to indicate that it can only be activated when that Clock is active.]_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreas-junghanns @masoud-najafi this contradicts "[Output Clocks are intended to enable an FMU to provide a trigger to the outside world, e.g. to a triggered input Clock of another FMU. Note, that if intended to activate model partitions or a Clock of the same FMU calling fmi3GetInterval for a countdown Clock and evaluating the qualifiers is recommended. An example is provided in Section 5.3.]". I would rather not have output clocks trigger input clocks of the same FMU but recommend to use countdown clocks instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... and I think we all agree with your preference. The question here is: Should we restrict the standard to mandate our preference, or should we allow such "wired" usages? In our discussion we tend to follow the Klausian camp: "Why restrict a usage simply because we do not know what it is good for."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreas-junghanns ... No we're not discussing to restrict it. It is a recommendation. To be consistent within the standard we should not give an example that ignores the recommendation. That's all. Can we please adjust this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suppose that an input clock c1 that depends on another input/output clock c2, then is c2 sub-samples c1, or it indicates dependency of c2 on c1? It is not clear for me....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreas-junghanns ... No we're not discussing to restrict it. It is a recommendation. To be consistent within the standard we should not give an example that ignores the recommendation. That's all. Can we please adjust this?
@MBlesken : I don´t understand: adjust what? The example? The text?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suppose that an input clock c1 that depends on another input/output clock c2, then is c2 sub-samples c1, or it indicates dependency of c2 on c1? It is not clear for me....
If c1 depends on c2, how can c2 be a sub-sample of c1? I do not understand your question?
Sorry, a mistake: |
Well, just go through the motions: if c1 is a clocked variable of c2, then c1 can only be accessed when c2 is active. That means c1 can only be a sub-sampling clock of c2. Depending on input or output, either the importer must observe this dependency or the FMU itself, respectively. This seems pretty clear to me. Am I missing an open point or a contradiction? |
No description provided.