Set-based Simulation for Design and Verification of Simulink Models
|
|
|
- Donna Sanders
- 10 years ago
- Views:
Transcription
1 Set-based Simulation for Design and Verification of Simulink Models Olivier Bouissou, Samuel Mimram, Baptiste Strazzulla CEA, LIST, Gif-sur-Yvette, France Alexandre Chapoutot ENSTA ParisTech, Palaiseau, France Abstract Model-based design is a widely used methodology for the development of embedded critical software, such as a discrete controller for a continuous plant. In this setting, numerical simulation of both the plant and the controller plays a crucial role, since it is used to validate the design choices in the early stages of development. However, classical numerical simulation has inherent limitations: it is of limited precision and cannot deal with the intrinsic non-determinism present in complex systems. In this article, we present a tool named HySon that overcomes these drawbacks. It takes as input a Simulink model of a control-command system with non-deterministic uncertainties and automatically computes flow-pipes that contain all possible trajectories of the system. We show on some examples how HySon can be used to improve the quality of model-based design. I. INTRODUCTION The typical workflow for embedded software development generally involves at least two teams of engineers, respectively developing the hardware system and the software. For example, during the elaboration of a control-command software, the first team designs the controller, while the second one implements the resulting algorithm on a specific hardware target. We have presented in Figure 1 a simplified workflow model as it can be found in DO178 compliant aeronautics development [14]. In order to reduce the time-to-market and to increase the confidence in the developments both teams use tools to help them. Usually, at system level, Matlab/Simulink is used to describe and simulate both the physical plant and the controller in a uniform model. At the software level, the SCADE Suite is often used because its code generator is qualified for software up to DAL-A level. The development process for the software is thus generally much more rigorous than the development process for the system, while verification and validation of the software with respect to system requirements are needed. A large number of bugs in software is caused by bad specification of requirements, which occurs early in the development process. It is therefore crucial to ensure that all corner cases have been correctly addressed at the model level. This is usually done by performing many simulations, with the hope of covering the majority of typical behaviors of the system depending on its parameters: those parameters are generally uncertain, i.e. the specification does not give their precise value but only a range in which they should lie. However, it cannot be ensured that all the cases have been considered since parameters usually lie in an infinite domain. Starting from this observation, we have developed a tool named HySon, whose aim is to analyze Simulink models used by system engineers to discover bugs or to validate the control algorithms Verification of object code with HiLR System requirements High-level requirements Model validation Model (Arch. + LLR) Review of source code Source code Object code System Software Figure 1: Simplified life-cycle in model-based development. early in the development process: instead of performing lots of simulations, it can compute an over-approximation of all the possible behaviors resulting from (possibly infinite) sets of parameters in one simulation pass. The correct-by-design simulation process has been achieved by an in-depth adaptation of classical simulation algorithms, such as those implemented in Simulink, in order to convert them to set-based simulation, which is able to manipulate sets of trajectories. The rest of this article is organized as follows: in Section II we present our method on a simple yet realistic example, in Section III we describe our tool and in Section IV we give some details on the mathematical foundation of our method. Finally, Section V shows the various usages one can make of HySon on some examples. II. A MOTIVATING EXAMPLE We motivate our approach on a simple yet representative example of a controller and show how HySon can be used to increase the confidence in the controller design. We consider a cruise-control system. The plant is a simple model of a vehicle moving horizontally on a road with some friction. The dynamics of the speed v is given by v = (u b v) /m where u is the power given by the engine, m is the mass of the vehicle, b is the friction of the road and v is the derivative of v with respect to time t. The controller acts on the power u in order for the vehicle to reach a user-specified speed v r. We chose to use a discrete PI (proportional-integrator) controller given by: u(t k ) = k p (v r v(t k )) + k i h k i=0 (vr v(t i)) where k p and k i are respectively the proportional and integral gains, and the
2 Figure 3: Blocks introducing a uniform noise in a sensor. Figure 2: Simulink representation of the cruise-control model. The gray blocks represent the continuous plant system. t k are the sampling instants given by t k = k h where h is the sampling rate. Figure 2 shows the Simulink implementation of this system. It should be noted that the sensor block on the left converts a continuous signal into a discrete one. In a classical model-based design approach, the design choices for the controller (the choice of a PI controller, and of the parameters k p and k i ) are validated by running some simulations of the system for various values of v r, and verifying that in each case the high level specifications (maximum overshoot, settling time, etc.) are verified. We see three limitations to this method. First, in this setting, only a finite number of input values v r can be tested. However, the driver may choose any value for v r within a known range. Classically, the extreme values of v r are tested plus some random values in the full range, but this does not ensure a sufficient coverage for the tests cases, as pointed out in [14, Chap 9.2]. Second, when the plant is designed, it is assumed that the mass of the vehicle, for example, is perfectly known. This is often not the case, especially when such physical components are supplied by an external partner: such physical parameters are generally only known up to some precision, and a small variation of a parameter may greatly change the dynamics of the plant (especially for complex non-linear dynamics). The simulation of the plant with one value m for the mass of the vehicle may thus not be significant if the real mass is 1.01 m (i.e. there was a 1% error). Finally, the sensor block in this system samples its continuous input signal at a constant rate. It models a perfect sensor that does not introduce any measurement noise, which is not realistic since sensors tend to add random noise, thus perturbing the controller scheme. When we face only one such uncertainties, Monte-Carlo simulations may offer a good level of confidence in a reasonable time. However, when various sources of uncertainties are combined, the number of simulations required to get a good coverage of all cases is exponential, and random simulations can no longer be used. The solution we are advocating for in this paper is set-based simulation. To wit, it is a way to perform exhaustive testing of the system by adapting the simulation algorithm to propagate sets of values instead of simply values (represented as floating-point numbers). For example, consider an uncertain mass for the vehicle, and assume that the mass lies within the range [990, 1010]. Using HySon, we can run the simulation of the system without having to randomly chose one value of the mass in this range: we automatically propagate the whole interval. The result of this set-based simulation is then a sequence of sets (in details, they are encoded affine forms, see Section IV) that contain all the possible values for one random simulation at each simulation time. On our cruise-control example, we run HySon with two uncertain parameters: the input value v r is within the range [12, 15] and the mass of the vehicle is within the range [990, 1010]. We also modified the sensor block to introduce a 10% random noise: at each sampling time, the measured value v d is v d = (1 + α)v where α [ 0.1, 0.1]. To do this in Simulink, we only have to replace the Sensor block of Figure 2 with the blocks of Figure 3, and set the parameter of the Gain block to the interval [ 0.1, 0.1]. Note there is a difference about what uncertainty means for the parameters m or v r, and the noise: the first are uncertain but constant during a whole simulation, while the noise takes a new value at each simulation step. This kind of difference is taken into account and handled by HySon. Figure 4 shows the upper and lower limits of the sets obtained for one simulation in HySon, as well as 3000 random simulations in Simulink. As shown by this example, the set-based simulation proposed by HySon is both complete (it runs all simulations at once) and precise (it does not introduce much pessimism, i.e. over-approximations in the set of possible trajectories). Remark that using HySon, we could analyze the effect of sensor noise on the controller without any other assumptions on the value of this noise than its bounds. In particular, we did not assume any probability distributions on the noise as such assumptions are difficult to prove. Figure 4: Result of HySon on the uncertain cruise-control system: the dark thick lines are the bounds computed by HySon while the gray dots are random simulations in Simulink. III. SOFTWARE ARCHITECTURE The overall architecture of HySon is depicted in Figure 5. The tool takes as input two kinds of programs: either a Simulink model or a program written in the special hybrid language named ODE. The source program is parsed in order
3 Simulink ODE Hybrid IR Imperative Optim. Interpreter Native Figure 5: HySon architecture: both languages Simulink and ODE are compiled into a single intermediate representation, optimized, and executed. init v = 15.; init z = [10.,10.2]; # Initial value of z is unknown in [10,10.2] gravity = -9.81; elasticity = 0.8; v = gravity; z = v; on z < 0 do { v = -elasticity*v; z = 0; }; output (z); Figure 6: ODE implementation of the bouncing ball. to generate an intermediate representation, which roughly consists of a sequence of equations. This transformation follows the operational semantics of Simulink, as described in [3]. Currently, the parser handles many of the commonly-used blocks, both continuous and discrete and has been extended since [3] with a fully-fledged integrator (reset and saturation), subsystems and signal routing. HySon handling uncertain parameters, the parser supports ranges in addition to usual floating-point parameters. Those improvements required a fixpoint equation to determine the dimension of a signal and a mix of two different orders of evaluation to handle the reset and external initialization. This representation is then transformed into an imperative program resulting from the implementation of the integration scheme and zero-crossing algorithm, as described in Section IV. Various optimization passes are then performed on the resulting program such as constants propagation, dead code elimination, etc. Finally, the program can be executed directly using a built-in interpreter, or native code can be emitted (currently by compiling a generated OCaml program). We now quickly present the ODE language, as well as the Simulink parser and the difficulties that had to be overcome during its elaboration. ODE language. A dynamical system is easily described in our ODE language, which offers a way to provide a textual description of dynamical systems. A program in this language consists of a list of equations of the form v=e where v is a variable name and e is an arithmetic equation. Each variable represents a signal, i.e. a (discrete or continuous) function of time, whose values can either be reals or booleans. For example, the meaning of z=x+y is that x, y and z are signals such that z(t) = x(t)+y(t) holds at each instant t. Special kind of equations can be used in order to define the dynamics of the system. First, differential equations are expressed by defining the derivative of a variable over time as the value of some expression: we write it v =e where v is a variable and e is an arithmetic expression. In this case, the initial value of the variable v must be specified using the syntax init v = v0. Second, discrete events are defined using the syntax on(b) do {s} where b is a boolean expression and s is a sequence of simple equations. For example, the event on(z<=0) do {v=-v} represents the bouncing of a ball on the floor: as soon as the ball hits the floor (its altitude z is 0), its speed gets reversed. An example of ODE program is given in Figure 6, which describes the classical bouncing-ball system [20]. Simulink parser. If the ODE language is useful for experimenting with small examples, real-world applications are often coded in Simulink. We thus implemented a frontend which translates Simulink models into our intermediate representation. In order to do so, the blocks are sorted according to the links given between the blocks, in order to determine the order in which they are going to be evaluated. When cycles occur in the diagram, those must contain integrator blocks (algebraic loops are not allowed in HySon) which indicate where they should be broken, as explained below. Potentially, external initial conditions must be evaluated first and the state ports require to have the integrator block evaluated twice. In addition, we also consider the Initial Condition block which behaves as a source during initialization and as a link by just conveying its input otherwise. To handle all these special cases, two orders actually co-exist: one for the initialization phase and one for the simulation phase. Using these orders, we can also propagate dimensions through each links to handle mux/demux blocks. To do that, we create a special fixpoint equation that determines the dimension of each link and solve it using a Kleene iteration. Note that we could have used Matlab to obtain the evaluation order and dimensions, but we chose to re-implement the sorting and the dimension algorithms so that HySon can be used independently from Matlab. Using the order of evaluation and the dimension of links, we can then translate the model into the formalism specific to HySon and then simulate the model. The evaluation of the integrators (continuous and discrete) is among the most important part of the simulation process, and its implementation is quite subtle since those blocks are highly configurable. Two main features of the integrator blocks are saturation (which allows to not take the input in account as long as the output is above or below a certain threshold), and the reset of the internal state of the integrator. The saturation mechanism is implemented by internally adding a zero-crossing event (see Section IV): when the output is above the threshold and the input is positive, the integrator integrates zero instead of the input, until the input becomes negative (the situation where the output is below the threshold is similar). The reset operation in Simulink uses the state port, which is a second output whose value is equal to the output of the integrator except when a reset occurs. It is mainly used to break algebraic loops, since the condition to reset the integration can potentially depend on its own output. For continuous integration, the zero-crossing detection handles that case, but for discrete-time integration, which is sequential, the integrator has to first emit its result through the state port and then check, once every blocks it depends on are evaluated, if the condition is met before outputting an appropriate result.
4 A large effort has been made to handle most of the options of integrator blocks (including different kinds of integration scheme for discrete-time integrators) so that HySon can be used on many models without requiring modifications. Note that other parsers of Simulink models exist, in particular the Gene-auto parser [22]. Our tool handles a larger set of Simulink blocks, including continuous blocks such as the integrator block while Gene-auto focuses on discrete time models. In the rest of this article, we only present examples in the ODE language or as differential equations, since those are more readable on paper, but our tool could of course takes as input the same systems written in Simulink. IV. GUARANTEED SET-BASED SIMULATION The foundations of the tool HySon are based on a series of previous works by the authors. First, an operational semantics of a realistic subset of Simulink language, involving both continuous- and discrete-time blocks, was rigorously defined [3]. This semantics was then extended in order to deal with uncertainties, modeled as parameters lying in interval values, hence showing that the simulation engine of Simulink could be adapted in order to compute with sets of values [5]. Finally, classical numerical integration methods (RK4, ODE23, etc.) were adapted in order to compute a safe enclosure of the solution of an ordinary differential equation [4]. We recall here the main ingredients on which the set-based simulation used in HySon is based. Problem to solve. A Simulink model is associated to a hybrid dynamical system of the simplified form: ẏ = f c(y, x n, u) continuous-time function (1a) x n+1 = f d (y, x n, u) discrete-time function (1b) z = g(y, x n, u) output function (1c) with x (resp. y) the discrete (resp. continuous) states of the model, u being the input, and y the output. The time derivative of y is denoted by ẏ = dy. The simulation, i.e. the numerical dt resolution of Equations (1), uses an iterative method which successively evaluates Equations (1c), (1b) and (1a). The main idea of the simulation algorithm, see [3] for further details, is: at iteration n, from the states y n, x n and the input u n the algorithm computes an output z n and updates the internal states y and x which will be used in the next iteration. In case of Equation (1a), the value for y at next considered instant is computed using a numerical integration algorithm. It is often the case for complex, industrial systems that some parameters are uncertain (for example the mass of the vehicle in the introductory example). We model these uncertainties by allowing the functions f c and f d to depend on some uncertain parameters. In other words, we consider the system ẏ = f c(y, x n, u, p c) x n+1 = f d (y, x n, u, p d ) z = g(y, x n, u) (2a) (2b) (2c) where p c and p d are formal, unknown but bounded parameters. We assume that we are given sets of possible values for these parameters: p c P c and p d P d. Each choice of the unknown parameters p c and p d gives rise to a new dynamical system which, when simulated, produces an output signal z. The goal of HySon is to compute efficiently and precisely an overapproximation of all the signals z for every possible value of the unknown parameters in P c and P d. This is what we call set-based simulation, that uses the same algorithms as for numerical simulation but the functions in Equation (2) and the numerical methods are extended to manipulate sets of values. The second use of HySon is to compute guaranteed set-based simulation, in which the tool computes an over-approximation of the mathematical solution of Equations (2) rather than of their numerical simulation. This can be used to safely compute bounds on the trajectories of the physical system represented by the equations. In the rest of this section, we detail the methods used to achieve these goals. First, we present our encoding for sets of values, based on the notion of affine forms [15]. Computing with sets of values. In order to represent sets of values, we use affine arithmetic [9] which can be seen as a much improved interval arithmetic which is able to track linear correlations between the variables of the model. We chose this domain because it can represent sets of values quite accurately, in a compact way, and usual operations can reasonably be computed on those. A set of values in this domain is represented by an affine form â, which is a formal expression of the form â = α 0 + n i=1 α iε i where the coefficients α i are real numbers, α 0 being called the center of the affine form, and the ε i are formal variables ranging over the interval [ 1, 1]. Obviously, an interval a = [a 1, a 2 ] can be seen as the affine form â = α 0 + α 1 ε with α 0 = (a 1 + a 2 )/2 and α 1 = (a 2 a 1 )/2. All classical operations (addition, subtraction, multiplication,...) are defined over affine forms. For instance, given ˆx = x 0 + n i=1 x iε i and ŷ = y 0 + n i=1 y iε i, their sum and product are computed using the following formulas: n ˆx + ŷ = x 0 + y 0 + (x i + y i )ε i i=1 n ˆx ŷ = x 0 y 0 + (x 0 y i + y 0 x i )ε i + Rε n+1 i=1 where ε n+1 is a new noise symbol introduced to represent the over-approximation performed by the linearisation of the multiplication, and R = ( n i=1 x i ) ( n i=1 y i ). This arithmetic reduces the impact of the dependency problem of interval arithmetic, e.g. if a = [1, 2] and we compute a a the result in interval arithmetic is [ 1, 1] while with affine arithmetic is 0, see [5] for more details. We use this arithmetic to both simulate and safely solve Equations (2). These operations rely on a rather simple algorithm that we detail next. Set-based numerical simulation. Given a system given by Equations (2) with an initial state given by two affine forms ŷ 0 and ˆx 0, the following algorithm computes a sequence of affine forms ŷ n and ˆx n: Input: ˆx 0, ŷ 0, t 0, h; n = 0; loop until t n t end evaluate g(ŷ n, ˆx n, u) compute ˆx n+1 = f d (ŷ n, ˆx n, u, P d ) ŷ n+1 = solve ode ( ẏ(t) = f c(y(t), ˆx n, P c), ŷ n, h ) ŷ n+1 = solve zc(ŷ n, ŷ n+1 ) n = n + 1; t n+1 = t n + h
5 This algorithm depends on two functions: solve ode and solve zc. solve ode computes the next value of the continuous variables given the current value ŷ n, the ODE and the chosen step-size h. Note that efficient algorithms also modify the step-size according to user-defined tolerances, but we here only give a simplified version that keeps the step-size constant, see [5] for further details on variable step-size. The second function, solve zc, detects and applies special events that occur between two discretization instants. Depending on the chosen implementation for these two functions (guaranteed or not), we either obtain a set-based simulation or a guaranteed set-based simulation algorithm. Set-based numerical integration. The main algorithms used to perform numerical integration of ODEs are explicit Runge- Kutta methods [21]. For example, Heun method defines ŷ n+1 from ˆx n and ŷ n as: ˆk 1 = f c(ŷ n, ˆx n, P c) ˆk 2 = f c(ŷ n + hˆk 1, ˆx n, P c) ŷ n+1 = ŷ n + h 2 (ˆk 1 + ˆk 2 ) The evaluation of such scheme using affine form arithmetic produces a tight enclosure of all the simulations one would perform for any uncertain parameter, even for stiff non-linear dynamics. EXAMPLE 1. Let us consider the evolution of a quadrotor (some form of helicopter lifting system with four rotors), which is a continuous system with 12 variables with a highly nonlinear dynamics (due to the presence of numerous trigonometric operations) given by the following equations [2]: with φ 1 = φ 2 φ2 = θ 2 ψ 2 a 1 + θ 2 a 2 Ω r + b 1 u 2 θ 1 = θ 2 θ2 = φ 2 ψ 2 a 3 φ 2 a 4 Ω r + b 2 u 3 ψ 1 = ψ 2 ψ 2 = θ 2 φ 2 a 5 + b 3 u 4 ż 1 = z 2 ż 2 = g u 1 cos(θ) cos(φ)/m ẋ 1 = x 2 ẋ 2 = u 1 (cos(φ) sin(θ) cos(ψ) + sin(φ) sin(ψ)) /m ẏ 1 = y 2 ẏ 2 = u 1 (cos(φ) sin(θ) sin(ψ) sin(φ) cos(ψ)) /m Ω 1 = α zc z + α θ c θ α ψ c ψ Ω 3 = α zc z α θ c θ α ψ c ψ Ω r = β (Ω 2 + Ω 4 Ω 1 Ω 3 ) Ω 2 = α zc z α φ c φ + α ψ c ψ Ω 4 = α zc z + α φ c φ + α ψ c ψ u 1 = γ (Ω 1 + Ω 2 + Ω 3 + Ω 4 ) u 2 = γ (Ω 4 Ω 2 ) u 3 = γ (Ω 1 Ω 3 ) u 4 = β (Ω 2 + Ω 4 Ω 1 Ω 3 ) a 1 = (I yy I zz)/i xx a 3 = (I zz I xx)/i yy a 5 = (I xx I yy)/i zz b 2 = l/i yy with constants α z = α θ = α φ = α ψ = a 2 = J r/i xx a 4 = J r/i yy b 1 = l/i xx b 3 = 1.0/I zz β = γ = (3) (4) Figure 7: Altitude z in the quadrotor example 1. where I xx, I yy, I zz (inertia moments), J r (rotor inertia) and l (distance to center) are physical constants of the engine, and the continuous controller is given by c z = (100(z r z) 20z 2 ) /(cos(φ) cos(θ)) c φ = 0.8 (φ r φ) 0.4φ 2 c θ = 1.2 (θ r θ) 0.4θ 2 c ψ = (ψ r ψ) 0.4ψ 2 We consider here an instance of the system with the following uncertain parameters: the initial value for z is in [0, 0.1], the reference value z r for z is in [1, 2], the physical parameters of the system are uncertain: the inertial moments I xx and I yy are in [0.007, 0.012], I zz [0.01, 0.02] and l [0.2, 0.3]. We simulated this system using HySon up to 5 seconds, and at the end of the simulation we got z [ , ] (the output of the simulation is shown in Figure 7). The simulation took 24.64s. We also ran 1000 Monte Carlo simulations of the system and got, in 99.79s, an interval of [ , ]. This demonstrates both the efficiency and the precision of our simulation engine, even for highly non-linear systems. Guaranteed set-based numerical integration. The previous Heun method computes a value ŷ n+1 from ŷ n that approximates the set of values Y h = { y(h) ẏ(t) = f c(y(t), x n, p c), y(0) ŷ n, x n ˆx n, p c P c } Y h is the set of values of the solution of the ODE (2a) for any initial value in ŷ n, any constant value for x n ˆx n and any parameter p c P c. We thus have ŷ n+1 Y h. The goal of a guaranteed set-based numerical integration is to solve Equation (2a) such that we obtain an affine form Ŷn+1 that encloses the solution Y h : we want Y h Ŷn+1. To do so, we have to bound the error introduced by numerical integration method and we showed, in [4] for the class of explicit Runge- Kutta integration methods, that it can be done by bounding the remainder of a suitable Taylor series. Based on [4], HySon can solve Equation (1) with different guaranteed numerical integration methods which makes it more adaptable to the different kinds of differential equations used to model plants. (5)
6 For example, if we consider Heun solver again, we may write ŷ n+1 as ŷ n+1 = Φ(ŷ n, h) where Φ is the function: R m R + R m ( Φ : (y, t) y + t f 2 c(y, ˆx n, P c) ) +f c(y + t f c(y, ˆx n, P c), ˆx n, P c) Then, if we write φ(t) = Φ(ŷ n, t), we have that: ( ŷ n+1 Y h h3 dφ 3 6 dt 3 ([0, h]) df c 2 ) (ŷ, ˆxn, Pc) dt2 where ŷ is an affine form over-approximating the set of values of the solution to the differential equation between time 0 and h. This set is computed using Picard iteration as in [19], [4], and an evaluation of (6) then gives a precise and sound bound on Y h. Set-based zero-crossing events. In some cases, the continuous-time dynamics is made of several modes. As a simple example, consider a mass-spring system with two different stiffness coefficients depending on the position of the mass as depicted in Figure 8: the stiffness of the spring is k 1 when the mass is close to the wall and k 2 otherwise. The switching between the two modes is usually detected by looking at the sign of a function, named zero-crossing function. In the case of the mass-spring system this function could be positive if the position of the mass is between the wall and the length l, negative otherwise, and the switching instant is given when the function is zero. A challenge for the simulation engine is to detect this kind of event, named stateevent or zero-crossing event, since the time when they occur is not known a priori, contrarily to the time-events associated to the sampling rate of discrete-time sub-systems which is fixed throughout the simulation. To handle state-events in our simulation framework, we extend Equations (1) to take zero-crossing functions in account. More precisely, we extend the mathematical model of the continuous-time dynamic, with a zero-crossing function v, such that { fc,1 (y, x n, u) if v(y) 0 ẏ = with y(0) = y 0, v(y 0 ) < 0 f c,2 (y, x n, u) otherwise The dynamic of the continuous-time systems follows f c,1 until v equals to zero, and then it follows f c,2 (we have described systems with only two modes for simplicity but the general case with possibly more modes is similar). In this case, the simulation algorithm must detect and locate the exact time when the function v is zero. Note that to respect all the hypotheses under which the solution of the continuous dynamics exists, the simulation treats this problem in two steps: first numerically integrate the ODE and then solve the k 1 l Figure 8: A mass-spring system with two different stiffness. k 2 m (6) equation v(y(t)) = 0 that is find the time instant where v is zero. The classical numerical approach to deal with this kind of equations is to use an interpolation polynomial p in order to approximate the solution y and find the zeros of v. In consequence, we need to solve v(p(t)) = 0 instead of v(y(t)) = 0 with a bisection-like algorithm. Note that the polynomial approximation avoids the use of numerical integration methods, which are computationally expensive, to find zeros of v, which depends on y, and then increases the performance of the simulation. We recall the main steps of this method to facilitate the understanding of our contribution on this particular feature in the set-based simulation framework. Assume we follow the dynamic ẏ = f c,1 (y, x n, u) and we want to detect an event associated to the zero-crossing function v. After a successful numerical integration between instants t n and t n+1 we have the available information: at instant t n we know the solution y n and at instant t n+1 we know y n+1. To detect an event we compute v(y n) and v(y n+1 ) and we compare the signs of these two results. If the sign is different then an event is detected. Note that this approach is not safe as for example the function v may change its sign twice during the integration step, see [23] for further explanations. If an event is detected then the simulator looks for the precise time when the event occurs that is when v is zero. To do so, it uses an Hermite- Birkhoff approximation which from y n, y n+1 and f c,1 (y n) and f c,1 (y n+1 ) defines the polynomial function: p(t) = (2τ 3 3τ 2 + 1)y n + (τ 3 2τ 2 + τ)hf c,1 (y n) + ( 2τ 3 + 3τ 2 )y n+1 + (τ 3 τ 2 )hf c,1 (y n+1 ) (7) with τ = (t t n)/h and h = t n+1 t n. This polynomial function is then used in a iterative algorithm to solve v(p(t)) = 0. We can adapt the previous algorithm to deal with uncertainties using affine arithmetic for evaluating the function v and the interpolation polynomial p, hence we have a set-based detection of zero-crossing event. The detection of the event is translated into a comparison of signs between the affine evaluations of v with ŷ n at time t n and ŷ n+1 at time t n+1, note this approach is still not safe. The enclosure of the time instants of the zero-crossing events still uses a bisection-like algorithm using the affine evaluations of p, see [5]. We now deal with a continuum of zero-crossing events instead of one single event. This induces different situations in the detection of zero-crossing event depicted in Figure 9. In Case a, the whole set of trajectories generates a set of zero-crossing event then we have to enclose an interval of times associated to it. In Case b, a part of the trajectories generates a zero-crossing event while the other part not. In that case, we can split the set of trajectories in two subsets and continue the simulation with each subset. An other solution is to continue the simulation by gathering all the values generated by the integration until all the trajectories stop generating an zero-crossing event and then post-process the list of values to enclose the time associated to the zero-crossing event. In Case c, due to the pessimism of the affine arithmetic, we may detect some spurious events that we detect events that are not in the real system. In that case, the algorithm used to compute the enclosure of the time of the zero-crossing event should detect the absence of event. We propose in this article to adapt this approach in order
7 v(y) t n t n+1 Case a t v(y) v(y) t t t n t n+1 t n t n+1 Case b Case c Figure 9: Three cases for zero-crossing events. Exact trajectories are depicted in dark gray, the over-approximated flow pipes in light gray. to guarantee the detection of event and the computation of the time when zero-crossing event occurs. Guaranteed set-based zero-crossing events. The challenge in defining a guaranteed detection of zero-crossing event is twofold, the detection of the event must be guaranteed and the computation of the enclosure of time instants must also be guaranteed. We explain in the sequel our contribution on these two challenges. We guarantee the detection of the occurrence of a zerocrossing event by using the result of the Picard iteration. Recall that the Picard iteration produces an enclosure of the solution ŷ of ẏ = f(y, x n, u) on the time interval [t n, t n+1 ]. So evaluating with affine arithmetic v with ŷ produces a safe enclosure of the behavior of v on the interval [t n, t n+1 ] hence if zero is in the result of this evaluation then we guarantee the presence of at least one event. Note also that due to the pessimism of affine evaluation, we can detect spurious events but the method is safe. We guarantee the computation of the zeroes of v by defining a safe interpolation polynomial. The idea is to bound the interpolation error in order to safely enclose the solution y between to integration time instants and use this safe interpolation to find an enclosure of the time at which the dynamics changes. Suppose given ŷ n, ŷ n+1, f c,1 (ŷ n) and f c,1 (ŷ n+1 ) as affine forms, we can define the polynomial function as in Equation (7). We know that the interpolation error, that is the maximal distance between the interpolation polynomial function and the exact function, is y(t; y 0 ) p(t) = which can be reformulated as y(t; y 0 ) p(t) = y (4) (ξ) (t t n) 2 (t t n+1 ) 2 with ξ [t 0, t n], 4! f (3) (ξ, y(ξ)) (t t n) 2 (t t n+1 ) 2 4! with ξ [t k, t k+1 ]. In other words, we can express the interpolation error in terms of the derivatives of f the function defining the continuous dynamics. In consequence, to guarantee the polynomial interpolation, it is enough to know an enclosure ŷ of the solution y(t) of IVP on the interval [t k, t k+1 ]. And fortunately, we can reuse the result of the Picard operator in that context, that is the meaning of Theorem 1. THEOREM 1. Let ˆp(t) be the interpolation polynomial based on guaranteed solutions ŷ n and ŷ n+1 of an IVP (1a) and affine forms of f c,1 (ŷ n) and f c,1 (ŷ n+1 ), and let ŷ be the result of the Picard operator. We have, t [t k, t k+1 ], ( ) y(t) Aff ˆp(t) + f (3) ([t k, t k+1 ], ŷ) (t t n) 2 (t t n+1 ) 2. 4! Using the guaranteed interpolation polynomial function of the solution of the IVP between time instants t n and t n+1, we can safely enclose by iterative methods the time when zerocrossing events occur. Guaranteed floating-point computations. Due to the finite representation of floating-point numbers, most operations on those (even simple ones such as addition) give rise to approximation errors. In the context of a very unstable or stiff system, this can lead to large accumulated errors during a simulation. This is why those are considered in HySon: the ideal theoretical simulation of the system using infinite precision real numbers is guaranteed to be contained in the interval of values provided by the simulation. V. HYSON FEATURES We now present in more details the kinds of systems HySon can handle and the information one can obtain with this tool. Plant design. HySon can handle continuous blocks in Simulink (such as the integrator block) as well as nonlinear operations. It also supports zero-crossing detection and advanced Simulink blocks such as resets, subsystems, mux/demux or signal routing. In this way, HySon can be used to validate the design of complex plants with non-linear behaviors. In particular, it can be used to check the robustness of a plant design with respect to perturbations expressed as uncertain parameters. EXAMPLE 2. We consider a train model 1 and check its behavior with a step input. A simulation of this system shows that the response time is small (around 30s) and that the oscillations before entering the steady state are small (see Figure 10, dashed line). We introduced a 10% uncertainty on the mass of the train and run set-based simulations in HySon. Result is shown on Figure 10, full lines. We could prove that the uncertain system had the same settling time and that the oscillations remained bounded. Note that, although this model is linear, it must be simulated on a long time (up to t = 1000s). HySon is stable enough to handle this long simulation time. Open loop controller. HySon also treats discrete systems. In particular, we handle various sampling times in different blocks, and discrete blocks such as the Unit-Delay, the Zero- Order Hold or the Discrete-Time Integrator. It also handles logic operations and mathematical functions. It can thus be used to perform formal verification of discrete systems in Simulink, as it is done by abstract interpretation tools like [8], [10] on software. Beside an earlier detection of bugs, this can be useful to easily define representative inputs of the system, using the Signal Builder block of Simulink for example. EXAMPLE 3. Consider a dynamical system given by ÿ + 0.6ẏ + y + y 3 = u, that we call the Duffing system, and we consider u to be the signal defined by Figure 11a, in dotted. To handle more representative inputs, we introduce uncertainties 1
8 Figure 10: Simulations of the train system: Simulink plot in dashed lines and HySon bounds, zooming on the first 50 seconds (a) Inputs of the system. In dotted, the initial input. In gray, the set of all inputs considered with the uncertainties (b) Outputs of the system with the uncertain inputs. Figure 11: Inputs and outputs for the Duffing system. on the switching times t 1 and t 2 of u and on the derivative of u between t 1 and t 2. This gives a set of signals contained in the gray region of Figure 11a. We also show how the dynamical system responds to these inputs in Figure 11b. We see that during the uncertain switching phase, the upper and lower bounds of the output seem to diverge, but the output remains stable as all trajectories finally converge towards 0. The reason of the local instability is that we don t know during the switch phase the value of u so that all possible values between the upper and lower bounds. This explain the local divergence on the output y as the value of u is then very large. Closed-loop controller. Finally, the main advantage of HySon is that it can analyze closed-loop systems as shown by the cruise-control system of Section II. Using the set-based simulation algorithms, we can estimate the properties of the controller (overshoot, settling time,...) even in presence of uncertainties. To do that, we mainly add observer to the system that infer the requested property. For example, an observer that should compute the overshoot of a certain variable v will detect, using a zero-crossing event, when the derivative v becomes 0, indicating a local maximum or minimum for v. We then can compute the maximal value v m of v during the simulation and thus the overshoot, defined as (v m v r)/v r if v r is the reference value.using the guaranteed version of the simulation algorithms, we can prove maximal and minimal bounds on these properties. In this way, HySon can be used for robust control design and can help reduce the safety margins taken when designing a controller as it can consider realistic models of sensors and uncertainties and it precisely computes the propagation of these uncertainties through the system. EXAMPLE 4. We consider a vehicle whose dynamics is given by the non-linear equations where m v = f(u, v) f a(v) f g(v) f d (v) (8) f(u, v) = 2280u ( ( ) ) 12v is the engine force with u is the control input (the desired speed is noted v r), v the speed of the car, m its mass and g the gravitational constant. The force f a = 0.01mg is the rolling friction, the force f g = v 2 is the aerodynamic drag and and the force f d = mg sin(θ) is the road slope force where θ is the slope angle. The PI control is defined by u = k p (v r v) + e i ė i = k i (v r v) The uncertain parameters are the slope θ [0.2, 0.5] of the road, and in the initial condition of the speed of the car: v(0) [15, 20]. To compute the over-shoot of the system, we add the following zero-crossing event: w o = max(w o, v) when v = 0 In this way, the final value of w o is the maximal value of v, allowing to compute the overshoot. The table below gives the value of the overshoot inferred by HySon and by 100 and 1000 Monte-Carlo simulations. HySon Monte Carlo w o Time (s) w o Time (s) w o Time (s) [30.18,31.89] [30.54,31.76] 3.4 [30.48,31.83] VI. CONCLUSION AND FUTURE WORK We have presented HySon, a guaranteed set-based simulator for Simulink, illustrating on simple examples some of its potential applications in an industrial context. Starting from a Simulink model that may contain both discrete and continuous blocks as well as uncertainties in some parameters, HySon computes the set of all possible simulation traces for any value of the uncertain parameters. In this way, HySon can be use to validate the design choices by providing a more reliable simulation process than Monte-Carlo simulations. HySon also provides a guaranteed simulation process in which the numerical algorithms used for simulation are turned (9)
9 into guaranteed algorithms that compute over-approximations rather than approximations. HySon can be used to formally prove the safety of a closed-loop controller. Other tools exist for formal verification or test case generation of Simulink models [12], [18], [1], but they are mostly concerned with discrete systems. Hybrid systems model checking [13], [7] aims at computing over-approximations of hybrid dynamical systems. Most tools however are based on the hybrid automata framework that cannot express the full complexity of Simulink models, in particular discrete blocks with timing. Finally, the work that is closer to ours is the BREACH toolbox and its recent applications [11], [16] that infers possible characteristics of a closed-loop system from a finite set of simulations. Our approach can be used to speed-up this process as it can run infinitely many simulations at once, precisely and efficiently. There are clearly many ways to develop this technique, let us now list the future challenges that we see for the model-based verification of control systems. First, we want to investigate the Software In the Loop phase to analyze a software implementation of the controller interacting with the Simulink model of the plant. This should not be too hard as we share with the Fluctuat tool the same abstract domain. Second, we want to extend HySon to provide the same setbased simulations for models written in other languages, such as Modelica or AMESim. In this way, we should also be able to verify systems developed using different models (Simulink and Modelica for example). The main challenge here is that these systems are generally based on a different mathematical model: for example, Modelica is based on Differential Algebraic Equations (DAEs) while Simulink is based on Ordinary Differential Equations (ODEs). Thus, handling Modelica imply that we integrate DAE solvers such as [19], [17] into our framework. We also want to continue improving our technique for formal verification of Simulink closed-loop models. To do so, we need to infer invariants on the trajectories of the system that remain true for unbounded time. For example, we want to infer Lyapunov-like information about the plant trajectories. Finally, one promising direction of improvements is to use variants of the affine form domain that also handle probabilistic information, such as the probabilistic affine forms of [6]. In this way, we may provide guaranteed probabilistic information about the output of a system, i.e. we compute bounds on the probability distribution of the output of the system. This makes much sense to analyze systems with probabilistic noise for example, and we believe that such a probabilistic information can be very useful for engineers developing embedded systems. [6] O. Bouissou, E. Goubault, J. Goubault-Larrecq, and S. Putot. A generalization of p-boxes to affine arithmetic. Computing, 94: , [7] X. Chen, E. Ábrahám, and S. Sankaranarayanan. Flow*: An analyzer for non-linear hybrid systems. In N. Sharygina and H. Veith, editors, CAV, volume 8044 of Lecture Notes in Computer Science, pages Springer, [8] P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. M. D. Monniaux, and X. Rival. The ASTREÉ analyzer. In ESOP, volume 3444 of LNCS, pages Springer, [9] L. H. de Figueiredo and J. Stolfi. Self-Validated Numerical Methods and Applications. Brazilian Mathematics Colloquium monographs [10] D. Delmas, E. Goubault, S. Putot, J. Souyris, K. Tekkal, and F. Védrine. Towards an industrial use of fluctuat on safety-critical avionics software. In FMICS, volume 5825 of LNCS, pages Springer, [11] A. Donzé. Breach, a toolbox for verification and parameter synthesis of hybrid systems. In CAV, volume 6174 of LNCS. Springer, [12] J.-F. Étienne, S. Fechter, and E. Juppeaux. Using Simulink design verifier for proving behavioral properties on a complex safety critical system in the ground transportation domain. In CSDM, [13] G. Frehse, C. L. Guernic, A. Donzé, R. Ray, and al. et. Spaceex: Scalable verification of hybrid systems. In CAV, [14] GMV Company. SOMCA: Safety implications in performing SOftware Model Coverage Analysis. Research project, EASA, [15] E. Goubault and S. Putot. A zonotopic framework for functional abstractions. CoRR, abs/ , [16] X. Jin, A. Donzé, J. V. Deshmukh, and S. A. Seshia. Mining requirements from closed-loop control models. In HSCC, [17] P. Kunkel and V. Mehrmann. Differential-algebraic Equations: Analysis and Numerical Solution. EMS textbooks in mathematics. European Mathematical Society, [18] S. Mohalik et al. Automatic test case generation from simulink/stateflow models using model checking. STVR journal, [19] N. Nedialkov. Interval tools for ODEs and DAEs. Technical Report CAS NN, Dept. of Computing and Software, McMaster University, [20] A. Platzer. Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics. Springer, Heidelberg, [21] L. Shampine and M. Reichelt. The MATLAB ODE Suite. Journal on Sci. Comput., 18(1):1 22, [22] A. Toom, T. Naks, M. Pantel, M. Gandriau, and Indrawati. Gene-Auto: an Automatic Code Generator for a safe subset ofsimulink/stateflow and Scicos. In ERTS, [23] F. Zhang, M. Yeddanapudi, and P. Mosterman. Zero-crossing location and detection algorithms for hybrid system simulation. In IFAC, REFERENCES [1] D. Bahrami, A. Faivre, and A. Lapitre. Diversity - tg, automatic test case generation from matlab/simulink models. In ERTS, [2] S. Bouabdallah. Design and control of quadrotors with application to autonomous flying. PhD thesis, [3] O. Bouissou and A. Chapoutot. An operational semantics for Simulink s simulation engine. In LCTES. ACM, [4] O. Bouissou, A. Chapoutot, and A. Djoudi. Enclosing temporal evolution of dynamical systems using numerical methods. In NASA Formal Methods, number 7871 in LNCS. Springer, [5] O. Bouissou, A. Chapoutot, and S. Mimram. HySon: Precise simulation of hybrid systems with imprecise inputs. In RSP. IEEE, 2012.
A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation
PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris
Static analysis of numerical programs
Sylvie Putot with Eric Goubault, Franck Védrine and Karim Tekkal (Digiteo) Laboratory for the Modelling and Analysis of Interacting Systems, CEA LIST RAIM 09: 3es Rencontres Arithmétique de l Informatique
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
Introduction to MATLAB Gergely Somlay Application Engineer [email protected]
Introduction to MATLAB Gergely Somlay Application Engineer [email protected] 2012 The MathWorks, Inc. 1 What is MATLAB? High-level language Interactive development environment Used for: Numerical
Dynamic Process Modeling. Process Dynamics and Control
Dynamic Process Modeling Process Dynamics and Control 1 Description of process dynamics Classes of models What do we need for control? Modeling for control Mechanical Systems Modeling Electrical circuits
Example 4.1 (nonlinear pendulum dynamics with friction) Figure 4.1: Pendulum. asin. k, a, and b. We study stability of the origin x
Lecture 4. LaSalle s Invariance Principle We begin with a motivating eample. Eample 4.1 (nonlinear pendulum dynamics with friction) Figure 4.1: Pendulum Dynamics of a pendulum with friction can be written
AC 2012-4561: MATHEMATICAL MODELING AND SIMULATION US- ING LABVIEW AND LABVIEW MATHSCRIPT
AC 2012-4561: MATHEMATICAL MODELING AND SIMULATION US- ING LABVIEW AND LABVIEW MATHSCRIPT Dr. Nikunja Swain, South Carolina State University Nikunja Swain is a professor in the College of Science, Mathematics,
EDUMECH Mechatronic Instructional Systems. Ball on Beam System
EDUMECH Mechatronic Instructional Systems Ball on Beam System Product of Shandor Motion Systems Written by Robert Hirsch Ph.D. 998-9 All Rights Reserved. 999 Shandor Motion Systems, Ball on Beam Instructional
General Theory of Differential Equations Sections 2.8, 3.1-3.2, 4.1
A B I L E N E C H R I S T I A N U N I V E R S I T Y Department of Mathematics General Theory of Differential Equations Sections 2.8, 3.1-3.2, 4.1 Dr. John Ehrke Department of Mathematics Fall 2012 Questions
1 if 1 x 0 1 if 0 x 1
Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or
Matlab and Simulink. Matlab and Simulink for Control
Matlab and Simulink for Control Automatica I (Laboratorio) 1/78 Matlab and Simulink CACSD 2/78 Matlab and Simulink for Control Matlab introduction Simulink introduction Control Issues Recall Matlab design
Lecture Notes to Accompany. Scientific Computing An Introductory Survey. by Michael T. Heath. Chapter 10
Lecture Notes to Accompany Scientific Computing An Introductory Survey Second Edition by Michael T. Heath Chapter 10 Boundary Value Problems for Ordinary Differential Equations Copyright c 2001. Reproduction
CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA
We Can Early Learning Curriculum PreK Grades 8 12 INSIDE ALGEBRA, GRADES 8 12 CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA April 2016 www.voyagersopris.com Mathematical
Numerical Methods for Differential Equations
1 Numerical Methods for Differential Equations 1 2 NUMERICAL METHODS FOR DIFFERENTIAL EQUATIONS Introduction Differential equations can describe nearly all systems undergoing change. They are ubiquitous
Mathematical Modeling and Engineering Problem Solving
Mathematical Modeling and Engineering Problem Solving Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University Reference: 1. Applied Numerical Methods with
Introduction to Engineering System Dynamics
CHAPTER 0 Introduction to Engineering System Dynamics 0.1 INTRODUCTION The objective of an engineering analysis of a dynamic system is prediction of its behaviour or performance. Real dynamic systems are
Online Tuning of Artificial Neural Networks for Induction Motor Control
Online Tuning of Artificial Neural Networks for Induction Motor Control A THESIS Submitted by RAMA KRISHNA MAYIRI (M060156EE) In partial fulfillment of the requirements for the award of the Degree of MASTER
How To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska [email protected] University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
Hybrid Modeling and Control of a Power Plant using State Flow Technique with Application
Hybrid Modeling and Control of a Power Plant using State Flow Technique with Application Marwa M. Abdulmoneim 1, Magdy A. S. Aboelela 2, Hassen T. Dorrah 3 1 Master Degree Student, Cairo University, Faculty
µz An Efficient Engine for Fixed points with Constraints
µz An Efficient Engine for Fixed points with Constraints Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura Manchester University and Microsoft Research Abstract. The µz tool is a scalable, efficient
(Refer Slide Time: 01:11-01:27)
Digital Signal Processing Prof. S. C. Dutta Roy Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 6 Digital systems (contd.); inverse systems, stability, FIR and IIR,
PID Control. Chapter 10
Chapter PID Control Based on a survey of over eleven thousand controllers in the refining, chemicals and pulp and paper industries, 97% of regulatory controllers utilize PID feedback. Desborough Honeywell,
CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS
CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS E. Batzies 1, M. Kreutzer 1, D. Leucht 2, V. Welker 2, O. Zirn 1 1 Mechatronics Research
Numerical Methods for Differential Equations
Numerical Methods for Differential Equations Course objectives and preliminaries Gustaf Söderlind and Carmen Arévalo Numerical Analysis, Lund University Textbooks: A First Course in the Numerical Analysis
Polynomial Degree and Finite Differences
CONDENSED LESSON 7.1 Polynomial Degree and Finite Differences In this lesson you will learn the terminology associated with polynomials use the finite differences method to determine the degree of a polynomial
Set-Based Design: A Decision-Theoretic Perspective
Set-Based Design: A Decision-Theoretic Perspective Chris Paredis, Jason Aughenbaugh, Rich Malak, Steve Rekuc Product and Systems Lifecycle Management Center G.W. Woodruff School of Mechanical Engineering
PCHS ALGEBRA PLACEMENT TEST
MATHEMATICS Students must pass all math courses with a C or better to advance to the next math level. Only classes passed with a C or better will count towards meeting college entrance requirements. If
An Introduction to Applied Mathematics: An Iterative Process
An Introduction to Applied Mathematics: An Iterative Process Applied mathematics seeks to make predictions about some topic such as weather prediction, future value of an investment, the speed of a falling
CONTRIBUTIONS TO THE AUTOMATIC CONTROL OF AERIAL VEHICLES
1 / 23 CONTRIBUTIONS TO THE AUTOMATIC CONTROL OF AERIAL VEHICLES MINH DUC HUA 1 1 INRIA Sophia Antipolis, AROBAS team I3S-CNRS Sophia Antipolis, CONDOR team Project ANR SCUAV Supervisors: Pascal MORIN,
Section A. Index. Section A. Planning, Budgeting and Forecasting Section A.2 Forecasting techniques... 1. Page 1 of 11. EduPristine CMA - Part I
Index Section A. Planning, Budgeting and Forecasting Section A.2 Forecasting techniques... 1 EduPristine CMA - Part I Page 1 of 11 Section A. Planning, Budgeting and Forecasting Section A.2 Forecasting
Georgia Department of Education Kathy Cox, State Superintendent of Schools 7/19/2005 All Rights Reserved 1
Accelerated Mathematics 3 This is a course in precalculus and statistics, designed to prepare students to take AB or BC Advanced Placement Calculus. It includes rational, circular trigonometric, and inverse
We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model
CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant
How To Develop A Static Analysis System For Large Programs
Towards the Industrial Scale Development of Custom Static Analyzers John Anton, Eric Bush, Allen Goldberg, Klaus Havelund, Doug Smith, Arnaud Venet Kestrel Technology LLC 4984 El Camino Real #230 Los Altos,
APPLIED MATHEMATICS ADVANCED LEVEL
APPLIED MATHEMATICS ADVANCED LEVEL INTRODUCTION This syllabus serves to examine candidates knowledge and skills in introductory mathematical and statistical methods, and their applications. For applications
Euler: A System for Numerical Optimization of Programs
Euler: A System for Numerical Optimization of Programs Swarat Chaudhuri 1 and Armando Solar-Lezama 2 1 Rice University 2 MIT Abstract. We give a tutorial introduction to Euler, a system for solving difficult
IKOS: A Framework for Static Analysis based on Abstract Interpretation (Tool Paper)
IKOS: A Framework for Static Analysis based on Abstract Interpretation (Tool Paper) Guillaume Brat, Jorge A. Navas, Nija Shi, and Arnaud Venet NASA Ames Research Center, Moffett Field, CA 94035 Abstract.
Prentice Hall Algebra 2 2011 Correlated to: Colorado P-12 Academic Standards for High School Mathematics, Adopted 12/2009
Content Area: Mathematics Grade Level Expectations: High School Standard: Number Sense, Properties, and Operations Understand the structure and properties of our number system. At their most basic level
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
2.5 Physically-based Animation
2.5 Physically-based Animation 320491: Advanced Graphics - Chapter 2 74 Physically-based animation Morphing allowed us to animate between two known states. Typically, only one state of an object is known.
http://www.aleks.com Access Code: RVAE4-EGKVN Financial Aid Code: 6A9DB-DEE3B-74F51-57304
MATH 1340.04 College Algebra Location: MAGC 2.202 Meeting day(s): TR 7:45a 9:00a, Instructor Information Name: Virgil Pierce Email: [email protected] Phone: 665.3535 Teaching Assistant Name: Indalecio
EE 402 RECITATION #13 REPORT
MIDDLE EAST TECHNICAL UNIVERSITY EE 402 RECITATION #13 REPORT LEAD-LAG COMPENSATOR DESIGN F. Kağan İPEK Utku KIRAN Ç. Berkan Şahin 5/16/2013 Contents INTRODUCTION... 3 MODELLING... 3 OBTAINING PTF of OPEN
(Quasi-)Newton methods
(Quasi-)Newton methods 1 Introduction 1.1 Newton method Newton method is a method to find the zeros of a differentiable non-linear function g, x such that g(x) = 0, where g : R n R n. Given a starting
Introduction to time series analysis
Introduction to time series analysis Margherita Gerolimetto November 3, 2010 1 What is a time series? A time series is a collection of observations ordered following a parameter that for us is time. Examples
Modeling and Verification of Sampled-Data Hybrid Systems
Modeling and Verification of Sampled-Data Hybrid Systems Abstract B. Izaias Silva and Bruce H. Krogh Dept. of Electrical and Computer Engineering, Carnegie Mellon University (Izaias /krogh)@cmu.edu We
The integrating factor method (Sect. 2.1).
The integrating factor method (Sect. 2.1). Overview of differential equations. Linear Ordinary Differential Equations. The integrating factor method. Constant coefficients. The Initial Value Problem. Variable
Florida Math for College Readiness
Core Florida Math for College Readiness Florida Math for College Readiness provides a fourth-year math curriculum focused on developing the mastery of skills identified as critical to postsecondary readiness
Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary
Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:
You know from calculus that functions play a fundamental role in mathematics.
CHPTER 12 Functions You know from calculus that functions play a fundamental role in mathematics. You likely view a function as a kind of formula that describes a relationship between two (or more) quantities.
Engineering Problem Solving and Excel. EGN 1006 Introduction to Engineering
Engineering Problem Solving and Excel EGN 1006 Introduction to Engineering Mathematical Solution Procedures Commonly Used in Engineering Analysis Data Analysis Techniques (Statistics) Curve Fitting techniques
Solving Simultaneous Equations and Matrices
Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering
Onboard electronics of UAVs
AARMS Vol. 5, No. 2 (2006) 237 243 TECHNOLOGY Onboard electronics of UAVs ANTAL TURÓCZI, IMRE MAKKAY Department of Electronic Warfare, Miklós Zrínyi National Defence University, Budapest, Hungary Recent
Nonlinear Iterative Partial Least Squares Method
Numerical Methods for Determining Principal Component Analysis Abstract Factors Béchu, S., Richard-Plouet, M., Fernandez, V., Walton, J., and Fairley, N. (2016) Developments in numerical treatments for
Higher Education Math Placement
Higher Education Math Placement Placement Assessment Problem Types 1. Whole Numbers, Fractions, and Decimals 1.1 Operations with Whole Numbers Addition with carry Subtraction with borrowing Multiplication
THE FUNDAMENTAL THEOREM OF ARBITRAGE PRICING
THE FUNDAMENTAL THEOREM OF ARBITRAGE PRICING 1. Introduction The Black-Scholes theory, which is the main subject of this course and its sequel, is based on the Efficient Market Hypothesis, that arbitrages
Algebra 1 2008. Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard
Academic Content Standards Grade Eight and Grade Nine Ohio Algebra 1 2008 Grade Eight STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express
Penalized regression: Introduction
Penalized regression: Introduction Patrick Breheny August 30 Patrick Breheny BST 764: Applied Statistical Modeling 1/19 Maximum likelihood Much of 20th-century statistics dealt with maximum likelihood
NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS
NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS TEST DESIGN AND FRAMEWORK September 2014 Authorized for Distribution by the New York State Education Department This test design and framework document
Solving ODEs in Matlab. BP205 M.Tremont 1.30.2009
Solving ODEs in Matlab BP205 M.Tremont 1.30.2009 - Outline - I. Defining an ODE function in an M-file II. III. IV. Solving first-order ODEs Solving systems of first-order ODEs Solving higher order ODEs
The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., 12-15 July 2000. Derive 5: The Easiest... Just Got Better!
The Fourth International DERIVE-TI9/89 Conference Liverpool, U.K., -5 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de technologie supérieure 00, rue Notre-Dame Ouest Montréal
Chapter 10: Network Flow Programming
Chapter 10: Network Flow Programming Linear programming, that amazingly useful technique, is about to resurface: many network problems are actually just special forms of linear programs! This includes,
COMBINING THE METHODS OF FORECASTING AND DECISION-MAKING TO OPTIMISE THE FINANCIAL PERFORMANCE OF SMALL ENTERPRISES
COMBINING THE METHODS OF FORECASTING AND DECISION-MAKING TO OPTIMISE THE FINANCIAL PERFORMANCE OF SMALL ENTERPRISES JULIA IGOREVNA LARIONOVA 1 ANNA NIKOLAEVNA TIKHOMIROVA 2 1, 2 The National Nuclear Research
The Trip Scheduling Problem
The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems
Lecture 13 Linear quadratic Lyapunov theory
EE363 Winter 28-9 Lecture 13 Linear quadratic Lyapunov theory the Lyapunov equation Lyapunov stability conditions the Lyapunov operator and integral evaluating quadratic integrals analysis of ARE discrete-time
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Feasibility of a Software Process Modeling Library based on MATLAB / Simulink
Feasibility of a Software Process Modeling Library based on MATLAB / Simulink T. Birkhoelzer University of Applied Sciences Konstanz, Braunegger Str. 55, 7846 Konstanz, Germany, [email protected]
System Identification for Acoustic Comms.:
System Identification for Acoustic Comms.: New Insights and Approaches for Tracking Sparse and Rapidly Fluctuating Channels Weichang Li and James Preisig Woods Hole Oceanographic Institution The demodulation
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Power Electronics. Prof. K. Gopakumar. Centre for Electronics Design and Technology. Indian Institute of Science, Bangalore.
Power Electronics Prof. K. Gopakumar Centre for Electronics Design and Technology Indian Institute of Science, Bangalore Lecture - 1 Electric Drive Today, we will start with the topic on industrial drive
AN INTRODUCTION TO NUMERICAL METHODS AND ANALYSIS
AN INTRODUCTION TO NUMERICAL METHODS AND ANALYSIS Revised Edition James Epperson Mathematical Reviews BICENTENNIAL 0, 1 8 0 7 z ewiley wu 2007 r71 BICENTENNIAL WILEY-INTERSCIENCE A John Wiley & Sons, Inc.,
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Peter Richtárik Week 3 Randomized Coordinate Descent With Arbitrary Sampling January 27, 2016 1 / 30 The Problem
CHAPTER 5 PREDICTIVE MODELING STUDIES TO DETERMINE THE CONVEYING VELOCITY OF PARTS ON VIBRATORY FEEDER
93 CHAPTER 5 PREDICTIVE MODELING STUDIES TO DETERMINE THE CONVEYING VELOCITY OF PARTS ON VIBRATORY FEEDER 5.1 INTRODUCTION The development of an active trap based feeder for handling brakeliners was discussed
Linear Codes. Chapter 3. 3.1 Basics
Chapter 3 Linear Codes In order to define codes that we can encode and decode efficiently, we add more structure to the codespace. We shall be mainly interested in linear codes. A linear code of length
AP Physics 1 and 2 Lab Investigations
AP Physics 1 and 2 Lab Investigations Student Guide to Data Analysis New York, NY. College Board, Advanced Placement, Advanced Placement Program, AP, AP Central, and the acorn logo are registered trademarks
THERE is a significant amount of current research activity
IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 14, NO. 5, SEPTEMBER 2006 789 Stable Task Load Balancing Strategies for Cooperative Control of Networked Autonomous Air Vehicles Jorge Finke, Member,
Formal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
GameTime: A Toolkit for Timing Analysis of Software
GameTime: A Toolkit for Timing Analysis of Software Sanjit A. Seshia and Jonathan Kotker EECS Department, UC Berkeley {sseshia,jamhoot}@eecs.berkeley.edu Abstract. Timing analysis is a key step in the
Simulink Getting Started Guide
Simulink Getting Started Guide R05b How to Contact MathWorks Latest news: www.mathworks.com Sales and services: www.mathworks.com/sales_and_services User community: www.mathworks.com/matlabcentral Technical
OPRE 6201 : 2. Simplex Method
OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2
Verification of hybrid dynamical systems
Verification of hybrid dynamical systems Jüri Vain Tallinn Technical University/Institute of Cybernetics [email protected] Outline What are Hybrid Systems? Hybrid automata Verification of hybrid systems Verification
Parameter identification of a linear single track vehicle model
Parameter identification of a linear single track vehicle model Edouard Davin D&C 2011.004 Traineeship report Coach: dr. Ir. I.J.M. Besselink Supervisors: prof. dr. H. Nijmeijer Eindhoven University of
Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.
An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points
The Course. http://www.cse.unsw.edu.au/~cs3153/
The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,
Continued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
A Fuel Cost Comparison of Electric and Gas-Powered Vehicles
$ / gl $ / kwh A Fuel Cost Comparison of Electric and Gas-Powered Vehicles Lawrence V. Fulton, McCoy College of Business Administration, Texas State University, [email protected] Nathaniel D. Bastian, University
Simulation and Lean Six Sigma
Hilary Emmett, 22 August 2007 Improve the quality of your critical business decisions Agenda Simulation and Lean Six Sigma What is Monte Carlo Simulation? Loan Process Example Inventory Optimization Example
Reliability Guarantees in Automata Based Scheduling for Embedded Control Software
1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
4 Lyapunov Stability Theory
4 Lyapunov Stability Theory In this section we review the tools of Lyapunov stability theory. These tools will be used in the next section to analyze the stability properties of a robot controller. We
