Abstract
In this work, we present a discrete event model that incorporates the lack of precision of variables. The make use of Fuzzy Set Theory to generate the model, and apply it on fire propagation study case. Our aim is to propose a generalization to the discrete event system specification formalism (DEVS) which be able to deal with imprecision in all of its elements (events, transition functions, state). Our approach is based on mathematical definitions of the Fuzzy Set Theory to represent and use imprecise information in the DEVS formalism.
Introduction
Theory of Modeling and Simulation (TMS) [48] has emerged as an essential tool for analyzing the behavior of complex dynamic systems. Modeling can be defined as an operation by which the model of a complex system is established during an analysis process, or put into an equation in order to obtain a simplified, interpretable and simulable representation of it. Discrete Event Simulation (DES [14]) is often used to simulate complex systems. They are modeled by sequences of events recording significant qualitative changes in the state of the system. Actually, DES is widely used in many technological and engineering systems, such as communication networks, computer networks, manufacturing systems, transportation systems, natural systems, and many more. Many formal foundation modeling approaches of DES have been proposed and developed, including the notably Petri nets, Cellular Automata, etc.
Discrete EVent system Specification (DEVS) [48] is a popular formalism for modeling complex dynamic systems using a discrete-event abstraction. At this abstraction level, a timed sequence of pertinent (external) events input to a system (or internal, in the case of timeouts) cause instantaneous changes to the state of the system. Main advantages of DEVS are its rigorous formal definition, and its support for modular composition.
DEVS is also defined as a multi-formalism [42]. It can be used to include or describe other types of formalism. In this work, we are interested in the Fuzzy Set Theory in order to extend the capacity of the DEVS formalism to model and handle imprecise data. This article proposes a synthesis of several works based on Fuzzy Set Theory (FST) [5, 11] and Fuzzy Inference Systems (FIS) [2–4, 25].
The first section describes the theoretical frame of our work: Discrete Event Systems (DES) and the Theory of Modeling and Simulation (TMS). The second section presents our imprecise modeling approach, in particular as we propose to integrate the concepts of the Fuzzy Set Theory (FST) into the DEVS formalism. The third section deals with the representation of Fuzzy Inference System (FIS) in the DEVS formalism. Before conclude, the last section quickly presents several applications and above all a model of Fires propagation.
Discrete Event Systems: DES
In DES, the model is represented as a discrete-state, event-driven dynamic structure. The space is described by a discrete set and the states evolve in terms of asynchronous occurrence of discrete events over time [14]. States, events and transition functions have discrete values and they are defined as a five-tuple [14, 33]. A Discrete Event model is a structure:
S: is the set of states and Q = {(s, t
e
) |s ∈ S, t
e
∈ (T)} is the set of total states, t
e
is the elapsed time since the last event and T the base time; Σ: is the set of events containing detectable (an event is detectable if it produces a measurable change in the system output) and undetectable events, which are generally fired asynchronously; δ : Q × Σ → Q is the state transition function; λ : Q × Σ → Σ
d
is the output function, where Σ
d
and Σ
ud
are the set of detectable and undetectable events, respectively Σ = Σ
d
∪ Σ
ud
; and, s0 is the initial state vector whose elements are zero or one.
DES is not adequate to all fields, in order to make it possible to effectively model deterministic, uncertainties and vagueness, as well as the human subjective observation and judgment inherent to real world systems, several studies have generalized DES to Fuzzy DES (FDES), and introduced the concepts of fuzzy states and fuzzy events. FDES copes better with real-world complex systems integrating deterministic uncertainties and vagueness, i.e. imprecise or uncertain data [16, 32–34]. A FDES is represented by a fuzzy automaton:
The data to be processed (imprecise or uncertain) can occur at all levels of the system, thus ensuring their proper inclusion and representation is a major issue. Usually, most approaches only take into account only the uncertainty of the states and/or system events. Inputs and knowledge evolution over time (imprecision) are often omitted. Recent work has extended these concepts [15, 16]. We propose an approach based on the DEVS formalism to include such information type.
The DEVS formalism [48] allows representing any system whose input/output behavior can be described with a sequence of events. It allows defining hierarchical modular models with two distinct types: atomic (behavioral) and coupled (structural) models. The first describes the autonomous behavior of a discrete-event system; the last one is composed of sub-models, each of them being an atomic or a coupled model.
Atomic model
The Atomic Model (AM Fig. 1) may be considered as a time-based state machine. It makes it possible to describe the system’s behavioral aspects. The AM provides a description of the system’s behavior, defined by the states and functions of the inputs/outputs and by the model’s internal transition functions. An AM is a structure:
X: is the set of input events. An event is characterized by (port id, time, value), where the port means the input on which the event occurs, the time is the date of occurrence of the event (it is blank for internal events) and the value symbolizes the data from the event; Y: is the set of output events; S: is the set of partial or sequential states, which includes the state variables; t
a
: S → T∞: is the time advance function which is used to determine the lifespan of a state; δ
ext
: Q × X → S: is the external transition function, which defines how an input event X changes a state of the system, where Q = {(s, t
e
) |s ∈ S, t
e
∈ (T ∩ [0, t
a
(s)])} is the set of total states, and t
e
is the elapsed time since the last event; λ : S → Y
ι
: is the output function, where Y
ι
= Y ∪ {ι} and ι ∉ Y is a silent event or an unobserved event. This function defines how a state of the system generates an output event when the elapsed time reaches the lifetime of the state; δ
int
: S → S: is the internal transition function, which defines how a state of the system changes internally when the elapsed time reaches the lifetime of the state.

