G Hassan
email: ghina.hassan@lirmm.fr

A Chemori
email: ahmed.chemori@lirmm.fr

M El

M Gouttefarde
email: marc.gouttefarde@lirmm.fr

C Francis
email: cfrancis@ul.edu.lb

P E Hervé

D Sallé

Ultra-Local Model-Based Intelligent Robust Control of PKMs: Theory and Simulations

Keywords: RISE feedback control, Model-Free Control, Intelligent Robust Control, Parallel Kinematic Manipulators, Pick-and-Throw, numerical simulations

In this paper, we propose a novel Intelligent Robust Control (IRC) suitable for controlling highly nonlinear Multiple-Input-Multiple-Output (MIMO) systems. The proposed IRC scheme takes advantage of the Robust Integral of the Sign of the Error (RISE) control law and Model-Free Control (MFC). The MFC scheme is mainly composed of: (i) a nonlinear function estimated from an ultralocal model representing the input-output behavior of the system, (ii) the ν th derivative of the reference trajectory as a feedforward term, and (iii) a feedback control term. MFC is characterized by its simple concept and its ability to compensate for the modeled and unmodeled system dynamics through its nonlinear compensation term. The proposed IRC approach consists of redesigning the feedback term of MFC scheme based on RISE feedback law to further improve its robustness against external disturbances and to guarantee a semi-global asymptotic tracking despite the presence of disturbances and uncertainties. Numerical simulations under different operating conditions have been conducted on T3KR parallel manipulator, in a pick-and-throw task, to validate the relevance of the proposed IRC strategy. The comparison with a model-based feedforward RISE and a feedforward super-twisting sliding mode control, by exploiting different performance indices, confirms the superiority of the proposed IRC approach.

INTRODUCTION

Nowadays, most of industrial control systems are counted in the family of nonlinear MIMO systems. Indeed, these systems, known for their complex nonlinear dynamics, are often exposed to parameter variations and uncertainties, whether modeled or not, which makes their control design a challenging task. Therefore, adopting a conventional linear controller for such systems may deteriorate the tracking performance at critical operating conditions and even lead to instability in some situations. RISE is a robust nonlinear controller dedicated to the control of highly nonlinear MIMO systems. It was developed in [START_REF] Xian | A continuous asymptotic tracking control strategy for uncertain nonlinear systems[END_REF] to ensure a semi-global asymptotic tracking of uncertain nonlinear systems under some assumptions on the controlled system. It is characterized by a unique feature which is the integral of the sign of the error, assuring its continuity as well as the rejection of external disturbances. Recently, the outstanding performance improvement brought by RISE and RISE-based controllers has been demonstrated on several nonlinear systems [START_REF] Fischer | Nonlinear rise-based control of an autonomous underwater vehicle[END_REF][START_REF] Yao | Rise-based adaptive control of hydraulic systems with asymptotic tracking[END_REF][START_REF] Kamaldin | Adaptive parameter and gain rise control of a flexurebased dual-drive 'h'gantry[END_REF][START_REF] Sherwani | Rise-based adaptive control for eicosi exoskeleton to assist knee joint mobility[END_REF]. The application of RISE control scheme on parallel kinematic manipulators (PKMs) was first proposed in [START_REF] Bennehar | A new rise-based adaptive control of pkms: design, stability analysis and experiments[END_REF], where a RISE-based adaptive controller was proposed and validated on a Delta parallel robot. Thanks to the good performance of this controller on PKMs, other research works have proposed other RISE-based control schemes for parallel robots. They include the time-varying RISE feedback control of [START_REF] Saied | A new time-varying feedback rise control for second-order nonlinear mimo systems: theory and experiments[END_REF], and the model-based feedforward RISE control of [START_REF] Escorcia-Hernández | A new solution for machining with ra-pkms: Modelling, control and experiments[END_REF]. Recently, in [START_REF] Hassan | Rise feedback control of cable-driven parallel robots: design and real-time experiments[END_REF], the RISE feedback strategy has been applied, for the first time, on a cable-driven parallel robot (CDPR), showing a high positioning accuracy, despite the significant uncertainties inherent to such a system. For several decades, model-based controllers have been considered as good candidates for the control of uncertain nonlinear systems. They have shown their ability to compensate for the system nonlinearities by introducing an apriori knowledge on the dynamic model in the control design. However, it is well known that the development of an accurate dynamic model for a complex nonlinear system is almost impossible. On one hand, unmodeled phenomena cannot be considered into such a model, and on the other hand, the system parameters are often subject to variations and uncertainties. Therefore, classical model-based controllers may lead to poor control performance of uncertain nonlinear systems, especially when changes in operating conditions occur or when the system parameters used in the control design do not match the actual parameters. To address this problem of parameters' variations and uncertainties, model-based adaptive controllers have been proposed in the literature. These control schemes include an adaptive feedforward term responsible for the online estimation of the un-known, uncertain or time-varying dynamic parameters. Despite the simplicity of the principle of online parameters estimation, its real-time implementation requires a considerable number of calculations, which leads to a significant computing time. To deal with these issues, Fliess and Join proposed a MFC strategy to compensate for modeled and unmodeled dynamics as well as uncertainties, without incorporating any apriori knowledge about the physical system [START_REF] Fliess | Model-free control and intelligent pid controllers: towards a possible trivialization of nonlinear control[END_REF]. The MFC technique is based on an ultra-local model updated continuously in realtime based on the input-output behavior of the system. This numerical model is only valid for a small time lapse. The first MFC scheme was composed of an ultra-local model combined with a conventional Proportional-Integral-Derivative (PID) as a feedback control term. This control method is characterized by its simplicity and ease of implementation. Moreover, its design parameters can be adjusted in a straightforward manner. Modelfree controllers have been widely used in recent years, showing a good tracking performance in various application fields. For instance, they have been applied to hydroelectric power plants ( [START_REF] Robert | Model-free based water level control for hydroelectric power plants[END_REF], dc/dc converters [START_REF] Michel | Model-free control of dc/dc converters[END_REF], shape memory alloy active spring [START_REF] Gédouin | A new control strategy for shape memory alloys actuators[END_REF][START_REF] Gédouin | Experimental comparison of classical pid and model-free control: position control of a shape memory alloy active spring[END_REF], underactuated mechanical systems [START_REF] Andary | A dual model-free control of non-minimum phase systems for generation of stable limit cycles[END_REF], active suspension systems of a quarter car [START_REF] Wang | Model-free fractional-order sliding mode control for an active vehicle suspension system[END_REF], and recently to a PMSM drive system [START_REF] Zhang | Model-free predictive current control of pmsm drives based on extended state observer using ultralocal model[END_REF]. Parallel robots are considered as second-order nonlinear uncertain MIMO systems, and are often subject to dynamic nonlinearities, parameters uncertainties, external disturbances, unmodeled phenomena, etc. Accordingly, several schemes have been proposed in the literature to accurately control PKMs. They include a linear feedback controller [START_REF] Chaudhary | 3-dof parallel manipulator control using pid controller[END_REF], a nonlinear control based on conventional PD [START_REF] Su | Nonlinear pid control of a six-dof parallel manipulator[END_REF], robust controllers [START_REF] Saied | A new time-varying feedback rise control for second-order nonlinear mimo systems: theory and experiments[END_REF] [START_REF] Castañeda | Robust trajectory tracking of a delta robot through adaptive active disturbance rejection control[END_REF]), model-based control (Escorcia-Hernández et al., 2020), adaptive control [START_REF] Natal | Nonlinear control of parallel manipulators for very high accelerations without velocity measurement: stability analysis and experiments on par2 parallel manipulator[END_REF]. Although these controllers have shown good tracking performances, they remain suffering from a poor performance at critical operating conditions (e.g. high-precision and/or high-speed applications, payload changes). Indeed, some of them belong to the non-model-based control family, while the others are model-based controllers. On the one hand, the performance of non-model based controllers is limited to a small range of operations around the nominal steady state. Therefore, this class of controllers is not suitable for controlling PKMs, known for their complex nonlinear dynamics, and intended to be used in high-speed tasks. On the other hand, the issue with model-based controllers is that most nonlinear systems have uncertain and time-varying dynamic parameters and thereby very complex to be modeled. Thus, and as already mentioned, the system nonlinearities and its abundant uncertainties cannot be well compensated by adopting classical model-based control schemes. Even though adaptive controllers can overcome the drawbacks of model-based controllers by online estimating the parameters, their performance is limited to the compensation of modeled dynamics, while robustness against unmodeled ones cannot always be ensured. In this paper, a novel IRC scheme is proposed. A revisit of the fundamental MFC scheme is carried out by redesigning its closed-loop feedback control term based on RISE feedback control law. Adopting the robust nonlinear RISE controller as a feedback term for the MFC can further improve its overall tracking performance and reinforce its robustness and disturbance rejection. For validation purposes, scenario-based numerical simulations are conducted in a Pick-and-Throw appli-cation using T3KR parallel robot. The proposed IRC scheme has been compared with two model-based robust controllers from the literature. The obtained simulation results show a significant improvement in the tracking performance and a more robustness towards disturbances and uncertainties. The rest of this paper is structured as follows: A Background on MFC is provided in Section 2. Section 3 is dedicated to the proposed IRC strategy. The description and modeling of T3KR parallel robot are introduced in Section 4. Numerical simulation results are reported and discussed in Section 5. Conclusions and some future directions are provided in Section 6.

