<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Identification of Timed Discrete Event Processes. Building Input-Output Petri Net Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Edelma Rodríguez-Pérez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tonatiuh Tapia-Flores</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ernesto López-Mellado</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CINVESTAV Unidad Guadalajara. Av. del Bosque 1145. Col.</institution>
          <addr-line>El Bajío 45015 Zapopan</addr-line>
          ,
          <country country="MX">México</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>153</fpage>
      <lpage>167</lpage>
      <abstract>
        <p>This paper deals with the identification of controlled discrete event processes from timed input-output vector sequences; the sampling date of every vector is provided. An efficient method allowing building a transition timed interpreted Petri net (TTIPN) model is presented. The method is based on a threestage strategy: 1) the observable components of the TTIPN are first obtained, 2) the non-observable part is inferred, and 3) the time parameters associated to transitions are obtained. This paper focuses on the first and third phases of the method; a new method for building the observable model is proposed; additionally, a technique to compute the timing of transitions is presented. The derived algorithms are polynomial-time on the length of the input-output sequences.</p>
      </abstract>
      <kwd-group>
        <kwd>I-O identification</kwd>
        <kwd>Discrete event processes</kwd>
        <kwd>Timed Petri nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Nowadays, many automated processes in operation do not have enough information
about how they work. This is because the updates have not been documented or in
many cases the specification does not exist.</p>
      <p>
        Earliest identification methods, named language learning techniques, appear in
computer sciences. The aim of such methods was to build fine formal specifications
(finite automata, grammars) of languages from samples of accepted words [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. In
DES the problem is referred as process identification; in this field several approaches
and methods have been proposed for building abstract machines representing the
observed behaviour of automated processes. In [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ] an incremental approach allows
synthesising safe interpreted Petri net (PN) models from a sequence of system’s
outputs. Later, in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], an approach for building PN from a set of sequences of events is
presented; it is based on the statement and solution of an integer linear programming
problem. Numerous extensions to this method have been presented, for example [
        <xref ref-type="bibr" rid="ref6 ref7">6,
7</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] a method for deriving finite automata from sequences of inputs and outputs
is presented; it is applied to fault detection of manufacturing processes. An extension
to this method that allows building distributed models is presented in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
Input-output identification of automated manufacturing process is addressed; an
interpreted PN is obtained from a set of sequences of input-output vectors sampled from
the controller during the system cyclic operation. The method is extended for dealing
with a long single observation of input-output vectors [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Surveys presented in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
and [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] provide a detailed presentation on DES identification.
      </p>
      <p>
        In the field of workflow management systems (WMS) the problem is named
workflow mining. The aim of the approach is similar but the problem statement is
somehow different. A complete review of recent works can be found in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Most of the proposed identification techniques process sequences of events and
obtain models expressed as Petri nets of finite automata (FA). However, few proposals
address the identification of timed systems. Relevant works on the matter are [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ],
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>The work presented herein addresses identification of timed discrete event
processes, in which the available data is only a set of sequences of input-output vectors,
which represent the exchanged signals between a controller and a plant from the
controller point of view. Additionally, the instants when each vector is observed are
considered. The events, the number of places, and the number of transitions are not
known a priori. The proposed method yields a Petri net model including input
functions and outputs and also timing information regarding the durations of operations.
Timing is expressed through two parameters associated to transitions: a positive real
value and pair of positive real values expressing an interval, which can be used
according to the transition timed PN and time PN semantics respectively.</p>
      <p>
        The method is based on a two-phase strategy presented in a recent previous work
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], in which the observable components of the TTIPN are first obtained, and then
the non-observable part is inferred. This paper focuses on the first stages of the
method and proposes a more efficient technique for determining the observable
components and the timing parameters.
      </p>
      <p>The paper is organised as follows. Section II gives an overview of the basic notions
on Petri nets. Section III presents the method for building the qualitative observable
model. Section IV describes the non observable model synthesis. Section V presents
the strategy for computing the time parameters. Finally concluding remarks are given.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Petri Nets Background</title>
      <p>This section presents the basic concepts and notation of Petri Nets (PN),
Interpreted Petri nets (IPN), Timed and Time Petri Nets (TPN) used in this paper.</p>
      <p>Definition 1: An ordinary Petri Net structure G is a bipartite digraph represented by