Behavior of an atomic model.
Every state S is associated with a lifetime t a , which is defined by the time advance function. When a model receives an input event X, the external transition function δ ext is triggered. This function uses the input event, the current state and the time elapsed since the last event in order to determine what the next model state is. If no events occur before the time specified by the time advance function for that state, the model activates the output function λ (providing outputs Y), and changes to a new state determined by the internal transition function δ int .
The DEVS formalism uses the notion of a hierarchy description, which permits the construction of models called “couplings” (CM), based on a set of atomic models and/or coupled models, and on three coupling relations. A CM makes it possible to describe how several other models are interconnected in order to form a new one. A CM is a structure:
X represents the set of external input events, Y the set of output events; D the name set of (sub) models; M
d
| d ∈ D the set of (sub) models where ∀ d ∈ D, M
d
can be either a DEVS model, atomic or coupled; EIC the external input coupling (CX
CM
,X
M
d
all the input links X connecting the coupled model CM to its components M
d
); EOC the external output couplings (CY
CM
,Y
Md
all the output links Y connecting the components M
d
to the coupled model CM); IC the internal coupling (CY
M
d
,X
M
d
all the internal links connecting the components M
d
between themselves); L the list of the priorities between components L : 2
d
- {} → D.
In DEVS, each model is independent and can be considered as an entity in itself or as the model of a larger system. It was shown in [43, 48] that the DEVS formalism is closed under coupling: that for each AM or CM, it is possible to build an equivalent AM.
The DEVS formalism distinguishes between the modeling and the simulation processes. A DEVS model can be simulated without the necessity of implementing a specific simulator. On the modeling side, the data exchange is established by events through the ports of the various models. An external event results in a modification of the state (S). An internal event causes the generation of outputs and the modification of the state S. Internal or external a DEVS events may be characterized by: EVT = (port ; time ; value). The first field represents the event date, the second corresponds to the model which receives or sends the event, the third indicates the port on which the event occurs and the last one symbolises the event value. This concept forms the basis of DEVS simulation and control algorithm and makes it possible to cause the model states to develop according to time.
One of the most important features of the DEVS formalism is that it allows the modeler to totally isolate himself from the implementation of simulators. In fact, The DEVS formalism clearly describes an algorithm for the simulator, called abstract simulator [43, 48], to define the simulation semantics of the DEVS models. At the level of the abstract simulator, each simulation component corresponds to a modeling component. In DEVS, to perform a simulation process, a hierarchy of processors must be constructed, as a hierarchy of DEVS models. A processor is associated with each model. Each processor carries out the simulation by performing functions which express the model’s dynamics. The processor components are the root coordinator, the coordinator, and the simulator. The simulators undertake the simulation of atomic models by using the input/output and transition functions. The root coordinator represents the simulator which undertakes the general management of the simulation. It regulates the start and the end of the simulation process and manages the global clock. The coordinators undertake the routing between the coupled models according to the couplings.
We use the DEVS formalism because of its openness and extensibility. It offers both a formal framework to define models and a flexible implementation in object-oriented programming. It allows modeling all types of systems. The transition from discrete event systems to fuzzy discrete event systems (DES to FDES) by fuzzification of the transition functions (between states) has also been applied to the DEVS formalism (DEVS to Fuzzy-DEVS [30]). This is not the subject of our work, we focus on imprecise data and DEVS because Fuzzy-DEVS can not handle and model imprecision.
Imprecisions in DEVS
We propose to extend the DEVS formalism towards the Fuzzy Set Theory (FST) [47] in order to model imprecise data. In the literature, some approaches based on the DEVS formalism take into account the imperfections on model information as GDEVS [22], Fuzzy-DEVS [30], Min-Max-DEVS [23]. GDEVS formalism simulates models where values are polynomials which are not adapted to imprecise values.
In [30], the authors propose a non-deterministic approach based on the possibility theory to simulate the evolution of system states. It defines a new atomic model, based on fuzzy transitions functions (
In [23], the authors adopt interesting approaches taking into account imprecisions in the lifespan of a state (time advance function t a ). These approaches are mainly used in the fields of fault detection taking into account delays in the area of fuzzy digital circuits. Thus, they are not really adapted to take into account imprecise values in DES, or they are dependent on an application, as Min-Max-DEVS formalism which is too specific to a field and only delays events triggering. Thus, these formalisms do not address the problem we are considering, namely the inclusion of imprecision on all the parameters of a DEVS model. However, they are used as a basis for defining some of the specifications of our imprecise discrete event model and its simulator.
To link DEVS and FST several steps are needed: (1) identify the DEVS model (X, Y, S, t a ) parameters potentially imprecises [5]; (2) define a data structure to model imprecise data (interval form [a, b, ψ, ω]). For that, we have developed a specific object class called FuzzySet to build objects handling imprecision and to perform mathematical operations (+, - , × , sin () , . . .) [7]; (3) define a new atomic model which allows both accurate and imprecise data to be taken into account [10]; (4) finally, define a fuzzy simulation method to manage imprecise time [6].
All of this work has been published step by step. The purpose of this article is to present a synthesis which groups together the whole.
Imprecisions on parameters
The DEVS AM describes the behavior of the system, and the CM describes the structure. At the level of AM, all parameters can be imprecise: inputs X, outputs Y, states S, transition functions δ, output function λ, and time advance function t a . In fact, the functions are not really imprecise; their achievement may be uncertain, i.e. they can be executed or not, but they are not imprecise (example [30]). Thereafter, we see them as imprecise because they handle imprecise data. The parameters that are most prone to imprecision are the state variables, lifespan of the states, values’ input and output models (S, t a , X, Y).
State variables occur inside the model, lifespan and values of inputs and outputs are either at the origin of events or directly manipulated by events. We therefore logically turned to the concept of events to take into account the imprecisions in the DEVS formalism. This is essential; events run throughout the simulation; they distribute the information to models. In an event, the imprecision can be in the time and/or value.
In the proposed approach, the imprecision of value can be addressed without having to change the DEVS formalism. For event, an imprecise value can be inserted into the schedule of DEVS like a standard event, only the data type changes, it is defined in a FuzzySet type. An imprecision of value leads to a modeling problem. That it is up to the designer of the model to define its data in an appropriate type, but there is no change in the DEVS formalism. In fact, we give the possibility to the designer to specify its data so imprecise, i.e. as an object of FuzzySet type (classes and types are the same in our context).
At the ‘time’ level, an imprecision with a date induces modeling and simulation problems. An event is sent and placed in the simulation schedule on a given date. If the precise date of occurrence is unknown because imprecise. The event cannot be taken into account in the DEVS schedule. Only, for this problem, we propose the use of defuzzification function.
At the conceptual level, imprecision is treated by various characteristic functions of the DEVS models (δ int , δ ext , λ, t a ). Those are behavioral modifications, not structural change. At a tool level for implementation-oriented issues, we let the designer describe the behavior of models from a set of programmed functions (+, -, ×, /, sin, cos,...) included in the FuzzySet class, or reuse pre-programmed iDEVS models.
The next step must allow the representation of imprecise parameters, which is why it is necessary to choose an appropriate data type.
Data representation
To describe the FuzzySet class, we have used the Fuzzy Set Theory [47] and the settings description as a fuzzy quantity. The purpose of the concept of the fuzzy set is to authorize an element to belong, more or less strongly, to a set of elements. A fuzzy quantity is a fuzzy set on the real numbers (later we will use only the term ‘fuzzy interval’ [19]).
We will retain the following definition: a fuzzy set A on range X of x is defined by: (A, a, μ
A
()), where:
A is a subset of X;
a is a word (linguistic label), characterizing qualitatively some of the values of X;
μ
A
is the function x of Xx ∈ X → μ
A
(x) ∈ [0 ; 1], which gives the membership degree of an observation of X, that is to say x, to fuzzy set A.
A fuzzy number (if a = b, Fig. 2) defined by [20], is a fuzzy interval. To make their handling more effective, fuzzy intervals are defined using a parametrical representation known as L - R or vertex method [17]. We take two other functions of the form, L (left vertex) and R (right vertex), of

Membership function example.
f+ representing the equation of the half-line (b, ω) defined by equation: f+ (λ) = - β × λ + (β + b) with β = ω - b [17].
f- representing the equation of the half-line (ψ, a) defined by equation f- (λ) = λ × α + (a - α) with α = a - ψ [17].
These two types of representation are shown in Fig. 2.
The data type “Between x and y” is modeled by the interval [a = b = ((x + y)/2, 1) ; ψ = (x, 0) ; ω = (y, 0)].
The data type “Approximately z” is modeled by the interval [a = b = (z, 1) ; ψ = (z - coef, 0) ; ω = (z + coef, 0)] with coef a confidence coefficient.
This mode of representation combines numeric and linguistic representations. To describe a fuzzy interval, and to provide adapted tools to the representation of specialists and their study fields, we offer two methods of construction.
The first method can quickly and simply describe an imprecision. It is based on a description of the interval from reference points, i.e. four couples’ value membership degree, type [(a, 1); (b, 1); (ψ, 0); (ω, 0)]. They are presented in Fig. 2: a and b are the vertex of the membership function; ψ = a - α is the lower limit of the interval; ω = b + β is the upper limit of the interval.
The second method can represent the interval in the equation the form [17, 18]. This style is convenient, simple, intuitive, and can quickly translate an imprecision into graphic form. The use of a visual description is easy to understand and assimilate. Two forms of equations are presented, according to lambda (y-axis, ordinate f- (λ) = α × λ + (a - α), and f+ (λ) = - β × λ + (β + b)) or function of x (x-axis, abscissa
These concepts are included in the fuzzy set theory, with the addition of the membership degree. With the extension principle it was proved that a large part of the operation for classical intervals is usable for fuzzy intervals.
The fuzzy intervals are commonly used in approximate reasoning; there has been much research to extend basic operations [17, 37]. We sort these operations into several categories: standard (+, -, ×, /,...) monotonous functions: function which is either entirely non-increasing or nondecreasing on the interval (sqrt, expo, ln,...), and non-monotonous functions (sin, cos, tan,...). Each of these cases requires the use of specific methods; either the extension principle, the calculation of classical intervals, or the vertex method.
These different methods can perform operations on fuzzy intervals as if they were standard intervals. Depending on the operations, we use the methods that we consider most appropriate and most intuitive. The aim is to promote understanding of operations. For example, the vertex method is used for simple operations (+, -), calculation intervals and the extension principle for more complex operations (×, /, expo, ln, sin, cos, tan,...). Many of these methods and the structure of data are integrated into a class (OOP) to allow the definition and manipulation of the data fuzzy interval type.
In Algorithm 1 we present this class, called FuzzySet. It is possible to create an instance of the class from values a, b, ψ, ω but may have to add a linguistic label characterizing the interval. This linguistic label can make the connection between expert user and mathematical representation.
Fuzzy Set class
Fuzzy Set class
In this class we have implemented various classic operations handling fuzzy intervals and have chosen to use the most appropriate methods to meet our objectives. For instance, for the operation +, we work on the boundary of the interval, from the vertex method. Note that all arithmetic operations or mathematical functions can be performed from the extension principle defined by [47]. In the FuzzySet class, we have developed a generic function that allows us to use this principle, but it is a little slower because it calculates all the values of the interval.
A user who wants to test other methods should redefine our functions. If, for many of the conventional operators, different methods give the same results, a redefinition is not of great interest for other functions, which have been programmed specifically for our needs, their uses can provide results. In this case, it is advisable to adapt to the context.
With this approach a designer has the option in these models to use imprecise variables; to describe the behavior of a system, it is sufficient to use the FuzzySet type.
The definition of imprecise parameters in models induced simulation problems. If the lifespan of the state is imprecise, it is impossible to define the time of state update. To solve this problem, we have studied several methods.
The first one consists in adapting the simulation algorithms by adding a fuzzy ranking [31, 41]. The goal is to evaluate and sort the different times in terms of execution date, so it is possible to choose which event is triggered. The disadvantage of this solution is that it involves changes to the simulation algorithms which lead us to amend part of the simulation of the DEVS formalism; we set a priority on using the iDEVS approach in any DEVS framework without having to make major changes to the simulation part.
The second solution is the use of a defuzzification function.
Definition: Contrary to the fuzzification, which is the process of transforming crisp values into degree of membership for linguistic terms of fuzzy set, defuzzification is a decision step to transform a fuzzy set into a crisp value.
Based on this definition, we propose to study several solutions. We implemented various defuzzification functions in the FuzzySet class and tested different iDEVS models. The results were the subject of two publications [6, 8]. The function that we believe has the greatest advantages is the Expected Existence Measure (EEM) [1], which allows you to add a decision support. By defining a confidence coefficient, the user can choose when to transform imprecisions on time (if the confidence coefficient is small, between 0 and 0.5, we trigger the event early. The higher the confidence of the coefficient, between 0.5 and 1, the later the event is triggered). In the end we lose information on the x-axis, but we keep the coefficient of the validity of the proposal.
We believe it can be useful, in addition to defuzzifing average validity coefficients, to provide the final result of the interval of time simulation. This interval represents the total time taken by the simulation to be terminated. It is calculated through a state variable type FuzzySet which increments the variable imprecise time (before defuzzification) with each execution of the function.
The method chosen must be included in the DEVS formalism and modify the basic AM to reflect our changes. This step we passed from DEVS to iDEVS because the DEVS AM needs to evolve. This evolution can handle all problems at the level of modeling. It is not necessary to change the simulation algorithms; our starting constraints are met. The problem is linked to time; we modified the time advance function t
a
of the AM to return an accurate time, and the defuzzification method was added to the FuzzySet class, Algorithm 1. The algorithm of our new time advance function
In the AM, time can be defined as imprecise, but it will be defuzzifed before being sent to the simulator. The time advance function was amended to test if the time to return was accurate or imprecise (c.f. Algorithm 2). In the second case, the time is transformed. If the events form a generator model, thus an atomic model, we manage with the time advance function values imprecision on the time of triggering events. Such management requires a fuzzy atomic model to be defined. The difference between the function of the DEVS model and the function of the iDEVS model remains imperceptible to the final user. It is important to note that the first message sent to the simulator, the initialization message, does not contain an imprecise time. Generally, in the DEVS formalism, all events are a source. This is to take into account the case where an event is a source outside the system.
time advance function
time advance function
In the iDEVS AM, we apply in the time advance function a defuzzification function (EEM), and we keep the degree of validity of the condition (ordinate membership function to the interval: λ) in the form of the coefficient average of the defuzzification lambda. This new variable may be stored as a state system S or added as a class variable in the class atomic model. It is the same for the interval from the time at the end of the simulation. These changes are presented in the next section.
To take into account the imprecisions in the iDEVS models we must derive or instantiate FuzzySet class. The aim is to provide the designer with ways to define ‘imprecise’ models regardless of the platform or application, just important class in modeling framework. The designer can model a fuzzy system from the combination of iDEVS models derived from the class FuzzySet and a DEVS AM. It is noted that the CM resulting from a combination of ‘imprecise’ models and conventional models is a model that automatically returns imprecise results. All iDEVS models handle imprecision data (data for FuzzySet type), they have the opportunity to use the functions defined in the FuzzySet class.
Atomic model
The iDEVS AM (Fig. 3) is similar to the DEVS AM. Its uniqueness is that it can manipulate variables accurately or imprecisely. Its role is to describe the behavioral aspect of a part of a system with imprecise parameters. If all the parameters of the iDEVS model are accurate, it has the same behavior as a DEVS model.

Behavior of an iDEVS atomic model.
In DEVS and iDEVS, the behavior of internal and external transition functions (δ
int
, δ
ext
) is strictly identical. However, for handling imprecision variables, we use the overloaded functions in FuzzySet (+, -, / cos) class. To describe δ
int
and δ
ext
, the user need only indicate that the variables are imprecise. The appropriate functions is automatically used. For the time advance functions t
a
and output function λ of structural changes were introduced, but they remain imperceptible to the final user. The time advance function of an iDEVS model
Generally, the tilde (~) is used to separate fuzzy data from crisp data. In our case, all the parameters of the AM can be imprecise (X, Y, S) or handle imprecise data (t
a
, δ, λ). We chose to use the tilde to mark a change from the DEVS model. All parameters of our model could be a tilde, as they may all be imprecise, but only the time advance function
With:
X: is the set of input events characterized by variables: (port, time, value), where time and value can be defined as accurate or imprecise; Y: is the set of output events, where the value is accurate or imprecise, depending on the behavior of the model; S: is the set of states or state variables. The state variables can be accurate or imprecise;
δ
ext
: Q × X → S: is the external transition function which defines how an input event X changes a state of the system, where
δ
int
: S → S: is the internal transition function which defines how a state of the system changes internally, when the elapsed time reaches to the lifetime of the state.
The data handled by the iDEVS atomic model are represented by a quadruple [a, b, ψ, ω], defined in the FuzzySet class. If a = b and α = β = 0, the iDEVS model becomes a DEVS model (not fuzzy) handling accurate data. Equation 5 presents in detail the general iDEVS AM.
The iDEVS coupled model has the same form as the DEVS coupled model; both are described in same way. The only difference is that the iDEVS coupled model may consist of a DEVS models or iDEVS models. Therefore the input variables and output are defined as imprecise. Imprecise data includes accurate data.
The iDEVS approach is based on the object-oriented programming concepts. It allows to model and propagate imprecise information with the DEVS formalism. This may be seen as a generalization of the DEVS formalism.
The main advantage of the iDEVS method is the consideration of imprecisions in defining the parameters of the DEVS models in the form of intervals. This description is simple and intuitive, close to the mode of human representation. The limits are: the problem of simulation in imprecise time which requires the use of defuzzification function, and as for the interval arithmetic an increase of the confidence interval after several operations.
After introducing the general forms of iDEVS models in the next section, we present a specific models to describe Fuzzy Inference Systems.
Fuzzy Inference Systems with DEVS
The fuzzy inference systems (FIS) are used for reasoning and control as in [44–46], especially for the simulation of physical or biological systems. They operate from fuzzy reasoning rules, which have the advantage of managing the progressive phenomena.
The design of FIS is based on expert knowledge for the definition of linguistic terms for each input and output variables, and on learning algorithms to generate rules. We present a standard gesture recognition application in [25]. The theoretical and methodological aspects are referenced. The following works [44–46] provide more extensive vision and applications. We propose to define a new modeling method based on FIS which aims to define a DEVS inference models. The general problem is to consider the best way to put an inference system in DEVS models, to choose the best inference algorithms to use, and to represent the sets of inputs and outputs. As for iDEVS method, a new class FuzzySets was defined; it contains a set of objects of FuzzySet type and different methods for handling as fuzzy sets: conjunction operator MIN, AND, OR.
From this class we can represent the inputs and outputs of the system, and the results obtained following the application of fuzzy operators or inferences methods. We propose accordance with the structure of a fuzzy inference system, to define a model DEVFIS (Discrete Event Fuzzy Inference system Specification [9]) for each stage of the process of inference, namely:
one or more atomic models based on a fuzzification method to represent the input of the system; one or more atomic models based on a defuzzification method to represent the output of the system; coupled model describing the inference engine, which includes a atomic model representing all the rules describing the system, atomic model describing the fuzzy operators employees, and an atomic model representing the inference method.
The models are described using the following properties.
Fuzzy Inference Systems (FIS)
Construction of an FIS consists of several steps: (1) define inputs and outputs vectors, that is to say, match a interval value and a linguistic variable for each input-outputs fuzzy sets. This is the definition of membership functions; (2) determine the rules that describe and reproduce the system behavior; (3) choose the conjunction operators and defuzzification methods. The FIS models used are composed of N rules, which have the following form:
B are a fuzzy set describing the output field.
The FIS used are either Mamdani type [35], or Takagi-Sugeno type [40]. These are the two forms most commonly used.
These different methods are implemented in the FuzzySets and FuzzySet classes [6], the user has to choose the methods that the wishes.
The FuzzySets class can represent the input and output vectors of the FIS. It is based on a data structure which stores as a list of fuzzy sets. It also provides many methods to manipulate these data. The two methods presented above, and several operators are included in the class.
FIS DEVS models
A DEVS models used to make the fuzzy inference are classic models.
The input model contains as state variable S the input vector of FIS (fuzzification models Fig. 4), that is to say the fuzzy sets. This is an instance of FuzzySets class, which contains N objects of FuzzySet type. It takes one input and two outputs. When an input is received (crisp value i1 or i2), the external transition function (δ ext ) is triggered, its role is to associate the input value (i1 or i2) to a linguistic label (i1 in A, B, C and i2 in D, E, F - Fig. 4) and to a membership degree (x = i1, μ B (x) = md1). This information is then transmitted to the following model with the output function λ.

DEVFIS models.
The inference model (Rules + Operator - Fig. 4) is a coupled model composed of two atomic models. It has 2 × N inputs, N being the number of atomic models of fuzzification, and 2 × M outputs, where M is the number of atomic models of defuzzification. The aim of this model is to apply the rules (atomic model rules), and calculate the overall membership degree (atomic model operator).
The first atomic model identifies all the rules in the external transition function (IF i1 == ‘B’ AND i2 == ‘E’, THEN o1 = ‘Y’). Rules’ variables (A, B, C,...) are stored as state variable, or directly in δ ext . When an input linguistics label is received, δ ext function is executed. It looks for the conclusion of the rule associated with the linguistics label (if input 1 is A then the conclusion is X). This result is sent with the output function. The methods for making these associations are implemented in the FuzzySets class.
The second model receives the membership degrees (md1 and md2) as input. The δ ext function calculates, depending on the choice of conjunction operator (AND, OR, MIN, MAX,...), The membership degree of the conclusion of the rule. Its output function returns the calculation result.
The output model (defuzzification model – not used for FIS-type Takagi-Sugeno) has the state variable S, the output vector of FIS (N fuzzy set). This model has two inputs and one output. To receive input data (linguistic label, and overall membership degree, calculated from the conjunction operator), the external transition function is triggered. Its goal is to associate an input data to a crisp value. This value is obtained in two steps: by matching the linguistic label received in input with the linguistic labels of the output fuzzy set, and apply the membership degree, from the inputs, on the ordinate axis of output fuzzy set.
In these models there is no time management, after each input we generate outputs. The models needing more input information are in a temporary state of waiting, as they have received all the necessary data. The method is completely generic, but depending on the application, the models must be redefined. The vectors of inputs, outputs, and rules are specific to the application.
A first application has been made in [4], and we are currently working on the concept of fuzzy activity in cellular automata.
Fire propagation model example
The example based on cellular automata introduces fuzzification at the level of (propagation rules), we use a fuzzy inference system (FIS) to model fire propagation. It is detailed in [3]. We use it here to illustrate our approach. The simulation API used, along with the class diagram, and the methodology for launching simulations is detailed in [26].
Cellular model
Each cell describes an area of homogeneous vegetation with mass (m) and temperature (T). The behavioural scheme is deterministic and follows five main physical states according to mass and temperature values. (1) Unburnt: the fuel in the cell is at ambient temperature T a ; (2) Heating: the fuel temperature T increases, pyrolysis gases escape, but the fuel never ignites and its mass m remains constant in this state; (3) Burning: the fuel ignites at T ig and the fuel mass m in the cell decreases; (4) Cooling: the fuel mass m is below the threshold m ig which maintains the flame, combustion stops (T = T ext ) and the fuel temperature T gradually decreases from Text; (5) Burnt: The fuel mass m is near zero, and the fuel temperature T gradually approaches the ambient temperature T amb . Figure 5 is an illustration of these cells’ deterministic behavioural profile.

Cell behaviour.
The cell’s is computed from the physical states in the transition function δ, as:
δi,j (unburnt, inactive): m0, T0; δi,j (heating, active): mt+1 = m0, Tt+1 = T0 + k1T
t
; δi,j (burning, active): mt+1 = k3 . (m
t
- mt-1, Tt+1 = T0 + k2T
t
; δi,j (cooling, active): mt+1 = m
ext
= k4, Tt+1 = T
ext
+ k2T
t
; δi,j (burnt, inactive): mt+1 = m
ext
, Tt+1 = T
ext
- k4 . T
t
⇒ Tt+1 ≥ T0;
where: (i, j) are the cell’s coordinates in the Z
d
space, δ the transition function with the physical state as string parameter. The k
i
constant is experimentally determined [13, 39]. When a (i, j) cell starts its burning process, it is ‘activated’, until it is burnt. The (i, j) cell becomes ‘inactive’ when its physical state changes to ‘burnt’. Through the simulation process, propagation rules supply the new cells of the fire front, i.e., the cells that have been reached in the neighborhood of active cells at time t+1. Each characteristic time interval corresponds to a couple made of physical state and typical temperature (T
ambient
, T
ignition
, T
extinction
). The active cells of the CAM represent the combustion zone, i.e. the propagation area where the degradation of thermal fuel components occurs. It approximately occurs over a wide range of temperature between 300-900°C. The simulation is focused on active cells according to the discrete time event (DTSS) simulator, in its activity formulation [27, 36].
We use fuzzy logic to explain a doubt in the expression of the propagation rule. Active cells’ behaviour follows a state trajectory which contains partial or temporary states, i.e. possibly active, or PACTIVE. A partial state implies to reevaluate the cell’s activity at the next time step. If there is only one active cell in the neighborhood, the cell remains inactive; if there is more than one active cell in the neighborhood the cell is activated. The activity rules are rewritten to integrate an inference engine and decisional fuzzy rules. The FIS is built according to our works present Sections 2 et 3.
FIS settings
An input fuzzy set is defined with an empirical method, as confirmed by experts, and therefore based on experts experiments and according to the temperature values encountered. Then, the FIS has two Fuzzy Sets: low influence (LOW), and high influence (SUBSTANTIAL) such as the cell temperature in abscissa. The FIS input is the active cell temperature considered. We store the tuple (label, degree of membership) in the neighbouring cells according to the temperature; it is the fuzzification step.
For this neighbouring cells, we get a set of linguistic labels (SUBSTANTIAL ou LOW) of varying sizes. As we do not know before the number of neighbouring cells to influence, i.e. the set size, we use a dynamic inference engine. The fuzzy rules are the following:
if the number of SUBSTANTIAL linguistic labels type is inferior or equal to 1 then the cell is in an INACTIVE state; if the number of SUBSTANTIAL linguistic labels of type is inferior or equal to 2, then the cell is in a PACTIVE state (Partially Active); if the number of SUBSTANTIAL linguistic labels of type is higher than 2, then the cell is in an ACTIVE state;
The output fuzzy set describes activity level according to the number of neighboring cells and fuzzy rules.
Thanks to the inference engine, we obtain an activity value. After the defuzzification process, we obtain the activity level for each active cell.
Results
Figure 6 is an illustration of simulation rendering by means of fuzzy rules. A conventional fire propagation is well represented.

Fire spreading evolution with fuzzy rules.
Figure 7 illustrates different FIS setups, and shows that few modifications FIS parameters can have high impact on propagation behaviour, consequently, the results should be very different in terms of rendering. The results obtained underline the importance of implementing fuzzy activity in a CAM. The interest of this approach is to define a propagation rule from simple linguistic rules expressed in natural language.

Six different FIS setup rendering.
This example shows the adaptation of the method. We use here a specific simulator adapted to the discrete time system (DTSS). This DTSS formalism is a special case of the DEVS formalism.
Our approach has been already applied in several application fields: to solve a first order imprecise equation to study the mechanical part of the induction machine [5]; to compare defuzzification methods for discrete event systems [7]; to define a predictive wind model with imprecise parameters to select the location of wind turbines [6]; to design a decision-making model controlling the boiler temperature and stream-flow [4]; to take into account the knowledge evolution over time [2]. to model the lack of knowledge in the propagation rules of a cellular automaton [3].
The interested reader may refer to the mentioned papers. Details on methodology and applications are presented. For us, these case studies provide several proofs of concept that demonstrate the usability and the genericity of our approach.
Conclusion
In this article, we have presented a synthesis of several conference papers. The aim of our work is to bridge the Theory of Modeling and Simulation (TMS), through the DEVS formalism, and the Fuzzy Set Theory. The approach presented is based on mathematical definitions of the Fuzzy Set Theory to represent and use imprecise information in the DEVS formalism. A methodology based on the notions of object oriented programming is proposed: to describe imprecision in the form of data structures and manipulate them as classical objects (int, float...); to generalize the DEVS formalism, and thus allow to model and propagate imprecise information. It is called iDEVS: to take into account imprecision in the DEVS formalism. The aim is to allow users of the DEVS formalism to describe systems with imprecise parameters, and to propagate this imprecision by simulation. Finally, an analogy is proposed between Fuzzy Interference Systems and iDEVS models. In this analogy we have proposed to facilitate controller modeling and to open the application domains of the DEVS formalism to all fields of application of fuzzy interference systems (FIS). The method is generic and allows to represent and use FIS in DEVS. This makes it possible to open the DEVS formalism to other domains (decision support), and to bring together the tools based on the DEVS formalism of commercial tools that offers fuzzy toolbox. The approach is still limited in number of defuzzification function for example, and it also lacks a graphical interface for the design of the rules of the interference engine. Currently it is necessary to do it in the code, it is not very user friendly.
As for the interval arithmetic, the main limitation of this approach is that the more the simulation time advances more the confidence interval increases. This problem requires the use of defuzzification functions to limit combinatorial explosions.
At the perspective level, an interesting work to show the advantage of our approach would be to make comparisons with other tools. The approach must be improved, in particular to complete the mathematical functions to handle fuzzy sets. We are also interested in fuzzy ranking methods for managing the DEVS formalism scheduled. We are currently working on using our approach as a decision model for autonomous agents, more recently, we are thinking about using fuzzy logic as a tool to improve confidence in simulation results.
Footnotes
Acknowledgments
The authors would like to thank the Corsican Region (CTC) and the European Union (EU) to support MoonFish po-feder project.