BACKGROUND ON MODEL-FREE CONTROL

Model-Free Control (MFC) is a strategy developed by Fliess [START_REF] Fliess | Vers une commande multivariable sans modèle[END_REF][START_REF] Fliess | Model-free control and intelligent pid controllers: towards a possible trivialization of nonlinear control[END_REF] to control uncertain highorder nonlinear MIMO systems. It is said to be an "intelligent control", because it does not incorporate any knowledge about the system's dynamics, in the control design. The basic principle of MFC is that the input-output behavior of a high-order nonlinear system, can be represented by an ultralocal model, continuously restructured, as follows:

y (ν) = F + αU
(1) where α ∈ R n×n is positive-definite diagonal gain matrix, chosen by the designer to ensure some control performance. y ∈ R n is the output vector, U ∈ R n is the control input vector and F ∈ R n is a vector gathering the modeled and unmodeled system dynamics. ν ∈ N denotes the order of the anticipated model. F can be estimated at each sampling time from the measured output y, and the known input U, as follows [START_REF] Fliess | Model-free control[END_REF]:

[F(k)] e = [y (ν) (k)] e -αU(k -1)
(2) where [F(k)] e is the estimation at the sample k of the function F (i.e. t = kT s is the sampling time with k = 0, 1, ... and T s is the sampling period), [y (ν) (k)] e denotes the estimation of the νderivative of y at time k, and U(k -1) is the control input at the previous sample time. It is worth to note that this estimation is only valid for a short interval of time, and should be updated frequently and continuously to maintain the system stability with a good tracking performance. In general, the model-free control input U is computed at each iteration, based on the following expression:

U(k) = - [F(k)] e α + y (ν) d (k) +U c (k) α (3)
where y

(ν)
d is the ν th derivative of the desired trajectory, and U c is the feedback control law that should be selected in a way to guarantee asymptotic convergence of the output signal to the desired trajectory. The designer must choose the value of the order ν, carefully, taking into account the order of the controlled system and the structure of the feedback control input. Otherwise, the stability of the system may be deteriorated. In general, ν can be chosen to be 1 or 2. For instance, intelligent PID (iPID) is designed with v = 2, while intelligent PI (iPI) is used with v = 1. In practice, the measured output is often subject to noise, which may be amplified by the numerical derivative. Regarding this issue, some methods have been proposed in the literature to compute the v th derivative of noisy signals using an algebraic approach. The differential algebraic operations are composed of iterated integrals of the noisy signal taking the form of classical IFAC ALCOS 2022 June 29 -July 1, 2022. Casablanca, Morocco finite impulse response (FIR) digital filters [START_REF] Fliess | Model-free control[END_REF][START_REF] Mboup | Numerical differentiation with annihilators in noisy environment[END_REF][START_REF] Gédouin | Experimental comparison of classical pid and model-free control: position control of a shape memory alloy active spring[END_REF]; while other methods have approximated the value of F by exploiting an extended state observer [START_REF] Wang | Model-free fractional-order sliding mode control for an active vehicle suspension system[END_REF][START_REF] Zhang | Model-free predictive current control of pmsm drives based on extended state observer using ultralocal model[END_REF].

PROPOSED CONTRIBUTION: INTELLIGENT ROBUST CONTROL

Background on RISE feedback control

As stated in [START_REF] Xian | A continuous asymptotic tracking control strategy for uncertain nonlinear systems[END_REF], RISE is a robust continuous control scheme developed for high-order MIMO nonlinear systems. It is a full-state feedback non-mode-based control scheme. In addition, RISE can ensure semi-global asymptotic tracking under some assumptions on the system and the reference trajectory.

Consider the dynamic equation of a second-order MIMO nonlinear system as follows:

M(x, ẋ) ẍ + F(x, ẋ) = U (
4) where x, ẋ and ẍ ∈ R n are the position, velocity and acceleration states of the system, respectively. M(x, ẋ) ∈ R n×n and F(x, ẋ) ∈ R n being uncertain nonlinear functions, U ∈ R n is the control input vector, and n is the actuators number. The assumptions, considered in [START_REF] Xian | A continuous asymptotic tracking control strategy for uncertain nonlinear systems[END_REF], are as follows: Assumption 1: M(x, ẋ) is a symmetric positive-definite matrix that satisfies the following inequalities for any γ ∈ R n :

m∥γ∥ 2 ≤ γ T M(x, ẋ)γ ≤ m(x)∥γ∥ 2
(5) where m is a known positive constant and m(x) is a positive non-decreasing function. Assumption 2: F(x, ẋ) is bounded if x and ẋ are measurable and bounded. Moreover, M(x, ẋ) and F(x, ẋ) are second-order differentiable with respect to x(t) and ẋ(t). Assumption 3: The chosen desired trajectory x d (t) ∈ R n is continuously differentiable with respect to time up to the 4 th order. x d (t) and its derivatives ∈ L ∞ . Let us now define the combined tracking error e 2 ∈ R n as follows:

e 2 = ė1 + λ e 1 .

(6) where e 1 = x dx, is the output tracking error, while x d and x ∈ R n are the reference trajectory and the measured one, respectively. λ ∈ R n×n is a positive-definite, diagonal gain matrix.

Based on the stability analysis, detailed in [START_REF] Xian | A continuous asymptotic tracking control strategy for uncertain nonlinear systems[END_REF], the RISE feedback control law is expressed as follows:

U(t) = (K s + I)e 2 (t) -(K s + I)e 2 (t 0 ) + t t 0 [(K s + I)Λ e 2 (σ ) + β sgn(e 2 (σ ))]dσ . ( 7
)
where K s and β ∈ R n×n are two diagonal positive-definite control design matrices, I ∈ R n×n is the identity matrix, t 0 is the initial time and sgn(.) represents the standard signum function.

The integral of signum constitutes the robustness term of the RISE control law thanks to which smooth bounded disturbances can be held. It is worth to note that the second term of the R.H.S of (7) (i.e., (K s + I)e 2 (t 0 )) is introduced to guarantee a zero control input at time t = t 0 (i.e., U(t 0 ) = 0). The stability of the RISE feedback law has been proved in [START_REF] Xian | A continuous asymptotic tracking control strategy for uncertain nonlinear systems[END_REF], for large enough values of the gains K s , λ , Λ and for a sufficient condition on β . It shows that all the system signals are bounded and converge to zero as time goes to infinity, i.e. e (i) 1 = 0 as t → ∞, for i = 0, 1, 2 (the reader can refer to [START_REF] Xian | A continuous asymptotic tracking control strategy for uncertain nonlinear systems[END_REF] for more details about the stability analysis of RISE feedback control).