the 4-tuple G = (P, T, Pre, Post) where: P = {p1, p2, ..., p|P|} and T = {t1, t2, ..., t|T|} are
finite sets of vertices named places and transitions respectively;
Pre(Post) : P × T o {0,1} is a function representing the arcs going from places to
transitions (from transitions to places).</p>
      <p>The incidence matrix of G is W = W+ W , where W = [wij ]; wij = Pre(pi, tj); and
W+ = [wij+]; wij+ = Post(pi, tj) are the pre-incidence and post-incidence matrices
respectively.</p>
      <p>A marking function M : Po Z+ represents the number of tokens residing inside
each place; it is usually expressed as a |P|-entry vector. Z+ is the set of nonnegative
integers. In particular, in this paper M : Po {0,1}; the PN is referred as 1-bounded or
safe.</p>
      <p>Definition 2: A Petri Net system or Petri Net (PN) is the pair N = (G,M0), where G
is a PN structure and M0 is an initial marking.</p>
      <p>In a PN system, a transition tj is enabled at marking Mk if pi  P, Mk(pi)  Pre(pi,
tj); an enabled transition tj can be fired reaching a new marking Mk+1. This behaviour
is represented as Mk  o tj Mk+1. The new marking can be computed as
Mk+1 = Mk + Wuk, where uk(i) = ML uk(j) = 1; this equation is called the PN state
equation. The reachability set of a PN is the set of all possible reachable markings
from M0 firing only enabled transitions; this set is denoted by R(G,M0).</p>
      <p>
        Now it is defined IPN, an extension to PN that allows associating input and output
signals to PN models. This definition is adapted from [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>Definition 3 : An interpreted Petri net (IPN) (Q, M0) is a labelled net structure
Q = (G, Ȉ ) , O , M ) with an initial marking M0 where:
- G is a PN structure,
- 6 = {D 1, D 2, ..., D r} is the inputs alphabet,
- ) = {E 1, E 2,..., E q} is the outputs alphabet,
- O : To Evu C is a labelling function of transitions, where</p>
      <p>C={C1, C2,… , C|T|} is the set of input conditions in which every Ci is a Boolean
function on 6 ; when a Ci is always true it is denoted as “=1”, and
Ev={Ev1, Ev2,…} is the set of input events conditions; every Evi is a Boolean
function of input events, built on 6 ; events are denoted as D i_0 and D i_1 for
representing that the input value changes from 1 to 0, or from 0 to 1 respectively. A
condition Evi may not exist; this is denoted as “H ”.</p>
      <p>In an IPN, a transition tj will be fired if a) tj is enabled, and b) condition Cj is true,
and c) the event in E(tj) occurs.
- M : R(Q,M0)o (Z+)q is an output function, that associates with each marking in
R(G,M0) a q-entry output vector, where q=|) | is the number of outputs. M is
represented by a q×|P| matrix, such that if the output symbol E i is present (turned on)
every time that M(pj)  1, thenM (i, j) = 1, otherwise M (i, j) = 0.</p>
      <p>The state equation of PN is completed with the marking projection Yk = M Mk, where
Yk  (Z+)q is the k-th output vector of the IPN.</p>
      <p>Definition 4: A place pi P is said to be observable if the i-th column vector of M
(denoted as M (x ,i)) is not null. Otherwise it is non-observable. P = Pobs  Pnobs,
and Pobs  Pnobs = ; where Pobs is the set of observable places and Pnobs the set of
non-observable places.</p>
      <p>Now the definitions of timed and time PN are recalled.</p>
      <p>
        Definition 5: A timed transition PN is the tuple NG = (G, M0, G ), where G is an
