Claude-Alexandre Simonetti

C.-A Simonetti

An original geometrical contribution to special relativity

Keywords: Minkowski metric, geometrodynamics, special relativity, physics education

ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

INTRODUCTION

Nowadays, science seems to be more and more complicated. Indeed, this is a quite natural thing : high level researchers don't have always time to simplify their works. They essentially focus on their main "philosopher's stone" : new discoveries, which can change our minds and our lives forever. Consequently, it is important to go back in time, to read old researches of the two or three last centuries, in order to simplify science, for a better understanding of the laws of the Universe. To go further, one has to take stock of the situation. So has this article a role to play in this story. The geometry presented here is based on Minkowski metric, and is developed in two books that I have written on the subject. This new way of thinking could not be only helpful for young students, but also for researchers, to make new discoveries, hopefully.

II. MINKOWSKI METRIC II.1. Background

First of all, a brief recall of Minkowski metric is necessary. Let us consider two dimensions instead of four, one of time and one of space. The convention adopted in this article is the (+ ---) signature, which becomes (+ -) in two dimensions:

(∆s) 2 = (c∆τ 1 ) 2 = (c∆t 0→1 ) 2 -(∆x 0→1 ) 2 (c∆τ 1 ) 2 = (c∆τ 0 ) 2 -(∆x 0→1 ) 2 (1)
Where:

-(c∆τ 1 ) is the proper time (or proper "temporal distance") of a particle 1, i.e. measured in its proper Galilean system of reference 1 ; -(c∆t 0→1 ) = (c∆τ 0 ) is the improper time (or improper "temporal distance") of this particle 1, i.e. being observed by any other Galilean system of reference 0. But this time is proper for 0 itself ; -(∆x 0→1 ) is the "spatial distance" between the particle 1 and any other Galilean system of reference 0, which is observing the particle 1.

It is important to be accurate : as time is not absolute in relativity, it is important to define the observer. This is why "being observed by" and "which is observing" are underlined. The arrows between 0 and 1 try to make it clearer.

II.2. An original geometrical view

From equation [START_REF] Simonetti | How I feel relativity[END_REF], one can obtain the following equation, which reminds us the Pythagorean theorem:

(c∆τ 0 ) 2 = (c∆τ 1 ) 2 + (c∆x 0→1 ) 2 (2)
FIG.

1. An original space-time representation, [START_REF] Simonetti | How I feel relativity[END_REF], [START_REF] Simonetti | La relativité vue sous un autre angle[END_REF], where the pedestrian 0 is observing from his present P0 the cyclist 1 situated at his own present P1, the car driver 2 situated at P2 and light L situated at X. The circle is the circumscribed circle to the infinite right triangles. The pedestrian is the observer.

From equation [START_REF] Simonetti | La relativité vue sous un autre angle[END_REF], by setting (c∆τ 0 ) constant for any system of reference i ∈ {0; 1; 2; 3; L} : (c∆τ 0 ) = (c∆t 0→i ) = D 0→L -L associated to the extreme system of reference : light -, it is possible to draw an infinity of right triangles -corresponding to the infinity of different velocities -which are included in a circle. This circle, centered in the middle of their common constant hypotenuse D 0→L , is circumscribed to this infinity of triangles, as shown in figure 1. On this figure, where the past is on the bottom and the future on the top, one can see four objects belonging to four Galilean systems (i ∈ {0; 1; 2; 3; L}) of reference, which cross each other at point X: -the pedestrian 0, with a straight line (A 0 B 0 ) which represents the passage of his proper time. He is the observer. At point X, he starts his chronometer. His present is at point P 0 . The "temporal distance" (c∆t 0→1 ) = XP 0 = D 0→L = (c∆τ 0 ) is his proper "temporal distance" -if he is observing himself -, but improper to measure time for the bicycle 1 or the car 2 ; -the cyclist 1, with a temporal straight line (A 1 B 1 ). He has a non-zero constant velocity relative to the pedestrian 0. The cyclist 1 starts his chronometer at point X as well. His present P 1 is the present observed from the pedestrian 0 at P 0 . XP 1 = (c∆τ 1 ) is his proper "temporal distance". The distance P 0 P 1 = D 0→1 = (∆x 0→1 ) is the "spatial distance" between 0 and 1, from 0 point of view ; -the car driver 2, with a temporal straight line (A 2 B 2 ). He is driving faster than the cyclist 1, with a constant velocity as well. The car driver 2 starts his chronometer at point X as well. His present P 2 is the present observed from the pedestrian 0 at P 0 . XP 2 = (c∆τ 2 ) is his proper "temporal distance". The distance P 0 P 2 = D 0→2 = (∆x 0→2 ) is the "spatial distance" between 0 and 2, from 0 point of view ; -light L, which makes a right angle -which corresponds to maximum velocity, see further -with observer 0 time flow : (A L B L ) ⊥ (A 0 B 0 ). The pedestrian 0 can only observe light L at point X, which seems frozen in time : (c∆τ L ) = 0. And the distance D 0→L = XP 0 is a "spatial" and a "temporal distance" at the same time : (c∆τ 0 ) 2 = (c∆τ L ) 2 + (∆x 0→L ) 2 = 0 + (∆x 0→L ) 2 . A "spatial distance" (∆x 0→L ) between light L and the pedestrian 0. And the proper "temporal distance" (c∆t 0→L ) = (c∆τ 0 ) of the observer 0.

As a partial conclusion, one can find in this first figure a high density of information. In particular, the faster the Galilean system of reference i relative to the observer 0, the bigger the angle between their temporal trajectories. Angles have the advantage to be more intrinsic than velocities, and an angle of π 2 corresponds to the maximum velocity c, the light vacuum velocity. Consequently, in the next section will be discussed the conversion from intrinsic angles to extrinsic velocities. Before going on, one can say in fact that this is time which is going at the maximum velocity c. As time is passing, and as time of light is frozen from the observer's point of view, whose present P 0 is attached to the time flow, this is light which is moving at the speed of time. It is quite important to mention it, because light does not decide its velocity. Light is subject to the laws of Universe. And this is time flow which gives speed to light.

III. VELOCITY CALCULATION

From theses basics, one can now simply calculate velocity, which could be defined without any unit : spatial distance divided by temporal distance. As temporal distance is the maximum distance possible, velocity V 0→1 is a ratio between: -the distance between the two systems of reference 0 and 1, from 0 's point of view : D 0→1 ; -the distance traveled by light L itself : D 0→L . Here is the simple equation:

|V 0→1 | = |β 0→1 | = |v 0→1 | c = D 0→1 D 0→L (3)
FIG. 2. Angles are equivalent to velocities, [START_REF] Simonetti | How I feel relativity[END_REF], [START_REF] Simonetti | La relativité vue sous un autre angle[END_REF].

From equation (3) and figure 2, one can define the sine of the angle θ 0→1 between 0 and 1, from 0 's point of view:

| sin(θ 0→1 )| = D 0→1 D 0→L = |V 0→1 | = |β 0→1 | (4)
From this equation (4), one can represent velocity as a percentage of speedlight in function of the spatiotemporal angle, see figure 3. To be more accurate with the defi-nition of velocity, a clockwise convention of angles will be defined in this article:

V 0→1 = β 0→1 = sin(θ 0→1 ) ≤ 0
Indeed, according to figure 2, V 0→1 is the velocity of the car (1) going to the left, hence negative, and been observed by the pedestrian (0). Finally, with two Galilean systems of reference i and j, with clockwise convention, instead of the usual anti-clockwise convention:

V i→j = β i→j = sin(θ i→j ) (5)

IV. TIME DILATION -LENGTH CONTRACTION IV.1. Time dilation

If one consider figure 2 again, when the pedestrian (0) observes the driver (1), this is improper time (D 0→L = XP 0 ), which is measured from pedestrian point of view, is always longer than the proper time (XP 1 ) of the driver : XP 0 ≥ XP 1 . Hence, the observer (0) thinks there is a dilation of time : from pedestrian (0) point of view, if the driver ( 1) is speaking for instance, it seems to be in slow motion. The dilation ratio ρ 0→1 is easy to calculate:

ρ 0→1 = XP 0 XP 1 = 1 cos(θ 0→1 ) ≥ 1
This dilation ratio is equal to the Lorentz factor γ 0→1 :

γ 0→1 = 1 1 -(β 0→1 ) 2 = 1 1 -sin 2 (θ 0→1 ) γ 0→1 = 1 cos 2 (θ 0→1 ) = 1 |cos(θ 0→1 )| Finally, as θ 0→1 [-π 2 ; + π 2 ]: γ 0→1 = 1 cos(θ 0→1 ) = ρ 0→1 (6)
Note that if the driver (1) becomes the observer :

-the Lorentz factor remains the same : γ 1→0 = γ 0→1 ; -the beta factor becomes the opposite :

β 1→0 = -β 0→1 .

IV.2. Length contraction

Until now, every studied object was a point, i.e. in zero dimension. To show length contraction, it is necessary to consider at least an object in one dimension, like a stick in our next example. This stick ( 1) is a special one, to actually show simultaneity issues in relativity : every second, its color alternatively changes, from light grey to dark grey. To compare this stick with a reference, let us consider another one with exactly the same length (l 0 ) but only colored in black (0). The special stick called "1" is in movement relative to the stick called "0", which is the "observer". The figure 4 represents the results of the observation, which shows, from 0's point of view, the grey stick with a "contracted" length equal to l c . This "contraction" is obviously an optical illusion in space-time. And the contraction ratio κ 0→1 is simply the inverse of the dilation ratio:

κ 0→1 = l c l 0 = cos θ 0→1 = 1 ρ 0→1 = 1 γ 0→1 ≤ 1 (7)
Moreover, it is interesting to consider the problem of simultaneity. Indeed, from the black stick (0) point of view, the special stick (1) will appear with different colors, light and dark grey, at the same time. Which means that the left extremity of the special stick appears delayed in comparison to its right extremity.

To give more credit to the whole section, let us use in the next subsection the Lorentz transformation, which is equivalent but complementary to the Minkowski metric.

IV.3. Use of Lorentz transformation

Let us consider figure 5 : in comparison to figure 4, only the right extremity of the black stick (0) is kept, to focus on the special stick [START_REF] Simonetti | How I feel relativity[END_REF]. The objective of this subsection is to prove that the analytic calculations of length contraction and time delay between the right and the left extremities of the special stick (1) exactly match with the graphic constructions of figures 4 and 5. Before going on, here is a brief recap of a 2 dimensional Lorentz transformation, one in space and one in time. If the origin O j of a Galilean system of reference j is observing, from its present O j ≡ P j a random point M belonging to any system of reference, Galilean or not (with X, the origin of time):

O j M = XP j P j M = ct j→M x j→M
The origin O i of another Galilean system of reference i will be observing M with the relation below:

ct i→M x i→M = γ i→j 1 β i→j β i→j 1 ct j→M x j→M
As γ i→j = 1 cosθi→j and β i→j = sinθ i→j , because of clockwise convention:

cos θi→j ct i→M x i→M = 1 sin θi→j sin θi→j 1 ct j→M x j→M
Let us first study O 1 . For practical reasons, the arrows between the subscripts will be retrieved. From its own viewpoint, its spatio-temporal coordinate are:

O 1 O 1 = X 1 P 1 P 1 P 1 = ct 11 0 With the convention ct 11 = 0 if P 1 ≡ X 1 , see figure 5.
From O 0 's point of view, the coordinate of O 1 is the following:

O 0 O 1 = X 1 P 0 P 0 P 1 = ct 01 x 01
And according to Lorentz transformation from

O 1 O 1 to O 0 O 1 : cos θ 01 ct 01 x 01 = 1 sin θ 01 sin θ 01 1 ct 11 0 (8)
Equation ( 8) will be used later. Let us now study the "length contraction" on figure 6, which can be explained by non simultaneity between the right (O 1 ) and the left (O 1 ) extremities of the special stick [START_REF] Simonetti | How I feel relativity[END_REF]. Indeed, if O 1 and O 1 were simultaneous from O 0 viewpoint, there would be no illusion of contraction phenomenon.

So let us now study O 1 . From O 0 's viewpoint, its spatiotemporal coordinates are:

O 0 O 1 = X 1 P 0 P 0 P 1 = ct 01 x 01 + (-l c )
With x 01 ≤ 0 on this figure, because the special stick is going to the left. From O 1 's viewpoint, its spatiotemporal coordinates are:

O 1 O 1 = X 1 P d P d P 1 = ct 11 + c∆t d -l 0
With the subscript d for delay. Indeed, as the special stick system of reference ( 1) is considered, the simultaneity line, which has to be perpendicular to the system of reference 0, is horizontal on this figure. It gives a delay between P 1 and P d which is constant and equal to c∆t d .

An analytic calculation will be done on this constant later, but figure 6 gives us the result : c∆t d = l 0 sin θ 01 .

In any case, P d and P 1 are simultaneous, considering a clock synchronization. It means an event in P 1 is happening before an event in P 1 .

Let us use the Lorentz transformation from

O 1 O 1 to O 0 O 1 : cos θ01 ct01 x01 -lc = 1 sin θ01 sin θ01 1 ct11 + c∆t d -l0 (9)
FIG. 6. A zoom of figure 5.