Proposed intelligent robust control

As presented in the previous section, RISE is a non-modelbased controller. This means that the system nonlinearities and uncertainties are not well compensated by such a controller, resulting in a degraded tracking performance in critical situations (e.g. high-speed movements, and in the presence of large disturbances). As stated in the introduction, the extension of this controller with a classical model-based feedforward term is not an effective idea since it is almost impossible to obtain an accurate dynamic model of a complex nonlinear system. This issue becomes considerable in industrial Pick-and-Place or Pick-and-Throw [START_REF] Raptopoulos | Robotic pick-and-toss facilitates urban waste sorting[END_REF] applications, where the robot should handle different types of objects with unknown/uncertain dynamic parameters. The aforementioned MFC scheme has the ability to compensate for parameter variations, modeled and unmodeled dynamics without considering any knowledge of the system dynamics in the control design. However, the feedback control term of the fundamental MFC consists of a conventional linear PID which may lead to poor performance when dealing with a highly nonlinear system, especially at high accelerations. In this work, we propose to revise the conventional MFC scheme known as iPID by redesigning its feedback control term based on the RISE feedback law. This revision can significantly improve the tracking performance of MFC as well as its robustness towards external disturbances, while preserving the simplicity of its scheme. The resulting controller, called Intelligent Robust Control (IRC), is continuous, robust and easy to implement. The proposed IRC strategy for second-order MIMO systems can be expressed as follows:

Γ IRC = - [F] e α + ẍd + Γ RISE α (8)
where Γ RISE is the RISE feedback law presented in (7). As reported in [START_REF] Gédouin | Experimental comparison of classical pid and model-free control: position control of a shape memory alloy active spring[END_REF], if the order of the controlled system is well known, then the ν order of the numerical model as given in equation (3) will be equal to that of the system. Therefore, in our case, for a system of second order as PKMs, ν is equal to 2.

APPLICATION TO T3KR PARALLEL ROBOT

T3KR robot: description and kinematics

The T3KR robot is a 5-DOF PKM, developed in collaboration between Tecnalia, LIRMM and SATT AxLR. It was proposed as a new industrial "Pick-and-Place" machine with the possible economic footprint (i.e. it has an optimized mechanical structure). Fig. 1 illustrates, through a CAD-view, the robot T3KR as well as its main components. It consists of a fixedbase support holding four main actuators and connected to a common moving platform through four kinematic chains. Each chain consists of a serial connection of a rotary servo actuator, a rear arm that is supposed to rotate, and a forearm consisting of two parallel bars. The forearms are mounted, from their first extremity, to the rear arms, and from their other extremity, to the mobile platform by means of passive spherical joints. Besides, this robot includes an actuator fixed on the mobile platform allowing a rotation φ of the end-effector around the vertical z-axis. The parallel structure with the four motors allows the translation of the platform along x, y and z axes as well as its rotation ψ around the z-axis, which is kinematically redundant; the rotation of the platform is a parallelogram mechanism movement, where the tool control point (TCP) is on the neutral point of this mechanism. Accordingly, a rotation ψ of the moving platform does not induce a motion of the TCP, this is why ψ is kept equal to zero.

In this study, we are interested in controlling the main four actuators of the parallel Delta-like positioning structure to do a pick-and-throw task. Thus, the Cartesian vector representing the pose of the end-effector of the robot is a 4-dimensional coordinate denoted by X = [x, y, z, ψ] T . The vector representing the actuated joint positions is a 4-dimensional coordinate vector given by q = [q 1 , q 2 , q 3 , q 4 ] T . The differential kinematic relationship between the Cartesian and joint velocities can be expressed as Ẋ = J q, where Ẋ and q are the Cartesian and joint velocities, respectively and J is the direct Jacobian matrix.

T3KR robot dynamics

As T3KR is a Delta-like parallel robot, its dynamic model can be developed by adopting the virtual work principle [START_REF] Codourey | Dynamic modeling of parallel robots for computed-torque control implementation[END_REF][START_REF] Bennehar | A new rise-based adaptive control of pkms: design, stability analysis and experiments[END_REF], while considering some simplification assumptions. The dynamics of T3KR robot can be reduced to the analysis of the dynamics of the moving platform and those of the actuators with their corresponding rear arms and forearms. From the moving platform side, one can define two kinds of forces: the gravitational force and the force induced by the Cartesian acceleration. The contributions of these two forces at the level of actuators can be obtained by using the transpose of the Jacobian matrix J. From the actuators side, we have the input torques generated by the motors, the gravitational forces of the rear arms and the inertial torques resulting from the rear arms rotation.

Following the same analysis as in [START_REF] Codourey | Dynamic modeling of parallel robots for computed-torque control implementation[END_REF], the inverse dynamic equation of T3KR parallel robot can be expressed in joint space as follows: M(q) q +C(q, q) q + G(q) + D(q, q,t) = Γ(t)

where q, q, q ∈ R 4 are vectors of the joint positions, velocities, and accelerations, respectively, M(q) ∈ R 4×4 is the total mass and inertia matrix of the robot, C(q, q) ∈ R 4×4 is the Coriolis and centrifugal forces matrix, G(q) ∈ R 4 is the gravitational forces vector acting on the rear arms and the moving platform, D(q, q,t) ∈ R 4 is the vector of the disturbances (i.e. unmodeled dynamics, external disturbances, etc.). Γ(t) ∈ R 4 is the vector of the control input torques. The main kinematic and dynamic parameters of T3KR parallel robot are summarized in Table 1.

Control application on T3KR robot

To demonstrate the relevance of the proposed IRC, a comparative study between the proposed control scheme and other control methods recently proposed in literature, has been performed. The obtained numerical simulation results, on the T3KR parallel robot, are presented and discussed in the next section. The T3KR PKM is a second-order MIMO nonlinear system with four control signals as inputs and four joint positions as outputs. Its complex nonlinear dynamic model can be approximated using an ultra-local model.

To properly represent the dynamics of T3KR, the ultra-local model in ( 1) can be redefined as follows: q = F + αU (10) where, F ∈ R 4 , U ∈ R 4 and α ∈ R 4×4 . While ν is equal to 2 as our controlled system is a second order MIMO system.

One can note that the dynamics (9) of T3KR robot is considered as a particular case of the nonlinear system presented in (4) with n = 4 and can rewritten as follows:

A(.) q + B(.) = Γ (11) where A(.) = M(q) and B(.) = C(q, q) q + G(q) + D(q, q,t). As a consequence, M(q) is a positive definite symmetric matrix satisfying Assumption 1. Assumption 2 is also satisfied such that the signals q(t) and q(t) are measurable and bounded, resulting in B(.) being bounded. Moreover, the matrices M(q), C(q, q), G(q) and D(q, q,t) are differentiable to second order with respect to q(t) and q(t). And finally, the chosen reference trajectory q d (t) is designed to be continuously differentiable, as reported in Assumption 3. The dynamics of T3KR robot fits the design of the proposed IRC scheme. Therefore, it is possible to apply the IRC strategy to the T3KR robot. For proper implementation of controllers, the tracking error e 1 needs to be redefined as: e 1 = q d -q, where q d ∈ R 4 is the vector of the desired joint positions and q ∈ R 4 is the vector of the measured joint positions.

NUMERICAL SIMULATION RESULTS

State-of-the-art control methods for comparison purposes

