Michel Coste

Seydou Moussa

On the rationality of the singularity locus of a Gough-Stewart platform -biplanar case

Keywords: Gough-Stewart platform, parallel singularities, cubic surface

We propose to study the singularity locus of a Gough-Stewart platform as a surface defined over the field of rational functions on the the group of rotations. From the geometric properties of this surface we deduce, in the generic biplanar case, a rational parametrization and a family of parallel planes cutting the surface in the conics of a linear pencil, which are uniform for all generic orientations.

Introduction

The aim of this paper is to contribute to the study of the singularity locus of a Gough-Stewart platform, which is a hypersurface Sing ⊂ SE(3) in the 6dimensional group of motions in 3-space. This is a subject which has been addressed in many papers such as [START_REF] Dasgupta | The Stewart platform manipulator: a review[END_REF][START_REF] Cao | Orientation-Singularity and Nonsingular orientation Workspace Analysis of the 6-6 Stewart Manipulator[END_REF][START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF][START_REF] Karger | Stewart-Gough platforms with simple singularity surface[END_REF][START_REF] Nawratil | Results on Planar Parallel Manipulators with Cylindrical Singularity Surface[END_REF][START_REF] Borràs | Singularity-Invariant Leg Rearrangements in Stewart-Gough Platforms[END_REF][START_REF] Nawratil | Stewart Gough platforms with non-cubic singularity surface[END_REF][START_REF] Shanker | Singular Manifold of the General Hexagonal Stewart Platform Manipulator[END_REF][START_REF] Doyon | A frame-independant vector expression of the singularity locus of the Gough-Stewart platform[END_REF]. We consider in this paper the biplanar case, when the base and the platform are general planar hexagons. In particular, we address the problem of the rational parametrization of Sing.

It is mentioned in the review [START_REF] Dasgupta | The Stewart platform manipulator: a review[END_REF] that A complete description and characterization of the singularities would be to parametrize the entire singularity hypersurface(s) in the task-space (6D in the case of the Gough-Stewart platform). . . . Such a description is extremely difficult for the Gough-Stewart platform and, to the best of the authors' knowledge, no such work has been reported till now.

We do not know whether such a parametrization will actually prove to be useful. However, the mathematical study with tools of classical algebraic geometry that we use gives new insights on the geometry of the singularity locus Sing.

It is well known (see for instance [START_REF] Doyon | A frame-independant vector expression of the singularity locus of the Gough-Stewart platform[END_REF]) that, if the orientation R ∈ SO(3) of the platform is fixed so that only translational part of the motion is left, then the singularity surface Sing R in R 3 is a cubic surface. When we let R vary in SO [START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF], we obtain a family of cubic surfaces (Sing R ) R∈SO(3) parametrized by SO [START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF], whose total space is Sing. From the algebro-geometric point of view, this gives a cubic surface Σ defined over the field R(SO(3)) of rational functions on SO(3) (this is the field generated over R by the coefficients R i,j of rotation matrices). The coefficients R i,j are not, of course, independant variables, but the field R(SO [START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF]) is isomorphic to the field of rational function in three variables R(u, v, w) (this can be seen using Cayley parametrization for rotations). The main part of this article is devoted to the study of the surface Σ. The reason for studying Σ is that a property satisfied by Σ is also satisfied by the surfaces Sing R for generic orientation R, i.e. for all orientations R outside a proper algebraic subset of SO [START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF].

In Section 2 we fix the notations and establish the equation of the singularity locus Sing in SE(3) for a general Gough-Stewart platform. The material in this section is already well known for the most part (see for instance [START_REF] Doyon | A frame-independant vector expression of the singularity locus of the Gough-Stewart platform[END_REF]). However, the fact that the equation has degree 3 in the coefficients of the rotation matrix seems to be new.

From Section 3 onwards, we deal only with biplanar Gough-Stewart platforms. Section 3 is devoted to the study of the points at infinity of Σ. These points correspond to no actual pose of the platform, but they are responsible for remarkable geometric properties of the singularity surface. We prove that the part at infinity of Σ is the union of three lines, two of which are the lines at infinity of the base plane and the mobile platform plane. We prove also that, for a generic architecture, the intersection of the latter two lines is the unique singular point of Σ (more exactly, of its projective closure). We illustrate these facts with an example.

In Section 4 we use the singular point at infinity of Σ to obtain a rational parametrization of Σ with two parameters and coefficients in R(SO [START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF]). This in turn gives a rational parametrization of the singularity hypersurface Sing in SE(3) with five parameters and real coefficients. We also show that there is a family of parallel planes cutting Σ in the conics of a linear pencil (this is different from the result in [START_REF] Shanker | Singular Manifold of the General Hexagonal Stewart Platform Manipulator[END_REF] where the conic sections do not belong to a linear pencil). We continue the example to illustrate these properties.

Notations, and equation for the singularity locus

We consider in this section a Gough-Stewart platform with an arbitrary architecture. For i = 1, . . . , 6, we denote by A i the anchor point of the i-th leg on the base and by B i the anchor point on the mobile platform in the initial pose. We assume

A 1 = B 1 = (0, 0, 0) T .

Equation of the singularity locus in SE(3)

We recall the derivation of the equation of the singularity hypersurface, mainly in order to fix notation. The computaton is very similar to the one in [START_REF] Doyon | A frame-independant vector expression of the singularity locus of the Gough-Stewart platform[END_REF]. The group SE(3) of rigid motion in 3-space acts on the mobile platform by the transformation X → R X + P where R is the rotation matrix and P = (x, y, z) T is the translation vector. So the coordinates of anchor points on the mobile platform are, after motion, RB i + P for i = 1 . . . 6.

The Plücker coordinates of the legs are 6-dimensional vectors whose first three coordinates are R B i + P -A i and last three coordinates (the moment with respect to the origin)

A i × (R B i + P -A i ) = A i × R B i + A i × P . (1)
Since A 1 = B 1 = 0, the Plücker coordinates of the first leg are given by P and (0, 0, 0) T . For i = 2, . . . , 6 we set

E i = R B i -A i and F i = A i × R B i .
It is well known and explained in [START_REF] Merlet | Parallel Robots[END_REF] that the Gough-Stewart platform is in a singular configuration if and only if the Plücker coordinates of the six legs are linearly dependant. This is expressed by the vanishing of the 6 × 6 determinant of the matrix whose columns are the Plücker coordinates of the legs. This determinant is

J = det P E 2 + P . . . E 6 + P 0 F 2 + A 2 × P . . . F 6 + A 6 × P (2)
By subtracting the first column from the following ones, we obtain

J = det P E 2 . . . E 6 0 F 2 + A 2 × P . . . F 6 + A 6 × P (3)

Degree of the equation

Theorem 1 The singularity locus Sing in SE(3) has an equation which is of degree 3 with respect to P and also of degree 3 with respect to R. Moreover, the homogeneous part of degree 3 with respect to P of the equation is of degree 2 with respect to R.

Proof: First, we proceed to show that the degree of J w.r.t. P is 3. In order to do that, we write the i-th column (for i ≥ 2) as the sum

E i F i + 0 A i × P and
develop the determinant J using multilinearity. Notice that any three vectors 0 A i × P , 0 A j × P and 0 A k × P are linearly dependant since they are all orthogonal to P (or all 0 if P is 0). So we obtain actually

J = det(L) + 6 i=2 det(M i ) + 2≤i<j≤6 det(N i,j ) , (4)
where

• L = P E 2 . . . E 6 0 F 2 . . . F 6 , • M i (for 2 ≤ i ≤ 6) is the matrix whose first column is P 0 , i-th column is 0 A i × P
and all other columns are E k F k

• N i,j (for 2 ≤ i < j ≤ 6) is the matrix whose first column is P 0 , i-th and j-th columns are 0 A i × P and 0 A j × P and all other columns are