ordinary PN, M0 is the initial marking, and G : To t 0 is function that assigns a
nonnegative value to each tj T; such a value represents the firing time of is the
average firing of tj once it is enabled [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>
        Definition 6: A time PN is the tuple NL = (G, M0,L ), where G is an ordinary PN,
M0 is the initial marking, L : To t 0u  t 0 is the firing time interval function that
assigns a firing interval [lj, uj] to each transition tj T. The interval represents a time
window restriction; tj must be fired after lj or before uj (lj  X j) time units computed
from the instant in which tj is enabled [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>In both definitions, when G (tj)=0 or L (tj)=[0, 0], tj is called immediate. Timed and
immediate transitions are usually represented by empty and filled boxes, respectively.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Input-output identification</title>
      <sec id="sec-3-1">
        <title>3.1. The black-box approach</title>
        <p>The process to identify consists of a pair controller-plant interacting in a closed
loop (Fig. 1). The exchanged signals between them are sampled every time a signal
changes and recorded for building a sequence of vectors representing input and
outputs from the controller point of view.</p>
        <p>
          The identification method developed in this paper follows the general approach
proposed in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]; it consists of two stages. The first one obtains the observable model
and a transitions sequence S. The second stage processes S and builds the
nonobservable model. Then the observable and non-observable models are merged to
create the final model, which describes closely the actual behaviour of the controller.
        </p>
        <sec id="sec-3-1-1">
          <title>Controller</title>
          <p>I(k)
O(k)</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Plant</title>
          <p>I/O vectors sequence w</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Identification of the reactive behaviour</title>
        <p>The method presented herein extends the previous one by proposing more efficient
algorithms and addressing the temporal behaviour of the process and obtaining the
identified model. Thus, besides the input-output vector sequence, the instants when
each vector is sampled are considered. In this paper we will focus on the construction
of the observable part and the computing of the time parameters associated to each
transition.
3.2.1.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Problem statement</title>
        <p>The input data is a timed I/O vector sequence w= w(1)w(2) ... w(|w|), where
w(k)=[I(k)|O(k)]T such that I(k) {1,0}r, O(k) {1,0}q and w(k)z w(k-1), i.e. a new
vector is recorded when an input or an output changes. Furthermore each w(k) has
associated a date W (w(k)) t 0, which represents the instant when the k-th I/O vector
is observed.</p>
        <p>The aim of the method is to obtain an IPN Q and a timing function Tim that associates
to each transition two parameters given by G and L , which express the firings duration
and interval respectively from the timed and time PN definitions; Tim: To {(valj, intj)|
valj=G (tj) and intj=L (tj)} t T}. In this paper a technique that builds the observable
components given by Pobs is presented.
It is assumed that the process formed by the controller and the plant behaves
correctly, i.e. bounded, fault free, and deadlock free; besides, the sequence w is observed
from the initial state.
3.2.2.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Events</title>
        <p>Definition 7. An elementary event is the difference between two consecutive I/O
vectors E(k-1)=w(k) w(k-1)z 0, k&gt;1. Each event vector is composed by two parts
E(k)=[IE(k)|OE(k)]T, where IE(k-1)=I(k) I(k-1) and OE(k-1)=O(k) O(k-1) referred as
input events and output events respectively. An E(k) is called a reactive event iff
OE(k)z 0.</p>
        <p>Remark. The event vectors are unknown a priori but the number is bounded by
|3r+q| since E(k) {-1,0,1}r+q. The actual number of events is determined from the
observed w. Another important issue on this definition is that the only events considered
are those which are detected by changes in inputs or outputs (or both). Internal events
that are not due to input changes or do not cause output changes are not considered.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.2.3. Events sequences</title>
        <p>The timed event sequence is then E=e(1)e(2)e(3)…e(k-1), where the instants when
they are observed are given by W (e(k))= W (w(k+1)). It is assumed that W (w(0))=0.</p>
        <p>In this work we are interested in determining the reactive behaviour of the
controller; thus we will focus on events that provoke changes in the outputs, i.e. reactive
events.</p>
        <p>A new sequence RE is formed by the reactive events re(h) from E by preserving the
order in which they appear in E and their associated dates: W (re(h))= W (e(k)) such that
e(k) is a reactive event.</p>
        <p>Given that between two reactive events in E there could be other non reactive
events, RE is usually shorter than E.</p>
        <p>Example 1. Consider a controlled process that handles 7 inputs (m, a, b, c, d, e, f)
and 4 outputs (R1, L1, R2, L2); the I/O vectors have the format [m a b c d e f |R1 L1 R2
L2]T. Figure 2 shows the first vectors of the I/O sequence w, and the derived event
sequences E, and R.</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.3. IPN representation of reactive events</title>
        <p>Every OE part of a reactive event re(h) represents a change in the output variables