The model-based feedforward RISE control (FF-RISE) developed in [START_REF] Escorcia-Hernández | A new solution for machining with ra-pkms: Modelling, control and experiments[END_REF], and the model-based feedforward super-twisting sliding mode control (FF-ST-SMC) proposed in [START_REF] Saied | A novel model-based robust super-twisting sliding mode control of pkms: Design and real-time experiments[END_REF] for the control of PKMs, are also implemented for comparison purposes, since they are both model-based robust controllers. Their control laws are given as follows:

Γ FF-RISE = M(q d ) qd +C(q d , qd ) qd + G(q d ) + (K s + I)e 2 (t) -(K s + I)e 2 (t 0 ) + t t 0 [(K s + I)Λ e 2 (σ ) + β sgn(e 2 (σ ))]dσ . ( 12
)
IFAC ALCOS 2022 June 29 -July 1, 2022. Casablanca, Morocco

Γ FF-ST -SMC = M(q d ) qd +C(q d , qd ) qd + G(q d ) + K 1 s + K 2 |s| 1/2 sgn(s) + K 3 sgn(s). ( 13
)
where s is the standard sliding surface defined as s = ė1 + λ e 1 . K 1 , K 2 , and K 3 are three positive definite diagonal gain matrices, and λ is a positive constant gain.

Pick-and-Throw reference trajectory

The P&T trajectory, illustrated in Fig. 2, is used for the validation of the proposed control scheme. It is generated in Cartesian space using a third order polynomial S-curve as a motion profile. The generated trajectory corresponds to the scenario of three objects of different masses thrown successively into a target position, P f , located outside the workspace of the robot. The first movement of the robot's end-effector is from its central position P home towards the first pick position, P 1 , to grasp the first object. According to the pick and target positions of the corresponding object, an appropriate release position P throw 1 is computed. Next, the robot accelerates to this position, and then it throws the object into the desired target P f . After releasing the object, the robot decelerates back to pick the next object, while the thrown object follows its ballistic trajectory from P throw 1 to P f . The same scenario is repeated for the second and the third objects, located at P 2 and P 3 , respectively. Once the third object is thrown, the robot returns back its home position P home . The whole trajectory is generated taking into account the physical limits of the robot (i.e. maximum jerk, acceleration and velocity), its workspace and the desired target position. The sections of the trajectory where the moving platform is carrying the object are depicted with solid red lines, whereas the dashed green lines correspond to the sections of the trajectory after the release point where the robot is moving without any payload (cf. Fig. 2).

Performance evaluation criteria

The most commonly used performance index for the evaluation of the tracking performance of new control algorithms is the Root Mean Square Error (RMSE) criterion. It is adopted in this study for Cartesian translational positions tracking RMSE x as well as joint positions tracking RMSE J as follows:

RMSE x = ( 1 N N ∑ i=1 (e 2 x (i) + e 2 y (i) + e 2 z (i)) (14
)

RMSE J = ( 1 N N ∑ i=1
(e 2 q 1 (i) + e 2 q 2 (i) + e 2 q 3 (i) + e 2 q 4 (i)) (15) with e x , e y and e z denote the Cartesian position tracking errors along the three translational axes, x, y and z. e q 1 , e q 2 , e q 3 and e q 4 are the joint position tracking errors. N is the total number of samples. For tuning the gains of all implemented controllers, we adopted the trial-and-error method. The gains of the proposed IRC strategy can be adjusted using the following procedure: (i) first, set the values of α and λ large enough to have an acceptable steady-state error. Then (ii) decrease the value of α until getting a quick oscillatory response of the output. (iii) Modify λ and K s to stabilize the system with a satisfactory tracking performance.

(iv) Increase Λ, and at the same time, adjust λ and K s up or down until the best performance index is achieved. (v) The robustness of the controller may be improved by increasing the feedback gain β gradually to avoid chattering in the control signals. The obtained control gains for all controllers are summarized in Table 2.

Numerical simulations results

In order to evaluate the performance of the proposed intelligent robust controller, a comparative study has been performed with the aforementioned feedforward RISE and feedforward ST-SMC controllers through numerical simulations in Matlab/Simulink environment. The reference P&T trajectory, plotted in Fig. 2, has been considered for this study. Two main scenarios have been implemented on the T3KR robot: 1) Scenario 1: robustness towards payload changes, 2) Scenario 2: robustness towards velocity variations. For more realistic simulations, white noise has been added to the output joint positions (this noise acts as the measurement noise affecting the real joint positions) as well as a 25% of uncertainty on the inertia value including the inertia of the actuators, the inertia of the rear arms and the inertial contribution of the forearms has been considered.

Scenario 1 -Robustness towards payload changes: In this scenario, the maximum operating acceleration was set to 4.2 G, which is the minimum value sufficient to throw an object outside the robot workspace. The three objects, used for this validation, have different masses: the first one has a mass of 50 g, the second one has a mass of 100 g (i.e. ∆ mass = +100 % w.r.t the first object), while the third one has a mass of 150 g (i.e. ∆ mass = +200 % w.r.t the first object). Therefore, the robustness of the proposed controller towards payload changes can be demonstrated using this scenario. The Cartesian tracking errors of the three controllers are depicted in Fig. 3. The obtained results show that the contribution of the ultra-local model improves the performance of the conventional FF-RISE controller by 54.7% and 61.1% for the Cartesian and joint spaces, respectively (see Table 3). Compared to the FF-ST-SMC strategy, the proposed IRC improves the tracking performance by up to 33.7% and 41.6% in the Cartesian and joint spaces, respectively. Fig. 4 represents the evolution of the control input torques generated by all controllers, and clearly shows that the control signals are below the saturation limits of the actuators (the maximum torque of T3KR actuators is 28.9 N.m). Moreover, we 3, the proposed IRC algorithm shows higher accuracy and better robustness to payload variations than the two other model-based controllers; this is highly relevant for P&T sorting applications where the robot has to deal with different types of objects.

Scenario 2 -Robustness towards speed variations: The T3KR robot is intended to be used for high-speed P&T sorting applications. For this purpose, it is important to evaluate the tracking performance of the proposed IRC algorithm for high accelerations. The operating speed is increased to an acceleration of 9 G while performing the same P&T trajectory with the same manipulated objects as the previous scenario. In Fig. 5, we can see the relevant improvements obtained by the proposed control scheme along all translation axes. These improvements are quantified by exploiting the RMSE evaluation criteria in Cartesian and joint spaces. The obtained results, summarized in Table 3, show improvements of 51.7% in the Cartesian space and 60.4% in the joint space relative to the FF-RISE controller. In comparison to the FF-ST-SMC scheme, the tracking performance is improved by up to 41.6% and 52.5% in the Cartesian and joint spaces, respectively. The evolution of the control input signals, generated by the three implemented controllers, are displayed in Fig. 6. Indeed, it is obvious that all the control signals evolve within the admissible range of the actuators' capabilities. As it can be seen from Fig. 4, a slight reduction in energy consumption is notified for the proposed controller compared to the two other controllers.

CONCLUSION AND FUTURE WORK

In this paper, an Intelligent Robust Controller (IRC), dedicated to high-order nonlinear MIMO systems, has been proposed. It is a new design of the MFC scheme consisting of exploiting the RISE feedback law in its feedback control term. RISE is a robust control law that can further empower the MFC with more robustness against disturbances and improve its overall tracking performance. The proposed IRC technique can compensate for modeled and unmodeled dynamics without requiring any apriori knowledge about the controlled system. It has been implemented, through numerical simulations, on T3KR parallel robot in a Pick-and-Throw application under different operating conditions. The obtained results show clearly that the proposed control scheme outperforms both the feedforward RISE and feedforward ST-SMC controllers. However, the proposed control method presents some limitations. For instance, the gain parameter α, if not well chosen, will lead to actuators IFAC ALCOS 2022 June 29 -July 1, Casablanca, Morocco saturation and thus performance deterioration. Moreover, this controller depends on the estimation of the real acceleration from the measured positions. Although different methods have been proposed in the literature for the estimation of noisy signals, the issue remains open. This work can be extended by the stability analysis of the resulting closed-loop system as well as by its implementation in real-time experiments. In addition, nonlinear or adaptive gains depending on the system state errors can be adopted in the feedback control term of the proposed MFC scheme instead of static gains. The time-varying gains can produce corrective control actions ensuring the establishment of the desired performance.

  Fig. 1. A CAD View of T3KR robot and its main components.

  Fig. 2. 3D-view of the P&T reference trajectory.