E k F k .
We remark that det(L) is a homogeneous polynomial of degree 1 in P , every det(M i ) is a homogeneous polynomial of degree 2 in P and every det(N i,j ) is homogeneous of degree 3 in P . Hence altogether J is a polynomial of degree at most 3 in P (this is rather well known and can be found for instance in [START_REF] Doyon | A frame-independant vector expression of the singularity locus of the Gough-Stewart platform[END_REF]). Now we determine the degree of J w.r.t. R. We develop the expression of J in equation ( 3) by writing each colum

E i F i + A i × P as E i 0 + 0 F i + A i × P
and using multilinearity. We express the result using mixed products [U, V, W ] = (U × V ) • W . We have

J = 2≤i<j≤6 (-1) i+j-1 [P, R B i -A i , R B j -A j ] [A ij 1 × R B ij 1 + G ij 1 , A ij 2 × R B ij 2 + G ij 2 , A ij 3 × R B ij 3 + G ij 3 ] , (5)
where ij 1 < ij 2 < ij 3 are the indices between 2 and 6 except i and j and G k = A k × P . When we develop the mixed product [P, R B i -A i , R B j -A j ] using multilinearity, we always get expressions of degre ≤ 1 w.r.t. R. The only non-obvious case is dealt with

[P, R B i , R B j ] = [R -1 P, B i , B j ] = [R T P, B i , B j ] ,
using the fact that rotation matrices preserve the mixed product. Similarly, when we develop

[A k × R B k + G k , A ℓ × R B ℓ + G ℓ , A m × R B m + G m ]
using multilinearity, we always get expressions of degree ≤ 2 w.r.t. R. The non-trivial case is dealt with

[A k × R B k , A ℓ × R B ℓ , A m × R B m ] = (A k × R B k ) × (A ℓ × R B ℓ ) • (A m × R B m ) = [A k , R B k , R B ℓ ] [A m , R B m , A ℓ ] -[A k , R B k , A ℓ ] [A m , R B m , R B ℓ ] = [R T A k , B k , B ℓ ] [A m , R B m , A ℓ ] -[A k , R B k , A ℓ ] [R T A m , B m , B ℓ ] . (6)
So we have shown that the degree of J with respect to R is at most 3; it is actually 3. We now deal with the homogeneous part J inf = 2≤i<j≤6 N i,j of J of degree 3 with respect to P (the reason for the notation J inf will be clear in the next section). We develop J inf in the same way as we did for Equation ( 5) and so J inf is the sum of products

[P, RB k1 -A k1 , RB k2 -A k2 ] [A i × P, A j × P, A k3 × RB k3 ]
(with signs). We have already seen that the first mixed product is of degree at most 1 with respect to R, and the second mixed product is homogeneous of degree 1 with respect to R. It follows that J inf has degree at most 2 with respect to R.

Cayley parametrization for rotation matrices

Let A =   0 -w v w 0 -u -v u 0   be a skew-symmetric matrix. Since 1 is not an eigenvalue of A, I -A is invertible. The matrix R = (I + A)(I -A) -1 is a rotation matrix R(u, v, w) = 1 ∆   1 + u 2 -v 2 -w 2 2(u v -w) 2(u w + v) 2(u v + w) 1 -u 2 + v 2 -w 2 2(v w -u) 2(u w -v) 2(v w + u) 1 -u 2 -v 2 + w 2   , (7)
where ∆ = 1 + u 2 + v 2 + w 2 . If the vector (u, v, w) T is not the zero vector, it spans the axis of the rotation R. The tangent of the half-angle of the rotation is √ ∆ -1. The Cayley parametrization is a rational parametrization of all rotation matrices, except the half-turns. These half-turns are obtained as limits when u 2 + v 2 + w 2 tends to infinity; alternatively, one can use the homogeneous Euler-Rodrigues parametrization (that is, parametrization with quaternions) with one more variable.

Note that we can recover rationally u, v, w from the rotation matrix R(u, v, w).

Indeed u = R 3,2 -R 2,3 1 + tr(R) , v = R 1,3 -R 3,1 1 + tr(R) , w = R 2,1 -R 1,2 1 + tr(R) , (8)
where

tr(R) = R 1,1 + R 2,2 + R 3,3
. This shows:

Proposition 2 The Cayley parametrization induces an isomorphism between the field R(SO( 3)) of rational functions on SO(3) and the field R(u, v, w) of rational function in three independant variables.

The preceding result says, in algebro-geometric terms, that the variety SO( 3) is a rational variety over R.

We shall need a technical result about Cayley parametrization:

Proposition 3 If a polynomial S in u, v, w is of degree ≤ 2k, then S ∆ k can be expressed as a polynomial of degree ≤ k in R i,j .
Proof: It suffices to check the property for monomials of degree ≤ 2 in u, v, w. We have

1 ∆ = 1 4 (1 + tr(R)) u ∆ = 1 4 (R 3,2 -R 2,3 ) u 2 ∆ = 1 4 (1 + R 1,1 -R 2,2 -R 3,3 ) uv ∆ = 1 4 (R 1,2 + R 2,1 ) (9)
and, by circular permutation, similar formulas for the other momomials of degree ≤ 2.

If we substitute the Cayley parametrization R(u, v, w) for R in J, we obtain a rational function of (u, v, w). Multiplication by ∆ 3 chases the denominators, and we obtain now a polynomial equation in x, y, z, u, v, w for the singularity locus, of degree 3 w.r.t. the translation variables x, y, z and of degree 6 with respect to the Cayley parameters u, v, w.

The cubic surface Σ

We can view the equation J = 0 as an equation in the three variables x, y, z with coefficients in the field R(SO(3)) (or the field R(u, v, w), according to Proposition 2). As such, this is the equation of a cubic surface Σ defined over R(SO(3)). This surface Σ will be the main object of study in the rest of this article. In the language of algebraic geometry, Σ is the generic fiber of the family of surfaces Sing R parametrized by SO(3). The idea is that the properties of Σ will hold uniformly for all Sing R , except over a proper algebraic subset of SO [START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF]. We shall illustrate this in what follows.

The case of a biplanar platform: points at infinity

For the rest of the paper, we consider a Gough-Stewart platform such that the anchor points on the base are in a same plane Π A and the anchor points on the mobile platform are in a same plane Π B (depending on the motion in SE(3), of course). We call it a biplanar Gough-Stewart platform, which we abbreviate as BGSP. We assume that the base plane and the mobile platform plane coincide in the initial pose. We have an orthonormal frame with origin A 0 attached to the base (independant of the orientation R). We denote by (x, y, z) the coordinates with respect to this frame, and we choose it so that the plane Π A has equation z = 0. Let us call this frame the "canonical frame".

We investigate the singularity surface Σ defined over the field R(SO(3)). The key to a better understanding of the geometry of this singularity surface is somewhat hidden: it lies in the consideration of its points at infinity. We denote by Σ h the projective closure of Σ. It is a cubic surface in the projective 3-space over R(SO(3)). Its homogeneous equation, in the homogeneous variables x, y, z, t, is given by the homogeneization of J:

J h (x, y, z, t) = t 3 J x t , y t , z t . ( 10
)
The plane at infinity is the plane t = 0, and the points at infinity of Σ h are the points with homogeneous coordinates (x, y, z, 0) such that J h (x, y, z, 0) = 0, Note that J inf (x, y, z) = J h (x, y, z, 0) is the homogeneous part of degree 3 of J(x, y, z).

Points at infinity of the singularity surface Σ

The remarkable properties of the points at infinity of Σ h are described by the following theorems.

Theorem 4 The intersection of the projective singularity surface Σ h with the plane at infinity is the union of three lines, which are:

• the line at infinity of the base plane Π A , with equations t = 0, z = 0 ;

• the line at infinity of the mobile platform plane Π B , with equations

t = 0, R 1,3 x + R 2,3 y + R 3,3 z = 0 ;
• another line at infinity with equations

t = 0, C 1 (R) x + C 2 (R) y + C 3 (R) z = 0 ,
where C 1 , C 2 , C 3 are polynomials of degree at most 1 in the coefficients of the rotation matrix R.

These three lines are defined over R(SO(3)).

Proof: We homogenize the equation ( 4) of the singularity surface Σ with the homogeneization variable t in order to obtain the equation of the projective closure Σ h :

J h = t 2 det(L) + t 6 i=2 det(M i ) + 2≤i<j≤6 det(N i,j ) . (11)
The plane at infinity is the plane t = 0, hence the intersection of Σ h with the plane at infinity is given by

J inf = 2≤i<j≤6 det(N i,j ) = 0 (12)
We have already seen that J inf is the sum (with signs) of products of mixed products [P, E k1 , E k2 ] [A i × P, A j × P, F k3 ]. If z = 0, the third coordinates of A i , A j and P are all zero and it follows that A i × P and A j × P are collinear. Hence the mixed product [A i × P, A j × P, F k3 ] vanishes and J inf = 0. This proves that z divides J inf . Recall that z = 0 is the equation of the plane of the base.

Since the base and the mobile platform have symmetric roles in the analysis of singularities, we conclude that J inf is also divisible by R 1,3 x + R 2,3 y + R 3,3 z which is the equation of the direction of the plane of the mobile platform. So we have found two linear factors of the cubic form J inf over R(SO(3)). Hence J inf factors as

J inf (x, y, z) = z (R 1,3 x + R 2,3 y + R 3,3 z) (C 1 (R) x + C 2 (R) y + C 3 (R) z) , (13)
where the C i (R) belong to R(SO(3)). Since the R i,j are not independant variables we must take care in the discussion of the degree and use the independant variables u, v, w. We have seen that J inf has degree at most 2 with respect to R i.e ∆ 2 J inf has degree at most 4 with respect to u, v, w. Since R 1,3 x + R 2,3 y + R 3,3 z multiplied by ∆ has degree 2 in u, v, w, we obtain that ∆ C i (R) has degree at most 2 in u, v, w. By Proposition 3, C i of degree at most 1 in R i,j . The theorem is proved.

Theorem 5 The point P 0 , which is the point at infinity intersection of the line at infinity of the base plane Π A with the line at infinity of the mobile platform plane Π B , is a singular point of the projective singularity surface Σ h . This singular point is defined over R(SO(3)) and has homogeneous coordinates (R 2,3 , -R 1,3 , 0, 0). It is the only singular point of Σ h for a generic BGSP.

Proof: We prove the theorem by brute force, computing J in a direct orthonormal frame different from the canonical frame, with the aid of a computer algebra software. This frame has origin A 0 and basis ( i, j, k) such that the first vector i gives the common direction of Π A and Π B and the first two vectors i, j generate the direction of the base plane Π A . Specifically, the normal to the base plane is directed by k = (0, 0, 1) T and the normal to the mobile platform plane is directed by the third column of the rotation matrix R, say n B (R) = (R 1,3 , R 2,3 , R 3,3 ) T . So we can take

i = 1 n B × k n B × k = 1 √ N (R 2,3 , -R 1,3 , 0) T , (14)
j = 1 √ N (R 1,3 , R 2,3 , 0) T , (15)
where

N = (R 2 1,3 + R 2 2,3
) is a non-zero element of the field R(SO(3)). So this orthonormal frame is actually not defined over the field R(SO(3)), but on its extension R(SO(3))[

√ N ] by the square root of N . Note that the direction of the plane Π B is generated by i and n B × i = R 3,3 j -√ N k. We have R 2 3,3 + N = 1, and we set c = R 3,3 , s = -√ N for short. In this chosen frame, the points A i have coordinates (λ i , µ i , 0) T and the points RB i have coordinates (ν i , c ρ i , s ρ i ) T for i = 2, . . . , 6 (all λ i , µ i , ν i , ρ i are actually elements of the field R(SO(3))[

√ N ] which we do not make explicit). We denote by (x ′ , y ′ , z) the coordinates of P in this frame. We compute J according to formula (3), keeping λ i , µ i , ν i , ρ i , c, s variable, and homogenize the result with respect to x ′ , y ′ , z to J h with homogeneization variable t.

The point P 0 has homogeneous coordinates (x ′ , y ′ , z, t) = (1, 0, 0, 0) with respect to the chosen frame. The computation shows that the four partial derivatives (with respect to x ′ , y ′ , z, t) of J h all evaluate to 0 at this point. This implies that P 0 is a singular point of the projective cubic surface Σ h . Since the lines at infinity of Π A and Π B are defined over R(SO(3)), this is also the case for their intersection point P 0 ; we can take (R 2,3 , -R 1,3 , 0, 0) as homogeneous system of coordinates for P 0 in the canonical frame.

In order to prove that P 0 is the only singular point of Σ h for generic BGSP, it is sufficient to prove this in an example, for the projective closure Sing h R of the singularity surface Sing R for a chosen orientation R. Indeed the set of R ∈ SO(3) for which Sing h R has more singular points (real or complex) than just P 0 (R) is an algebraic subset of SO [START_REF] Pernkopf | Workspace analysis of Stewart-Goughtype parallel manipulators[END_REF]. It suffices to show that this algebraic subset is a proper subset in order to conclude that generically Sing h R has no other singular point than P 0 (R), which means that Σ h has no other singular point than P 0 . We shall check this fact in the example of the next subsection.

We have proved that Σ h is, for a generic BGSP, a cubic surface with a unique singular point. Actually it corresponds to the second of the twenty three cases of cubic surfaces in the classification contained in the memoir of A. Cayley [START_REF] Cayley | A Memoir on Cubic Surfaces[END_REF]. Indeed it can be checked that the unique singular point has a nondegenerate tangent cone.

An example

We compute an example with A 1 = (0, 0, 0), We perform the computation using a rotation matrix with coefficients R i,j with 1 ≤ i, j ≤ 3.

A 2 = (1, -1, 0), A 3 = (2, 0, 0), A 4 = (2, 1, 0), A 5 = (1, 1, 0), A 6 = (0, 1, 0), B 1 = (0, 0, 0), B 2 = (1, -1, 0), B 3 = (2, -1, 0), B 4 = (3, 0, 0), B 5 = (2, 1, 0), B 6 = (1, 1, 0) (see Figure 1, left).
The computation of the equation J of the surface of singularities as explained in subsection 2.2 gives us a polynomial of degree 3 in the position variables x, y, z and also of degree 3 in the orientation coefficients R i,j . The homogeneous part J inf of degree 3 with respect to x, y, z of J factors as the product of three linear forms, as proved in Theorem 4:

J inf = z × R 1,3 x + R 2,3 y + R 3,3 z × (R 3,2 -2R 3,1 )x + 2(R 3,2 + R 3,1 )y + (2R 1,1 -2R 2,1 -2R 2,2 -R 1,2 )z ( 16
)
The first two factors correspond to the direction of the base plane Π A and of the mobile platform plane Π B . The remaining part of J is a polynomial of degree 2 with respect to x, y, z, without constant term, whose coefficients are polynomials of degree 3 in the R i,j . If we evaluate at the following rotation matrix, corresponding to Cayley parameters u = 1, v = 1, w = -3/2 (and to the orientation of Figure 1, left): The surface is represented in Figure 1, right. We look for singular points of the projective closure of this cubic surface, using a computer algebra software. We find that the only singular point is the point with homogeneous coordinates (-5, 1, 0, 0), that is the point P 0 of Theorem 5. The fact that there is no other singular point finishes the proof of Theorem 5.