E i of the system whose entries are different of zero; E i_1 and E i_0 denote the changes
of the variable E i from 0 to 1 and from1 to 0 respectively. The number of different OE
in the observed reactive events is the minimum number of transitions in the IPN. All
the different OEs are stored in a set OES.</p>
        <p>For every OE(h), the symbolic expression of the event part is SOE(k)=ς ܧܱܵ ௜ (݇ ) i
s.t. OEi(k)z 0, where SOEi(k)=E i_1 if OEi(k)=1 or SOEi(k)=E i_0 if OEi(k)=-1.</p>
        <p>In Example 1 the symbolic representation of the OE of re(1) and re(2) are SOE(1) =
R1_1 R2_1 and SOE(2) = R1_0 L1_1 respectively.</p>
        <p>There are as many observable places as output variables. The corresponding
observable places to a re(h) are marked or unmarked when the value is 1 or -1
accordingly.</p>
        <p>A substructure relating observable places pi, such that I (pi)=E i, by a transition tj
that represents the event re(h) must be created through arcs (tj, pi) and (pi, tj) for the
values 1 and -1 in the entry corresponding to pi in OE(h).</p>
        <p>In Example 1 the reactive events re(1)=e(2) and re(2)= e(7) define the structures
shown in figure 3.</p>
        <p>In a very long event sequence, reactive events that have identical OEz 0 may appear
repeatedly; such events may have different IE. This means that several IE provoke the
same changes in the system outputs. Thus, it is necessary to define a function that
embeds all the IE for the same OE; such firing function is associated to the transition
of the substructure i.e. that associated by O of the IPN definition.</p>
      </sec>
      <sec id="sec-3-7">
        <title>3.4.1. Input event functions</title>
        <p>For every reactive event re(h) one must consider the corresponding IE(k) and also
the previous IE whose OE=0 to build a function f in the form Evu C; such functions
are named Event and Context parts respectively of the input event function fr.
x Event part. It represents the changes of the inputs that yield the outputs change. It is
often determined from IE(k) or IE(k-1) if IE(k)=0. The symbolic expression of the
event part is SRE(k)=  SIEi(k) i s.t. IEi(k)z 0, where SIEi(k)=D i_1 if IEi(k)=1 or
SIEi(k)=D i_0 if IEi(k)=-1.
x Context part. It represents the values of the input variables of w(k). The symbolic
expression of the condition part is SCRE(k)=ς ܵܥܫ ௜ (݇ ) i, where SCIi(k)=D i if
Ii(k)=1or SCIi(k)=D ഥ i if Ii(k)=0. Furthermore, if a literal D i has changed twice its
value during the previous E(k) in which OE(k)=0, D i must not be included in
SCRE(k).</p>
        <p>For every computed fr, the symbolic expression of the OE is associated through a
function U , and the instants W (re(h)) are associated in a set of real values; when a fr is
computed again along the RE, then the corresponding date is added to the set. Based
in the previous notions the procedure to build the input event functions is given
below.</p>
        <p>Algorithm 1. Input event functions
Input: Sequences w and RE
Output: F and the sequence FS
1.FmØ; FS mØ; rm 1; OESmØ
2. re(h) in RE where h=1, ... , |RE|</p>
        <p>Let IE(k) be the k-th input event corresponding to re(h)
2.1. If IE(k)  ሬ 0Ԧ
then Compute SRE (k);</p>
        <p>If SRE(k) OES
then OESmOES  SRE (k)
else Compute SRE (k-1);</p>
        <p>If SER(k-1) OES
then OESmOES  SRE (k-1)
2.2. Compute SCRE(k) from w(k)
2.3. If IE(k)  ሬ 0Ԧ
then fr m (SRE (k), SCRE(k));
else fr m (SRE (k-1), SCRE(k))
2.4. U (fr)mSOE(k)
2.5. If fr ב F
then FmF  fr; FSm FS • fr; r= r+1; W ( fr)mW (re(h))
else Let fs F the function already computed s.t. fs = fr; FSmFS
• fs ;
W (fs)m W</p>
        <p>(fs)W (re(h))
3. Return F and FS
Property 1
x The previous algorithm produces a set F of functions that represent all the different
reactive events in RE and their corresponding execution contexts. Consequently FS
has a correspondence with the sequence of events E. Thus, FS reproduces the
inputoutput sequence w.
x It is easy to see that the complexity of the procedure for building inputs events
functions is O(|RE|).</p>
        <p>In Example 1, regarding the reactive event re(1) which corresponds to e(1),
