ITEA 2 – 09033: TIMMO-2-USE Timing Model – Tools, algorithms, languages, methodology, USE cases AMST Workshop - BerlinSlide 1 Modeling timing constraints, parameterized and multi-clock systems in TADL2 Johan Nordlander, Chalmers University of Technology
System models & constraints AMST Workshop - BerlinSlide 2 A system model: Industry objective: specify / characterize / verify models using constraints logical... resource usage... cost... timing... structural...
TADL2 (Timing Augmented Description Language) AMST Workshop - BerlinSlide 3 A language of timing constraints (and timing constraints only) TADL2 Model Constraints Connecting points: the events exposed by a system model Delay... Periodic...
Events & occurrences AMST Workshop - BerlinSlide 4 For each execution / simulation / prediction of a system, every event occurs a some points in time. Model time TADL2 constraints put demands on the relative placement of such occurrences
Source-to-target delay What if source repeats? Can multiple target occurrences match? Are stray target occurrences allowed? The need for semantic precision AMST Workshop - BerlinSlide 5 But what about jitter? What if jitter > period? What if repetition stops? Is jitter meaningful here too? Same as upper-lower difference? Accumulating vs. non-accumulating drift? Some well-known occurrence patterns: Periodic repetition Sporadic repetition
DelayConstraint AMST Workshop - BerlinSlide 6 DelayConstraint (source, target, lower, upper) x source : y target : lower ≤ y – x ≤ upper time source target lower upper duplicate and stray occurrences allowed
StrongDelayConstraint AMST Workshop - BerlinSlide 7 StrongDelayConstraint (source, target, lower, upper) i : x : x = source(i) y : y = target(i) : lower ≤ y – x ≤ upper time source target lower upper duplicate and stray occurrences disallowed (lock-step enforced)
ReactionConstraint AMST Workshop - BerlinSlide 8 time minimum maximum stimulus response scope ReactionConstraint ( scope, minimum, maximum ) x scope.stimulus : y scope.response : x.color = y.color ( y’ scope.response : y’.color = y.color y ≤ y’) minimum ≤ y – x ≤ maximum only first related response of interest
TADL2 constraint overview AMST Workshop - BerlinSlide 9 DelayConstraint (source, target, lower, upper) StrongDelayConstraint (source, target, lower, upper) RepetitionConstraint (event, lower, upper, span, jitter) SynchronizationConstraint (event, tolerance) StrongSynchronizationConstraint (event, tolerance) ExecutionTimeConstraint (start, stop, preempt, resume, lower, upper) OrderConstraint (source, target) ComparisonConstraint (leftOperand, rightOperand, operator) SporadicConstraint (event, lower, upper, jitter, minimum) PeriodicConstraint (event, period, jitter, minimum) PatternConstraint (event, period, offset, jitter, minimum) ArbitraryConstraint (event, minimum, maximum) BurstConstraint (event, length, maxOccurrences, minimum) ReactionConstraint (scope, minimum, maximum) AgeConstraint (scope, minimum, maximum) OutputSynchronizationConstraint (scope, tolerance) InputSynchronizationConstraint (scope, tolerance) + mode-dependency parameter (optional)
... but quite ok when restricted to mode M! M A mode-dependent DelayConstraint AMST Workshop - BerlinSlide 10 time source target lower upper Not satisfied overall... start(M) stop(M) (a mode is defined by its start- and stop-events)
M A borderline mode-example AMST Workshop - BerlinSlide 11 time source target lower upper start(M) stop(M) Should this trace be accepted by the mode-dependent DelayConstraint? There’s no matching target occurrence inside M... TADL2 thus chooses to answers yes! (the optimistic assumption)... but a matching occurrence is still possible outside M (where we don’t look!)
AMST Workshop - BerlinSlide 12 Revision History Do not delete this slide! RevisionDateDescription Initial Draft
AMST Workshop - BerlinSlide 13 Notepad Do not delete this slide!