CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
Relativistic effects in TESL

Tag relations

Tag relations in TESL are relations between the tag of ticks that occur simultaneously. A tag relation between clock {$a$} and clock {$b$} is represented by a pair of functions {$(\operatorname{direct}, \operatorname{reverse})$}. If an event occurs at date {$t_a$} on clock {$a$}, a simultaneous occurrence of an event on {$b$} would occur at date {$\operatorname{direct}(t_a)$}. If an event occurs at date {$t_b$} on clock {$b$}, a simultaneous occurrence of an event on {$a$} would occur at date {$\operatorname{reverse}(t_b)$}.

{$\operatorname{direct}$} and {$\operatorname{reverse}$} have to be non-decreasing functions in order to preserve causality (event {$x$} cannot occur before event {$y$} on one clock, and after {$y$} on another clock). However, {$\operatorname{direct}$} and {$\operatorname{reverse}$} may not be bijective nor the inverse of each another. This can lead to surprising results.

Relativistic effect

In the following example, two occurrences of a given event may seem to happen at the same time or not according to the clock used as a reference:

If master1 is used as reference, we obtain the following result:

<span  style=Attach:relativity1.png' title='Attach:relativity1.png' />

But if master2 is used as reference, we get:

<span  style=Attach:relativity2.png' title='Attach:relativity2.png' />

This is due to the fact that both dates 4 and 5 on master2 correspond to date 2 on master1. In the tag relation between master1 and master2, we have {$\operatorname{direct}(n) = 2n$} and {$\operatorname{reverse}(n) = n\div 2$}, where {$\div$} is the euclidian division on integers. These functions are not the inverse of each other, and {$\operatorname{reverse}$} is not injective.

Therefore, when we use master1 as reference, we cannot distinguish events that occur at dates 4 and 5 on master2, and they seem to occur at the same time, at date 2 on master1. However, when we use master2 as reference, we can distinguish two events on slave: one is the result of the implication from master1 at time 2 (which occurs at time 4 on the time scale of master2), the other is the result of the implication from master2 at time 5 (which was also seen at time 2 when observed on the time scale of master1 in the first version).

The result is that some events may seem to occur at the same date or not according to the time scale used to observe them. This also implies that several instants may have the same date on some time scale if a finer time scale allows us to distinguish them. What is however forbidden is to have successive event occurrences with decreasing dates on any time scale.

This effect is similar to superdense time or VHDL delta time, which are used to model fine grain causality between events that occur at the same physical date. However, TESL has no global master clock.