SIE(1)=m_1 a_0 d_0 and SCI(2)=ܾത ܿҧ݂݁ ;ҧ then f1(R1_1 R2_1)= (m_1 a_0 d_0,
ܾത ܿҧ݂݁ )ҧ. Additionally, f2(R1_0 L1_1)= (c_1, ݉ ഥ ܽ ത݀ ҧ݂ )ҧ; notice that b changed twice
between re(1) and re(2). Also f3(R1_1 L1_0)=(f_1, ݉തܽ ത ത ത ܾത ݀ܿത ത ത ҧ݁ ).</p>
      </sec>
      <sec id="sec-3-8">
        <title>3.4.2. Merging input event functions</title>
        <p>Once the reactive functions fh are obtained, several input event functions could
correspond to a same output event vector. In the sequence RE of figure 4 regarding
Example 1, the output event R1_0 L1_1 is found several times with different fh, i.e. e(7),
e(23), e(39), etc. These events are enhanced with rectangles in the sequence shown in
figure 4.</p>
        <p>Such functions could be associated to the transition that yields the marking change
in the obtained IPN structures as a compound event. The functions that provoke a
given oe OES are associated through the function : : OESo 2F.</p>
        <p>Afterwards, functions associated to every oe must be gathered according to the
event part of the input function; then the condition part can be expressed as a
disjunction of contexts of the corresponding functions, and then compacted by Boolean
simplifications.</p>
        <p>In the example, the output event oe= R1_0 L1_1 is provoked by the input events
represented by the functions:
f2(R1_0 L1_1) = (c_1, ݉തܽ ത ത ത ݀ ҧ݂ )ҧ, and
f10(R1_0 L1_1) = (c_1, ݉തܽ ത ത ത ܾത݀ ത ത ത ҧ݂݁ ҧ),
which can be embedded by the composed function g1= f2,10= c_1x (݉തܽ ത ത ത ݀ ҧ݂ ҧ +
݉തܽ ത ത ത ܾത݀ ത ത ത ҧ݂݁ ҧ) = (c_1, ݉ ഥ ܽ ത݀ ҧ݂ )ҧ, which is associated to t2 in figure 3.</p>
      </sec>
      <sec id="sec-3-9">
        <title>3.4.3. Transitions sequence</title>
        <p>Once the observable components are obtained, the sequence of transitions S that
reproduces the reactive events is computed. This is straightforward performed by
tracking the firing functions sequence FS and applying a mapping O :To {gi}.</p>
        <p>The technique above described is summarised in Algorithm 2 given below.
Algorithm 2. Compound functions
Input: F, FS, and OES
Output: T, O , S, Timed sequence SW
1.Sm Ø; SW m Ø; Tm Ø;
2.// Finding functions with the same output event (oe)
oe  OES: ȍRHĸ  ;
fr  F:
If U (fr)=oe then
ȍRHĸ  fr
3.// Gathering the functions in ȍRHDWYKV6P(5
oe  OES
1; Z iĸ 
; Z Vĸ
z
6. Return T, O , S, SW
Property 2
x Algorithm 2 returns the set of Transitions T and the labelling O , which associates the
input firing functions. Furthermore, the procedure builds both sequences S and St.
As defined in the Step 5, S is formed by transitions ti that correspond to fr in FS;
then by Property 1, S correspond to event sequence E, consequently to w.
x Step 2 of Algorithm 2 is performed in O((|OES|)(|F|)). Step 3 is executed in
O((|OES|)(|ȍRH|) 2). Step 4 is completed in O(|Z s|). Step 5 is performed in O(|FS|).
The length of diverse structures is as follows: ȍRH_ |Z s_  2(6_ )_ 6)_ .
Then, the approximated complexity of the procedure O(|FS|). Given that |w|=N |RE|
and |FS|=|RE|, this complexity is linear on the length of w.</p>
        <p>In Example 1, 12 different input functions for 6 output events were computed.
They are summarised in Table 1. The observable sub-model is depicted in figure 4.</p>
        <p>Proposition 1. The observable model reproduces the input-output sequence w and
behaves 1-bounded with respect to the execution of such a sequence.</p>
        <p>Proof. The non-observable model is built from the output part of the reactive events,
