A Simulation Model based on a Stochastic Petri Net Approach for Dependability Evaluation of PROFIBUS-DP Networks Paulo Jose Portugal Faculdade de Engenharia - DEEC Rua Dr. Roberto Frias s/n 4200-465 Porto, PORTUGAL pportugal(fe.up.pt Adriano da Silva Carvalho Faculdade de Engenharia - DEEC Rua Dr. Roberto Frias s/n 4200-465 Porto, PORTUGAL [email protected] Abstract The paper proposes a dependability model which enables the evaluation of Profibus-DP networks in scenarios of transient faults which affect data communications. The full behavior of Profibus-DP communication stack is modeled, including: cyclic process data exchange between master and slave stations; configuration, parameterization and diagnostics of slave stations. The model is based on a high level Stochastic Petri Net formalism referred as Stochastic Activity Networks (SAN), supported by the Mobius tool. High modeling power, state-of-the-art analytical and simulation solutions, and a flexible and integrated environment are their main features. Dependability measures are established from the fulfillment of the real-time constraints (deadlines) defined on process data messages exchanged between master and slave stations. The reward concept is used to define the measures, which are obtained by means of a simulation approach. A case study is proposed to assess the modelperformance. 1. Introduction Dependability attributes, like safety, reliability and availability, have become essential parameters on industrial automation systems design. Nowadays fieldbuses have a central role in these systems, with large application domains which extend to almost any area in manufacturing and process industries. They are presently the backbone of distributed industrial control architectures providing a communication infrastructure which supports control, monitoring and supervision applications [1]. The importance presently assumed by these control systems compels to evaluate their dependability. In a distributed system, determining the dependability of the communication channel is of particular importance, especially when this component is susceptible to EMI (Electromagnetic Interference) problems. Therefore in these systems it is vital to evaluate how the system dependability is affected by faults on communication. Industrial environments are characterized by the existence of a high diversity of equipments that are source of large EMI patterns [2]. These interferences induce faults in electronic circuits that disturb their normal operation. In communication systems these types of faults usually affect the transmission medium and related circuits, since these are the components most exposed to them. EMI faults are generally characterized by occurring in bursts, a long latent period followed by relatively short period of presence, and by having a short duration (transient faults) [2]. In this context, faults produce errors on transmitted messages by corrupting their contents. To recover from these situations fieldbus networks implement several faulttolerant mechanisms. However, this creates a communication overhead by introducing delivery delays in messages 0-7803-9402-X/05/$20.00 © 2005 IEEE which could imply a performance degradation in the control system [3,4]. When messages have real-time requirements, which is common in control systems [1,3,4], these problems can seriously disturb the system operation which can even lead to its failure [3,4]. This paper deals with a specific fieldbus: Profibus-DP [5]. It proposes a model that enables to determine the network dependability with respect to deadline failures in the presence of faults induced by external sources (EMI). 2. Profibus-DP The Profibus-DPI [5] is a fieldbus designed for use at the low level of factory automation systems, where it performs high-speed data exchange between process controllers and field devices, such as sensors and actuators. Two types of stations can be connected to the network: (i) Masters, usually performing automation and control tasks (e.g. PLCs). Their operation typically consists of polling a set of associated slave devices and executing control programs; (ii) Slaves, consisting on peripheral devices (e.g. I/O) exchanging data with the masters. Masters are referred as active stations, and slaves as passive ones. Communications can only be initiated by the active stations. Passive stations can only access to the medium in response to an active station request. The communication stack is organized according the OSI model, but using only with 3 layers: Physical, Fieldbus Data Link (FDL) and Application. The later one is split into 2 sub-layers: Direct Data Link Mapper (DDLM) and User Interface. The stations are interconnected according a bus topology. The medium access control is achieved by a hybrid access medium method: a decentralized method accordingly to the principle of token passing is underlain by a central method according to the master-slave principle. In order to manage the bus access, active stations have to build and manage a logical ring. Each active station has its own List of Active Stations (LAS), which represents all active members of the ring. According to the LAS, the token is passed on the ring from active to active station on ascending station address way, except if the token holder is the station with the higher address value. In this case, the token is passed to the station with lowest address value. The station that possesses the token is referred as this station (TS). After receiving the token from the station immediately below in LAS, referred as previous station (PS), it is able to initiate the message cycles with the slaves. When it finishes, it has to pass the token to the immediate station on the LAS referred as next station (NS). If the token holder is the only active station on the ring it has to pass the token to itself. Each active station has two main types of tasks: an active phase where the station communicates with the asso1 Now referred as 485 Profibus-DP-VO VOLUME 2 ciated slaves and a management phase, where the station performs maintenance ring operations. On the management phase the station has to keep its LAS updated in response either to a station insertion or removal from the ring. easily constructed and less error-prone than simulation programs. Due to their advanced modeling characteristics and flexibility SPNs have become a popular formalism to evaluate communication systems. Their use extends from performance to dependability studies [11,12,13,14,15,17]. 4.2. Modelling Methodology The global behavior of Profibus-DP is characterized by complex mechanisms which make use of several timers, most of then running in parallel (concurrent). From an SPN modeling viewpoint these timers are usually represented by concurrent timed transitions. Among several conditions, to obtain an analytical solution from a SPN model it is necessary that the number of concurrent timed transitions (non exponential ones) enabled at each marking must not exceed one2 [13,15,16]. From the Probifus-DP behavior it is clear that the respective model doesn't fulfills the previous condition. Therefore it was necessary to use a simulation approach to obtain the model solution. 4.2.1. Simulation Solution The use of simulation for dependability evaluation arise some important problems that must be properly analyzed [1 8]. For an accurate estimation of dependability measures it is necessary frequent observations of the system-failure event, which by definition are rare events. This results into a substantial increase of the simulation time, which could lead to impractical values. To attack this problem, in recent years, there have been considerable and successful efforts to develop fast simulation techniques [12,18]. Among these techniques the most important are: importance sampling and variance reduction techniques (e.g. control and antithetic variables).Their main goal is to reduce the simulation time necessary to obtain the results. During the last decade these techniques have been systematically incorporated into SPNs tools [12,18,19], offering therefore a state-of-the-art simulation environment. Meanwhile most of these tools also provide a distributed (parallel) simulation environment, which permits a further reduction of the simulation time. Moreover, SPNs are also an adequate modeling formalism to capture the behavior of Discrete Event Systems [12], which become the basis of simulation environments. The combination of all these aspects allows to conclude that SPNs supports efficiently simulation solutions in a dependability evaluation context. Even if SPNs provide an adequate modeling environment, the use of a simulation solution is characterized by some aspects that must be properly understood. First, simulation produces results that are just an approximation of the real ones. A confidence interval is used to characterize the accuracy of the results [12,14,18]. Second, in many situations the results are obtained through the use of exigent computational resources (CPU time and memory). While the former problem is inherent to the simulation process, the latter can be minimized by adopting the following measures: (i) Developing the model in a way that maximizes its execution performance; (ii) Choosing an adequate modeling tool that enables to develop high-performance models. 4.2.2. Modeling Tool The following requirements were established for the modeling tool: (i) Be able to model efficiently the complexity of the Profibus-DP behavior; (ii) Provide a high performance simulation environment; (iii) Include efficient mechanisms to allow model's validation (modeling errors); 3. Analysis of the Previous Work In the last years only a few number of works have focused on Profibus dependability. In [6] a simulation model based on Stochastic Petri Nets is proposed. Although an exhaustive identification of the types and characteristics of the faults involved is performed, only small subsets (the major ones) are included in the model. As a result of this simplification process, the proposed model is very simple and doesn't capture properly the network behavior in the presence of faults. Moreover some parameters are is some cases unclear or even unknown. The combination of all these aspects makes the model difficult to use (or even useless) for dependability evaluation. In [7,8,9] the ring stability of Profibus in error-prone links is analyzed. This work focuses only in transient faults and proposes both a simulation model [8], based on a proprietary development environment, and an analytical model [9] as an approximation to [8], to evaluate the network behavior. Although this is very relevant work it has some limitations. First, most of the analyses don't include any message (data) traffic, but only token and ring management frames [5]. This is a consequence of the objectives proposed, which are focused on the ring stability and not the in the real-time properties of the network. Second, when message traffic is considered their modeling is not performed according to the characteristics of the DP component of the Profibus protocol. An example of this aspect is the cyclic data exchange with the slaves. Third, there are some modelings imprecision's about the Profibus-DP behavior. 4. Modeling Framework From the previous discussion it becomes clear that these works don't provide the necessary means to perform a complete or accurate evaluation of Profibus-DP dependability in scenarios where faults affect the real-time properties of the network. Therefore it is necessary to propose a new evaluation methodology to cope with this issue. 4.1. Stochastic Petri Nets Dependability evaluation is necessarily associated with the development of a model that describes the system behavior in the presence of faults and which enables to retrieve dependability measures from it. Petri Nets (PN) are a graphical and mathematical modeling tool which enables the description and analysis of the system dynamics, where concurrent, asynchronous, distributed, parallel and stochastic behaviors are present [10]. Over the last decade Stochastic Petri Nets (SPN) have become a widely used framework for the performance and dependability evaluation of various kinds of systems [11,12,13,14,15,17] by several reasons: (i) An intuitive description of the system behavior; (ii) Representation of complex systems by very compact models; (iii) A formal basis; (iv) Full representation of the stochastic processes; (v) Possibility to obtain different types of solutions from the same model; (vi) Large number of analysis tools available. The use of SPNs to derive dependability models can be performed from two viewpoints, according to the type of solution required [1 1,12,13,16]: (i) Analytical, when the SPNs transitions obey to certain structural rules an analytical stochastic process can be automatically generated; (ii) Simulation, in this case neither of the previous limitations are present and a significant number of SPNs modeling extensions are available to reduce the model complexity. Since the SPNs semantics are formally well-established, models are 2 486 There are some exceptions which permit a higher number of concurrently timed transitions [12,13,15,16], however they impose very strict conditions which are no meet by the model. VOLUME 2 (iv) Support of reward measures [1 1,12,13,14,15,16]. After mapping these requirements in the functionalities of the existent modeling tools [19], the Mobius one was chosen. Mobius [20] is a tool which supports a SPN extension referred as Stochastic Activity Networks (SANs) [21] and which provides a hierarchical modeling approach. It includes a flexible development environment capable of producing very compact models, combined with advanced and state-of-the-art analytical and simulation solutions. The modeling formalism is quite similar to the classic SPNs with two minor exceptions: (i) Transitions can have probabilistic choices. When a transition fires a output path is chosen with a pre-defined probability. This is represented by cases (small circles attached to transitions); (ii) The conditions which enable transitions are defined by input gates and the actions (changes on SPN marking) executed after their firing are defined by both input and output gates. Gates are represented by triangles. The user defines conditions and actions by means of C++ code, which permits to model complex behaviors in a very compact way. After building the model, this one is automatically converted to C++ and an executable is obtained by using the O.S. language developments tools (compiler, linker, etc.). This allows using language optimization aspects, providing therefore high-performance models. 4.3. Model Assumptions Dependability models were developed accordingly the following assumptions: * The network behavior was considered as close as possible to the real applications. Namely, it was included the Profibus-DP specific behavior, such as: cyclic process data exchange between master and slaves, configuration, parameterization and diagnostics of slave stations. The standard [5] was used as the reference document; * There is a single transmission medium (bus) without any type of redundancy; * Faults occur accordingly a homogeneous Poisson process [14] (independent errors) and their effects are equally seen by all the stations. Although this a simple fault model it can extended to represent more complex fault behaviors such as Gilbert-Elliot models (mean bit error rate) [2,8]; * If a fault occurs during a frame transmission it is assumed that it corrupts its contents by introducing errors. It is also assumed that errors are always detected by the stations. All frames (except the token one) have a FCS (Frame Check Sequence) field which is used to detect transmission errors. In [8] it is shown that although the detection efficiency of this mechanism has smaller than a 32-bit CRC, the probability of undetected errors is smaller than 10-9. Therefore this is a valid assumption. The token frame is an exception to this behavior. Further details will be discussed in section (§5.1.1); * Process data messages have real-time requirements which are represented by means of deadlines; * A network failure occurs if a message misses its deadline; * The most important dependability measure is defined by the probability of a deadline to be missed. in the evaluation process. Due to the intensive use of C++ code (gates) the models are described from a functional perspective (near to the SPN marking evolution) and without any mention to their internal code. In order to maximize the model performance the following aspects were considered during its development: (i) Reduction of the number of simultaneously enabled transitions in order to minimize the size of the simulation events list their management; (ii) At most one immediate transition is enabled at each marking. This guarantees a well-defined behavior for the stochastic process [12,15,16]; (iii) Efficient C++ coding of input and output gates. 5.1. Master Model Masters are responsible by several tasks such as: token passing, ring management and cyclic process data exchange with the associated slaves. Since this behavior is quite complex and in order to simplify the presentation, this model is decomposed into several sub-models, each one discussed in the following sub-sections. From a perspective centered in the FDL layer, the master evolution is described by a state machine [5]. These states are represented in the model by a place with a similar name. 5.1. 1. Token Passing This model represents the behavior during the token passing procedure (Fig. 1). After the master has finished its message cycles it passes the token to its successor in the ring (NS) by transmitting a token frame. In parallel and during a period of time referred as Slot Time (TST) the master also monitors their transmission. Therefore, if transmission errors occur they are always detected by the master. If during this interval of time the master detects any bus activity it assumes that its successor owns the token. Otherwise it retries the token transmission, until a limit is reached. The token frame is composed by 3 UART characters (SD - Start Delimiter (a fixed char, OxDC), DA - Destination Address, SA - Source Address), each one with 11 bits (1 start bit, 8 data bits, 1 parity bit and 1 stop bit). MAD1 MADn active) )offline )listen Figure 1 - Token passing. When the pass place (a FDL state) is marked the master owns the token and wants to pass it to the NS. The time necessary to transmit the token frame is represented by the deterministic transition t TT. When this transition fires one of four scenarios, represented by the 4 cases, could happen: 1. Fatal errors in the token frame were detected. Although [5] describes this situation as result of a permanent fault in the transceivers or in the bus, fault injection experiments performed in [22] showed that this could also happen if the SD character is severely affected by transient faults. When this scenario occurs, the 1st case (o_eg) of t_TT is chosen withp_eg probability; 2. Normal errors (not fatal ones) in the token frame had occurred and weren't detected by the other masters. Since the token frame integrity is assured only by the character's parity bits, it is possible that an error in SA or DA 5. Dependability Models For each network structure (number of master and slave stations) it is necessary to develop a specific dependability model. To avoid the process of building a model from scratch for each structure it was employed a modular perspective for their development. Therefore, the model is composed by three small models: Master, Slave and Global. These models can be composed in different ways in order to reflect different network structures without the need of internal modifications. This provides an important flexibility 487 VOLUME 2 fields occur without being detected (e.g. 2 bit errors). An undetected error in those fields (a wrong address) could lead to an erroneous token passing, which originates a disturbance in the logical ring. When this scenario occurs, the 2nd case (oel) is chosen with p_el probability and TKE is marked. This leads to the execution of the Global model (§5.3), which suspends the execution of this model (§5.1.1) until it finishes; 3. Normal errors in the token frame had occurred and were detected (by all the stations). The 3rd case (o_el_d) is chosen withp_el_d probability; 4. The token frame was transmitted without errors. The 4th case (o_ok) is chosen with (1 -p eg-p el-p el d) probability. In all previous scenarios the place ck_pass is also marked to indicate that the master waits for an (indirect) confirmation of the token acceptance by NS. This marking will enable the deterministic transition t_ST, which represents TST. If this transition fires then the token wasn't passed successfully. This could happen by several reasons, some already presented (token with errors) and others that will be discussed in the following paragraphs and sub-sections. Otherwise, the master assumes that the token was passed successfully and it enters in the active state. If during TST the next station (NS) doesn't accept the token (e.g. token with errors) and if the transmitting master detects activity in the bus (valid or invalid frames, including disturbances), it assumes that the token was passed successfully, which leads to a token lost. This behavior was not foreseen by [7,8,9], and fault injection experiments [22] showed that its occurrence has a higher probability than a token frame with undetected errors. In the model, this behavior is represented by the 2 cases of t_ST transition. The 1st case (o_st) indicates no disturbances had occurred during TST and it is selected with (1-p_e_st) probability. Otherwise, the 2nd case (o_st_e) is chosen with p_e_st probability. The existence of errors during the token transmission is managed by a retransmission mechanism. In this situation one of 3 scenarios could happen: 1. A fatal error occurred and tk_eg_ct marking, which represents this situation, is incremented. If two consecutive errors [22] of this type happen the master enters in the offline state and the token is lost; 2. A normal error occurred and tk_el_ct marking, which represents this type of errors, is incremented. If two consecutive errors of this type happen the master enters in the listen state. In this situation two scenarios could happen: (i) If the token frame has detected errors the token is lost; (ii) If the token frame has undetected errors but which corresponds to valid addresses, it is possible that an erroneous master (not in the logical ring order) will accept the token. Otherwise the token is lost; 3. There aren't errors and tk r ct marking, which represents the number of token transmissions, is incremented (this also happens in the previous scenarios). The maximum number of token retransmissions is 2 [5]. If this happens, the master assumes that NS is not available and tries to transmit the token to the successor of this one, and so on. A master should only accept the token from a station not registered as their PS, if two consecutive tokens with the same contents are transmitted. The places lD, ... MAD, are each one marked with an identifier (a marking) which represents the address of a master accordingly their logical position on the ring. Therefore a master always knows the addresses of the others stations in the ring. This model closely interacts with the token transmission model (§5.1.2), which is executed immediately after t_TT firing. During their execution this model (§5.1.1) suspends its execution until the latter has finished. After this and if 488 the maximum number of errors is reached, the immediate transition t_tk_me fires, removing ck_pass marking and the master enters in listen or offline state according the error type. During the several phases of the token transmission the place BUS is marked with different types of identifiers, each one represents a particular situation (e.g. token with errors detected, without errors, etc.). 5.1.2. Token Transmission The existence of errors in a token frame induces a complex behavior in the other master stations. To represent it accurately, the model supports the concept of logical ring (Fig.2). This concept is implemented by merging places BUS_UP and BUS_DW between adjacent master models, emulating therefore a logical ring. The addresses of the predecessor (PS) and the successor (NS) stations are defined as the marking of the places ps and ns respectively. The master address is defined in ts marking. PSA BUS NSA ts ns 0 0 0 i_lbe ps Figure 2 - Token transmission. After a token transmission (t_TT firing, §5.1.1) the following places are marked: NSA with the address of the successor, PSA with the master address, BUS with the token status (e.g. error not detected), and BUS_UP with an identifier which indicates a token transmission. After this, the immediate transitions t lbe in the several master models are fired in sequence allowing the execution of local (model) operations. This sequence ends with the firing of transition tlbm in the model which "owns" the token. During the token transmission the following operations could be performed in each of the master models: * Token transmitted without errors. In this scenario only the successor (NS) will accept the token, which is verified if NSA=ts and PSA=ps. The master that accepts the token enters in the use state. To inform the master that transmitted the token from this occurrence the place BUS is marked with an identifier. When this information "reaches" to the master (tlIbm firing) the ck_pass marking is removed (§5.1.1) (and t_ST is disabled) and this master enters in the active state; * Token transmitted with undetected errors. In this situation one of the following scenarios could happen: i. Destination address (DA) with errors. In this case NSA is marked with a wrong address (§5.3) and only the master with this address will react to the token frame. If this master is in the active state and receive two consecutive tokens with the same contents, then it must accept the token. Auxiliary places (not represented) are used to save temporarily the token contents, which allows to compare consecutive token transmissions; ii. Source address (SA) with errors and equal to the station address. In this case PSA is marked with a wrong adVOLUME 2 dress. If the station is in the listen state and receives two consecutive tokens with the same contents, then it assumes that there is another station in the ring with the same address and it enters in the offline state. In the same context and if the master is in the active state then it enters in the listen state; iii. Destination and source addresses equal (SA=DA). This type of token corresponds to a ring initialization procedure (§5.1.5). If the station is in the active state and receives two consecutive tokens with the same contents then it enters in the listen state; * Masters out-of-ring. If a master accepts a token which in principle is not addressed to it (with undetected errors), then all the masters which are placed between the two stations (logical addresses between sender and receiver) must leave the ring by entering in the listen state. This behavior results from the fact that these masters assume that their ring image (LAS list) is inconsistent. [7,8,9] reports it, but affirms that it happens after the first token transmission with these characteristics, when in practice 2 transmissions are necessary. Practical experiments [22] had confirmed it. This is consistent with the expected network behavior, since the intermediate masters should only leave the ring if a master, out of the logical ring order, accepts the token and originates bus activity. If the behavior assumed in [7,8,9] was true, the ring would be very unstable. This behavior was modeled in the following way. When a master accepts a token with these characteristics marks BUS with an identifier which indicates this situation. After t_lbm firing the master which transmitted the token verifies (o_lbm) if this situation happens. In an affirmative case, the t_ore transitions in the several master models (which also have a firing sequence) will put the intermediate masters out-of-ring. This sequence ends with t_orm firing in the new master that owns the token The other group of immediate transitions, t_bpe and t_bea, implement a dual logical ring which is necessary to initialize the models (initial marking) and to "clean" temporary markings during previous operations. 5.1.3. Token Rotation When a master accepts the token it initiates the message cycles with the associated slaves. The cycle duration is defined by the token holding time (TTH) and by the number of messages to transmit [5]. After a master has received the token, the measurement of the token rotation time begins. The time measurement ends at the next token receipt and results in the real token rotation time (TRR). At the same instant a new measurement of the following rotation time starts. The TTH is defined as the difference between the target rotation time (TTR), which is a configuration parameter, and TRR. The implementation of this mechanism by using PNs is a difficult task because TRR is not a parameter and depends from the model real time evolution. This problem was solved by using two Mobius functionalities. The extended place concept implements a formalism which is analogous to Colored Petri Nets [10,12], in which the marking of a place is defined as a data structure (C++). To access the simulation time Mobius provides a C++ function. By using both functionalities, TTH behavior was modeled in the following way (Fig.3). The extended place ttr_a contains on its marking (a float type) the time instant of the previous token reception. Just after the token reception, TRR is obtained as the difference between the actual simulation time and trr_a marking. After this, trr_r extended place is marked with TTR minus the previous difference, which corresponds to TTH and ttr_a is marked with the actual simulation time. If ttr_r has a positive marking the place tth_s is marked and the deterministic transition t_TTH is enabled. 489 This transition has duration equal to the ttr_r marking, implementing therefore TTH. When this transition fires, TTH had expired and tth_e is marked. If ttr_r is negative or zero tth_e is immediately marked. After receiving the token (use state), the master station must respect an idle time between successive frame transmissions. The idle time (TIDLE) is a function of several factors [5], which include the station delay time (TSDR) and the type of frame to be transmitted. This time is represented by t_IDLE deterministic transition, which includes all the aspects mentioned in [5]. When this transition fires, ck_time is marked and the immediate transition t_ck_time also fires enabling the execution of the o ck_time gate. This output gate is responsible for performing several actions, including verifying the conditions for message transmissions. trr_a Q trr_r Q use n receipt ck_time tth_s <ess t_ck_time ao 0 No sg es nageme Dt 7 > f | ~~~~Transmission Data Message Transmission __e tth_e ifncesay - ck_time t_TTH (*)YesIncludes t_lDLE t_IDLE ess es anagement Transmission Yes;g pass J pass 9 Figure 3 - Token rotation. If there aren't messages to transmit the place pass is marked immediately, which initiates the token passing procedure (§5.1.1). If there are messages to transmit, their transmission (§5.1.6) proceeds accordingly their number and the TTH value [5]. The model assumes two types of messages: process data, which are exchanged between master and slave stations, and ring management, exchanged between masters. Although PROFIBUS supports both high and low priority data messages, in PROFIBUS-DP all data messages are transmitted as high priority ones. After the message transmissions pass is marked as previously. 5.1.4. Ring Management Each master in the logical ring examines its address range (GAP List - GAPL) periodically in the interval given by the GAP Update Time (TGUD). This is accomplished by examining one address per token receipt, using a management message (FDL Status). The GAPL represents all the stations which are situated in the range from the master address to NS. The management message is composed by a request frame, sent by the master who owns the token, and by a reply frame sent by the station which receives the request. )gap_e gap_l \_ / i_fdl_ir o_fdl_ir o fdl s_fdl o_fdl t_fdl_irtfd - r_ok r e ~~~~~t_fid_mr Figure 4- Ring management. When gap_s is marked the master fulfills the necessary conditions to transmit ring management messages (Fig.4). The TGUD timer is represented by the t_GUD deterministic transition which is enabled by the previous marking. When this transition fires, gap_e is marked and the number of stations in the GAPL is calculated (from ns and ts marking). The place gap_l is marked with this value. The place fdl_ct VOLUME 2 is used as a counter for the number of management messages transmitted by the master. When gap_l and fdl_ct have the same marking all the stations in the GAPL were polled and TGUD is re-initialized (gap_s is marked and gap_e and fdl_ct have their marking removed). The model described in this section only covers reception and replying of management frames, being their transmission addressed by another model (§5.1.6). When a master receives a request frame addressed to it, the immediate transition tfdl_ir fires initiating the reply by marking sfdl. If the station is already in the logical ring, it should reply with a normal answer. Otherwise and if the station is ready to enter in the ring (it must be on the listen state for a certain period of time [5]), it should reply with their status. In this case the master that receives the response includes this station in the logical ring and registers it as the NS. The response duration (including the station TSDR) is modeled by tfdl_mr deterministic transition. This transition has 2 cases that represent the occurrence of errors during the transmission of the reply frame. If there weren't any errors, the 1St case (ofdl_r_ok) is chosen with (1-p_eJdl_r) probability and BUS is marked with an identifier which indicates this occurrence. If the master was out-of-ring then it is inserted (it was assumed that the necessary conditions are always fulfilled). This is performed by actualizing both its predecessor (ps) and successor (ns), and by entering in the active state. The master that sent the request actualizes its successor (ns) and their GAPL (gap_l). If there were errors, the 2nd case is chosen withp eJdl_r probability and BUS is marked accordingly. 5.1. 5. Ring and Master Re-Initialization A ring re-initialization happens when the token is lost. To detect this situation a time-out timer (TTO) it is used to monitor the bus activity. If this timer expires, the bus is regarded as inactive and the re-initialization procedure begins. The timer value is directly related with the station address [5], which prevents masters from triggering these procedures simultaneously. As consequence, this timer will expire first in the master with the lowest address. When this happens the token is automatically generated in this master, who begins to execute message cycles or passes the token to the NS. This re-initialization doesn't imply the lost of the LAS or the GAPL lists existent in the master stations. This is an important aspect which is not properly addressed by [7,8,9], who assumes that both lists are lost, which implies a complete ring initialization (complete ring construction). BUS o_to i_to t_TO o_off offline listen t_TOF Figure 5- Ring and master re-initialization. This behavior is modeled in the following way (Fig.5). When the token is lost the place BUS is marked with an identifier. If the master is in the active or listen states t_TO deterministic transition, which represents TTO defined according to [5] rules, is enabled. When it fires, the master enters in the use state which indicates that it owns the token. The model also includes the possibility of a ring initialization. This is defined by the use of another identifier in BUS. In this situation the token is also generated as previously, but now it is assumed that both the LAS and GAPL lists are lost in all the masters and a complete ring reconstruction is necessary. A master re-initialization is necessary when the offline state is entered (Fig.5). In most of the cases this scenario implies a manual intervention to re-start the station. To represent this behavior it was assumed that a master in offline it enters in the listen state after a certain period of time (fixed or stochastic). This is represented by the t_TOF timed tran- sition. In this state the master waits for their insertion in the ring by other master station. 5.1.6. Message Transmission Messages exchanges between master and slaves stations are organized into cycles composed by a request and a reply. Messages semantics are defined by services at the User Interface sub-layer which are mapped into FDL services by the DDLM sub-layer [5]. So, a message transmission corresponds to the transmission of a request (FDL) frame) followed by the reception of a response (FDL frame). After sending the request the master waits no more than a slot time (TST) for the response frame. Although [5] defines several services at the User Interface, only the most important and relevant ones are implemented by this model. This option results from the following: (i) The chosen services correspond to a typical network operation; (ii) Behind many of the services there are complex state machines whose behavior is difficult to model. Further details will be presented in (§5.1.7). So, it was chosen to implement the following messages (services): process data, global control commands, slave diagnostics, slave parameterization and slave configuration. Besides, the model it also implements the transmission of ring management messages (§5.1.4). Since the mechanisms involved in the message transmissions are independent of their semantics, it was used a model able to represent all the previous messages (Fig.6). This model closely interacts with (§5.1.3) model. o_msg_fok BUS 0 0 mgps mgp 0 __~~ MSg_tP msg_r 0 C i_msg_r_ok t_msg_rLok NSA msgir ~ o_msg_o ~~ sg_ ~ rt_msg_ir_ msg_r MSg_Ct ° _ t_ M_ _St t_ms g_r_e ms e _g__ Figure 6 - Message Transmissions. When the conditions necessary to transmit a message are fulfilled (§5.1.3), msg_p_s and msg_tp are both marked. The former one indicates the beginning of a message transmission, and the latter one the type of message (by means of an identifier). This identifier permits to define both the request frame duration and its probability of transmission (with)out errors. The place NSA is also marked with frame destination address (station address). This guarantees that only that destination station will process the request. The deterministic transition t_msg represents the request frame transmission. This transition has 2 cases which represent the occurrence (or not) of errors during the transmission. If there weren't errors, the It case is chosen (o_msg_p_ok) with (1-p_e_XX) probability, where p_e_XX represents the probability of an unsuccessful transmission of a type XX frame (e.g data, diagnostics, etc.). In this situation BUS is marked with an identifier which represents the type of the request. The place msg_w r is also marked. If there were errors, the 2't case is chosen with the p_e_XX probability and the place msg_w_r is marked. This marking enables t_msg_st deterministic transition, which represents the slot time. If this transition fires, it indicates that no response frame was received (a station should not respond to requests with errors). In this case the request frame is retransmitted (limited to 1 retransmission [5]) by marking msg_p s again. If the maximum number of transmissions is reached, represented by msg_r marking, the place use is marked and the conditions to transmit new messages are verified again (§5.1.3). 490 VOLUME 2 If there weren't errors during the request transmission, then when the destination station receives it marks BUS with an identifier. This enables and fires the t msg ir immediate transition which removes msg_w_r marking and disables t msg_st. After this, msgf r is marked and the master waits for the response frame. This response can also contain errors. The station that sends the response indicates this situation by marking BUS with an identifier. If there were errors during the response frame transmission, the immediate transition t_msg_r_e fires and a sequence similar to previously described (errors during the request transmission) is initiated. If there weren't any errors, the immediate transition t_msg_r_ok fires and initiates a sequence of operations by executing the o_msgf ok gate. These operations depends both of the type of message transmitted and the destination station status (§5.1.4, §5.1.7). After performing these operations the place use is marked as previously (§5.1.3). Some messages don't involve the transmission of a response frame (Global Control frames). In this case transmission errors are ignored and use is marked after their transmission. The marking of msg_ct indicates that at least one message was transmitted, and it is used by the token rotation model (§5.1.3) to establish the message transmission conditions. 5.1.7. Slave Management Communication between a master and a slave is initiated at the master User Interface sub-layer by the execution of a function primitive request. This request is mapped into a DDLM service and later into a FDL service. The response sent by the slave station follows the opposite path. All master-slave communication functions are executed in one FDL message cycle (immediate response). The User Interface sub-layer implements 3 function blocks: Slave Handler, Scheduler and Service Handler, which implement several state machines that execute functions that carry out data exchange within the slaves. The state machine of the Slave Handler takes over the control of exactly one slave. The state machines for each slave react individually depending on the state of the slave. The slaves are processed following a fixed sequence. At each call the corresponding Slave Handler will make only one DDLM service request. The Scheduler determines the sequence of the calls of the corresponding Slave Handlers. The minimum time which has to elapse between two subsequent requests to the same slave is defined by the Min Slave Interval (TMsI) [5]. This timer implements the cyclic exchange of data between the master and the associated slaves. The Data Control Interval (TcI) controls status data exchanged between the User Interface sub-layer and the user application. This status refers which slaves executed a data transfer cycle within the last control interval. Additionally this timer also defines the time in which a master indicates its operation mode (by issuing a Global Control command) to the slaves. Since the behavior of these state machines is very complex, their implementation in the model would be cumbersome. Therefore, it was chosen only to represent their typical behavior. The Scheduler state machine can be obtained directly from the FDL states. The Slave Handler state machine was condensed from the states of a typical message exchange between a master and a slave station (Fig.7). This state machine also assumes that after slave's parameterization and configuration the master is configured to be maintained in the Operate [5] state. The slave state defines the type of the message that the master has to send to it. For each slave x their state is recorded by the slvx_op marking. The making of SLVx defines the slave address. This guarantees that only the correct slave station will process the requests. The cyclic slave polling (TMSI) is represented by the 491 t_slv_MS deterministic transition, which is enabled by the s_slv_MS marking. When this transition fires slv MS e it is marked. The transition is re-enabled after polling all the slaves. This is controlled by the place slvyct, whose marking indicates the number of slaves already polled. The TcI timer is implemented in a similar way by s slv CI (enable) and s_CIe (expired) places and the t_slv_CI deterministic transition. This transition is re-enabled only during the message transmissions [5]. When it fires, a Global Command message is sent for the slaves. This model closely interacts with (§5.1.3) and (§5.1.6) models. It is important to notice that the slave state (slv_x_op) evolution depends also from the type of the responses received (e.g. with errors, needs diagnostic, etc.). ............. ...... t_sIv_MS s siv MS siv MS e OFFLINE --------- -------- F.IA.NOSTICS IN'TIAL F.A SENT METERS CHECK F CONFIGURATION F 4 i_sIv_MS s siv C o_sIv_MS t_sIv_C I i_slv_CI - I sivCCl e o_slv_CI )slv_x_m FINAL DIAGNOSTICS )slv-xdl PROCESS DATA EXCHANGE slv_ct 0 Figure 7 - Slave management. Process data message deadlines were defined accordingly [23]. Each message is produced periodically and it has a deadline equal to their production period. A network failure happens if deadlines are missed. To simplify the model it was assumed that a master transmit only one data message for each slave. For the associated x slave, message production is represented by the t slv_xp deterministic transition, whose duration is the production period. To represent a continuous data production this transition is always enabled. When it fires, slv_x_m marking is analyzed and one the following scenarios could happen: * If slv_x_m isn't marked, then the previous produced message was transmitted before its deadline had expired. In this situation, slv_x_m is marked to indicate that a new message was produced. When this message is transmitted successfully (both request and response) (§5.1.6) this marking is removed; * If slv_x_m is marked, then the previous message wasn't yet transmitted successfully (it is assumed that messages are overwritten in a buffer) and its deadline was missed. To represent this situation slv_x_dl is marked. This marking is only removed when the message is successfully transmitted. The model assumes that all data to parameterize and to configure the slaves was correctly uploaded in the master stations and that the user application doesn't send any asynchronous command (e.g. Sync or Freeze) [5] to the slave stations. 5.2. Slave Model The Slave model describes the behavior of a slave station. The slave receives requests from a master and responds to it. A slave is associated with only one master. When a master sends a request frame which isn't affected by errors (§5.1.6) the place BUS is marked with an identifier that indicates the type of request and NSA is marked with the slave address (Fig.8). The slave accepts the request if it is addressed to it (ts marking has the slave address). In this case VOLUME 2 the immediate transition t_msg_i fires and BUS is marked with an identifier which indicates that the slave has accepted the request. This marking also affects the behavior of the (§5.1.6) model. Meanwhile, s_slv_r is also marked with the request identifier. This identifier permits, as previously, to define the response type and the probabilities of their successful transmission. The response frame transmission is modeled by the deterministic transition t_msg_slv_r, whose duration also includes the TSDR from the slave station. This transition has 3 cases which represents the occurrence (or not) of errors during the response transmission. NSA ts C C BUS i_msg_s o_msg_r_ok i_msg_slv_r o_slv_r t_msg_i s_slv_r t_msg_slv_r omsg_r_ok d o_msg_r_e Figure 8 - Slave model. If there weren't any errors, the 1st case is chosen (o_msg_r_ok) with (1-p_e_XX) probability, where p_eXXX represents the probability of occurring errors during a type XX response transmission. In this case BUS is marked with an identifier which indicates a response without errors. The 2nd case represents an alternative to the 1st, and it is used to indicate that the slave needs diagnostic. In this case a probability p_diag is used do represent the frequency of these requests. The master receives this indication by marking BUS with an identifier. If there were errors during the transmission, the 3rd case is chosen (o msg_r_e) with probabilityp_eXX and BUS is marked accordingly. 5.3. Global Model This model enables the interaction between the master (§5.1) and slave (§5.2) models through the use of global places (Fig.9). These are places which are shared between models3. Moreover it also models the process of generating token frames with undetected errors. BUS 0 0 0 tion. In this situation, one of the following scenarios happens: (i) The (wrong) address doesn't correspond to any station in the ring. In this case the 1st case of the immediate transition t_e_da (t_e_sa) is chosen and da_rest (sa rest) place is marked; (ii) If the address corresponds to an existent master station, one of remain cases o DA_i (o_SAi) is chosen and NSA (PSA) is marked with the station address. This overwrites the original address. It is assumed that a token with undetected errors but with a valid master address has a p_e_sa_da probability of occurrence. This corresponds to the t_e_sa(da) cases probabilities except the first one, which is the complementary sum. It is necessary to include a case selection for each master in the ring. Even when the token has undetected errors which don't correspond to any master on the ring, there is a possibility that two consecutive and equal tokens are transmitted. It is assumed that this scenario has a p_e_dup probability of occurrence. This is modeled by the immediate transition t_da rest (t_sa_rest) which has 2 cases. When it fires, the fSt case corresponds to different consecutive addresses and it is chosen (o_DA_g or o_SAg) with (1-p_e_dup) probability. When the 2' case is chosen (o DA dp or oSAdp), with p_edup probability, it is "generated" an address equal to the previous one and NSA (PSA) is marked accordingly. A special identifier is used to represent this situation. If the generated address don't' change the NSA or PSA markings it is assumed that the token doesn't has errors (§5.1.1). 5.4. Model Parameters Most of the model parameters are related to the transitions that represent message transmissions. These parameters can be grouped as following: (i) Probabilities; (ii) Duration. 5.4. 1. Transitions - Probabilities Since faults occur according to a Poisson process [14], the probability that a bit has its contents corrupted by a fault is defined by the BER (Bit Error Rate) parameter, which can be expressed as follows4: (1) BER = 1 - exp(-A TBIT) where X is the fault rate and TBIT is the bit duration. It is assumed that the BER value is independent of the bit contents. By assuming that at least one erroneous bit in a frame is sufficient to corrupt their contents, the probability of a successful frame transmission PSF is: (2) PSF (I BER)' where n is the number of bits of the frame. This expression can be used to define the case probabilities in all transitions related with frame transmissions (success cases). As discussed previously (§5.1.1) token frames can have errors which are undetected by other master stations. In [7,8,9] it is obtained an expression for the probability PTK2E of a token frame with 2 undetected bit errors (SA or DA): 14 ( 332 BER2 (1-BE 3 -2) (3) PT TKE E11. 1056 ~2 = NSA PSA 2 Figure 9 - Global model. It was assumed that an undetected error in the token frame only affects the source (SA) or the destination address (DA) but not both. This assumption is based on the fact that the latter scenario has a very low probability of occurrence (this value is the product of the probabilities of errors in SA/DA, which have in practice (§5.4) very small values). When a token with undetected errors occur the place TKE is marked (§5.1.1) and t_sa_da immediate transition is enabled. This transition has 2 cases which correspond respectively to an error in SA (e_sa marked) or DA (e_da marked). It is assumed an equal probability for each situa- Although an expression for a higher number of errors could be obtained, in [8] it is shown that is not necessary to include their effects since their contribution is residual. Since the conditions which rule the occurrence of fatal errors in token frames are somewhat undefined, their quantification was defined based on heuristics aspects. Since the token frame Start Delimiter (SD) is a fixed character with a Hamming a distance of 4 [5], it was assumed that a fatal error happens if at least 4 bits of SD are corrupted (independently of the remaining bits of the frame). 3 These places are represented by capital letters in the models. 4 Due to space limitations expression's deductions are omitted. 492 VOLUME 2 other types of measures, such as performability ones (e.g. mean token rotation time, mean number of stations in the ring, etc.) [12,13.14,17,19]. This flexibility results from the manner how the model was developed. 5.6. Network Dependability Model The network dependability model is obtained by the composition of the models defined previously (Fig.10). Both masters (M) and slaves (N) are represented by their own model whose interaction is assured by the Global model. This composition is performed by means of the Mobius Join primitive [20]. Models are connected through global places with the same name. The only exceptions are BUS_DW and BUS_UP places in the master model, which are merged in adjacent master models to emulate the logical ring. The proposed models can also be used (without any modifications) to evaluate a mono-master network. Therefore, the probability PTKFE of a fatal error (SA or DA) in the token frame is: PTKFE = 2 BERk (1- BER) (4) From the previous expressions t_TT case probabilities (§5.1.1) can be defined according to Table 1. Table 1 - t_TT case probabilities. Parameter Equation Prob. successful transmission (2) Prob. fatal error (4) Prob. nornal error undetected (3) 1- ((2)+(3)+(4)) Prob. nornal error detected By assuming that a token frame with undetected errors has wrong addresses (SA or DA) in 0.. .255 range, all equal probable, then if the network has M master stations t_e_da and t_e_sa case probabilities (§5.3) can be defined according to Table 2. Table 2 - t_e_da(sa) case probabilities. Case 1 2....M+1 Expression 1- M/255 1/255 Equation (5) (6) Figure 10 - Network dependability model. 6. Case Study The p_e_dup probability, associated to t_da _rest and t_sa_rest transitions (§5.3), can be expressed as follows: pe dup = 1/(255 - M) (7) The probability PSTE of occurring errors during the Slot Time (TST) is defined as The usefulness of a simulation model is strongly dependent from their performance. A model can be structurally well defined and however to take an unacceptable time to get the results. Therefore is necessary to assess the model (8) PSTE -exp(-A (TST -TSI)) where TSYN is the synchronization time [5]. This last term is due to the fact that the master only begins the bus monitoring after a TSYN time. 5.4.2. Transitions - Duration Since most timed transitions represents frame transmissions their duration is related with both the frame length (bytes) and the network data rate (bits/s). Nevertheless, there are some parameters (TIDLE, TST and TSDR) which only depend from the network speed. Typical values for these parameters can be found in [5]. Although the signal propagation time in the bus was not considered, it can be easily included in the timed transitions related to frame transmissions. All timed transitions were implemented accordingly a single server policy and with a PRD (Preemptive Repeat Different) preemption policy [ 12,16]. 5.5. Dependability Measures Dependability evaluation is performed by defining a set of measures in the model. In the SPNs context this measures are derived from the concept of reward [11,12,13,14,15,16]. Two types of rewards ca be defined: (i) Rates, associated with SPN markings and which are collected during the time the SPN resides on the marking; (ii) Impulses, associated with transitions firings which are collected when the transition fires. From these definitions other important measures can be derived such as: marking probability, expected number of tokens in a place, expected number of firings of a transition, etc. These measures are typically obtained considering two scenarios: steady-state and transient analysis. The probability of missing deadline of a process data message related with slave x can be obtained by defining a reward rate of 1 in slv_x_dl place and by computing the stationary expected instantaneous reward. When it is necessary to consider all the messages, the measure it is defined as the sum of all rates. The model can be also used to obtain 493 performance. Performance is typically defined from the simulation time needed to obtain the results in a specific context. Trying to characterize performance is a difficult task since there are several factors involved: (i) Computational platform used (e.g. CPU, memory); (ii) Simulator characteristics (e.g. event list management); (iii) Message scheduling and deadline definitions; (iv) Fault assumptions (e.g. rate); (v) Results precision degree (e.g. confidence interval characteristics). Is therefore easy to understand that it is almost impossible to define a performance metric truly independent from all these factors. Face to this problem, a pragmatic choice was used to define this metric. From the previous factors, (i), (iii), (iv) and (v) are those which have a major influence in the simulation time. Since (iii) and (iv) are part of the evaluated scenario, if a typical one is chosen then the metric also reflects this aspect. The same perspective can also be used with (i). To overcome (v) it is necessary for the metric to be independent of the statistical aspects. In typical situations this factor it is certainly the most important one, since it defines the number of samples required to obtain the results which directly related with the simulation time. Therefore the metric was defined as the simulation time necessary to run a single execution (sample path) of the model during a simulated time interval. This is an objective metric that reflects the model performance and which doesn't depend from the statistical methods used to obtain the results. A case study with the following characteristics was chosen5: (a) A network composed by 3 masters, each one associated with 3 slaves; (b) Messages and network parameters defined according typical values found in [5]; (c) Network cycle time obtained from the methodology presented in [24]. It was assumed a pessimistic approach by considering that all types of messages are transmitted when a master owns the token; (d) TTR was defined as equal to the cycle time and TMSI as 1/4 of this value; (e) Message deadlines were defined as 2 TTR. This value combined with TTR and 5 Due to space limitations only the main aspects are presented. VOLUME 2 TMSI implies that is necessary several consecutive errors for the message deadline to be missed; (f) A network speed of 50OKbits/s was chosen. Table 3 presents the results obtained for the metric defined previously. The experiments were performed in a PC (PIII@730MHz, 512MB memory) running Linux Mandrake 10.1. Since fault occurrence will typically extend the time intervals between events (e.g. master enters in offline), a scenario with BER=0 was chosen to impose a high load to the simulator. The results refer to the real execution time (not CPU time) observed by a user and includes the loading effects imposed by other (typical) applications executed in parallel by the operating system. [4] [5] [6] [7] Table 3 - Simulation time. Scenario BER= 0 Simulated Interval 1 Second 10 Seconds 0.53 seconds 3.6 seconds [8] From a performance viewpoint the quality of the model can be measured as the ratio between the simulated interval and the (real) simulation time. High values for this ratio indicate a good model performance. The results (Tab.3) show that this ratio varies in a 2 to 3 range. Although this is not a very high value, it is important to notice that these results were obtained using a large network (12 nodes) and conservative scenarios (characteristics (a), (c), (d) and (e)). Therefore, it can be concluded that in a typical situation the model has a good performance. To prove this conclusion a complete simulation were executed to obtain the dependability measures. The measures were defined as previously, but referring to only one message. They were used the BER values defined in [7]. The results (Tab.4) show the simulation time necessary to obtain the measures using a typical (and accurate) confidence interval in the former computational environment. This value corresponds to a steady-state analysis. BER lo-, I0-4 [9] [10] [11] [12] [13] [14] [15] Table 4- Complete simulation time. Complete Simulation Confidence Interval: 95% Relative Error: 10% 37 seconds 2268 seconds [16] - [17] These results confirms that in a typical case study the simulation model has a good performance and can be used efficiently to evaluate the behavior of a Profibus-DP network in the presence of faults. The use of a distributed simulation environment (fully supported by Mobius, but not used here) will also permit a dramatic increase in the model performance. [18] [19] 7. Conclusions A simulation model was proposed to evaluate ProfibusDP dependability in scenarios of transient faults that occur during communications. The model is both accurate and detailed, and includes all typical communication aspects found in real applications. Although the results are obtained by means of simulation, the model presents a good performance which makes it useful to evaluate the Profibus-DP behavior in typical fault scenarios. References [1] J. P. Thomesse, "A review of the Fieldbuses", Annual Reviews in Control, Vol. 22, pp. 35-45, 1998. [2] H. Kim, A. White, K. Shin, "Effects of Electromagnetic Interference on Controller-Computer Upsets and System Stability", IEEE Transactions on Control Systems Technology, Vol. 8, pp. 351-357, 2000. [3] H. Kim, K. Shin, "On the Maximum Feedback Delay in a Linear/Nonlinear Control System with Input Disturbances [20] [21] [22] [23] [24] tions on Control Systems Technology, Vol. 2, No. 2, pp. 110122, 1994. K. Shin, H. Kim, "Derivation and Application of Hard Deadlines for Real-Time Control Systems", IEEE Transactions on Systems, Man and Cybernetics, Vol. 22, No. 6, pp. 14031413, 1992. EN 50170, General Purpose Field Communication System, Volume 2/3 (PROFIBUS), CENELEC, 1996. L. Bello, 0. Mirabella, "A Fault Tolerance Analysis of PROFIBUS Systems by Means of Generalized Stochastic Petri Nets", Proceedings of 25th Int. Conf on Industrial Electronics, Control and Instrumentation - IECON'99, 1999. A. Willing, A. Wolisz, "Ring Stability of the PROFIBUS Token-Passing Protocol Over Error-Prone Links", IEEE Transactions on Industrial Electronics, Vol. 48, No. 5, pp. 1025-1033, 2001. A. Willing, "Analysis and Tuning of the PROFIBUS Token Passing Protocol for Use over Error Prone Links", TKN Technical Report TKN-99-001, 1999. A. Willing, "Markov Modeling of the PROFIBUS Ring Membership over Error Prone Links", TKN Technical Report TKN-99-004, 1999. T. Murata, "Petri Nets: Properties, Analysis and Applications", Proceedings of the IEEE, Vol. 77, pp. 541-580, No. 4, 1989. M. Malhotra, K. Trivedi, "Dependability Modeling Using Petri-Nets", IEEE Transactions on Reliability, Vol. 44, No. 3, pp. 428-440, 1995. P. Haas, Stochastic Petri Nets. Modelling, Stability, Simulation, Springer-Verlag, 2002. C. Lindemann, Performance Modelling with Deterministic and Stochastic Petri Nets, Wiley, 1998. K. Trivedi, Probability and Statistics with Reliability, Queuing and Computer Science Applications - 2nd Edition, Wiley, 2002. R. German, Performance Analysis of Communication Systems - Modeling with Non-Markovian Stochastic Petri Nets, Wiley, 2000. A. Bobbio, A. Puliafito, M. Telek, K.Trivedi, "Recent Developments in Non-Markovian Stochastic Petri Nets", Journal of Systems Circuits and Computers, Vol. 8, No. 1, pp. 119-158, 1998. J. Billington, M. Diaz, G. Rozenberg (Eds.), Application of Petri Nest to Communication Networks, Lecture Notes in Computer Science, Vol. 1605, Springer, 1999. V. Nicola, P. Shahabuddin, M. Nakayama, "Techniques for Fast Simulation of Models of Highly Dependable Systems", IEEE Transactions on Reliability, Vol. 50, No. 3, pp. 246264, 2001. B. Haverkort, I. Niemegeers, "Performability Modelling Tools and Techniques", Performance Evaluation, Vol. 25, pp. 17-40, 1996. G. Clark, T. Courtney, D. Daly, D. Deavours, S. Derisavi, J. M. Doyle, W. H. Sanders, P. Webster, "The Mobius Modeling Tool", Proceedings of the 9th Int. Workshop on Petri Nets and Performance Models, 2001. W. Sanders, J. Meyer, "Stochastic Activity Networks: Formal Definitions and Concepts", Lectures Notes in Computer Science, No. 2090, pp. 315-343, 2001. J. Carvalho, A. Carvalho, P. Portugal, "Assessment of PROFIBUS Networks Using a Fault Injection Framework", Proceedings of 1 0th Int. Conf. on Emerging Technologies and Factory Automation - ETFA '05, 2005. E. Tovar, F. Vasques, "Real-time Fieldbus Communications using Profibus Networks", IEEE Transactions on Industrial Electronics, Vol. 46, No. 6, pp. 1241-1251, 1999. S. Vitturi, "On the Effects of the Acyclic Traffic on Profibus DP Networks", Computer Standards & Interfaces, Vol. 26, pp. 131-144,2004. Caused by Controller-Computer Failures", IEEE Transac- 494 VOLUME 2
© Copyright 2024