Let us now subtract equation (9) to equation ( 8 Let us take a step back in this section. From figure 1, a new figure called the eye of relativity will be built, which takes into account human perception of spacetime, which is obviously different from what is really happening in the corridors of the Universe (figure 1). The gap between human perception and hidden real world explains why relativity is not an intuitive science.

V.1. Plato's cave : the Platosphere Let us first remember Plato's cave. In Plato's work entitled the Republic, book VII, Socrates mentions the Allegory of the Cave. He describes a group of prisoners stuck in a cave, facing a blank wall and unable to turn their heads. They are interpreting shadows on this wall like real objects, whereas these shadows are coming from walking puppets lit by a burning fire behind them. And these puppets are actually real objects. In a certain way, concerning space-time, one could say that Albert Einstein is one of the prisoners who managed to turn his head back and understand the system in its globality. So let us draw a figure which represents both the puppets and the shadows:

-the puppets will be called corrisphere, with "corri-" for "corridors", i.e. "behind the scenes" of Universe, real space-time, an undistorted reality ; -the shadows will be called platosphere, with "plato-" for "Plato's cave", i.e. space-time being observed by our senses, a distorted reality. This representation can be found on figure 7: -the thick grey horizontal segment [P L-P L+ ] on the top is the platosphere, which represents all the objects which have crossed the pedestrian at X. P L-(respectively P L+ ) is the left (respectively right) border of the platosphere : it represents a photon coming from the right (respectively left), which has crossed the pedestrian at X ; -the circle centered on C 0 is the circle presented in figure 1. It belongs to the corrisphere, and the platosphere is the projection of this circle. And the figure 8 is the superposition of figures 1 and 7. The half concentric circles represent the distances travelled by the cyclist (P 0 P 1 = P 0 P 1 ), the car driver (P 0 P 2 = P 0 P 2 ) and light (P 0 X = P 0 P L+ = P 0 P L-) from the pedestrian viewpoint P 0 . And the intersections of these circles with the platosphere give us every object aligned. That is what we could see in our distorted reality, where the notion of proper time for each object is hard to represent. With theses two figures, one can see that it is impossible to be faster than time, to travel a distance bigger than P 0 X. Indeed, the structure of space-time itself makes impossible to reach speedlight, or rather speed of time.

V.2. Application : longitudinal Doppler effect

Before starting, only longitudinal Doppler-Fizeau effect will be presented in this subsection. Indeed, in special relativity, a quite negligible transversal Doppler ef-fect exists [START_REF] Pérez | Relativité et invariance[END_REF], but 2 dimensional figures do not allow to show it. At least, 3 dimensional figures are needed -2 of space and 1 of time -to show it. Such figures will be presented in section VIII. Let us consider the relativistic longitudinal Doppler-Fizeau effect in figure 9, which will be more visual, thanks to the the eye of relativity. In this figure, the bicycle is removed, the car consequently becomes the system of reference number 1. The measures in figure 9 are correct, which allows us to make right calculations from it: -one electromagnetic wave, with a wavelength equal to λ 0 , is emitted from the front of the car, in the direction of motion. The first top is at X in the corrisphere or at P L-in the platosphere ; the second top is at P 1 in the corrisphere or at P 1 in the in the platosphere ; -the other one, with the same wavelength, is emitted from the back of it, in the opposite direction of motion : the first top is at X in the corrisphere or at P L+ in the platosphere ; the second top is at P 1 in the corrisphere or at P 1 in the in the platosphere.

The perfect match between the wavelength λ 0 and FIG. 9. Relativistic longitudinal Doppler-Fizeau effect geometrically explained, [START_REF] Simonetti | E=mc2 vu sous un autre angle[END_REF].

proper time XP 1 is made on purpose on this figure, to make things easier. As a result, one can immediately measure the red λ R and the blue λ B shifts with a simple ruler.

Let us calculate λ R and λ B :

λ R = XP 0 + P 0 P 1 = λ0 cos θ01 (1 + |sin θ 01 |) λ B = XP 0 -P 0 P 1 = λ0 cos θ01 (1 -|sin θ 01 |)
Finally:

λ R = λ 0 1 + |sin θ 01 | 1 -|sin θ 01 | (11) λ B = λ 0 1 -|sin θ 01 | 1 + |sin θ 01 | (12)
By the way :

λ B λ R = (XP 0 -P 0 P 1 )(XP 0 + P 0 P 1 ) = XP 2 0 -P 0 P 2 1 = XP 2 1 = λ 2 0
Finally:

λ B λ R = λ 2 0
So, XP 1 = λ 0 is the geometric mean of λ R and λ B , and this figure reminds us a little on Archimedes representations on harmonic, geometric, arithmetic and quadratic means [START_REF]Archimedes : Works, Lemma IV[END_REF], or on Mohr's circle -even though the circles drawn are slightly different:

XP 1 = λ 0 = λ B λ R ( 13
)
This geometric mean remains constant, because of the constant proper wavelength λ 0 . On the contrary, the arithmetic mean, XP 0 , is indirectly dependent on relative velocity:

XP 0 = λ 0 cos θ 01 = 1 2 (λ B + λ R ) (14)
Moreover, one can build a quadratic polynomial from the doublet (y 1 , y 2 ) = (λ B , λ R ) of solutions:

Q(y) = y 2 -Sy + P
With:

S = λ B + λ R P = λ R λ B
Finally:

Q(y) = y 2 - 2λ 0 cos θ 01 y + λ 2 0 ( 15
)
As geometric mean is always inferior or equal to arithmetic mean, the following condition is obviously respected:

√ P 1 2 S = cos θ 01 ≤ 1 (16) Which is equivalent to = b 2 -4ac ≥ 0, with a = 1, b > 0 and c ≥ 0.
At last, one should notice that this polynomial (15) is the characteristic polynomial of two similar matrix. The first one is the following diagonal matrix:

D(θ 01 , λ 0 ) = λ R 0 0 λ B With: tr(D) = S = λ B + λ R |D| = P = λ R λ B
And:

Q(y) = |y I 2 -D| = y 2 -tr(D) y + |D|
With I 2 the identity matrix.

The second one is more interesting, because it is proportional to L(θ 01 ), the Lorentz transformation matrix:

A(θ 01 , λ 0 ) = λ 0 L(θ 01 ) = λ 0 cos θ 01 1 sin θ 01 sin θ 01 1 (17)
With:

   tr(A) = 2 λ0 cos θ01 = tr(D) |A| = ( λ0 cos θ01 ) 2 (1 -sin 2 θ 01 ) = λ 2 0 =
|D| As a partial conclusion, one can consider the longitudinal Doppler wavelengths as geometric lengths from figure 9, or as eigenvalues of the Lorentz transformation matrixwith a λ 0 factor. Let us go a bit further with the eigenvectors. As A(θ 01 , λ 0 ) is a symmetric matrix of real coefficients, similar to D(θ 01 , λ 0 ), one can find an orthogonal transfer matrix P , such as:

A(θ 01 , λ 0 ) = P • D(θ 01 , λ 0 ) • P T
P is a basis of orthogonal eigenvectors, which are obviously light vectors. Indeed, light vectors orientations remain unchanged by the Lorentz transformationeven if their norms can be modified -which is the property of eigenvectors. Here is the basis:

P = √ 2 2 1 -1 1 1

VI. VELOCITY COMPOSITION LAW

Velocity composition law can be easily understood, if one gets inspired by figure 5, which represents length contractions. Indeed, instead of having X 1 and X 1 separate in figure 5, let us merge this two points in figure 10 : it will be point X. As a result, one can observe two different systems of reference, at two different velocities: -θ 01 is the image of the velocity between system (0) and system (1), from (0)'s point of view. The present P 0 of O 0 can observe the present P 1 of O 1 ; -θ 12 is the image of the velocity between system (1) and system (2), from (1)'s point of view. The present

P 1 of O 1 can observe the present P 2 of O 2 .
The question is : how to obtain θ 02 , which is the velocity between (0) and (2)? The aim is to observe P 2 from system (0). The method is similar to figure 5 : a P 2 point has to be defined (which is exactly the same point as P 2 ), horizontal, with P 1 P 2 = P 1 P 2 . P 2 will be observed by P 0 , with the following condition : (P 0 P 2 ) (P 0 P 1 ). Indeed, it was as if O 2 was briefly belonging to system (1) at point P 2 , which is simultaneous to P 1 . So P 0 can observe P 2 with a ( π 2 -θ 01 ) angle. In figure 10, for practical reasons, distances have been normalized : XP 0 = 1, consequently:

P 0 P 1 XP 0 = sin θ 01 = v 01 c = V 01 P 0 P 1 = V 01 P 1 P 2 = V 12 cos θ 01
Finally:

V 02 = P 0 P 2 XP 0 = V 01 + V 12 1 + V 01 • V 12 (18)
As a partial conclusion, one can explain relativistic velocity composition with simple geometrics. The θ 02 angle can be drawn by using a simple pair of compasses. To go further, let us draw another way of explain it. Let us first define a new velocity function:

V * 01 = γ 01 V 01 = sin θ 01 cos θ 01 = tan θ 01 (19)
Let us prove that equation ( 18) is equivalent to :

(18) ⇔ V * 02 = γ 01 • γ 12 • (V 01 + V 12 ) (20) ⇔ V * 02 = γ 12 • V * 01 + γ 01 • V * 12 (21)
Here is the demonstration: XP 1 = 1, consequently:

V * 02 = tan θ 02 = ± 1 sin 2 θ 02 -1 -1/2 = ± 1 + V 01 • V 12 V 01 + V 12 2 -1 -1/2 = V 01 + V 12 1 -(V 01 + V 12 ) 2 + (V 01 • V 12 ) 2 = 1 (1 -V 2 01 ) 1 (1 -V 2 12 ) (V 01 + V 12 ) V * 02 = γ 01 • γ 12 • (V 01 + V 12 )
P 0 P 1 = tan θ 01 P 1 P 2 = tan θ 12 XP 0 = cos θ 01 XP 2 = cos θ 12
Here is an analysis of figure 11, which is called "domino effect":

-from its present P 0 , O 0 is observing O 1 in P 1 , which is observing O 2 in P 2 ; -from its present

P 2 , O 2 is observing O 1 in P 1 , which is observing O 0 in P 0 ;
The final result is the addition of these last two effects:

V * 02 = P 0 P 1 XP 1 • XP 1 XP 2 + P 1 P 2 XP 1 • XP 1 XP 0 V * 02 = P 0 P 1 XP 2 + P 1 P 2 XP 0 (23)
As a conclusion, equations ( 22) and (23) are equivalent. This result will be very useful to study stellar aberration.

VII. STELLAR ABERRATION

Moreover, one can consider stellar aberration as a kind of "velocity composition" in 2 dimensions of space and 1 dimension of time. For the record, due to stellar aberration, the angle of the source of light is dependent from the velocity of the observer. The faster the observer is, the more horizontal the source seems to be. In figure 12, where time and space are in the same plane for practical reasons, one can see the relativistic equation of stellar aberration, which is obtained by applying the Lorentz transformation to the momentumenergy four-vector of a photon coming from the star (symbol " * " on this figure). The first interesting thing is : if the star is just above O 0 , with an angle ϑ 0 = π 2 , the angle ϑ 1 will be equal to ( π 2 -θ 01 ). Consequently, let us simply define new angles in this article : α 0 = π 2 -ϑ 0 and α 1 = π 2 -ϑ 1 , which are angles between the vertical axis and the star, see figure 12. With this new definition, if α 0 = π 2 , α 1 = θ 01 . So, in the case of a star initially above us, without any sophisticated device, just by observing this star, one can almost directly measure the relative velocity of our system of reference, obtained by the sine of α 1 (a fraction of speedlight). More generally and more interesting, the equation of figure 12 becomes much simpler:

tan α 1 = 1 tan ϑ 1 = cos ϑ 0 + sin θ 01 sin ϑ 0 • cos θ 01 = sin α 0 + sin θ 01 cos α 0 • cos θ 01
Finally, equations ( 22) and ( 24) are similar:

tan α 1 = tan α 0 cos θ 01 + tan θ 01 cos α 0 (24)
As a conclusion, stellar aberration is a kind of velocity composition, and one could define an artificial "velocity" (β αi = V αi = sin α i ) and an artificial Lorentz factor (γ αi = cos -1 α i ), with the following equation similar to (18):

V α1 = V 01 + V α0 1 + V 01 • V α0 (25)
And with the following equation similar to (20):

V * α1 = γ 01 • γ α0 • (V 01 + V α0 ) (26)

VIII. GENERAL DOPPLER-FIZEAU EFFECT

After considering the longitudinal Doppler-Fizeau effect in subsection V.2, let us consider it in 2 dimensions of space.

The use of previous sections, especially VI and VII, will be essential. In figure 13, space and time are in the same plane. The electromagnetic wave, with a wavelength equal to λ 0 , is emitted from the system of reference 1, in α 0 direction from 0's point of view, and in α 1 direction from it's own point of view, which is not represented: -the first top is at X in the corrisphere or at P Lα0 in the platosphere ; -the second top is at P 1 in the corrisphere or at P 1 in the in the platosphere. As a monochromatic plane wave is considered here, one can draw a wavefront, which allows us to represent H 1 , the orthogonal projection of P 1 on (P 0 P Lα0 ): P 0 H 1 = P 0 P 1 sinα 0 = P 0 P 1 V α0 = γ 01 λ 0 V 01 V α0 (27) From equation ( 27), one can deduce the Doppler wavelength λ 0 , function of α 0 and θ 01 , from 0's point of view: λ 0 = H 1 P Lα0 = P 0 P Lα0 -P 0 H 1 λ 0 = λ 0 γ 01 (1 -V 01 V α0 ) λ 0 = λ 0 cos θ 01

(1 -sin θ 01 sin α 0 ) (28)

Thanks to equation ( 25), one can also calculate this Doppler wavelength in function of α 1 and θ 01 . But, as light is not coming from the star, but from the system of reference 1, spatial angles (α 0 and α 1 ) will be shifted by π in this equation, to correctly apply "velocity" composition:

sin α 0 = -sin (α 0 + π) = -sin (α 1 + π) -sin θ 01 1 -sin (α 1 + π) • sin θ 01 Longitudinal Doppler effect of subsection V.2 can be calculated with α 1 = α 0 = ± π 2 . In fact, α 1 = α 0 because it was as if there was an artificial Speedlight in equation (25) : V α = sin π 2 = 1.

IX. DISCUSSION AND CONCLUSIONS

This original geometrical approach could not only be helpful for students, but also for researchers. This new way of thinking might indirectly play a role in future discoveries.

FIG. 3 .

 3 FIG. 3. Speed function of spatio-temporal angle, [1], [2].

FIG. 4 .

 4 FIG. 4. Length contraction phenomenon, [1], [2].

FIG. 5 .

 5 FIG. 5. Analytic calculations on the special stick.

  c cos θ 01 = l 0 sin θ 01 c∆t d sin θ 01 + l 0 = l 0 sin θ 01 l 0 (1 -sin 2 θ 01 ) Finally, one can get simultaneously time delay and length contraction in equation (10):

FIG. 7 .

 7 FIG. 7. The eye of relativity, [1], [2].

FIG. 8 .

 8 FIG. 8. The eye of relativity more detailed, [1], [2].

FIG. 10 .

 10 FIG. 10. Velocity composition law geometrically explained.

  FIG. 11. The "domino effect" in velocity composition law, [1], [2].

FIG. 12 .

 12 FIG.12. Stellar aberration angle ϑ considered in classical books on relativity . In theory, if O0 (resp. O1) is the observer, (O1x1) and (O1z1) [resp. (O0x0) and (O0z0)] are not supposed to be perpendicular to each other. In order to simplify the figure, as we are focusing on the same star (symbol " * "), two observers (O0 and O1) are simultaneously defined here.

FIG. 13 .

 13 FIG. 13. Relativistic general Doppler-Fizeau effect geometrically explained.

sin α 0 = sin α 1 +

 1 sin θ 01 1 + sin α 1 • sin θ 01(29)From equation (29), here is the result:λ 0 = λ 0 cos θ 01 1 -sin θ 01 sin α 1 + sin θ 01 1 + sin α 1 • sin θ 01 = λ 0 cos θ 01 1 -sin 2 θ 01 1 + sin α 1 • sin θ 01 λ 0 = λ 0 • cos θ 01 1 + sin α 1 • sin θ 01 (30)λ 0 = λ 0 γ 01 • (1 + V α1 • V 01 )(31)Let us now test equation (31), with α 1 = 0 • , which is the transversal Doppler effect:λ 0 = λ 0 γ 01 sin α 0 = sin θ 01 ⇒ α 0 = θ 01


Blazo Nastov
email: blazo.nastov@mines-ales.fr

Vincent Chapurlat
email: vincent.chapurlat@mines-ales.fr

Christophe Dony
email: dony@lmirmm.fr

François Pfister
email: francois.pfister@mines-ales.fr

Towards semantical DSMLs for complex or cyber-physical systems

Keywords: MDE, Modeling, Models, DSML, Behavior, Dynamic semantics, Formal verification, Simulation

MDE is nowadays applied in the context of software engineering for complex or cyber-physical systems, to build models of physical systems that can then be verified and simulated before they are built and deployed. This article focuses on DSMLs direct formal verification and simulation of their dynamic semantics. By "direct", we mean without transforming the DSML description into an automata-like one. This paper presents xviCore, a metamdeling language to create DSMLs equipped with an abstract syntax, a concrete syntax and a dynamic semantics. We exemplify xviCore by an integration of a metamodeling language and a formal behavioral modeling language, based on the blackboard design pattern. Formal verification techniques based on the Linear Temporal Logic (LTL) and the Temporal Boolean Difference can be then applied as demonstrated by the proposed approach.

INTRODUCTION

The development of software engineering for complex or cyber-physical systems currently deflects a key issue. Within this context, the Model-Driven Engineering (MDE) provides means for systems modeling through creation, checking and manipulation of various models. Models are nowadays created using Domain Specific Modeling Languages (DSML). A DSML basic components are its syntax and semantics [START_REF] Kleppe | A language description is more than a metamodel[END_REF] but current DSMLs have been more studied from the syntactical point (syntactical DSMLs) than from the semantical one that is often neglected or, when needed, provided by means of translating the DSML into a third-party formalism. This is a key limitation for formal verification and simulation [START_REF] Chapurlat | UPSL-SE: A model verification framework for Systems Engineering[END_REF]. According to [START_REF] Combemale | Essay on Semantics Definition in MDE. An Instrumented Approach for Model Verification[END_REF], the DSML semantical part can be divided into a static part, representing concept meaning (abstract and concrete syntaxes) and behavior independent structural constraints (pre and post conditions, invariants, etc.) and a dynamic part, dealing with the way models behave. We focus hereafter on this dynamic part, usually named "dynamic semantics" or "behavior". It can be defined either by using action languages (e.g., Java) or behavioral modeling languages (e.g., Statechart), providing respectively an implementation or an explicit specification.

Nevertheless, to follow the basic MDE "everything is a model" principle [START_REF] Bézivin | On the unification power of models[END_REF] requires a model-based way of specifying behavior. Languages to model dynamic semantics in this context and/or dedicated virtual machines for simulation have already been studied in various works: Statechart in [START_REF] Douglass | Real time UML[END_REF] or UML activities in [START_REF] Scheidgen | Human comprehensible and machine processable specifications of operational semantics[END_REF]. However, using different tools to design syntax and an automata-like behavior of a language creates a gap that requires transformation rules between them. In some works, e.g., [START_REF] Mayerhofer | xMOF: Executable DSMLs based on fUML[END_REF], the behavioral modeling language fUML is integrated into the M3 metamodeling layer. This overcomes transformation related problems, but formalverification related problems remain still a subject of a debate.

Our global contribution presented in this paper is a new meta-modeling language, called xviCore, allowing meta-modelers to build DSMLs (called xviDSMLs), that along with their syntax and static semantics part also integrates a dynamic semantics part and providing solution for direct (without transformation) models verification and simulation. Our solution combines, two meta-languages, EMOF for the specification of the static part, and an original extension of the behavioral modeling formal language "Interpreted Sequential Machine" (ISM) called extended ISM (eISM) for the dynamic part.

Thanks to this key extension (that includes a blackboard-based communication model), dynamic semantics of an xviDSMLs can be designed, statically verified and used to simulate models written using them (called xviModels). xviCore is a tooled meta-language implemented as an Eclipse-EMF deployable plug-in.

The remainder of this paper is structured as follows. Sections 2-3-4 describe our xviCore solution. Section 2 proposes an overview of the approach and the rationale for eISM and for its combination with EMOF. Section 3 presents eISM. Section 4 explains how the dynamic semantics of an xviDSML can be verified. A case study example demonstrating the approach's applicability is illustrated in Section 5. Section 6 presents related works on DSML dynamic semantics. Section 7 concludes and highlights our perspectives.

GLOBAL VIEW OF THE CONTRIBUTION (XVICORE)

Our integrated meta-language xviCore (executable verifiable and interoperable core concepts and mechanisms) for creating verifiable DSML is illustrated in Fig. 1. XviCore combines two metalanguages, EMOF and our extension of the formal behavioral modeling language "Interpreted Sequential Machine" (ISM) [START_REF] Vandermeulen | Machine Séquentielle Interprétée[END_REF] called extended ISM (eISM). Assuming other metalanguages could have been used, we thereafter justify this choice. An xviModel is created by an xviDSML itself created by EMOF for the static part and eISM for its dynamic semantics. The static part description of xviDSMLs is based on EMOF and does not require additional efforts [START_REF] Steinberg | EMF: eclipse modeling framework[END_REF]. For what concerns the dynamic semantics, each domain concept has its own behavior, specified by a behavioral model. The means for interoperation between different behavioral models should then be established, including at least centralized data and event exchanges between behavioral models assuming temporal synchronization rules. However, behavioral modeling languages are not tailored for such use. We propose hereafter a solution for this problem based on the blackboard design pattern integrated to the extension of ISM.

The blackboard design pattern [START_REF] Engelmore | Blackboard systems[END_REF]) is a behavioral pattern "affecting when and how programs react and perform". A "blackboard" is a shared and structured memory that establishes relationships between independent modules called "autonomous processes" where each process is individually able to solve a sub-problem. Processes can solve a "global problem" when they are put together, reading and writing data in the blackboard that is iteratively updated. Each process has a set of triggering conditions that have to be satisfied by particular kinds of events, sent by a controller. The processes synchronization is handled by a controller that monitors the data stored into the blackboard and decides which autonomous processes to prioritize. The controller reacts to global changes in the blackboard resulting from external inputs or previously executed processes. Processes can be simultaneously executed, having a concurrent access to the relevant blackboard data. This may produce a situation of deadlock (if two or more processes are each waiting for the other to finish, and thus neither ever does) [START_REF] Lalanda | Two complementary patterns to build multi-expert systems[END_REF].