Fig. 3 .

 3 Fig. 3. Scenario 1: Evolution of the Cartesian tracking errors.

Fig. 4 .

 4 Fig. 4. Scenario 1: Evolution of the control input torques. can notice from Fig. 4 that the proposed IRC strategy slightly reduces the power consumption since it generates less input torques, compared to FF-RISE and FF-ST-SMC schemes. This scenario confirms the improvement achieved by considering an ultra-local model, updated in real time, instead of a conventional feedforward dynamic model. According to the evaluation criteria, reported in Table3, the proposed IRC algorithm shows higher accuracy and better robustness to payload variations than the two other model-based controllers; this is highly relevant for P&T sorting applications where the robot has to deal with different types of objects.

Fig. 5 .

 5 Fig. 5. Scenario 2: Evolution of the Cartesian tracking errors.

Fig. 6 .

 6 Fig. 6. Scenario 2: Evolution of the control input torques.The overall performance improvement, obtained by the proposed IRC scheme, can be explained by the good compensation of the system nonlinearities provided by the contribution of the ultra-local model with the RISE feedback law.

Table 1 .

 1 Summary of the main kinematic and dynamic parameters of T3KR parallel robot.

	Parameter	Value	Parameter	Value
	Rear arm length 400 mm Traveling plate mass	5.68 kg
	Forearm length	900 mm	Actuator inertia	0.000969 kg.m 2
	Rear arm mass	3.28 kg	Rear arm inertia	0.173723 kg.m 2
	Forearm mass	0.8 kg

Table 2 .

 2 Summary of the feedback control gains.

Table 3 .

 3 Control performance evaluation

	Scenario RMSE Scenario 1 Control FF-RISE 0.0126 FF-ST-SMC 0.0086 Proposed IRC 0.0057	0.0018 0.0012 0.0007
		IMP w.r.t FF-RISE	54.7 %	61.1 %
		IMP w.r.t FF-ST-SMC	33.7 %	41.6 %
		FF-RISE	0.0259	0.0048
	Scenario 2	FF-ST-SMC Proposed IRC	0.0214 0.0125	0.0040 0.0019
		IMP w.r.t FF-RISE	51.7 %	60.4 %
		IMP w.r.t FF-ST-SMC	41.6 %	52.5 %

x [mm] RMSE J [deg]

ACKNOWLEDGEMENTS

This work is supported by Tecnalia "Pick-and-Throw" research project. The corresponding author acknowledged the Lebanese University and the social foundation AZM and SAADE for financial support.


Frédéric Mallet
email: frederic.mallet@sophia.inria.fr

Robert De Simone
email: robert.de_simone@sophia.inria.fr

MARTE: A Profile for RT/E Systems Modeling, Analysis -and Simulation? (invited paper)

As its name promises, the Unified Modeling Language (UML) provides a collection of diagrammatic modeling styles. To the early class/objects and use-case diagrams were almost immediately added state-, activity-, collaboration-, and component diagrams. All these modeling views, required for structural and behavioral representations of systems, were then progressed to further detailed expressivity. Provision for domainspecific specializations was made under the form of profiles.

Somehow this goal of being rather universal and extendible discarded the possibility of UML to adopt too strict and precise a semantics; as users were generally to define and refine it in their stereotyped profiles anyway. As a result, even the little execution semantics there is in the standard is often not considered in such specializations.

We tackled the general issue of defining a broadly expressive Time Model as a sub-profile of the upcoming OMG Profile for Modeling and Analysis of Real-Time Embedded systems (MARTE), currently undergoing finalization at OMG. The goal is to provide a generic timed interpretation, on which timed models of computation and timed simulation semantics could be built inside the UML definition scope, instead of as part of the many external proprietary profiles. The MARTE time library can be used as the basis for the definition of a UML real-time simulator.

INTRODUCTION

Dictionaries define simulation as the act of (faithfully) imitating the appearance or character of something. In that sense, simulation tightly relates to modeling, and its accuracy is measured by the distance to the underlying models semantics.

For complex systems, such models are to be shared by lots of people with different backgrounds (from project management and system level architects to designers and verification engineers). Then visual languages, such as the Unified Modeling Language (UML) [START_REF]The Unified Modeling Language (UML)[END_REF], became increasingly popular for exchanging information between designers and distinct design phases, as its multiple diagrams provide modeling support to most aspects of systems, whether functional, behavioral or structural. Meanwhile, though, semantics was brought down to its minimal (light) consensual form: hardly enough to fully base a non-ambiguous (timed) simulation scheme.

Design practice is moving from traditional code-based engineering, with a strong division of work along the development life cycle, to model-driven engineering approaches where all people in the design flow can have their saying on the models. Aspect-oriented modeling allows for hiding irrelevant aspects of models depending on the considered point of view. Automated model transformations should be a ground for building tools that guarantee the semantics preservation between successive steps of the design flow. This trend is also happening in the domain of real-time and embedded (RT/E) systems, where traditional resource-constrained systems are becoming much more complex, not so constrained and involve more and more partners.

UML is general-purpose and was designed to be customizable as a family of modeling languages. Its definition includes many semantic variation points, that is to say areas in which multiple interpretations of the specification are possible. The possible interpretations may be explicitly given or may remain implicit. This purposely loose semantics together with the UML refinement mechanism, called profiling, make UML a good base for building a domain specific modeling language without the prohibitive cost generally induced [START_REF] Selic | A Systematic Approach to Domain-Specific Language Design Using UML[END_REF]. Indeed, main reasons that prevent a large adoption of domain-specific languages are the lack of adequate support (editors, compilers …) and the low availability of trained programmers. Using a UML profile offers a practical and costeffective solution to reuse the large number of existing UML graphical frameworks and trained designers. This approach still requires a specialized training but with a reduced effort, though. Note that defining a UML profile to get a domain-specific modeling language is only possible when the domain-specific language is not in conflict with the UML semantics. Here again, the loose semantics of UML becomes an asset.

The relatively small community of the RT/E systems domain prevents major tool vendors from developing specific tools, making the domain an ideal candidate for defining a UML profile. In 2005, the UML Profile for Schedulability, Performance and Time (SPT) [START_REF]The UML Profile for Schedulability, Performance and Time (SPT)[END_REF] was adopted by the Object Management Group (OMG) to provide UML with a quantifiable notion of time and resources and make it usable in the RT/E domain. Besides the fact that SPT was conformant with UML 1.4 and needed to be aligned with UML 2, several improvements were required. The OMG has issued a Request For Proposals (RFP) [START_REF]UML Profile for Modeling and Analysis of Real-Time and Embedded systems[END_REF] to lead the path to a new specification that would supersede SPT. In 2007, the specification of the UML Profile for Modeling and Analysis of Real-Time and Our intention was to insist on time modeling, a fundamental aspects of models, almost absent in UML (mainly because of its numerous possible interpretations), and still that has to be a firstclass modeling construct when addressing real-time systems. Giving a precise timed semantics to UML models makes it possible to feed them into performance analysis tools, whether analytical or simulation-based. MARTE, and the underlying UML tooling support, then provide a general framework to gather otherwise unrelated models. Using a consistent view of time brings the currently missing consistency amongst the UML models, even though these models cover different aspects of the system under design and possibly at different abstraction levels. Model-driven engineering gives the technology to build transformation models to link UML models and the real-time domain tools, fore and back, allowing interpretation in the UML world.