R = 1 21   -5 20 -4 -4 -5 -20 -20 -4 5   , (17)
4 Rational parametrization and pencil of conics 4.1 Rational parametrization in the biplanar case Theorem 4 establishes that the homogeneous part of degree 3 of J(x, y, z) factors into the product of three linear forms

L 1 = z, L 2 = R 1,3 x + R 2,3 y + R 3,3 z and L 3 = C 1 (R)x+C 2 (R)y +C 3 (R)z
where the coefficients C i (R) are polynomials of degree 1 in the coefficients of the rotation matrix R. We perform a linear change of variables, defined over the field R(SO(3)), from the variables (x, y, z) to new position variables (p, q, r) by choosing a (non-orthonormal) basis ( e 1 , e 2 , e 3 ) such that (L 1 , L 2 , L 3 ) is the dual basis of ( e 1 , e 2 , e 3 ), i.e. the L i are the coordinate forms in the new basis ( e 1 , e 2 , e 3 ). Concretely we have

  x y z   = Λ -1   p q r   , where Λ =   0 0 1 R 1,3 R 2,3 R 3,3 C 1 (R) C 2 (R) C 3 (R)   . (19)
The i-th line of the matrix Λ is made of the coefficients of the linear form L i . This matrix Λ is invertible over the field R(SO(3)) for a generic BGSP. Indeed, 3)) for a generic BGSP. Substituting x, y, z for their expressions in terms of p, q, r in the equation J(x, y, z) of Σ, we obtain an equation J(p, q, r) of degree 3 in the variables p, q, r, whose coefficients are elements of R(SO(3)), i.e. rational functions in the R i,j .