The Fig. 2 shows xviCore that introduces four main concepts:

1) Controller (C) is used to schedule the execution of behavioral models (described hereafter) from an xviDSML according to a logical and periodical clock taking into account multiscale time and stability management rules. We propose an execution algorithm in [START_REF] Nastov | A Verification Approach from MDE Applied to Model Based Systems Engineering: xeFFBD Dynamic Semantics[END_REF]. It corresponds to the "controller" module of the blackboard pattern.

2) Blackboard (BB) is a common base of information where behavioral models write their output data (O) and read their input data (I), enabling information exchange. The BB corresponds to the "blackboard" module on the blackboard pattern and is formally defined as 5-uplet 〈 〉 where: AT is a set of "time indication" variables, specifying the time of adding. 4) Behavioral model represents the behavior of a domain concept instance of EClass. It corresponds to the "autonomous processes" module of the blackboard design pattern. Behavioral models are designed using a behavioral modeling language based on continuous or discrete events hypotheses. In this article, we focus on discrete behavioral description, for which we hereafter introduce eISM an extended version of the Interpreted Sequential Machine [START_REF] Vandermeulen | Machine Séquentielle Interprétée[END_REF]. eISM behavioral models operate with typed data and expressions, separating the states/transitions description from the data specification. This allows specifying some states using data variables, reducing consequently their number. The underlying structure of an eISM behavioral model is based on the Linear Temporal Logic (LTL) which is beneficial for formal verification.