which mark and unmark the observable places following the reactive events sequence
RE. In turn RE reproduces w by property 1; then, the model is able to execute w.
Since by assumption the process behaves correctly, there is not two successive
requests to activate an operation before deactivate it and then the places have zero or
one tokens during the execution of w.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Determining the non observable model</title>
      <p>In order to complete the model, a technique that finds a PN model, which
reproduces the transitions sequence S has to be applied. This model, called the non
observable PN, is merged with the observable model to obtain the IPN that reproduces the
input/output sequence w.</p>
      <p>
        The method used for computing the non observable model is presented in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ],
which builds from S, a safe PN and its initial marking using only the transitions in T.
The method computes the causal and concurrent relations between the transitions in
the sequence S. This is achieved by determining the t-invariants, which are used to
determine substructures in the discovered model. In the last stage of the method the
tinvariants are used for reducing the possible exceeding language by determining
causality between events not observed consecutively. Further details on the method can
be consulted in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. The application of this method to the sequence S of the example
yields the model shown in figure 5.
      </p>
      <p>Both the non observable and the observable models are combined by merging the
transitions that have the same name. In the example the merging of models in figures
4 and 5 yields the IPN shown in figure 6. Afterwards, non observable implicit places
are removed, and then the model yield is shown in figure 7.</p>
      <p>p7
p8
t1
p2
p1
t2
t3
Proposition 2. The partially observable IPN model (Q, M0) obtained through the
proposed method is able to reproduce the input-output sequence w. Such a model
behaves 1-bounded when w is fired.</p>
      <p>Proof. By property 2, the observable model reproduces w, hence the transitions
sequence S. The method for computing the non observable models also guarantees the
reproduction of S; therefore, the compound model reproduces the sequence w. In this
model, by Proposition 1 and by the 1-boundedness of the non observable model, the
final model is also 1-bounded.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Computing the timing parameters</title>
      <p>The last stage of the identification method is to obtain the timing parameters of the
IPN models. For this purpose, the Tim function is determined from the timed
sequence SW and the structure of the synthesized PN.</p>
      <p>The strategy consists in parsing SW by comparing the transition tk in SW (k) with one
or several previous transitions in the sequence, and then determining the time elapse
between W (fr) of SW (k) and the corresponding W (fr) in the upstream SW (k-i). This
reasoning is based on the semantics of transition-timed Petri nets in which the time elapse
associated to a transition tk represents the maximum stay duration of the marking that
enables tk. Thus, every time tk appears in the sequence one must analyze the
occurrence of x (x tk) in the subsequence preceding SW (k), up to the previous appearance of tk
or SW (1). Figure 8 illustrates the general structure of the PN fragment to analyze.
.
.
.</p>
      <p>tk</p>
      <p>W (tk)</p>
      <p>For every place in x tk, one must detect one of the input transitions (since the PN is
1-bounded) in the subsequence preceding tk in SW ; among these transitions, let tr be
that whose date is the latest, then the maximum residence time of tokens in the
marking that enables tk is G= W (tk) W (tr), which is indeed the time elapse associated to tk for
this subsequence. The above strategy is summarized and structured in Algorithm 3
given below.</p>
      <p>Algorithm 3. Determining timing function
Input: SW
Output: function Tim
1. tj T: J (tj) m
2. tj  T:</p>
      <p>For k=1 to |SW | // analysing the occurrences of tj in SW</p>
      <p>If tj= GetTrans(SW (k))
then
{W (tj) m GetTime(SW (k));
r m k - 1
While (GetTrans(SW (r))  x (x tj)) do</p>
      <p>r m k – 1</p>
      <p>Endwhile
W (tr) m GetTime(SW (r));</p>
      <p>J (tk) m J (tk)  (W (tk) W (tr))}</p>
      <p>Endfor
3. tj T</p>
      <p>G (tj) m average(J (tj));
L (tj) m [min(J (tj)), max(J (tj))]</p>
      <p>Tim(tj)m (G (tj), L (tj))