det(Λ) = R 1,3 C 1 (R)-R 2,3 C 2 (R) is a non zero element of R(SO(
According to the choice of the new variables p, q, r, the homogeneous part of degree three of the equation J(p, q, r) is simply the product pqr. It can be written as J(p, q, r) = pqr + Q(p, q, r) + S(p, q, r)

where Q is a quadratic form and S a linear form both with coefficients in R(SO(3)) (there is no constant term since the origin belongs to Σ). The following theorem gives a rational parametrization of Σ in a simple form.

Theorem 6 The equation J(p, q, r) of the singularity surface Σ can be written as J(p, q, r) = r Γ 1 (p, q) + Γ 0 (p, q)

where Γ 1 (p, q) and Γ 0 (p, q) are polynomial of degree 2 with coefficients in R(SO(3)) (i.e. rational functions of the R i,j ). Moreover, the quadratic part of Γ 1 is pq.

Hence, the surface Σ has the rational parametrization r = -Γ 0 (p, q)/Γ 1 (p, q) over R(SO(3)).

Proof: Considering the expression of J written in (20), it suffices to prove that the coefficient Q 3,3 of r 2 in the quadratic form Q(p, q, r) is zero. This will turn out to be a consequence of the existence of a singular point at infinity of the projective surface Σ h . The homogeneous equation of this projective surface, in the homogeneous coordinates (p, q, r, t), is written as Jh (p, q, r, t) = pqr + Q(p, q, r) t + S(p, q, r) t 2 .

The singular point described in Theorem 5 has homogeneous coordinates (0, 0, 1, 0) in the new system of coordinates (according to the choice of p, q, r). Hence, all partial derivatives of Jh (p, q, r, t) must vanish at (0, 0, 1, 0). The value of ∂ Jh /∂t at (0, 0, 1, 0) is precisely the coefficient Q 3,3 of r 2 in Q. Hence Q 3,3 = 0, which proves the theorem.

Corollary 7 Sing ⊂ SE(3) has a rational parametrization with five parameters p, q, u, v, w and coefficients in R.

Proof: The coefficient of R ∈ SO(3) are rational functions of the Cayley parameters u, v, w. Replacing the R i,j with these rational functions of u, v, w in r = -Γ 0 (p, q)/Γ 1 (p, q), we obtain r as a rational function of p, q, u, v, w with real coefficients. Using

  x y z   = Λ -1   p q r
  and replacing the R i,j in Λ -1 with rational expression in function of u, v, w, we obtain x, y, z as rational function of p, q, u, v, w with real coefficients.

Remark that this parametrization is uniformly well defined for all orientations R ∈ SO(3), except those for which det(Λ) = R 1,3 C 1 (R) -R 2,3 C 2 (R) = 0 which form a proper algebraic subset of SO(3) for a generic BGSP . Among these orientations are those for which the plane of the mobile platform is parallel to the base plane (in this case the singularity surface for a generic BGSP is a triple plane), but there are more: those for which the three lines at infinity are distinct and concurrent. In these latter cases, the cubic surface Sing R has still only one singular point at infinity and the tangent cone at this point degenerates in two planes; this is the third case in Cayley's classification [START_REF] Cayley | A Memoir on Cubic Surfaces[END_REF].

Conics on the singularity surface

If a line ℓ is contained in a cubic surface, any plane containing ℓ cuts the cubic surface in the union of ℓ with a conic. Since we have three lines at infinity in the singularity surface Σ h , this gives three families of parallel planes cutting conics on Σ ; indeed, the planes containing a line at infinity form a family of parallel planes having in common this line at infinity. The first family is the family of planes parallel to the base plane Π A , which have equations z = constant (in the x, y, z system of coordinates) or p = constant (in the p, q, r system of coordinates). Since the singular point of Σ h , with homogeneous coordinates (0, 0, 1, 0) in the p, q, r, t homogeneous coordinate system, is a point at infinity of all these planes, the conic cut on Σ by any of these planes has this point as point at infinity; this means that all these conics are hyperbolas with an asymptote parallel to the r-axis of the p, q, r coordinate system. This phenomenon was observed in [START_REF] Shanker | Singular Manifold of the General Hexagonal Stewart Platform Manipulator[END_REF], without a complete theoretical justification. It follows also from the general theory of cubic surfaces (see for instance [START_REF] Cayley | A Memoir on Cubic Surfaces[END_REF]) that there are five planes through the line at infinity z = t = 0 (or p = t = 0) for which the intersection with Σ h is a union of 3 lines ; since the plane at infinity of the projective space is one of them, there are four planes z = constant cutting the singularity surface Σ in two lines, with one of these lines parallel to the r-axis. This confirms the observation made in [START_REF] Shanker | Singular Manifold of the General Hexagonal Stewart Platform Manipulator[END_REF]. For a general choice of the orientation R, two of four (not zero) of these planes may be real.

The second family is the family of planes parallel to the platform plane Π B , which have equations R 1,3 x + R 2,3 y + R 3,3 z = constant (in the x, y, z system of coordinates) or q = constant (in the p, q, r system of coordinates). Due to the symmetry between the base plane and the mobile platform plane, the analysis is exactly the same as for the first family.

The most interesting is the third family, that is the family of planes with equations C 1 (R) x + C 2 (R) y + C 3 (R) z = constant (in the x, y, z system of coordinates) or r = constant (in the p, q, r system of coordinates). According to Theorem 6 and the form of the equation of Σ in the p, q, r coordinates, the sections of Σ by these planes are the conics of the linear pencil of conics in the plane (p, q) generated by the two conics Γ 0 (p, q) = 0 and Γ 1 (p, q) = 0. All conics in this linear pencils are obtained as sections, except the conic Γ 1 (p, q) = 0 corresponding to r = ∞ ; note that this conic is a hyperbola since the quadratic part of its equation is pq. There are three planes r = constant for which the conic degenerates in the union of two lines (the plane at infinity count here with multiplicity 2, so that altogether we have the five planes from the general theory). For a general choice of orientation R, one or three of these planes may be real.

Example continued

We continue with the example of subsection 3.2. The formula 19 specializes as

x = R 2,3 (-2R 2,2 -R 1,2 -2R 2,1 + 2R 1,1 ) -R 3,3 (2R 3,1 -2R 3,2 ) p + (2R 3,1 + 2R 3,2 ) q -R 2,3 r /δ , y = R 1,3 (2R 2,2 + R 1,2 + 2R 2,1 -2R 1,1 ) -R 3,3 (2R 3,1 + R 3,2 ) p + (2R 3,1 -R 3,2 ) q + R 1,3 r /δ , z = p , where δ = R 1,3 (2R 3,1 + 2R 3,2 ) + R 2,3 (2R 3,1 -R 3,2 ) . (21)
Then the rational parametrization of Theorem 6 is:

r = β 2,0 p 2 + β 1,1 pq + β 0,2 q 2 + β 1,0 p + β 0,1 q pq + α 1,0 p + α 0,1 q + α 0,0 , (22)
where the α k,ℓ and β k,ℓ are rational functions of the R i,j with denominator δ. For instance

α 0,1 = (-3R 1,3 R 3,2 R 3,1 -3R 2,3 R 3,1 R 3,2 -2R 2 3,1 R 2,3 + 4R 2 3,2 R 1,3 -R 2 3,2 R 2,3 + 2R 2 3,1 R 1,3 )/δ , (23)
but this is one of the simplest coefficients. Using Cayley parameters u, v, w and chasing denominators, we obtain a parametrization of the same form as ( 22), but with coefficients of degree 8 with respect to u, v, w ; this shows, according to Proposition 3, that the α k,ℓ and β k,ℓ have expressions of degree at most 4 with respect to R i,j . Now we fix an orientation corresponding to Cayley parameters u = 1, v = 1, w = -3/2, as in subsection 3. • to work as much as possible over the field R(SO(3)) in order to obtain results which are uniform for all orientations except a proper algebraic subset of the the group of rotations,

• to use some tools of algebraic geometry such as the consideration of points at infinity or the classical results of the theory of projective cubic surfaces.

As a result of this approach we obtained a uniform rational parametrization of the singularity locus, valid for generic orientations. We also exhibited a uniform family of parallel planes cutting the singularity surface in the conics of a linear pencil.

We plan to use the information obtained on the geometry of the locus of singularities to address other problems such as the number of aspects for a generic biplanar Gough-Stewart platform. We shall also study the geometry of the singularity locus when the Gough-Stewart platform is not assumed biplanar; in this general case, the famous configuration of the 27 lines (see [START_REF] Cayley | A Memoir on Cubic Surfaces[END_REF]) on the surface Σ plays a crucial role.

Figure 1 :

 1 Figure 1: The BGSP and its singularity surface for the orientation of the example

2 +

 2 we get the following equation for the singularity surface, clearing denominators: 21 z (4 x + 20 y -5 z) (-3 x + 4 y + z) + 352 x 2 + 1968 x y + 1040 y 1312 x z -236 y z -2736 z 2 -608 x + 160 y -216 z = 0 (18)

2 .Figure 2 :

 22 Figure 2: Singularity surface in p, q, r coordinates and hyperbolas cut by planes p = const

Figure 3 :

 3 Figure 3: Conics cut by planes r = const form a linear pencil


Amelie Gyrard
email: gyrard@eurecom.fr

Christian Bonnet
email: bonnet@eurecom.fr

Karima Boudaoud
email: karima@polytech.unice.fr

An Ontology-Based Approach for Helping to Secure the ETSI Machine-to-Machine Architecture

Keywords: Security ontologies, Semantic Web, OWL, Internet of Things, ETSI Machine to Machine (M2M), Semantic Web of Things, 2G/GSM, 3G/UMTS, 4G/LTE, Wi-Fi, WLAN, Security Property, Cryptography, Security Protocol, Security Mechanism, Sensor Networks

Securing the Internet of Things, more precisely, the ETSI Machine to Machine (M2M) architecture is a difficult task, since there is a need to secure heterogeneous wireless communications (cellular, wireless, wired), devices (sensor or mobile phone) and applications (programming language, framework, database). In this article, we present the state of the art concerning the security ontologies in various domains (Web, MANET, 2G/GSM, 3G/UMTS, 4G/LTE, Wi-Fi, Intrusion Detection System). Since, most of the existing security ontologies are not published online or do not follow semantic web best practices, we have designed the STAC (Security Toolbox: Attack & Countermeasure) ontology-based security knowledge respecting the semantic web guidelines. The STAC ontology, dataset and application have been designed to help software developers or designers to choose security mechanisms fitting their needs to secure Internet of Things (IoT) applications. STAC is published online (http://sensormeasurement.appspot.com/?p=stac).

I. INTRODUCTION

On the one hand, Internet of things (IoT) combines and connects numerous things to the web such as sensors and mobile phones. IoT is a broader concept than Machine to Machine which means that machines can communicate with each other without human intervention using the network. The ETSI M2M architecture [START_REF] Boswarthick | M2m communications: a systems approach[END_REF] is an European standard composed of: (1) the M2M area networks with M2M devices (sensor, embedded sensor or mobile phone) and M2M network communications, (2) the M2M gateways which store sensed M2M data, and (3) the M2M applications which handle M2M data. Securing the ETSI M2M architecture is a difficult task, since we have to secure heterogeneous wireless communications (cellular, wireless, wired), devices (sensor or mobile phone) and applications (programming language, framework, database).

On the other hand, we found more 24 ontology-based work related to sensor networks, mobile phones, cellular networks, IDS and cryptography. We propose to exploit these security ontologies to build a common semantic-based security knowledge to help software designers to secure the ETSI M2M architecture. Semantic web technologies are more and more used to structure the data on the Web to latter reason about them. Basic languages RDF, RDFS and OWL are mainly used to describe triplets, for example the jamming attack is a attack will be written as following Jamming rdf:type Attack. Such languages enable to describe the notion of hierarchy and enables to define new concepts to describe your own ontology. An ontology is a vocabulary to define main concepts and relationships between them in a specific domain. At the beginning of this work, only five ontologies were published online and did not follow the semantic web guidelines. For these reasons, we build the STAC (Security Toolbox: Attack & Countermeasure) ontology-based security knowledge and semantic web guidelines are complied with. We extend our previous work the STAC ontology [START_REF] Gyrard | The stac (security toolbox: attacks & countermeasures) ontology[END_REF] to build the STAC application used to help software designers or developers to secure the ETSI M2M architecture. The goal of this work is not to propose a protocol for securing IoT but to build a security knowledge base (ontology, dataset, rule) to help designers to secure their M2M applications.

To the best of our knowledge, we are the first work proposing an ontology-based approach to help software designers to secure the ETSI M2M architecture. Further, there is no concrete security solutions in the OneM2M international standard technical specification to help to secure an Internet of Things architecture.

In this article, we firstly present the state of the art concerning the security ontologies in various domains such as sensors, mobile phones, web, cryptography, 2G, 3G, 4G, Wi-Fi and IDS. We explained in section III the limitations of existing security ontologies. We present in section IV our contribution, the STAC (Security Toolbox: Attack & Countermeasure) security knowledge, a hub to combine existing security ontologies according to the semantic web best practices, more precisely, the STAC ontology, the dataset, the prototype implementation and the evaluation. Finally, we conclude the article.

II. EXPLOITING EXISTING SECURITY ONTOLOGIES

In this section, we present the security ontologies related to M2M devices, M2M network communications, M2M applications and M2M data.

A. Secure M2M devices

In this section, we present the security ontologies related to M2M devices, more precisely, sensors, embedded sensors or mobile phones.

1) Security Ontologies for Sensor Networks: We found only two ontologies defining the security concepts for Wireless Sensor Networks. Znaidi et al. [START_REF] Znaidi | An ontology for attacks in wireless sensor networks[END_REF] propose an ontology which defines only the classification of attacks according to the OSI model. They describe neither well-known attacks specific to the transport layer such as desynchronisation, DoS and flooding nor security mechanisms, protocols and key management specific to sensor networks. Kenfack et al. [START_REF] Kenfack | Une ontologie pour la description des intrusions dans les rcsfs[END_REF] define intrusions in wireless sensor networks. They classify vulnerabilities such as shared wireless medium, lack of infrastructure and easy physical accessibility by the intruders. They describe WSNs components (e.g., battery, sensor, radio). Firstly, none of these ontologies mention sensor security mechanisms and security properties. Secondly, these ontologies are not published online.

2) Security Ontologies for Mobile Phones: Beji et al. [START_REF] Beji | Security ontology proposal for mobile applications[END_REF] design a security ontology for mobile applications divided in three sub-ontologies: (1) The Asset-Vulnerability-Threat Ontology (AVTO) to classify the vulnerabilities into three main classes: physical, software and those related to communications, (2) the Mobile Profile Ontology (MPO) and (3) the Defense Mechanism Ontology (DMO) which describes main security and cryptographic mechanisms such as digital signature, locking mechanism, encryption, key management, PKI, access control methods, algorithm and those specific to the mobile field (SIM locking). Vincent et al. [START_REF] Vincent | Privacy protection for smartphones: an ontology-based firewall[END_REF] design an ontology-based firewall to ensure privacy protection for smartphones. They propose two ontologies: the former to represent the Semantic Web Rule Language (SWRL) 1 privacy policies, inspired by the SOUPA framework, and the latter the digital identity on smartphones using well-known ontologies FOAF2 and VCard3 . None of these ontologies are published online. The ontology [START_REF]Security ontology[END_REF] covers the domain of security in the field of mobile applications.

B. Secure M2M network communications

Several security ontologies have been found related to network communication, more precisely, cellular networks (2G, 3G, 4G) and Wi-Fi. They mainly describe security mechanisms in the physical and link OSI model layer.

1) Security Ontologies for Cellular Networks: Neji et al. define an ontology describing the architecture of cellular networks and the associated security mechanisms: Long Term Evolution (LTE)/4G [START_REF] Neji | Roadmap for establishing interoperability of heterogeneous cellular network technologies-1[END_REF], Universal Mobile Telecommunications System (UMTS)/3G [START_REF] Neji | Roadmap for establishing interoperability of heterogeneous cellular network technologies-2[END_REF] and Global System for Mobile Communication (GSM)/2G [START_REF] Neji | Roadmap for establishing interoperability of heterogeneous cellular network technologies-3[END_REF]. Alazeib et al. [START_REF] Alazeib | An ontology for generic wireless authentication data[END_REF] develop an ontology for generic wireless authentication to describe GSM, UMTS and wireless Local Area Network (WLAN) network architecture, more precisely the Wi-Fi technlogy. Authentication mechanisms applied to these technologies are also presented.