Abstract syntax

Dynamic semantics an xviDSML

Model abstract syntax

« instanceOf » « instanceOf » « instanceOf » « executes » xviCore -composed

EXTENDED ISM -EISM

An eISM is composed of four interconnected parts called: Input Interpreter (II), Output Interpreter (OI), Control Part (CP) and Data Part (DP) as modeled in Fig. 2 and illustrated in Fig. 3. interface that interprets the evolution of the CP by updating the values of the output data (gathered into the set O) and the values of the model data from the DP. This model is formalized as a 6-uplet 〈 〉 where: a) I is the set of input data available from the BB. Each input i i is defined by a current value cvalue i , a domain definition I i and a type I i ', such as

I i ⊆ I i '. b) O

VERIFICATION

Verification of the xviDSML static and dynamic part must occur, prior to model specification and simulation. In general, a verification process is composed, at least, of three components: 1) a formal specification, on which the verification process is conducted, 2) formal properties that are verified on the formal specification during the verification process and 3) a model-checking verification tool. We cover hereafter each of these components, focusing only on verification of the dynamic part.

1) Formal specification: The underlying structure of an eISM behavioral model is based on the Linear Temporal Logic (LTL), defined by a set of Elementary Valid Formulas (EVF) [START_REF] Larnac | Formal Representation and Proof of the Interpreted Sequential Machine Model[END_REF]. EVF are inferred from the PC's transitions combined with LTL operators. Let [( ) ( )] a transition between states s i and s j , associated to an e j firing condition propositional variable and to a u i update propositional variable. T i infers as an EVF of the following form:

( ) ( ) Its interpretation stands as follows: "it is always true ( operator) that if s i is the current state (and therefore s i is true) and e j is true, then the next state ( operator) will be s j (s j will be true), and the current output propositional variable u i becomes true". The list of all the EVFs gives a symbolic and equivalent description of the behavior of an eISM model. Similarly, a Unified Valid Formula (UVF) is computed by taking EVFs into consideration. Briefly, the concept of Temporal Event (E t, ) describes possible effects of an eISM model evolution. E t can either be a future state (E t = s i ), a future state within n-time steps (E t = n s i ), a future output propositional variable (E t = u i ), or a future output propositional variable within n-future steps (E t = n u i ). A Unified Valid Formula (UVF) defines then conditions that must be satisfied for the occurrence of a temporal event E t :

( ) ⋁ ( ) ( )
Its interpretation stands as follows: "next temporal event E t (respectively state S j or update function u i ) is reachable if and only if at least one of the proposed conditions is verified". So the calculation of UVFs consists in manipulating the set of EVFs. For instance, let's consider the following EVF formulas:

-

( ) ( ) - ( ) ( ) The UVF(E t ) when E t = s j is then noted: - ( ) ( ) (
) whose interpretation is: "s j will be active in the next step ( s j is true), either if (

) is true or if (

) is true". 2) Formal properties: coherence between the formal specification and the "to be checked" formal properties is necessary. Therefore, properties should also be specified using the LTL. As an example, the state determinism hypothesis "at a given time step, there is one and only one current state" can be specified as the following LTL formula:

( ) * + . 3) Tool: An adequate model checking tool is under construction considering the survey of [START_REF] Rozier | Linear temporal logic symbolic model checking[END_REF] on the formal verification technique of LTL symbolic model checking. As an example of LTL formulas checking mechanisms, let's introduce Temporal Boolean Difference (TBD) mechanism (Larnac andal., 1997 -Vandermeulen and[START_REF] Vandermeulen | The temporal boolean derivative applied to verification of extended finite state machine[END_REF] inspired by [START_REF] Kohavi | Switching and Finite Automata Theory[END_REF]. This mechanism is applied on a UVF with respect to a current state or a firing condition propositional variable, composing them into a Derived Valid Formula (DVF):