4. Return Tim
Property 3
x The algorithm obtains for every transition tj, both the average of the duration of the
making enabling tj, and their minimum and maximum values. It is easy to see the SW
is executed witin the instants given by the computed interval.
x The first and the third steps are performed in O(|T|). The second step is more time
consuming; inside the two for iterations (executed in O(|T||SW |)), one must explore in
S a subsequence preceding tj, which contains x tj. Since the maximum value of the
|x tj| is small compared to |SW |, the complexity is O(|T||SW |)).</p>
      <p>In Example 1, the timing parameters obtained from SW are given in Table 2.</p>
    </sec>
    <sec id="sec-6">
      <title>6 Conclusions</title>
      <p>In this paper the problem of identifying timed discrete event processes is
addressed. A novel method that obtains the observable components of an IPN model and
determines the timing parameters is proposed.</p>
      <p>In this problem the only available input data is a sequence of input-output vectors
and the instants when they are recorded. Using the method that discover the non
observable model, the final obtained model is an IPN in which the process outputs are
associated to some places, and the transitions are labelled with functions of inputs that
express the reactive behaviour of the process. The time parameters are given as a pair
(G, L ) corresponding to the parameters of timed and time PN respectively.</p>
      <p>
        The proposed method for computing the observable components is simpler than a
previous work [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] since it focuses on reactive events and the processing is less
complex; besides the technique for determining the transitions timing is simple. These
features lead to polynomial time algorithms on the size of the input-output sequence,
which are able to handle long sequences efficiently.
      </p>
      <p>Current research studies the obtained time parameters; the time elapsed can be