2) Security Ontologies for Intrusion Detection Systems: Joshi, Undercoffer et al. [START_REF] Joshi | Linked Data for Software Security Concepts and Vulnerability Descriptions[END_REF] [25] design the Intrusion Detection System ontology with classes such as Vulnerability, Product, Attack properties and Weakness. This ontology is used to convert the National Vulnerability database (NVD) into RDF. They are compliant with Linked Data principle but not Linked Open Vocabularies principles. Tsoumas et al. [START_REF] Tsoumas | An ontologybased approach to information systems security management[END_REF] define security mechanisms such as firewall, antivirus and network protocols. Frye et al. [START_REF] Frye | An ontology-based system to identify complex network attacks[END_REF] design the attach ontology to identify complex network attacks. Salahi et al. [START_REF] Salahi | Predicting network attacks using ontology-driven inference[END_REF] design an ontology to predict networks attacks.

C. Secure M2M applications and M2M data

We present security ontologies describing cryptographic concepts and usual security mechanisms.

1) General Security Ontologies: Souag et al. [START_REF] Souag | Ontologies for security requirements: A literature survey and classification[END_REF] review numerous security ontologies and underline that are not published online but do not explain that most of the existing works do not follow the semantic web best practices. Kim et al. [START_REF] Kim | Security ontology for annotating resources. On the Move to Meaningful Internet Systems[END_REF] create seven ontologies. The main security ontology describes security concepts such as security objectives (e.g. authentication) and network security protocols (e.g., IPSec, SSL). Another ontology describes symmetric and asymmetric algorithms, hash algorithms, key exchange algorithms and digital signatures. Herzog et al. [START_REF] Herzog | An ontology of information security[END_REF] implement four ontologies defining several concepts such as assets, threats, vulnerabilities and security mechanisms. They propose some security mechanisms such as asymmetric and symmetric algorithms that are classified into block cipher or stream cipher. They propose also some secure network communication protocols such as SSL, SSH, VPN, security goals (authentication, integrity, confidentiality) and access control model (RBAC, MAC, DAC). Denker [START_REF] Denker | Owl-s semantics of security web services: A case study[END_REF] [5] create two ontologies called 'security mechanisms' and 'credential'. They propose the notion of security notations to represent security properties such as authentication or confidentiality. They also define different authentication methods: certificate-based, password-based, biometrics (fingerprints, voice) and physical components (e.g., card). MASO [START_REF] Lekhchine | Construction d'une ontologie pour le domaine de la securite : application aux agents mobiles[END_REF] is an ontology written in French and defines symmetric/asymmetric algorithms, hash function, security goals and security mechanisms such as firewall and antivirus. Vorobiev et al. [START_REF] Vorobiev | An ontology-driven approach applied to information security[END_REF] define several ontologies: (1) Security Attack Ontology (SAO), (2) Security Defence Ontology (SDO), (3) Security Asset-Vulnerability Ontology (SAVO), (4) Security Algorithm-Standard Ontology (SASO), and (5) Security Function Ontology (SFO). Evesti et al. [START_REF] Evesti | The design, instantiation, and usage of information security measuring ontology[END_REF] design an ontology de describe and check the age or structure of the password and the authentication level.

2) Security Ontologies for Web Applications: Fenz et al. [START_REF] Ekelhart | Aurum: A framework for information security risk management[END_REF] propose the AURUM framework, an ontology-based security knowledge. They do not classify security mechanisms and attacks according to the technologies. Razzaq et al. [START_REF] Razzaq | Semantic security against web application attacks[END_REF] classify web application attacks such as cookie poisoning, SQL injection, Cross Site Scripting (XSS) and proposed SWRL rules. Huang et al. [?] design an ontologybased malware bahavioral analysis called Taiwan Malware Analysis Net (TWMAN). They define the malware ontology with concepts such as trojan, backdoor, worm.

III. LIMITATIONS OF THE SECURITY ONTOLOGIES

We explain that most of the existing security ontologies cannot be reused since they are not published online or do not follow the semantic web best practices.

A. Lack of unify terms

The main drawback of these ontologies is that they use different names for the same concepts which can confuse a software developer which is not expert in security. For example, we found several terms Goal, SecurityNotation, SecurityObjective in these ontologies for defining the same concept, that we call SecurityProperty to represent Confidentiality, Integrity, Authentication, etc. This is the case for numerous concepts: AsymmetricAlgorithm/PublicKeyAlgorithm, HashFunction/HashAlgorithm, etc.

B. Incomplete Security Knowledge

Most of these ontologies are domain specific, since they are focused on sensor networks, IDS, etc. To design a tool to help software designers to choose security mechanisms to secure IoT applications, we need to gather all of these security knowledge bases. Existing security ontologies are incomplete, they do not:

• Classify both threats and security mechanisms according to the technologies (Sensor, Cellular, Wireless, Web, Machine-to-Machine, etc.)

• Classify attacks and security mechanisms according to the OSI model.

• Indicate security mechanisms prevent threats. • Specify the relationships between security mechanisms and security properties, i.e., the Secure Shell (SSH) satisfies the authentication, integrity and confidentiality properties.

C. Lack of Semantic Web Best Practices

Unfortunately, semantic experts are not aware of semantic web best practices and semantic tools to reference their ontologies or datasets. Most of the existing security ontologies:

• Are not published online.

• Are not linked to existing security ontologies for similar concepts.

• Do not differentiate the ontology and the dataset • Are not referenced on the Linked Open Vocabularies4 catalogue.

D. Summary

The presented ontologies have been created without considering other existing ontologies and cannot be reused since they are not published online or do not follow the semantic web best practices. To facilitate the developer tasks, we create our own ontology, called STAC (Security ToolBox: Attacks & Countermeasure) to unify the terms, to gather security concepts in a same knowledge base and to publish online the security knowledge according to the semantic web best practices.

IV. STAC (SECURITY TOOLBOX: ATTACK & COUNTERMEASURE): THE PROPOSED SEMANTIC-BASED SECURITY APPROACH

We have been inspired by the exiting security ontologies to design an ontology-based security knowledge called STAC (Security Toolbox: Attack & Countermeasure) [START_REF] Gyrard | The stac (security toolbox: attacks & countermeasures) ontology[END_REF] respecting the semantic web guidelines. This security knowledge is a hub to link existing security ontologies [START_REF]Security ontology[END_REF] [15] [START_REF] Lekhchine | Construction d'une ontologie pour le domaine de la securite : application aux agents mobiles[END_REF] published online and has been validated by the semantic web community. The STAC knowledge base enables to link security ontologies together as depicted in the Figure 1.

The purpose of the STAC ontology and dataset is to help developers and project managers to secure the IoTbased applications to ensure 'security by design' from the beginning of the project.

A. Semantic Web Guidelines

We share the lessons learned and remind in this section the semantic web best practices that we acquired through this work for the next designers of security ontologies.

Security experts should share their ontologies, datasets and rules on the semantic web tools.

• Reference domain ontologies on the LOV catalogue 5 [26] and the semantic search engines such as Watson and Swoogle.

• Reference domain datasets on the DataHub project 6 and on semantic search engines such as Sindice 7 .

• Reference domain rules on the Linked Open Rules 8 which is still a work in progress.

1) Semantic guidelines:

• To have your ontology referenced on LOV:

-Share online your ontology -The name of the ontology (namespace) and the location of the ontology are the same (URI deferencable). -Add the metadata descriptions proposed by LOV [START_REF] Vandenbussche | Metadata recommendations for linked open data vocabularies[END_REF] • Follow the semantic web best practices to design your ontology [START_REF] Noy | Ontology development 101: A guide to creating your first ontology[END_REF] and the OOPS project 11 to detect common ontology pitfalls.

• Use the Linked Data principles 12 to create a welldesigned RDF dataset.

We describe all semantic bad practices encountered and the related guidelines to remedy them in a draft document [START_REF] Gyrard | Semantic Web best practices: Semantic Web Guidelines for domain knowledge interoperability to build the Semantic Web of Things[END_REF] for the OneM2M international standard.

B. STAC ontology & dataset

The STAC ontology describes main security and cryptographic concepts in various security domains such as sensor, cellular, wireless, web, IDS and network management. The main goal is to suggest the best security mechanism to design a secure application. To perform this task, we define the STAC ontology specifying relationships between Attack, SecurityMechanism, Technology, SecurityProperty and the OSIModel (Figure 2). In the STAC ontology, we link common security concepts (e.g., EncryptionAlgorithm) to other existing security ontologies published online presented in the section 3.