( ) ( ) ( | ) ( | )
The result of an evaluation of ( ) can either be: False -UVF(E t ) is independent of x. In other words, the change of value of x has no influence over the occurrence of E t . Not Falsein this case, we obtain a LTL formula which expresses the sensitivity of UVF(Et) with respect to the changes of x.

CASE STUDY

We demonstrate here the construction of a new toy xviDSML, called WaterDistrib for modeling water storage and distribution systems using our approach xviCore. A model created by WaterDistrib is illustrated in Fig. 4 and simulated using the dynamic semantics of WaterDistrib allowing experts to observe the changing water level. It is composed of a water tank, a water-source that is connected to the tank with pipes and a control station. A house is supplied with water thanks to the tank. There are valves on each of the pipes, controlled (opened or closed) by a control station, based on the water request and the water level inside the tank. The behavior of the concept Valve is composed of four states: Closed, Opening, Opened and Closing as illustrated in Fig. 6. A valve is initially Closed, not providing any water flow (update closed is activated, see Table 1), awaiting a request to open itself. When the open request arrives, the update opening is activated (see Table 1) and the valve enters Opening state. Once the valve's water flow reaches its maximum value, the update open is activated (see Table 1) and the valve enters Opened state. Now the valve awaits a request to close itself. When the close request arrives, the update closing is activated (see Table 1) and the valve enters Closing state. As soon as the valve's water flow reaches 0, the update closed is activated and the valve enters its initial Closed state. The behavior of the concept ControlStation is composed of three states: Mode1, Mode2 and Mode3 as illustrated in Fig. 7. A control station is initially in the Mode1 state, filling the tank (update filling is activated, see Table 2) awaiting water request. When the request arrives and if there is a sufficient water level in the tank, the filling-empting update is activated (see Table 2) and the control station enters Mode2 state. If the tank is empting faster than filling, when its current water level reaches the critical min level, the control station enters again Mode1 state, activating the filling update. For the sake of simplicity, the case when the tank is filling faster than empting is not modeled in Fig. 7. When the station is in Mode1 state, if a water request has not yet arrived and the tank reaches its critical max level, the awaiting update is activated (see Table 2). The control station enters Mode3 state, waiting for a water request. The request arrival activates the filling-empting update and the control station enters Mode2 state. The next phase consists of checking dynamic semantics for well-constructiveness. For this purpose, the formal underlying structure of the eISM behavioral models should be developed, as illustrated in Fig. 8. At the upper side of the figure the states, updates and firing conditions are specified, along with their corresponding propositional variables. Using these variables allows the specification of EVFs that are furthermore used for the specification of the UVFs. In the same way, one can specify the formal underlying structure of any eISM model.

Concerning formal properties, let's consider the transition exclusion hypothesis: "at any given time step, for the current active state (which must be unique), there is one and only one output transition that can be fired". In other word, all firing condition of output transitions of any state from the PC, are to be exclusive, modelled as:

{ | ( ) ( ( ) )} ⌈ . / ⌉
Finally, an adequate model-checker should be used to verify this property on the formal specification.

RELATED WORK

Specifying dynamic semantics in the field of MDE have been a topic of research for quite some time now, resulting with a wide diversity of approaches mainly based either on translational or operational semantics [START_REF] Combemale | Essay on Semantics Definition in MDE. An Instrumented Approach for Model Verification[END_REF].

The main benefit of translational semantics approaches is the reuse of appropriate formal toolsupported target space usually based on Automatalike formalisms. Among the most popular and currently used are: StateMate [START_REF] Harel | Modeling reactive systems with statecharts: the STATEMATE approach[END_REF], Uppaal [START_REF] Larsen | UPPAAL in a nutshell[END_REF], the Finite State Machine (FSM) model of computation of Ptolemy II [START_REF] Lee | Overview of the ptolemy project[END_REF], the Stateflow module in the The MathWorks Simulink framework [START_REF] Bézivin | On the unification power of models[END_REF] and the UML State Machines [START_REF] Schäfer | Model checking UML state machines and collaborations[END_REF]al., 2001 -Harel, 1987). However, in comparison with the proposed approach, several drawbacks are hereafter highlighted. Translational semantics approaches require expertise and knowledge in the chosen target domain and in transformation languages and tools. Demonstrating the relevance between (source and target) concepts and their behaviour remain limited, often impossible, i.e., obtained results are only available in the target spaces, so they should be interpreted back to the source space.

Operational semantics allows the specification of behavior directly on concepts, allowing model simulation and animation, as early as possible with minimum of effort, improving system quality and reducing time-to-market. Action languages can define operational semantics in ad hoc manner, as a set of operations associated to each concept of a DSML. For this matter different types of languages can be used: object-oriented (e.g., Java), aspectoriented (e.g., Kermeta), executable constraint (e.g., xOCL [START_REF] Clark | Superlanguages: developing languages and applications with XMF[END_REF])) or the MOF action language [START_REF] Paige | An action semantics for MOF 2.0[END_REF]. Approaches such as: Xcore (an extension of EMOF/Ecore) [START_REF] Clark | An eXecutable metamodelling facility for domain specific language design[END_REF] or the EPROVIDE framework [START_REF] Sadilek | Using grammarware languages to define operational semantics of modelled languages[END_REF], are also worth mentioning. The latter, for instance, is not related to a single language allowing the choice between Java, Prolog, ASM or QVT. However, in comparison to our approach, they do not follow the basic MDE "everything is a model" principle [START_REF] Bézivin | On the unification power of models[END_REF], providing an implementation of the behavior, instead of an explicit specification. This principle leverages the use of modeling languages for the specification of behavior, named behavioral modeling languages. Among the commonly used are Statechart or Finite Automata. But, as previously discussed, there is a gap between the technical spaces related to such languages and the MDE that can be bridged by using transformation techniques. Alternative approaches bridge this gap by integrating a behavioral modeling language with a metamodeling language into a single metamodeling layer promoted at M3. They propose to use various languages to model behavior, Statechart in [START_REF] Douglass | Real time UML[END_REF], UML activities in [START_REF] Scheidgen | Human comprehensible and machine processable specifications of operational semantics[END_REF] or fUML in [START_REF] Mayerhofer | xMOF: Executable DSMLs based on fUML[END_REF]) and introduce dedicated virtual machines for simulation. These approaches allows to execute (even partial) models, to test them for correctness as early as possible with very little effort, eliminating the need to manually write source code for the model means, removing consequently developer coding defects and thereby improving system quality and reducing time-to-market. However, in comparison to the proposed approach, they are not adapted for formal verification of defined behavior.

CONCLUSION AND OUTLOOK