Section 2 briefly introduces UML and its extension mechanism. Section 3 gives an overview of MARTE. We try to give a description understandable by non UML specialists and we focus on aspects of interest for performance evaluation and simulation.

THE UML AND ITS PROFILES

A UML model consists of model elements such as classes, associations, activities, and state machines. Some elements can represent a functional decomposition (use cases), structural aspects (classes, composite structures, and components), behavioral aspects (state machines and activities), execution traces (collaborations, sequence) or physical deployments (nodes). UML diagrams are corresponding graphical representations of these model elements. UML diagrams contain graphical elements (nodes connected by paths) that represent elements in the UML model. The intended meaning of any model element can be refined by annotation called stereotypes. A profile is a complete domain-specific extension of UML with relevant stereotypes.

One of the most used UML diagram is the class diagram. After a brief description we show on to extend it with a dummy profile.

Class Diagrams

Representing classes is essential in object-oriented programming. In UML, classes own some properties (attributes/fields) and some operations (methods/functions). Figure 1 shows an example with the class PowerPC that owns one property (clockRate) and one operation (execute). The UML primitive type Natural represents the natural numbers  and does not refer to a particular encoding (int, long).

Figure 1. Class and instance specifications

The two instance specifications (G3, G5) denote particular instances of the class PowerPC. The slot values are assumed to be expressed in MHz in this particular example. UML does not provide any effective mechanism to associate units with values. That is one of the MARTE contributions.

The UML Meta-Model

Even though UML is mainly a graphical language, still it requires a grammar so tool can automatically parse the models and check their syntax. For UML, the grammar is defined in the UML superstructure specification [START_REF]The Unified Modeling Language (UML)[END_REF] using the Meta-Object Facilities (MOF). The MOF is another OMG specification and can be viewed as a minimal subset of UML. In UML the grammar is called a meta-model (or a level M2 model) and its basic elements are called meta-classes. Figure 2 shows a very small part of the UML grammar (meta-model) relative to the UML basic structural elements, the classifiers. The keyword «metaclass» differentiates a meta-class from a class.

Figure 2. Meta-model of a UML classifier

Reading the diagram, we see that each classifier can have an unbounded number of features (0..*). The features, which can be static or not, are further refined into structural features (like properties or signals) and behavioral features (like operations/methods). The line with the hollow triangle as an arrowhead represents a generalization. The arrowhead is directed from the more refined element towards the more general one. Generalization/Specialization and Inheritance are somehow different. Generalization is the concept, whereas inheritance is one of the ways offered by object-oriented languages to implement the UML generalization.

Note that the class diagram in Figure 1 is compliant with this classifier meta-model. The meta-model for instance specifications is not presented here. UML-compliant tools must understand the whole UML metamodel. To extend UML there are two solutions. Either the designer defines new meta-classes or he defines extensions to the existing meta-classes. The former approach is called metamodeling and requires, at the very least, the modification of the modeling tools and could require the definition of a completely new tool. The latter approach is called profiling. A profile consists of several stereotypes that extend existing meta-classes, defining new constraints and giving a more precise semantics. Profiling is a much lighter approach and has already been implemented in several commercial UML tools whereas metamodeling remains mainly a research domain.

A UML Profile

As an example of one possible extension to UML we might imagine that an architecture exploration tool needs to extract the processors contained in one particular system so to get the potential parallelism available. Unless the tool knows what a PowerPC is, and potentially all the names of all existing processors, it has no way to understand that the instances G3 and G5 are processors. A simple extension to UML would consist in tagging some model elements and explicitly identify them as processors. For instance, we could tag the class PowerPC.

The definition of a UML profile consists in defining a set of stereotypes. Each concrete stereotype extends one or several existing meta-classes. Any model elements that conform to a given meta-class can be annotated with the defined stereotype as soon as the profile has been applied to the model.

Model libraries

Another interesting extension would be to assign a more explicit type to the property clockRate, a type that would represent a frequency. New types can be defined within model libraries. An element from a model library can be used at any level, in a metamodel, in a profile or in a normal UML model.

Figure 4. Example of a model library

Figure 4 shows a model library that defines a type Frequency. A frequency has a value (a real number) and a unit to be chosen amongst an enumeration of all possible units. Since UML does not have any type to represent real numbers, an easy way around consists in defining our own primitive type Real. Note that in spite of being in double brackets the keywords dataType, primitive and enumeration are not stereotypes. This is only a graphical notation to distinguish classes from other structural elements.

Figure 5. A profile for defining units

The enumeration FrequencyKind defines the set of possible units.

To go further and establish relationships between the different units for the same dimension we can define (see Figure 5) a stereotype Unit that extends the meta-class EnumerationLiteral and a stereotype UnitSystem that extends the meta-class Enumeration.

The stereotype Unit owns two properties (convFactor and base).

Figure 6. Identify units for the dimension frequency

Figure 6 applies the new stereotypes to the enumeration FrequencyKind and its literals. Values for the stereotype properties are provided within brackets. The conversion factors enable the evaluation of expression where several units are used for the same dimension. The stereotype UnitSystem explicitly identifies a dimension (e.g., frequency) and its relation to standard dimensions (e.g., frequency = 1/time). This provides for a mechanism to ensure dimension coherency within expressions.

What about simulation?

