140 likes | 307 Views
Modeling timing constraints, parameterized and multi-clock systems in TADL2. Johan Nordlander, Chalmers University of Technology. System models & constraints. A system model:. cost. timing. logical. resource usage. structural.
E N D
Modeling timing constraints, parameterized and multi-clock systems in TADL2 Johan Nordlander, Chalmers University of Technology AMST Workshop - Berlin
System models & constraints A system model: cost... timing... logical... resource usage... structural... Industry objective: specify / characterize / verify models using constraints AMST Workshop - Berlin
TADL2 (Timing Augmented Description Language) A language of timing constraints (and timing constraints only) TADL2 Constraints Connecting points: the events exposed by a system model Delay... Periodic... Model AMST Workshop - Berlin
Events & occurrences For each execution / simulation / prediction of a system, every event occurs a some points in time. time TADL2 constraints put demands on the relative placement of such occurrences Model AMST Workshop - Berlin
The need for semantic precision Some well-known occurrence patterns: • But what about jitter? • What if jitter > period? • What if repetition stops? Source-to-target delay • What if source repeats? • Can multipletarget occurrences match? • Are straytarget occurrences allowed? Periodic repetition Sporadic repetition • Is jitter meaningful here too? • Same as upper-lower difference? • Accumulating vs. non-accumulating drift? AMST Workshop - Berlin
DelayConstraint duplicate and stray occurrences allowed source lower upper target time DelayConstraint (source, target, lower, upper)xsource : ytarget : lower ≤ y – x ≤ upper AMST Workshop - Berlin
StrongDelayConstraint duplicate and stray occurrences disallowed (lock-step enforced) 1 2 3 source lower upper target 1 2 3 time StrongDelayConstraint (source, target, lower, upper)i : x : x=source(i) y : y = target(i) : lower ≤ y – x ≤ upper AMST Workshop - Berlin
ReactionConstraint only first related response of interest stimulus minimum maximum scope response time ReactionConstraint ( scope, minimum, maximum )xscope.stimulus : y scope.response : x.color = y.color (y’scope.response : y’.color = y.color y ≤ y’) minimum ≤ y – x ≤ maximum AMST Workshop - Berlin
TADL2 constraint overview 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) AMST Workshop - Berlin
A mode-dependent DelayConstraint M source lower upper target time Not satisfied overall... start(M) ... but quite ok when restricted to mode M! stop(M) (a mode is defined by its start- and stop-events) AMST Workshop - Berlin
A borderline mode-example Should this trace be accepted by the mode-dependent DelayConstraint? M There’s no matching target occurrence inside M... source lower upper target time ... but a matching occurrence is still possible outsideM (where we don’t look!) start(M) stop(M) TADL2 thus chooses to answers yes! (the optimistic assumption) AMST Workshop - Berlin