The presented contribution illustrates an original, formal and tool-equipped approach named xviCore for verification and simulation purposes of DSML and models.

xviCore provides the means for expressing dynamic semantics using formal behavioral modeling language, i.e., an extended version of the interpreted sequential machine (ISM), named eISM. eISM is integrated with the metamodeling language EMOF, based on the blackboard design pattern. The resulting executable metamodeling language is promoted to the M3 layer. The approach also supports several formal verification techniques for dynamic semantics based on the Linear Temporal Logic (LTL) and the Temporal Boolean Difference.

Other contributions remain still a subject of a debate. To prove the scalability of the approach, we are currently working on a more complex case study applied in the field of Systems Engineering. Our goal is to provide a framework for Systems Engineering composed of several interconnected languages. In addition, we aim to integrate xviCore with a formal property modeling language, initially proposed in [START_REF] Chapurlat | UPSL-SE: A model verification framework for Systems Engineering[END_REF], allowing the specification of structural and behavioral properties for an xviDSML. At a final stage, we aim at integrating a behavioral modeling language based on continuous hypotheses.

Figure 1 :

 1 Figure 1: An overview of xviCore.

  Figure 2: xviCore -in red (a part of) EMOF, in white eISM and in gray the design blackboard pattern.LT is a set of "lifetime" variables, indicating the remaining time before updating messages. C is a set of "content" variables carried out by the messages. S is a set of "sender" variables specifying the behavioral model that sent the message and * + is a set of "receivers" variables indicating the behavioral models that read the message: * +. 3) Concept is the core component of xviCore represented using the EMOF's EClass. It is used to model domain concepts for which a behavioral model might be specified. It does not correspond to any component of the blackboard design pattern. We have chosen EMOF's EClass mainly for two reasons: (1) EMOF and its realization Ecore are standardized by the OMG and (2) it is supported by tools such as Eclipse-EMF under the Eclipse Public License.4) Behavioral model represents the behavior of a domain concept instance of EClass. It corresponds to the "autonomous processes" module of the blackboard design pattern. Behavioral models are designed using a behavioral modeling language based on continuous or discrete events hypotheses. In this article, we focus on discrete behavioral description, for which we hereafter introduce eISM an extended version of the Interpreted Sequential Machine[START_REF] Vandermeulen | Machine Séquentielle Interprétée[END_REF]. eISM behavioral models operate with typed data and expressions, separating the states/transitions description from the

Figure 3 :

 3 Figure 3: The components (modules) of an eISM model. The CP is a graph of states and transitions. The DP holds the model data. The II interprets input data (gathered into the set I) available in the Blackboard (BB) and model data from the DP. Interpreted data takes part in the firing conditions that are associated with each transition of the CP, consequentially taking part in the CP's evolution. The OI is an

Figure 4 :Figure 5 :

 45 Figure 4: a WaterDistrib modelan example of a water storage and distribution system. We propose in Fig. 5 a metamodel for WaterDistrib composed of three principle concepts: WaterTank, Valve and ControlStation. The red ovals represent the eISM behavioral models of each of the concepts as discussed hereafter.

Figure 6 :

 6 Figure 6: Behavioral model associated to the class Valve.

Figure 7 :

 7 Figure 7: eISM behavioral models associated to the class Control Station.

Figure 13 :

 13 Figure 13: The underlying formal structure of the eISM behavioral models associated to the class Valve.

Firing

  opening: u 1 opened: u 2 closing: u 3 closed: u 4 {waterFlow==0, open}: e 1 {waterFlow>maxWaterFlow, /}: e 2 {waterFlow==maxWaterFlow, close}: e 3 {waterFlow<0, /}: e 4 Closed: s 1 Opening: s 2 Opened: s 3 Closing: s 4

  is the set of output data that is sent to the BB by the OI. Each output o i is defined by a current value cvalue i , a domain definition O i and a type O i ', such as O i ⊆ O i '. By hypothesis, there is a unique state s i that is active each moment of the evolution. When the state s i is active (otherwise inactive), the propositional variable associated to that state i.e., s i = True (False otherwise). In addition, firing condition propositional variables, e j E, evaluate to True if an only if the corresponding firing condition function e j computed by II returns True. DP's data elements, from both LD and ID sets, are defined by a current value cvalue, a domain definition DP and a type DP' such that DP ⊆ DP'.e) The II (Inputs Interpreter) reads data (input data from the BB and model data from the DP) and based on it, evaluates the firing condition propositional variables that are associated with transitions of the CP. It is formally defined as 5-The evaluation of update functions impacts on the model data from the DP and on the output data that is send to the BB. The OI is illustrated on Fig.7and is formally defined as

	c) The CP (Control Part), is defined as a graph of states related by labeled transitions and formally defined as a 5-uplet 〈 〉 where: * + is a set of states, * + is a set of state propositional variables, { } is a set of transitions, { } is a set of firing condition propositional variables and { } is a set of update propositional variables. Transitions are given in the following form [( ) ( )]. A transition can be fired by the transition function if and only if, the transition's firing condition propositional variable e i evaluates to true and the source state of the transition is an active state. Firing a transition activates the output function . As a consequence to these two functions, the source state of transition is deactivated, its target state is activated and the corresponding update propositional variable is set to True. d) The DP (Data Part) holds the model data that is used to specify transitions' firing condition functions E and update functions U. It is formally defined by a 2-uplet 〈 〉 where: * + is a set of language data directly derived from the corresponding DSML class and * + is a set of internal (to the eISM model) data, explicitly needed for the description of firing condition and update functions. uplet a set of firing condition functions and 〈 〉 where { * + is a set of firing condition propositional } is variables. Firing condition functions are composed of a Boolean expression part (evaluated using input and model data) and a requested events part (evaluated using only input data), formally defined as: * +. The firing condition function evaluates to True, if both parts compute to True, False if at least one computes to False. Every firing condition propositional variable is associated with a firing condition function. This is formally defined as * + and , -, ( ). f) The OI (Outputs Interpreter) associates the update propositional variables with the corresponding update functions. a 6-uplet 〈 〉 where { } is a set of update propositional variables and { } is a set of updates. Each update might be associated with three types of update functions: update functions for output data , update functions for language data and update functions for internal data . When an update propositional variable is set to true, the corresponding update is activated, executing simultaneously all associated update functions.

Table 1 :

 1 Valve's updates.

	Update	Language Data
	closed	waterFlow=0
	opening	waterFlow+=increasingRate
	opened	waterFlow=maxWaterFlow
	closing	waterFlow-=decreasingRate

Table 2 :

 2 Control Station's updates.

	Update	Output Data
	filling	Outputs.set(waterTank.inputValve, Open) Outputs.set(waterTank.outputValve, Close)
	filling-	Outputs.set(waterTank.inputValve, Close)
	empting	Outputs.set(waterTank.outputValve, Open)
	awaiting	Outputs.set(waterTank.inputValve, Close) Outputs.set(waterTank.outputValve, Close)