A Technology is vulnerable to Attack (hasVulnerability property) and has specific SecurityMechanism (isProtectedBy property. An example, is that all wireless technologies have the Jamming attack in common due to the wireless communication, which is not the case for wired networks. We define a great deal of technologies and the related instances in the STAC knowledge base: NetworkManagement, Web (ProgrammingLanguage, Ecommerce, Frameworks, Databases), wired (Ethernet) and wireless networks: SensorNetwork, M2M, Wi-Fi, GSM (2G), UMTS (3G), LTE (4G), etc.

A Technology can be replaced by another technology more recent (isReplacedBy property). This is the case for cellular technologies: the GSM technology has been replaced by the GPRS technology.

We classify Attack according to the OSIModelLayer and the Technology. For example, the Jamming attack occurs in the PhysicalLayer and is specific to SensorNetwork whereas the SQLInjection occurs in the ApplicationLayer and is dedicated to Web applications.

We have referenced numerous technologies, attacks and security mechanisms according to the OSI model.

In the STAC ontology, we specify restrictions between attacks and the security mechanisms. For example, SensorAttack can exclusively be protected by SensorSecurityMechanism and WebAttack by WebSecurityMechanism: the VPN (Virtual Private Network) security mechanism is a web security mechanism and so cannot thwart sensor attacks.

The OSIModel concept is a collection of seven OSIModelLayer concepts which are {Physical, Link, Network, Transport, Session, Presentation, Application}Layer.

SecurityProperty is a concept that gives more information about security mechanisms. We describe thirteen security properties (e.g., Confidentiality, Authentication, Integrity, AccessControl, NonRepudiation), etc. to indicate that security mechanisms satisfy some of these security properties. For example, VPN satisfies the authentication, the confidentiality and the integrity properties.

SecurityMechanism is used to protect Application against specific Attack, they can be: Numerous instances of security mechanisms are defined such as PGP, IDS, Firewall, Proxy, DMZ, ACL.

A SecurityMechanism can be itself composed of other security mechanisms. For example, the VPN security mechanism is composed of (dcterms:hasPart property) the IKE key management and the IPSec protocol which are both security mechanisms. Technologies are protected by specific security mechanisms. Indeed, sensor security mechanisms are devoted to secure the sensor technology, Wi-Fi security mechanisms protect Wi-Fi technologies, etc.

A SecurityMechanism can be replaced by another more secured (isReplacedBy property). An example is that in Wi-Fi technologies, the WEP security mechanism has been replaced by WPA1 which has been replaced by WPA2.

To help developers to choose the best security mechanism, there is a need to differentiate them by indicating their strengths and weaknesses. We design the concept called Feature to fulfill this need. The Feature concept is composed of several properties: Free, Flexible, Scalable, Secured, LowCostDeployment, LowEnergyConsuming, ExchangeKeyEasy and SuitableHeterogeneousCommunication. Hence, we can indicate that an AsymmetricAlgorithm is HighEnergyConsuming, but propose an easy solution to exchange keys (ExchangeKeyEasy). A SymmetricAlgorithm is LowEnergyConsuming, however, exchanging the keys is not an easy task. Another example is the difficult task to secure communications due to various protocols: there are three main security protocols to secure Wi-Fi communications: WEP, WPA1 and WPA2, the latter is the most secured security mechanism.

C. Prototype implementation

We present in this section the architecture and technologies used to implement both the STAC ontology/dataset and the STAC user interface. To demonstrate the feasibility of the proposed ontology, we develop the user interface in J2EE, use the Google Application Engine (GAE) and propose Web services REST (the Jersey implementation). The user interface is implemented with HTML5, CSS3, JavaScript and AJAX technologies. We used semantic web technologies to represent the STAC ontology and dataset: RDF, RDFS, and OWL. The STAC ontology has been referenced by the LOV (Linked Open Vocabularies) project. The Jena framework 13 is used to manage semantic data and the SPARQL language to perform the queries.

The ontology-based STAC application has been created to help the developers to design a secure IOT application. Developers look for information to secure their applications, using the user interface that we have developed. Our application, published online 14 proposes a menu composed of:

• STAC template. Users choose a specific technology and STAC displays all related attacks, security mechanisms, properties satisfied and features (Figure 3).

• The cryptography web page with encryption algorithms, hash functions, digital signatures, mode of operations and key managements (Figure 4).

• The security property web page and their methods.

• The attack and security mechanism interface containing threats, and their security mechanisms classified according the OSI model and the technologies (Figure 5).

• The sensor network web page that explains sensor protocols, sensor attacks, sensor security mechanisms and sensor key managements (Figure 6).

• The security for communication network web pages with GSM (2G), GPRS (2.5G), UMTS (3G), Wi-Fi, Bluetooth, Wimax, Machine-to-Machine (M2M) and Mesh networks.

In Figure 3, the developer chooses a technology (e.g., WiFi), all related attacks are display (e.g., Steal NIC) and the security mechanisms specific to the WiFi technology. Then, the developer chooses a security mechanism (e.g., WPA2) to obtain additional information: the security property satisfied (e.g., authentication) and the features (e.g., secured).

Figure 4 shows main cryptographic concepts. It explains that the encryption algorithm is either a symmetric or asymmetric, and the tooltip teaches that keys used in an asymmetric algorithm are different for encryption and decryption, allowing for easier key distribution. An instance of an asymmetric algorithm can be RSA. Symmetric algorithms can be either stream cipher (e.g., RC6) or block cipher (e.g., AES). The interface displays also hash functions (SHA), digital signatures (DSS), mode of operation (CBC) and key management (Diffie Hellman) by using a drop-down list.

The interface depicted in Figure 5 displays all attacks and proposes the security mechanisms to thwart them. For example, to thwart the eavesdropping attack, we propose the HTTPS security mechanism. A click on the drop-down list also proposes authentication method, directional antenna, encryption algorithm, and the VPN security mechanisms. We also indicate for security mechanisms the security properties satisfied and their features. The VPN satisfies the authentication, integrity, confidentiality, access control, privacy and authorization properties and features are low cost deployment and secured. In the OSI model section are classified all attacks and all security mechanisms according to the OSI model layer: the SQL injection occurs in the application layer, the PGP security mechanism protects the application layer, etc.

The interface as depicted in Figure 6 focuses on security The cryptography interface indicates that RC6 is a stream cipher algorithm which is a symmetric algorithm and so an encryption algorithm. With the help of the security property interface, we know that the encryption algorithm is a confidentiality method and satisfies the confidentiality property.

We also indicate sensor key managements: the LEAP sensor

D. Evaluation

At the beginning of this work, only 5 ontologies were published online and did not follow the semantic web guidelines. At the time of writing this paper, we have referenced 24 ontologies as following:

• 7 ontologies are not available yet. The authors do not reply to our email to publish online the ontology according to the semantic web best practices.

• 14 ontology are online, 10 do not follow the semantic guidelines yet, but 4 ontologies follow the semantic guidelines and are referenced by LOV.

• 1 ontology has been lost.

• 2 will be published online soon according to the authors. The STAC ontology and dataset has been evaluated and accepted by the semantic web community since they are referenced by the LOV project. The STAC hub is linked to 4 security ontologies which respect the semantic web guidelines and are now referenced by LOV too thanks to our work. We validate the STAC knowledge base with semantic web tools such as RDF validator 15 , RDF Triple-Checker 16and fixing some errors with the Oops project 17 and Vapour 18 .

The LOV project ask us to contribute to their project since we have explored the ontology-based security domain and other ones related to Internet of Things which were not referenced yet.

Further, we referenced all semantic bad practices and proposed the related guidelines in a draft document [START_REF] Gyrard | Semantic Web best practices: Semantic Web Guidelines for domain knowledge interoperability to build the Semantic Web of Things[END_REF] for the oneM2M international standard for the technical semantic web part.

We sent a Google form 19 to fill to developers and researchers in computer science to test the STAC application: We obtained 28 responses 20 as following:

• 10 persons found the STAC application useful, 1 not, and 17 did not well understood the usability. We have to improve the user interface and the explanations.

• 20 were interested to know security related to wireless networks, WiFi 3G, 4G, Sensors. This is why we extended the STAC security knowledge base with new domains such as wireless networks, network management, mobile application, cloud e-commerce, web, etc. SPARQL queries request the STAC knowledge base to return the needed information though the web services and the GUI.

V. CONCLUSION

In this article, we have presented a great deal of security ontologies to help software designers to choose security mechanisms to secure the ETSI M2M architecture, more precisely the IoT applications. We have been inspired by these ontologies to build an ontology-based security knowledge, called STAC, applied to numerous technologies and define the related attacks, security mechanisms, security properties, features, etc. The STAC ontology and dataset respect the semantic web best practices and are published online. The STAC application enables the developers to look for information to secure their sensor-based IOT application. As future work, we intent to automatically update this security knowledge base through a Google form, which will be automatically converted as instances in the STAC dataset. Another step will be to automatically integrate the security mechanism (e.g., AES using Java security API). Another future work will be to design a tool to automatically improve security ontologies according to the best practices.

Figure 1 .

 1 Figure 1. The STAC knowledge base

Figure 2 .

 2 Figure 2. The top level part of the STAC ontology

( 1 )

 1 SecurityTool such as NetworkSecurityTool (Wireshark), WifiAttackTool (WepCrack), MessageEncryptionTool (PGP), Proxies, Sniffers (2) SecurityProtocol which are classified by technologies: WebSecurityProtocol (, ECC) and SymmetricAlgorithm which are split into: BlockCipher (AES) and StreamCipher (RC4).

Figure 3 .

 3 Figure 3. STAC template

Figure 4 .Figure 5 .

 45 Figure 4. The cryptography interface

Figure 6 .

 6 Figure 6. The sensor networks interface

  Explain that security mechanisms are composed of other security mechanisms, i.e., the Virtual Private Network (VPN) is a security mechanism which uses the IPSec protocol and the Internet Key Exchange (IKE) key management.

• Describe strengths and weaknesses of security mechanisms. The developer needs more information to help him to choose the right security mechanisms. For example, WEP, WPA1 and WPA2 are several security mechanisms to secure the Wi-Fi communication. The developer wants to know that WPA2 replaces previous security mechanisms: WEP and WPA1 because they are deprecated.

•

http://www.w3.org/Submission/SWRL/

http://xmlns.com/foaf/spec/

http://www.w3.org/TR/vcard-rdf/

http://lov.okfn.org/dataset/lov/

http://oeg-lia3.dia.fi.upm.es/webOOPS/index-content.jsp

http://linkeddata.org/

http://jena.apache.org/

http://www.sensormeasurement.appspot.com/

http://www.w3.org/RDF/Validator/

http://graphite.ecs.soton.ac.uk/checker/

http://oeg-lia3.dia.fi.upm.es/oops/index-content.jsp

http://validator.linkeddata.org/vapour

https://docs.google.com/forms/d/1NKiMQPVR6X6Reioud0-WBZu1bmo3T1Ah7PZm9De-apk/viewform

[START_REF] Noy | Ontology development 101: A guide to creating your first ontology[END_REF] https://docs.google.com/forms/d/1NKiMQPVR6X6Reioud0-WBZu1bmo3T1Ah7PZm9De-apk/viewanalytics

ACKNOWLEDGMENT

The authors would like to thank the semantic web experts (Ghislain Atemezing, Raphael Troncy, Fabien Gandon, Bernard Vatant), Payam Barnaghi, Soumya Kanti Datta for their valuable feedback and colleagues/friends/students for fruitful discussions and help for the implementation. This work is supported by the Com4Innov Platform of Pole SCS 21 .