UML focuses very much on early design and modeling of systems and "simulability" is hardly an issue in UML literature. Some elements of operational semantics are provided for state, activity and sequence diagrams mostly, with for instance some attempts to define automatic transformations into Petri Nets ( [6], [START_REF] Lopez-Grao | From UML Activity Diagrams To Stochastic Petri Nets[END_REF], [START_REF] Mallet | From UML to Petri Nets for non functional Property Verification[END_REF]). These approaches remain largely informal and subject to unspecified semantic variations. Anyway, most profiles come with semantic intentions that remain private to the stereotypes interpretation, and may defeat the little there is of UML semantics ( [9], [START_REF] Hardebolle | ModHel'X: A Component-Oriented Approach to Multi-Formalism Modeling[END_REF]).

In order to build proper (timed) simulation frameworks for UML models, we first need to introduce a time model and the possibility of adding clear time annotations to model elements. Second, we must provide subsets of the meta-model that correspond to analysis models as recognized in the simulation community. We shall now introduce the MARTE profile which aims at providing such mechanisms in a well-defined and semantically grounded way.

MARTE

RT The generic execution platform model is refined in the second part and differentiates software from hardware execution platforms. The third part concerns performance analysis and is described in Section 3.5.

Non-Functional Properties

MARTE non-functional properties (NFP) package comes with a user library (NFP_Types), a specification language called VSL (Value Specification Language) and stereotypes to help the definition of some domain-specific NFP. The package is very generic and there are some attempts to share it with other profiles coping with quality of service (QoS)-constrained systems.

The library contains the main measurement units and dimensions from the international system of units. It provides support to build complex types, like matrices and vectors and some predefined NFP. For instance, the property ArrivalPattern specifies whether an event is periodic, a-periodic, sporadic, or its occurrence follows a given distribution. Figure 8 illustrates how the type can be used when defining a new type DRAM to model a dynamic memory and a particular instance of this memory with a refresh rate of 64 ms. The same expression can also be used as a constraint to specify that the system all with memories which refresh rate is less than 64 ms (see Figure 9).

Figure 8. Use of the type NFP_Duration

The analysis part heavily uses this package to define the UML model elements with which some NFP should be associated to apply a given schedulability (like Rate Monotonic Analysis-RMA) or performance (like queuing theory) analysis technique.

The Time Model

In the domain of real-time and embedded systems, time has to be a first-class construct and not a mere annotation that comes after the functionality validation. Missing a deadline is often as faulty as not performing the right function. Though, apart from the various philosophical and theological discussions about time, and even restricting the scope to computer sciences, time can have various interpretations. Schreiber in [START_REF] Schreiber | Is time a real time? An overview of time ontology in informatics[END_REF] gives a time ontology for informatics.

However, UML, whose goal is to be very broad and platformindependent, is mainly untimed. The package SimpleTime of UML2 has a simplistic view of time and explicitly relies on specific profiles for dealing with complex aspects: "The simple model of time described here is intended as an approximation for situations where the more complex aspects of time and time measurement can safely be ignored. … It is assumed that applications for which such characteristics are relevant will use a more sophisticated model of time provided by an appropriate profile." (UML Superstructure v2.1.2, p. 423).

Duration, observation and time measurement constructs introduced by SPT were conflicting with the package SimpleTime.

Some key concepts were missing to tackle relativistic effects that may appear in distributed systems or issues induced by systems with multiple clock domains (like many-core architectures or network-on-chip). Thus, MARTE chapter Time gives a rich theory, inspired from the tagged signal model [START_REF] Lee | A framework for comparing models of computation[END_REF], to model timerelated aspects appearing when dealing with RTE systems.

In MARTE, Time can be physical, and considered as continuous or discretized, but it can also be logical, and related to userdefined clocks. Time may even be multiform, allowing different times to progress in a non-uniform fashion, and possibly independently to any (direct) reference to physical time Instances of logical "non-ideal" clocks are: the execution cycles of a processor (e.g., in a world where processor clock rate can be adapted for power saving); the sequence of instructions of a thread (in a time sharing system where some an operating system allocates execution cycles amongst several such threads); algorithmic steps (in an abstract setting where data memory is not mapped); an engine rotation angle (when action has to be taken each 90° angle for instance). A general theory of multiform time and "scheduling-as-time harmonization" has been developed [START_REF] Lee | A framework for comparing models of computation[END_REF] and is a main influence in MARTE time model.

More precisely, a clock is an ordered set of instants with a labeling function and a unit symbol. For chronometric clocks, the unit can be the SI time unit s (second) or one of its derived units (ms, s, ns …). For logical clocks, the usual unit is tick, but clockCycle, executionStep may be chosen instead.

Clocks are a priori independent. They become dependent when their instants are linked by instant relations imposing either coincidence between instants or precedence. Clock relations are a convenient way to impose many-often infinitely many-instant relations. A time structure is set of clocks and instant relations. A time structure is then a partially ordered set of instants.

During a design we introduce several (logical) clocks that are progressively constrained. This strengthens the ordering relation of the application time structure. The time structure can be used by timing analysis tools to decide whether the requirements are met. It can also be used by a simulator to execute the model. When the ordering relation is total, there is one unique execution and the simulation is deterministic. Otherwise, one possible execution scenario can be chosen (deterministically or not) among all possible ones.

A support for multi-clock systems is required in GALS (Globally Asynchronous, Locally Synchronous) approaches and also in distributed real-time systems subject to relativistic observation effects. In that context, being distributed does not necessarily involve a large scale network but rather an embedded one (like CAN, TTP or FlexRay) often used in automotive or avionics applications. Even system-on-chips have the same kind of problems, mostly with many-core architectures and network-onchip, but also with mono-core high integration architectures where the end-to-end latencies across the chip are not negligible any more.

Another very important trait introduced by MARTE and that was ignored by UML is the ability to deal with multiform time. This feature allows for using several quantities (not only time) to express deadline requirements or constraints. We can obviously use durations (1.5 ms) or dates (before tomorrow noon), but also rates (25 times per second) or expressions relative to any event occurring in the system (before the camshaft has performed a rotation of 90°).

We have tried to introduce all these concepts while defining new stereotypes with parsimony. Figure 10 illustrates the definition of a timed state machine where event occurrences depend on the rotation angle of a car camshaft. The example used is a model of a four-stroke engine cycle. Applying the stereotype TimeProcessing associates the clock camClk with a UML behavior (a state machine, an activity or an interaction). The default unit for this clock is °CAM. Some clock relations can be established between the camshaft rotation, the engine rotation speed and the clock cycles of the injection controller.

The Execution Platform Model

When the application has been functionally specified and the expected QoS have been defined, the actual cost of the execution platform must be taken into account. Choosing the right execution platform is often a problem, several solutions are available. The easiest approach consists in using a general-purpose processor and generating the code for it from the specification. Unfortunately, this solution is often too slow for high performance applications. The highest performances are generally achieved when using a fully customized hardware accelerator (ASIC -Application Specific Integrated Circuit) but this approach is very expensive and time consuming. Some intermediate solutions are also possible. In any case, a trade-off between the cost and the performances must be found, this difficult process is called architecture exploration or hardware/software partitioning.

Often, to abstract away the application from the actual hardware execution platform, an intermediate layer is added, a middleware.

© 2008 ICST ACM DL

Even though MARTE does not bring any solution, it supports the modeling of the execution platforms either software (middleware, operating systems, and virtual machines) or hardware. It also supports the modeling of all the possible solutions and the final decision. Whatever the level of these execution platforms, they share some commonalities. The package GenericResourceModel (GRM) provides generic stereotypes to describe these commonalities. It differentiates the computing resources from the communication resources. It also separates active processing resources from passive storage resources. All resources may provide or require some services.

In the second part of MARTE, the package GRM is specialized by the package DetailedResourceModel (DRM) that itself splits into two sub-packages SoftwareResourceModel (SRM) and HardwareResourceModel (HRM).

The package SRM concerns real-time operating systems or virtual machines. MARTE annexes contain some guidelines to model ARINC653, POSIX or OSEK. The abstract computing resources of GRM are refined into threads or tasks. The passive resources can for instance be mutual exclusion resources like POSIX mutex or semaphores.

The package HRM provides stereotypes to model, at different abstraction levels, processors, memory hierarchies, ASIC, programmable logic devices (PLD).

Figure 12 illustrates the use of the package HRM with a UML composite structure diagram. The example is a bi-core system-onchip (SoC) made of a digital signal processing (DSP) processor and a general-purpose RISC (Reduced Instruction-Set Computer) processor. The DSP processes data-intensive part of the application whereas the RISC processes its control part (when different algorithms must be executed and how do they relate to each other). The two cores communicate through a double port memory (DPRAM). On one side of the communication, the AMBA High performance Bus (AHB) is used and on the other side a general data bus (GDP) is used. Some properties are associated with the stereotypes. For instance, the stereotype «hwProcessor», comes with properties to specify its frequency (the type NFP_Frequency has been defined for this purpose in the library NFP_Types), the size of its internal memory (the type is NFP_DataSize), the length of its pipeline …

With that capability, UML can be used as an architecture description language on top of the behavioral description. Choosing a two-layer approach provides a great flexibility for hiding irrelevant details of the behavior thus enabling the interoperability of multi-level models. This is happening with OCSI SystemC and the SPIRIT consortium IP-XACT format. IP-XACT is a language-independent front-end that allows for the specification of Intellectual Property (IP) meta-data and tool interfaces. It uses its own XML syntax to describe structure. For behavioral representation, IP-XACT relies on SystemC, VHDL, and Verilog HDL to specify the actual behavior of components. SystemC provides programming libraries to represent IP component behavior at different abstraction levels, from Transaction Level Modeling (TLM) to RTL but it requires additional support for architecture modeling.

The Allocation Model

When models of the application and the possible execution platforms are performed, the architecture exploration relies on the possible mappings of the former onto the latter to decide what solutions meet the requirements. In case there are several possible solutions, the designer must choose the most cost-effective one.

In MARTE these mappings are called allocation. Allocations comprise both spatial distribution and temporal scheduling aspects, in order to map various algorithmic operations onto available computing and communication resources and services. The temporal scheduling is required when several application elements are allocated to the same execution platform model element (same processor or same thread) or when synchronizations are required between different elements (e.g., two threads).

Both application and execution platform elements have structural and behavioral aspects. The allocation often requires prior adjustment (inside each separated model) to abstract/refine its components and allow a direct match. Allocation can be viewed as a "horizontal" association, and abstraction/refinement layering as a "vertical" one, with the abstract version relying on constructs introduced in the refined model. Even though different in role, allocation and refinement share a lot of formal aspects, and so both are described in the same chapter.

Application and Execution platform elements can be annotated with NFP information. Allocation and refinement provide relations (UML constraints) between these properties. Properties such as time or space requirement, cost, or power consumption are also considered.

In MARTE, we use the word allocation rather than deployment (as in UML) since deployment implies a physical distribution whereas allocation can also be logical (scheduling). For instance, two pieces of an algorithm could be allocated to two different processor cores, while the executable file containing both pieces would be deployed on the memory of the processor and the source file containing the specification of the algorithm would be deployed on a hard disk. This dual function was recognized in SPT, where allocation was called realization, while refinement was used as such. MARTE allocation and refinement are complementary to the UML deployment; we prefer to keep the three concepts separated. This is not the case of other modeling languages (like AADL) that, most of the time, merge them. Figure 13 shows an example of allocation. The application is described as a UML activity diagram with two swim lanes that model the potential allocation of each action. Note that the intersection between the two swim lanes is not empty. The action oper2 can be executed on any of the two processors. However, the cost may not be the same. Typically a DSP processor can execute a multiply-accumulate operation in one cycle whereas it would take many more cycles with a RISC. It is also important to note that the communications cannot be neglected. That is where it becomes critical to get an accurate description of the platform (see Figure 12).

Figure 13. An example of allocation

There are different ways to represent the cost of the allocations. A very practical way is to use a table. Tables are officially mentioned as acceptable UML models but unfortunately very few tools actually support this notation. The tables below (Figure 14) illustrate a possible graphical representation. There are no units here because such tables can be supplied for any relevant QoS. The column Unique Alloc identifies whether or not the duplications of particular actions are allowed. When the duplications are allowed, time performances may be better but the implementation cost is generally higher.

Figure 14. Allocation cost

A more detailed description of MARTE allocation model is available in [START_REF] André | Modeling Time(s)[END_REF].

MARTE Analysis Model

MARTE analysis model does not introduce or target new specific analysis techniques. Rather it aims at representing well-known models from schedulability and performance analysis theories into a UML framework [START_REF] Woodside | From Annotated Software Designs (UML SPT/MARTE) to Model Formalisms[END_REF]. Following a model-driven engineering process, transformation tools should be able to extract the relevant information from MARTE models, feed them into appropriate tools and bring the results back into UML for interpretation or as back annotations to refine the models and iterate with other tools (Figure 15).

The profile SPT was already offering constructs to support quantitative analysis. However, the schedulability and performance analysis packages in SPT were totally independent.

In MARTE, in addition to an alignment with UML2, the two packages have been unified and both rely now on the same foundations. New stereotypes have been introduced to model, amongst others, jitter, transmission delays, deadline miss rates, execution time (worst-case, best-case and average), and many others.

Figure 15. Performance analysis with MARTE

Thus MARTE provides a common basis for both schedulability analysis (Rate Monotonic, Deadline Monotonic, holistic approaches) and performance analysis (queue networks, Petri nets, stochastic process algebra). This basis can be adapted to other quantitative analysis techniques via the definition of model libraries.

CONCLUSION

One main issue in simulation-based techniques is to understand the exact relation between what is simulated (usually a mathematically grounded model), and what is implemented or run (usually a software/hardware-based system). The same observation would be true for high-level modeling frameworks such as UML with respect to their implementation. It is certainly inevitable that connections between man-made models and the physical, more concrete, reality they are meant to represent (itself of natural or human source), would remain informal and assumed by faith. But if the same model contains the whole information (in our case mainly concerning timing and other extra functional requirements) from the design to the implementation through analysis and testing, then there is of course a better chance that they would coincide in the end.

In that direction, we provided a generic and broad sub-profile for Time Modeling, as part of the UML profile for MARTE, so that sophisticated timing relations can be expressed in UML models and identically understood by other (private) profiles using it. As a result, this can be thought of as a foundational step, defining a timed dynamic semantics of UML models and naturally leading to the possibility of timed analysis (schedulability and performance) and timed simulation, while there is nothing of this kind currently existing at all. However, there is still a long way before userfriendly analysis models can be represented. This would require a library of useful simulation patterns to ease the designer task.

ACKNOWLEDGMENTS

The original document is available in the ACM Digital Library (http://portal.acm.org/citation.cfm?id=1416222.1416271).

MARTE is the result of the work of an international consortium (http://www.omgmarte.org) that gathers tool vendors, industrial end-users and academics.

1st

  Int. Conf. on Simulation Tools and Techniques for Communications, Networks and Systems SIMUTools'08, pp. 1-8 © 2008 ICST ACM DL

Figure 3 (

 3 Figure 3 (left-hand side) illustrates the definition of the stereotype Hw_Processor that extends the meta-class Class.Once the stereotype is defined, it can be applied to any class (Figure3, right-hand side). In that way, an architecture exploration tool can easily tell the processors from any other model elements.

Figure 3 .

 3 Figure 3. The stereotype Hw_Processor

  1st Int. Conf. on Simulation Tools and Techniques for Communications, Networks and Systems SIMUTools'08, pp. 1-8 © 2008 ICST ACM DL

  /E systems correctness critically depends on meeting one or more extra functional requirements, like real-time constraints, throughputs, and energy consumption or reliability criterions. The MARTE specification is made of three parts. The first part (MarteFoundations) lays the foundations to model such systems. The other two parts (MarteDesignModel and MarteAnalysisModel) elaborate on that base and specialize it to address respectively the design and the analysis aspects. The first part defines the foundations for RT/E systems modeling and analysis. It supports the modeling of extra functional properties (see Section 3.1), including time properties (see Section 3.2), resources. It provides a generic execution platform model (see Section 0) as well as an allocation model (see Section 3.4) to allocate application model elements onto execution platform model elements.

Figure 7

 7 Figure 7 shows an excerpt of the library NFP_Types to illustrate the definition of the type NFP_Duration. The enumeration DurationUnitKind is used as a dimension. The conversion factor allows for automatic computation of VSL expressions.

Figure 7 .

 7 Figure 7. Excerpt of the library NFP_Types.

Figure 9 .

 9 Figure 9. A VSL expression as an NFP constraint

  . The time structure is defined by a set of clocks and relations on these clocks. Here clock is not a device used to measure the progress of physical time. It is a mathematical object lending itself to formal processing instead. A clock that refers to physical time is called a chronometric clock. A distinguished chronometric clock called idealClk is provided in the MARTE time library. This clock represents the "ideal" physical time used, for instance, in physical and mechanics laws. At the design level most of the clocks are logical ones. 1st Int. Conf. on Simulation Tools and Techniques for Communications, Networks and Systems SIMUTools'08, pp. 1-8 © 2008 ICST ACM DL

Figure 10 .

 10 Figure 10. A state machine with multiform time Another very useful UML construct to represent timing information is the timing diagram. Timing diagrams can be used either to represent a single execution trace, like a waveform, but they can also represent a family of possible traces.

Figure 11 .

 11 Figure 11. A timing diagramFigure11shows a refinement of the internal combustion engine cycle that highlights the overlapping of the engine strokes. The time observations (in green) identify significant events in the system (OTDC -Overlap Top Dead Center, FBDC -First Bottom Dead Center, SBDC -Second Bottom Dead Center). The time constraints (in red) specify deadline requirements. For instance, the intake stroke must complete during a precise time range ([40..60]) after the beginning of the compression stroke (FBDC). The time range is expressed in degrees and refers to the rotation of the camshaft (°CAM). The physical time slot varies according to the engine rotation speed. These timing constraints can be used by a simulation engine to insert automatic probes (observers) and anticipate incorrect behaviors.

Figure 12 .

 12 Figure 12. Modeling a hardware execution platform