highly dispersed and then a refinement of the untimed model could be required.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Gold</surname>
          </string-name>
          , “
          <article-title>Language identification in the limit”</article-title>
          ,
          <source>Information and Control</source>
          ,
          <volume>10</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>447</fpage>
          -
          <lpage>474</lpage>
          ,
          <year>1967</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Angluin</surname>
          </string-name>
          , “
          <article-title>Queries and Concept Learning”</article-title>
          ,
          <source>Machine Learning</source>
          , vol.
          <volume>2</volume>
          , pp.
          <fpage>319</fpage>
          -
          <lpage>342</lpage>
          ,
          <year>1988</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Meda-Campana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ramirez-Treviño</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and E.</given-names>
            <surname>Lopez-Mellado</surname>
          </string-name>
          , “
          <article-title>Asymptotic identification of discrete event systems”</article-title>
          ,
          <source>in Proc. of the 39th IEEE Conf. on Decision and Control</source>
          , pp.
          <fpage>2266</fpage>
          -
          <lpage>2271</lpage>
          ,
          <year>2000</year>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Meda-Campana</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Lopez-Mellado</surname>
          </string-name>
          , “
          <article-title>Identification of concurrent discrete event systems using Petri nets”</article-title>
          ,
          <source>in Proc. of the 17th IMACS World Congress on Computational and Applied Mathematics</source>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>15</lpage>
          ,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Cabasino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Giua</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Seatzu</surname>
          </string-name>
          ,
          <article-title>"Identification of Petri nets from knowledge of their language,"</article-title>
          <source>Discrete Event Dynamic Systems</source>
          , Vol.
          <volume>17</volume>
          , No.
          <issue>4</issue>
          , pp.
          <fpage>447</fpage>
          -
          <lpage>474</lpage>
          ,
          <year>2007</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Cabasino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Giua</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Seatzu</surname>
          </string-name>
          , “
          <article-title>Linear programming techniques for the identification of place/transition nets”</article-title>
          ,
          <source>in Proc. of the 47th IEEE Conf. on Decision and Control</source>
          , pp.
          <fpage>514</fpage>
          -
          <lpage>520</lpage>
          ,
          <year>2008</year>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dotoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Pia</given-names>
            <surname>Fanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Mangini</surname>
          </string-name>
          , and W. Ukovich, “
          <article-title>Identification of the unobservable behaviour of industrial automation systems by Petri nets”</article-title>
          ,
          <source>Control Engineering Practice</source>
          ,
          <volume>19</volume>
          (
          <issue>9</issue>
          ), pp.
          <fpage>958</fpage>
          -
          <lpage>966</lpage>
          ,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Litz</surname>
          </string-name>
          , J.-J. Lesage, “
          <article-title>Fault detection of discrete event systems using an identification approach”</article-title>
          ,
          <source>in Proc. of the 16th IFAC world Congress</source>
          ,
          <volume>6</volume>
          <fpage>pages</fpage>
          ,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Roth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          , and L. Litz, “
          <article-title>Fault detection and isolation in manufacturing systems with an identified discrete event model”</article-title>
          ,
          <source>International Journal of Systems Science</source>
          ,
          <volume>43</volume>
          (
          <issue>10</issue>
          ), pp.
          <fpage>1826</fpage>
          -
          <lpage>1841</lpage>
          ,
          <year>2012</year>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Estrada-Vargas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>López-Mellado</surname>
          </string-name>
          , J.-J. Lesage ”
          <article-title>Input-Output Identification of Controlled Discrete Manufacturing Systems”</article-title>
          .
          <source>International Journal of Systems Science</source>
          . Volume
          <volume>45</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>3</given-names>
          </string-name>
          ,
          <year>2014</year>
          , pp.
          <fpage>456</fpage>
          -
          <lpage>471</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.P.</given-names>
            <surname>Estrada-Vargas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J-J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>López-Mellado</surname>
          </string-name>
          “
          <article-title>A Stepwise Method for Identification of Controlled Discrete Manufacturing Systems”</article-title>
          .
          <source>Int. Journal of Computer Integrated Manufacturing</source>
          . Vol.
          <volume>28</volume>
          , No.
          <volume>2</volume>
          ,
          <issue>187</issue>
          ,
          <year>2015</year>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.P.</given-names>
            <surname>Estrada-Vargas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Lopez-Mellado</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>J.-J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          , “
          <article-title>A comparative analysis of recent identification approaches for discrete event systems”</article-title>
          , Mathematical Problems in Engineering, vol.
          <year>2010</year>
          , 2010
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Cabasino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Darondeau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Fanti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Seatzu</surname>
          </string-name>
          , “
          <article-title>Model identification and synthesis of discrete-event systems”, Contemporary Issues in Systems Science</article-title>
          and Engineering, IEEE/Wiley Press Book Series 2013
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>W. Van der Aalst</surname>
          </string-name>
          , Process Mining: Discovery, Conformance and Enhancement of Business Processes, Berlin: Springer-Verlag,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Meda-Campaña</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Medina-Vazquez</surname>
          </string-name>
          ,
          <article-title>“Synthesis of timed Petri net models for on-line identification of Discrete Event Systems</article-title>
          ,” in
          <year>2011</year>
          9th IEEE
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>D. M. Muñoz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Correcher</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>García</surname>
            and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Morant</surname>
          </string-name>
          , “
          <article-title>Identification of Stochastic Timed Discrete Event Systems with st-</article-title>
          <string-name>
            <surname>IPN</surname>
          </string-name>
          ,” Mathematical Problems in Engineering, vol.
          <year>2014</year>
          , no.
          <issue>835312</issue>
          , p.
          <fpage>21</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>F.</given-names>
            <surname>Basile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Chiacchio</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Coppola</surname>
          </string-name>
          , “
          <article-title>An approach for the identification of time Petri net systems</article-title>
          ,” in
          <source>2013 IEEE 18th Conference on Emerging Technologies &amp; Factory Automation (ETFA)</source>
          ,
          <year>Cagliari</year>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Estrada-Vargas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>López-Mellado</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          ,
          <article-title>"A Black-Box Identification Method for Automated Discrete-Event Systems,"</article-title>
          <source>IEEE Trans. on Automation Science and Engineering</source>
          , vol. PP, no.
          <issue>90</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>R.</given-names>
            <surname>David</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Hassane</surname>
          </string-name>
          , Discrete, Continuous, and Hybrid Petri Nets, Berlin Heidelberg: Springer-Verlag,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ramchandani</surname>
          </string-name>
          ,
          <article-title>Analysis of asynchronous concurrent systems by Timed Petri Nets</article-title>
          , Massachusetts: Massachusetts Institute of Technology Cambridge,
          <year>1974</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>P. M. Merlin</surname>
          </string-name>
          ,
          <article-title>A study of the recoverability of computing systems</article-title>
          , California: University of California, Irvine,
          <year>1974</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>T.</given-names>
            <surname>Tapia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>López-Mellado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Estrada-Vargas</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Lesage</surname>
          </string-name>
          , “
          <article-title>Petri net discovery of discrete event processes by computing t-invariants,”</article-title>
          <source>in Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA)</source>
          ,
          <year>Barcelona</year>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>