Add checks for "idle" links
There are cases where linkage won't work. We should chack for all of them:
- Branching after time interpolator (already checked)
- Multiple time interpolators chained
- Time interpolator after pull-based component
- Push-based component after pull-based component
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Martin Lange added coupling usability labels
- Martin Lange mentioned in merge request !102 (merged)
mentioned in merge request !102 (merged)
- Martin Lange mentioned in issue #3 (closed)
mentioned in issue #3 (closed)
- Author Owner
Maybe inputs, outputs and adapters could have a property that indicates push and pull abilities?
Trial 1:
needs_push
Failed!
Maybe, just
needs_push
would be sufficient?-
Input
:false
-
Output
:true
-
CallbackInput
:true
-
CallbackOutput
:false
-
Adapter
:false
-
TimeAdapter
(interp etc.):true
Examples:
- WORKS:
Output >> Input
-true >> false
- WORKS:
Output >> Adapter >> Input
-true >> false >> false
- WORKS:
CallbackOutput >> Input
-false >> false
- WORKS:
Output >> CallbackInput
-true >> true
- ERROR:
CallbackOutput >> CallbackInput
-false >> true
- Can't work! - ERROR:
CallbackOutput >> Adapter >> CallbackInput
-false >> false >> true
- Can't work! - ERROR:
CallbackOutput >> TimeAdapter >> Input
-false >> true >> false
- WARNING:
Output >> TimeAdapter >> CallbackInput
-true >> true >> true
- WORKS:
Output >> Adapter >> CallbackInput
-true >> false >> true
Criterion: iftrue
comes afterfalse
, it won't work.The last example works, but would be detected as not working.
Would two properties help?
needs_push
andneeds_pull
?Trial 2:
needs_pull
andneeds_push
Push left, pull right:
-
Input
:-/+
-
Output
:+/-
-
CallbackInput
:+/-
-
CallbackOutput
:-/+
-
Adapter
:-/-
-
TimeAdapter
(interp etc.):+/-
Examples:
- WORKS:
Output >> Input
-+/- >> -/+
- WORKS:
Output >> Adapter >> Input
-+/- >> -/- >> -/+
- WORKS:
CallbackOutput >> Input
--/+ >> -/+
- WORKS:
Output >> CallbackInput
-+/- >> +/-
- ERROR:
CallbackOutput >> CallbackInput
--/+ >> +/-
- ERROR:
CallbackOutput >> Adapter >> CallbackInput
--/+ >> -/- >> +/-
- ERROR:
CallbackOutput >> TimeAdapter >> Input
--/+ >> +/- >> -/+
- WARNING:
Output >> TimeAdapter >> CallbackInput
-+/- >> +/- >> +/-
- WORKS:
Output >> Adapter >> CallbackInput
-+/- >> -/- >> +/-
Criterion: Over each link, no two pairs are allowed to be two facing
+
. I.e. not only check adjacent, but also with each combination of adapters skipped.So the algorithm could be:
- go from lef to right through the link
- if there is a
+
on the right side, note it - if there has been a
+
on the right, a+
on the left is a fail do the same backwards, left/right swapped
Edited by Martin Lange -
- Martin Lange mentioned in merge request !112 (merged)
mentioned in merge request !112 (merged)
- Martin Lange added in-progress label
added in-progress label
- Martin Lange assigned to @mlange
assigned to @mlange
- Martin Lange changed milestone to %metadata-rework
changed milestone to %metadata-rework
- Martin Lange mentioned in commit 59b89708
mentioned in commit 59b89708
- Martin Lange closed with merge request !112 (merged)
closed with merge request !112 (merged)