Modelling and Resolution of Dynamic Reliability Problems by the Coupling of Simulink and the Stochastic Hybrid Fault Tree Object Oriented (SHyFTOO) Library
Abstract
:1. Introduction
- -
- reliability: continuity of correct service;
- -
- availability: readiness for correct service;
- -
- safety: absence of catastrophic consequences on the user(s) and environment;
- -
- maintainability: ability to undergo modifications and repairs.
- (i)
- illustrate the integration of a SHyFTA model coded with the SHyFTOO library with Matlab® Simulink toolbox;
- (ii)
- present new emerging capabilities of a simulated SHyFTA model that, thanks to the coupling of these two computer-aided components, allows the analysis of more complex dependencies and the measurement of several key performance indexes of a system process.
2. The Evolution of Fault Tree Analysis
- is a finite set of discrete states {D, S}, where SD is the subset of deterministic states and SS of the stochastic one;
- is a finite set of events {}, where is the subset of deterministic events and of the stochastic one;
- is a finite set of real variables evolving in time {1, …,n};
- is a finite set of arcs of the form (, ɛj, Gk, ’) where and ’ are, respectively, the origin and the goal discrete states of the arc k, ɛj is the event associated with this arc, Gk is the guard condition on in state ;
- is a finite set of guard condition functions on each real variable Xi on the state j.
- δ: is a function of “activities”, describing the evolution of real variables in each discrete state;
- is a finite set of clocks on that identify the firing of a deterministic or a stochastic event;
- F: is an application that associates a distribution function to the stochastic events , according to the clock H, the system evolution and the discrete state ;
- P is the instantaneous probability to be in i S;
- GA is the finite set of gates of the fault tree model;
- BE is the finite set of basic events of the fault tree model. The set BE contains a subset of novel conception, the Hybrid Basic Events (HBE), . This last characterization states that HBEs are those set of basic events whose failure distribution depends on the evolution of the system and vary with continuity in time;
- T is the top event of the fault tree corresponding with the output of the main gate;
- C is the set of connections between gates and basic events.
3. Case Study
3.1. Definition of the Fault Tree
Algorithm 1. Code for the definition of a fault tree using the SHyFTOO library | |
1: | %% Define the Fault Tree Structure %% |
2: | Tm = 8760; %[h] |
3: | %% Define BEs %% |
4: | %input pumping system |
5: | HBE1 = BasicEvent(’HBE1’,’hybrid’,’exp’,[],[1/135]); %pump 1 |
6: | HBE2 = BasicEvent(’HBE2’,’hybrid’,’exp’,[],[1/135],’exp’,[5e-07]); %pump 2 |
7: | BE3 = BasicEvent(’BE3’,’exp’,’exp’,[1.19e-4],[1/135]); %valve 1 |
8: | %output suction system |
9: | HBE5 = BasicEvent(’HBE5’,’hybrid’,’exp’,[1.64e-4],[1/135]); %pump 3 |
10: | BE4 = BasicEvent(’BE4’,’exp’,’exp’,[1.19e-4],[1/135]); %valve 2 |
11: | % sedimentation Basic Event |
12: | HBE6 = BasicEvent(’HBE6’,’hybrid’,’exp’,[],[1/3]); %sedimentation hbe |
13: | % %% Define Gates %% |
14: | SPARE1 = Gate (’SPARE1’, ’SPARE’, false, [HBE1], [HBE2]); |
15: | OR1 = Gate (’OR1’, ’OR’, false, [BE3, SPARE1]); |
16: | OR2 = Gate (’OR2’, ’OR’, false, [HBE5, BE4]); |
17: | SHATOP = Gate (’TOPOR’, ’OR’, false, [OR1, OR2, HBE6]); |
18: | TOP = SHATOP; |
3.2. Definition of the Physical Process (with Simulink)
3.2.1. Customization of the HBE1 (and HBE5) Block
3.2.2. Customization of the HBE2 Block
3.2.3. Customization of the HBE6 Block
Algorithm 2. Code for the definition of the failure logic of the HBE6. | |
1: | function y = HBE6_failure(u) |
2: | coder.extrinsic(’evalin’, ’assignin’) |
3: | % Read value from workspace |
4: | currentTime = get_param(bdroot,’SimulationTime’); |
5: | FTA = evalin(’base’,’FT’); |
6: | HBEid = getID(FTA,strcat(u(2:end-1))’); %get the id of the Basic Event |
7: | decanterCapacity = evalin(’base’,’decanterCapacity’); |
8: | y = 1; |
9: | if(u>=decanterCapacity) |
10: | assignin(’base’,’indexTriggeringBE’, HBEid); |
11: | FTA(HBEid).FailureTime = currentTime; |
12: | assignin(’base’,’FTA’,FTA); |
13: | y = 0; |
14: | end |
15: | end |
3.2.4. Customization of the Physical Process
Algorithm 3. Code for the definition of the quality requirement of the case study. | |
1: | currentTime = get_param(bdroot,’SimulationTime’); |
2: | if(TOP.Status == 1) |
3: | lastStop = currentTime; |
4: | else |
5: | if(currentTime - lastStop > time4GoodProcess) |
6: | if(lastStop>0) |
7: | volumeNok = volumeNok+QI_Mixture.Data(lastStop); |
8: | else |
9: | volumeNok = volumeNok+QI_Mixture.Data(lastButOneStatusChange); |
10: | end |
11: | end |
12: | end |
4. Case Studies Resolution
4.1. Electric Motor
4.2. Domestic Photovoltaic Power Plant with Storage System
- PV Module (PVM), made up by ten photovoltaic modules (M1–M10);
- Direct Current Section (DCS), made up of string protection diodes (SPR), a DC disconnector (DCD), and a surge protection device (SPD);
- Alternating Current Section (ACS), made up of an inverter (INV) and an AC circuit breaker (ACB);
- Grid Connector Coupling (GCC), made up of an AC disconnector (ACD), a differential circuit breaker (DCB), and a generic sub-system representing the electrical grid (GRD).
- Battery (BAT) that is connected in parallel in the AC section.
4.3. Distillation Column
5. Conclusions
Author Contributions
Funding
Conflicts of Interest
Abbreviations
BDMP | Boolean Driven Markov Process |
BE | Basic Event |
BN | Bayesian Network |
CTMC | Continuous Time Markov Chain |
DFT | Dynamic Fault Tree |
DPRA | Dynamic Probabilistic Risk Assessment |
DRBD | Dynamic Reliability Block Diagram |
FTA | Fault Tree Analysis |
GFT | Generalized Fault Tree |
HBE | Hybrid Basic Event |
MCS | Monte Carlo Simulation |
NPV | Net Present Value |
PDAE | Partial Differential Algebraic Equation |
Probability density function | |
PV | Photovoltaic |
PVA | Present Value of Annuity |
RBD | Reliability Block Diagram |
RDFT | Repairable Dynamic Fault Tree |
SFT | Static Fault Tree |
SHA | Stochastic Hybrid Automaton |
SHyFTA | Stochastic Hybrid Fault Tree Automaton |
SHyFTOO | Stochastic Hybrid Fault Tree Object Oriented library |
SPN | Stochastic Petri Nets |
TDFT | Temporal Dynamic Fault Tree |
Appendix A. The SHyFTOO Matlab® Library
- -
- SHyFTAmain.m: the main script of a SHyFTA model;
- -
- initFaultTree.m: the structure of the fault tree model;
- -
- SHyFTA.slx: the Simulink model of the dynamic system.
- -
- shyftaMetrics.m: this is used to update the SHyFTA variables defined in the SHyFTAmain script.
Appendix A.1. Script SHyFTAmain
- -
- debugMode (boolean): this flag enables the debug mode with a log file that reports all the events occurring in a simulation;
- -
- iter (integer): this variable represents the maximum number of iterations of the Monte Carlo simulation;
- -
- errorTolerance (float): this variable defines the accepted width around the mean value;
- -
- confidenceLevel (< 1, float): this variable represents the confidence level required to stop the simulation;
- -
- TimeStep (float): it represents the time-step of the simulation. The default value is 1;
- -
- randomSeed (array of integer): this array contains a bunch of random seeds to use in the “Uniform Random Number” block generator of Simulink.
Appendix A.2. Script Initfaulttree
- -
- Exponential (‘exp’): in this case the array paramsFailure (paramsRepair) contains a single value (e.g., failure/repair rate);
- -
- Weibull (‘wei’): in this case the array paramsFailure (paramsRepair) contains three values (e.g., shape, scale and location parameter);
- -
- Beta (‘beta’): in this case the array paramsFailure (paramsRepair) contains two parameters;
- -
- for the other probability density function, the Matlab® documentation can be consulted [49];
- -
- Hybrid (‘hybrid’): finally, in case of hybrid basic events, the array paramsFailure (paramsRepair) must be empty (e.g., paramsRepair = []).
- -
- AND (‘AND’): the boolean AND gate. It fails as soon all the inputs have failed;
- -
- OR (‘OR’): the boolean OR gate. It fails as soon one input has failed;
- -
- VOTING (‘VKx’): the voting gate triggers as soon x input out of N have failed. The value of x has to be modified accordingly (e.g., a voting gate 3 out of N will be defined as ‘VK3′);
- -
- PAND (‘PAND’): the PAND gate is the dynamic gate that triggers if the inputs fail in the left-to-right order;
- -
- SPARE (‘SPARE’): the SPARE gate is the dynamic gate that triggers if the primary inputs are failed and no spare inputs are available to replace them;
- -
- SEQ (‘SEQ’): the SEQ gate is a dynamic gate that forces the input at failing from the right to the left. It triggers as soon the last input has failed;
- -
- FDEP (‘FDEP’): the FDEP gate is a dynamic gate that imposes the failure of the inputs connected to the gate on the basis of the state of its primary input.
Appendix A.3. Simulink Model SHyFTA(.slx) and SHYFTA_TEMPLATE(.slx)
- -
- The “ITER EVOLUTION” must copied as it is and must not be modified. It is an ensemble of blocks that control, for each iteration, the simulation time. When the mission time Tm has reached, a new iteration is automatically restarted. The marking of the “ITER EVOLUTION” components are summarized in Table A1.
- -
- The “RACE CONDITION” must be copied as it is and must not be modified. The marking of the “RACE CONDITION” components are summarized in Table A2. This ensemble controls the occurrence of the next discrete event time-point of status change for the basic events of the fault tree. If the nextEvent time-point is higher than the current clock, the iteration is paused, and the fault tree status is evaluated. This block is in race condition against all the “GENERIC HYBRID BASIC EVENT” ensembles, as shown in Figure A5.
- -
- For each hybrid basic event of the fault tree, the Simulink model SHyFTA(.slx) has to contain a block ensemble of type “GENERIC HYBRID BASIC EVENT”. The task of this block is to verify the status of the generic hybrid basic event that is in race condition against all the other hybrid basic events and the regular basic events. The race condition is handled in the “RACE CONDITION” ensemble.
Element | Description | |
---|---|---|
Mission Time Tm | It represents the mission time of the system. This parameter is set in the script SHyFTAmain.m The Simulink block must not be deleted or modified. | |
Clock | It is the Simulink block representing the simulation clock. The Simulink block must not be deleted. | |
TimeSimulationClock | This block evaluates the time evolution until the end of the mission time. The Simulink block must not be deleted or modified. |
Element | Description | |
---|---|---|
nextEvent | It contains a global variable array that keeps track of the events (of the basic events) that must occur. The Simulink block must not be deleted or modified. | |
Relation Operator | It is the Simulink block that compares two inputs. The output is a Boolean value (true if the input 1 is greater than input 2, false vice versa). The Simulink block must not be deleted. | |
BEevaluteFT | This block is a Simulink Assertion that evaluates the occurrence of the next basic event in race condition with all the existing hybrid basic events handled in the GENERIC HYBRID BASIC EVENT blocks. The Simulink block must not be deleted or modified. |
Element | Description | |
---|---|---|
HBE_Status | It contains the SHyFTOO variable of the status of the hybrid basic event of the corresponding “GENERIC HYBRID BASIC EVENT” block. The value of the HBE_Status of each GENERIC HYBRID BASIC EVENT” block must be modified. | |
Logical Port | It is the Simulink block that invert the logical input. The output is a Boolean value (true if the input is false and false if the input is true). The Simulink block must not be deleted. | |
HBE_Name | It contains the SHyFTOO variable of the name of the hybrid basic event of the corresponding “GENERIC HYBRID BASIC EVENT” block. The value of the HBE_Name of each GENERIC HYBRID BASIC EVENT” block must be modified. |
Element | Description | |
---|---|---|
Clock | It takes the input of the Simulink clock (refer to Table A1). This input must not be deleted or modified. | |
Tm | It takes the input of the mission time (refer to Table A1). This input must not be deleted or modified. | |
ID_HBE | It takes the input of the HBE_Name (refer to Table A3). This input must not be deleted or modified. | |
Dynamic parameters | Additional input block that can vary (depends on the physical process). The input must be modified according to the dependencies between dynamic failure parameters and the physical process. | |
SAMPLE_HBE | It is a function that samples the hybrid basic event occurrence. This input must not be deleted or modified. | |
Enable/Disable | It is the Simulink block that enables or disables the block. It is used to improve the performance of the software. The Simulink block must not be deleted. | |
Scope | It is the Simulink block that plot the input variable. The Simulink block can be deleted. | |
HBEevaluateFT | This block evaluates the occurrence of the hybrid basic event in race condition with all the other existing hybrid basic events handled in the other GENERIC HYBRID BASIC EVENT blocks and with the regular basic events, handled in the block RACE CONDITION. The Simulink block must not be deleted or modified. |
Appendix A.4. Script shyftaMetrics
Algorithm A1. Code for the definition of a custom variable with the SHyFTOO library. | |
1: | t2fill = [0:Tm]; |
2: | observedTimes = variableName.Time’; |
3: | observedData = variableName.Data’; |
4: | [~,ind] = ismember(t2fill,observedTimes); |
5: | inputData = [0, observedData]; |
6: | ind = ind +1; |
7: | corrData = inputData(ind)’; |
8: | variableNameCum = variableNameCum +corrData; |
Appendix A.5. Properties of the Basic Events and Gates
Name | Description |
---|---|
Name | Name of the component |
Index | Unique identifier in the Fault Tree |
InputOf | List of the parent components |
SpareOf | List of parent components (in case the component is a spare element) |
InUseBy | Index of the spare gate in which the component is in use |
Status | State of the component |
FailureTime | Time of next failure |
RepairTime | Time of next repair |
UpTime | Cumulative time in GOOD status |
NFailure | Incremental counter of failure occurrence |
TimeOfFailureArray | Array containing the time of last failure |
Name | Description |
---|---|
Type | Define the type of the gate |
Inputs | List of inputs |
Spares | List of spares (in case of Spare Gate) |
IsFailureGate | Define if the gate is a failure gate |
Appendix B
Element | Description | |
---|---|---|
Clock | It takes the input of the Simulink clock of Table A1. | |
Mission Time | It takes the input of the mission time of Table A1. | |
TOP_EVENT_STATUS | It is the signal of Top Event status (Top.Status). | |
HBE1_Status | Refer to the HBE_Status (refer to Table A3). The block must be set = HBE1.Status (or HBE5.Status) | |
HBE1 | Refer to the HBE_Name (refer to Table A3). The block must be set = ‘HBE1′ (or ‘HBE5′) | |
NOT | Refer to the Logical Port “NOT” (refer to Table A3). | |
Logical Port | It is the Simulink block “AND” gate. It returns a Boolean value (true if both the inputs are true, false in all the other cases). The output of this block allows to integrate the aging of the component represented by the hybrid basic event. The aging increases only if the component is good and the system is available (if the TOP EVENT STATUS is false the component is supposed not to work). | |
Data type conversion | It is the Simulink block that converts its input in a double type variable. | |
Integrator | It is the Simulink block integrator. It returns the aging of the component. Input 1 is the on/off of the component Input 2 is the reset condition corresponding with the status of the HBE1_Status of the component. In fact, it is assumed that the components aging is reset to zero when the component is restored after a fault. |
Element | Description | |
---|---|---|
Clock | It takes the input of the Simulink clock (refer to Table A1). | |
Mission Time | It takes the input of the mission time (refer to Table A1). | |
TOP_EVENT_STATUS | It is the signal of Top Event status (Top.Status). | |
HBE2_Status | Refer to the HBE_Status (refer to Table A3). The block must be set = HBE2.Status | |
HBE2_InUseBy | It contains the SHyFTOO variable of the property “InUseBy” of the hybrid basic event HBE2. The block must be set = HBE2.InUseBy | |
HBE2 | Refer to the HBE_Name (refer to Table A3). The block must be set = ‘HBE2′ | |
NOT | Refer to the Logical Port “NOT” (refer to Table A3). | |
Logical Port (left AND) | It is the Simulink block “AND” gate. It returns a Boolean value (true if both the inputs are true, false in all the other cases). The output of this block returns the working (on/off) condition of the standby component. It is true if the component status is OK and if the standby condition is not false. | |
Logical Port (right AND) | It is the Simulink block “AND” gate. It returns a Boolean value (true if both the inputs are true, false in all the other cases). The output of this block allows to integrate the aging of the component represented by the hybrid basic event. The aging increases only if the component is good (and not in standby) and the system is available (if the TOP EVENT STATUS is false the component is supposed not to work). | |
Data type conversion | It is the Simulink block that converts its input in a double type variable. | |
Integrator | It is the Simulink block integrator. It returns the aging of the component. Input 1 is the on/off of the component. Input 2 is the reset condition corresponding with the status of the HBE2_Status of the component. It is assumed that the components aging is reset to zero when the component is restored after a fault. |
Element | Description | |
---|---|---|
% Particle | It is a Simulink “uniform random number” generator that models the percentage of solid particles of the mixture. The block is set as shown in Figure A6b | |
QI | It is a Simulink “uniform random number” generator that models the instantaneous volume (flow rate) of mixture. The block is set as shown in Figure A6a | |
TOP_EVENT_STATUS | It is the signal of Top Event status (Top.Status) | |
⌐TOP_EVENT_STATUS | It is the neglection of Top Event status (Top.Status). | |
HBE2_Status | Refer to the HBE_Status (refer to Table A3). The block must be set = HBE6.Status | |
HBE6 | Refer to the HBE_Name (refer to Table A3). The block must be set = ‘HBE6′ | |
Product | It is the Simulink block of the product operation. It returns the quantity of solid particle in the instantaneous infinitesimal volume of mixture (if the Top Event status is bad, the process is stopped and the product is null). The output is the input of the integrator block. | |
Integrator | It is the Simulink block integrator. It returns the volume of the solid particle deposited in the solid tank. This output is the input of the HBE6_SAMPLING block that verifies when the solid tank threshold is reached (event occurrence of the hybrid basic event HBE6). Input 1 is the output of the product block above described. Input 2 is the reset condition, represented by the status of the top event. When the top event occurs, the process is stopped (and the solid tank is emptied). |
Element | Description | |
---|---|---|
QI | It is the signal of QI (refer to Table A9) | |
TOP_EVENT_STATUS | It is the signal of Top Event status (Top.Status) in the same block | |
⌐TOP_EVENT_STATUS | It is the neglection of Top Event status (Top.Status) in the same block | |
Product(at the top) | It is the Simulink block of the product operation. It returns the instantaneous flow QI processed by the distillation column when the system is working (if the Top Event status is bad, the process is stopped and the product is null). The output is the input of the “To Workspace” block QI_Mixture. | |
QI_Mixture | It is the Matlab “To Workspace” block to store the simulation variable. It is used to store the instantaneous flow QI processed when the system is working. | |
Product(at the bottom) | It is the Simulink block of the product operation. It returns the instantaneous flow QI lost when the system is not working (if the Top Event status is bad, the variable ⌐TOP_EVENT_STATUS is true and the product is non null). The output is the input of the “To Workspace” block QI_Lost. | |
QI_Lost | It is the Matlab “To Workspace” block to store the simulation variable. It is used to store the instantaneous flow QI lost when the system is stopped (or not working). | |
Detect Change | It is the Simulink block “Detect Change”. It triggers a Boolean true value as soon its input changes. It is used to activate the SHA_TOP assertion The input is the top event status. | |
Assertion Block | It is the Simulink “Assertion Block”. It recalls the script SHA_TOP of Algorithm 3 (discussed in Section 3.2.4). The input is the neglection of the Detect Change block. |
References
- Avizienis, A.; Laprie, J.C.; Randell, B.; Landwehr, C. Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 2004, 1, 11–33. [Google Scholar] [CrossRef] [Green Version]
- Aizpurua, J.I.; Muxika, E. Model-based design of dependable systems: Limitations and evolution of analysis and verification approaches. Int. J. Adv. Secur. 2013, 6, 12–31. [Google Scholar]
- Labeau, P.E.; Smidts, C.; Swaminathan, S. Dynamic reliability: Towards an integrated platform for probabilistic risk assessment. Reliab. Eng. Syst. Saf. 2000, 68, 219–254. [Google Scholar] [CrossRef]
- Raoni, R.; Secchi, A.R. Procedures to Model and Solve Probabilistic Dynamic System Problems. Reliab. Eng. Syst. Saf. 2019, 191, 106554. [Google Scholar] [CrossRef]
- Di Stefano, S. Dependability assessment of critical systems. J. Ambient Intell. Hum. Comput. 2015, 6, 713–720. [Google Scholar] [CrossRef]
- Zhang, H.; Saporta, B.; Dufoura, F.; Deleuzed, G. Dynamic reliability by using simulink and stateflow. Chem. Eng. Trans. 2013, 33, 529–534. [Google Scholar]
- Dugan, J.B.; Venkataraman, B.; Gulati, R. DIFTree: A software package for the analysis of dynamic fault tree models. In Proceedings of the IEEE Annual Reliability and Maintainability Symposium, Philadelphia, PA, USA, 13–16 January 1997. [Google Scholar]
- Sullivan, K.J.; Dugan, J.B.; Coppit, D. The Galileo fault tree analysis tool. In Proceedings of the IEEE Digest of Papers, Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No. 99CB36352), Madison, WI, USA, 15–18 June 1999; pp. 232–235. [Google Scholar]
- Ramani, S.; Gokhale, S.S.; Trivedi, K.S. SREPT: Software reliability estimation and prediction tool. Perform. Eval. 2000, 39, 37–60. [Google Scholar] [CrossRef]
- Montani, S.; Portinale, L.; Bobbio, A.; Codetta-Raiteri, D. Radyban: A tool for reliability analysis of dynamic fault trees through conversion into dynamic Bayesian networks. Reliab. Eng. Syst. Saf. 2008, 93, 922–932. [Google Scholar] [CrossRef]
- Patelli, E.; Tolo, S.; George-Williams, H.; Sadeghi, J.; Rocchetta, R.; de Angelis, M.; Broggi, M. OpenCossan 2.0: An efficient computational toolbox for risk, reliability and resilience analysis. In Proceedings of the Joint ICVRAM ISUMA UNCERTAINTIES Conference, Florianópolis, Brazil, 8–11 April 2018. [Google Scholar]
- Pérez Castañeda, G.A.; Aubry, J.-F.; Brinzei, N. DyRelA (dynamic reliability and assessment). In Proceedings of the First Workshop on DYnamic Aspects in DEpendability Models for Fault-Tolerant Systems, Valencia, Spain, 27 April 2010. [Google Scholar]
- Arnold, F.; Belinfante, A.; Van der Berg, F.; Guck, D.; Stoelinga, M. DFTCalc: A tool for efficient fault tree analysis. In Proceedings of the International Conference on Computer Safety, Reliability, and Security, Toulouse, France, 24–27 September 2013. [Google Scholar]
- Boudali, H.; Nijmeijer, A.; Stoelinga, M.I. DFTSim: A simulation tool for extended dynamic fault trees. In Proceedings of the 2009 Spring Simulation Multiconference, San Diego, CA, USA, 22–27 March 2009. [Google Scholar]
- Boudali, H.; Crouzen, P.; Stoelinga, M. CORAL-a tool for compositional reliability and availability analysis. In Proceedings of the 19th international conference on Computer Aided Verification, Berlin, Germany, 3–7 July 2007. [Google Scholar]
- Batteux, M.; Prosvirnova, T.; Rauzy, A.; Yang, L. Reliability assessment of phased-mission systems with AltaRica 3.0. In Proceedings of the 3rd International Conference on System Reliability and Safety (ICSRS 2018), Barcelona, Spain, 23–25 November 2018. [Google Scholar]
- Chraibi, H. Dynamic reliability modeling and assessment with PyCATSHOO: Application to a test case. In Proceedings of the Probabilistic Safety Assessment and Management (PSAM), Prague, Czech Republic, 17–20 June 2013. [Google Scholar]
- Cojazzi, G. The DYLAM approach for the dynamic reliability analysis of systems. Reliab. Eng. Syst. Saf. 1996, 52, 279–296. [Google Scholar] [CrossRef]
- Courtney, T.; Gaonkar, S.; Keefe, K.; Rozier, E.W.; Sanders, W.H. Möbius 2.3: An extensible tool for dependability, security, and performance evaluation of large and complex system models. In Proceedings of the 2009 IEEE/IFIP International Conference on Dependable Systems & Networks, Lisbon, Portugal, 29 June–2 July 2009. [Google Scholar]
- Manno, G.; Chiacchio, F.; Compagno, L.; D’Urso, D.; Trapani, N. MatCarloRe: An integrated FT and Monte Carlo Simulink tool for the reliability assessment of dynamic fault tree. Expert Syst. Appl. 2012, 39, 10334–10342. [Google Scholar] [CrossRef]
- Manno, G.; Chiacchio, F.; Compagno, L.; D’Urso, D.; Trapani, N. Conception of Repairable Dynamic Fault Trees and resolution by the use of RAATSS, a Matlab® toolbox based on the ATS formalism. Reliab. Eng. Syst. Saf. 2014, 121, 250–262. [Google Scholar] [CrossRef]
- Chiacchio, F.; Aizpurua, J.I.; Compagno, L.; D’Urs, D. SHyFTOO, an object-oriented Monte Carlo simulation library for the modelling of Stochastic Hybrid Fault Tree Automaton. Expert Syst. Appl. 2019. submitted. [Google Scholar]
- Ericson, C.A. Fault Tree Analysis—A History. In Proceedings of the 17th International System Safety Conference, Orlando, FL, USA, 16–21 August 1999; pp. 1–9. [Google Scholar]
- Vesely, W.E.; Goldberg, F.F.; Roberts, N.H.; Haasl, D.F. Fault Tree Handbook (No. NUREG-0492); Nuclear Regulatory Commission: Washington, DC, USA, 1981. [Google Scholar]
- Jung, W.S.; Han, S.H.; Ha, J. A fast BDD algorithm for large coherent fault trees analysis. Reliab. Eng. Syst. Saf. 2004, 83, 369–374. [Google Scholar] [CrossRef]
- Zang, X.; Sun, N.; Trivedi, K.S. A BDD-based algorithm for reliability analysis of phased-mission systems. IEEE Trans. Reliab. 1999, 48, 50–60. [Google Scholar] [CrossRef]
- Schneeweiss, W.G. Fault-tree analysis using a binary decision tree. IEEE Trans. Reliab. 1985, 34, 453–457. [Google Scholar] [CrossRef]
- Locks, M.O. Recursive disjoint products: A review of three algorithms. IEEE Trans. Reliab. 1982, 31, 33–35. [Google Scholar] [CrossRef]
- Aghaie, A. Evaluating ISO 9001: 2000 implementation using fault tree analysis (FTA). Total Qual. Manag. Bus. Excell. 2004, 15, 971–983. [Google Scholar] [CrossRef]
- Contini, S.; Cojazzi, G.G.M.; De Cola, G. On the exact analysis of non-coherent fault trees: The ASTRA package (PSAM-0285). In Proceedings of the Eighth International Conference on Probabilistic Safety Assessment & Management (PSAM), New Orleans, LA, USA, 14–18 August 2006. [Google Scholar]
- Chen, P.; Mou, J.; Yajun, L. Risk analysis of maritime accidents in an estuary: A case study of Shenzhen Waters. Sci. J. Marit. Univ. Szczec. 2015, 42, 54–62. [Google Scholar]
- Chybowski, L. Assessment of Reliability and Availability of Fishing Vessels Power, Propulsion and Technological Plants Based. Stud 2009, 18, 39–44. [Google Scholar]
- Misra, K.B. Handbook of Performability Engineering; Springer Science & Business Media: Berlin, Germany, 2008. [Google Scholar]
- Čepin, M.; Mavko, B. A dynamic fault tree. Reliab. Eng. Syst. Saf. 2002, 75, 83–91. [Google Scholar] [CrossRef]
- Ammar, M.; Hamad, G.B.; Mohamed, O.A.; Savaria, Y. Towards an Accurate Probabilistic Modeling and Statistical Analysis of Temporal Faults via Temporal Dynamic Fault-Trees (TDFTs). IEEE Access 2019, 7, 29264–29276. [Google Scholar] [CrossRef]
- Codetta-Raiteri, D. Integrating several formalisms in order to increase Fault Trees’ modeling power. Reliab. Eng. Syst. Saf. 2011, 96, 534–544. [Google Scholar] [CrossRef]
- Codetta-Raiteri, D.; Franceschinis, G.; Iacono, M.; Vittorini, V. Repairable fault tree for the automatic evaluation of repair policies. In Proceedings of the International Conference on Dependable Systems and Networks, Florence, Italy, 28 June–1 July 2004. [Google Scholar]
- Bouissou, M. A generalization of dynamic fault trees through Boolean logic driven Markov processes (BDMP)®. In Proceedings of the16th European Safety and Reliability Conference (ESREL’07), Stavanger, Norway, 25–27 June 2007. [Google Scholar]
- Yuge, T.; Tamura, N.; Yanagi, S. Repairable Fault Tree Analysis Using Renewal Intensities. Qual. Technol. Quant. Manag. 2012, 9, 231–241. [Google Scholar] [CrossRef]
- Aizpurua, J.I.; Catterson, V.M.; Papadopoulos, Y.; Chiacchio, F.; Manno, G. Improved dynamic dependability assessment through integration with prognostics. IEEE Trans. Reliab. 2017, 66, 893–913. [Google Scholar] [CrossRef]
- Li, Y.F.; Huang, H.Z.; Yu, L.; Xiao Haiqing, L.N.C. A new fault tree analysis method: Fuzzy dynamic fault tree analysis. Maint. Reliab. 2012, 14, 208–214. [Google Scholar]
- Chybowski, L.; Gawdzińska, K.; Wiśnicki, B. Qualitative Importance Measures of Systems Components—A New Approach and Its Applications. Manag. Syst. Prod. Eng. 2018, 24, 237–246. [Google Scholar] [CrossRef]
- Merle, G.; Roussel, J.-M.; Lesage, J.-J. Dynamic fault tree analysis based on the structure function. In Proceedings of the Annual Reliability and Maintainability Symposium, Lake Buena Vista, FL, USA, 24–27 January 2011. [Google Scholar]
- Merle, G.; Roussel, J.-M.; Lesage, J.-J.; Bobbio, A. Probabilistic algebraic analysis of fault trees with priority dynamic gates and repeated events. IEEE Trans. Reliab. 2010, 59, 250–261. [Google Scholar] [CrossRef]
- Rauzy, A.B. Sequence algebra, sequence decision diagrams and dynamic fault trees. Reliab. Eng. Syst. Saf. 2011, 96, 785–792. [Google Scholar] [CrossRef]
- Aslansefat, K.; Latif-Shabgahi, G.R. A Hierarchical Approach for Dynamic Fault Trees Solution through Semi-Markov Process. IEEE Trans. Reliab. 2019. [Google Scholar] [CrossRef]
- Rao, K.D.; Gopika, V.; Rao, V.S.; Kushwaha, H.; Verma, A.K.; Srividya, A. Dynamic fault tree analysis using Monte Carlo simulation in probabilistic safety assessment. Reliab. Eng. Syst. Saf. 2009, 94, 872–883. [Google Scholar]
- Ruijters, E.; Reijsbergen, D.; de Boer, P.T.; Stoelinga, M. Rare event simulation for dynamic fault trees. Reliab. Eng. Syst. Saf. 2019, 186, 220–231. [Google Scholar] [CrossRef] [Green Version]
- Babykina, G.; Brinzei, N.; Aubry, J.-F.; Deleuze, G. Modeling and simulation of a controlled steam generator in the context of dynamic reliability using a Stochastic Hybrid Automaton. Reliab. Eng. Syst. Saf. 2016, 152, 115–136. [Google Scholar] [CrossRef]
- Fan, M.; Zeng, Z.; Zio, E.; Kang, R.; Chen, Y. A stochastic hybrid systems based framework for modeling dependent failure processes. PLoS ONE 2017, 12, e0172680. [Google Scholar] [CrossRef] [PubMed]
- Riley, D.D.; Koutsoukos, X.; Riley, K. Simulation of Stochastic Hybrid Systems using probabilistic boundary detection and adaptive time stepping. Simul. Model. Pract. Theory 2010, 18, 1397–1411. [Google Scholar] [CrossRef]
- Yuehua, C.; Liang, J.; Bin, J.; Ningyun, L. Useful life prediction using a stochastic hybrid automata model for an ACS multi-gyro subsystem. J. Syst. Eng. Electron. 2019, 30, 154–166. [Google Scholar]
- Kakalis, N.M.P.; Dimopoulos, G.G.; Ovrum, E. DNV COSSMOS: Complex Ship Systems Modelling and Simulation. Det. Norske Veritas. Available online: www.dnv.com/binaries/ship%20machinery_cossmos_tcm4-528552.pdf (accessed on 5 July 2019).
- Manno, G.; Zymaris, A.; Kakalis, N.P.; Chiacchio, F.; Cipollone, G.; Compagno, L.; D’Urso, D.; Trapani, N. Dynamic reliability of three nonlinear aging components with different failure modes characteristics. In Safety, Reliability and Risk Analysis, Beyond the Horizon; Steenbergen, R.D.J.M., VanGelder, P.H.A.J.M., Miraglia, S., Vrouwenvelder, A.C.W.M., Eds.; CRC Press: Boca Raton, FR, USA, 2013. [Google Scholar]
- Chiacchio, F.; D’Urso, D.; Compagno, L.; Pennisi, M.; Pappalardo, F.; Manno, G. SHyFTA, a Stochastic Hybrid Fault Tree Automaton for the modelling and simulation of dynamic reliability problems. Expert Syst. Appl. 2016, 47, 42–57. [Google Scholar] [CrossRef]
- Chiacchio, F.; Iacono, A.; D’Urso, D.; Compagno, L. A general framework for dependability modelling coupling discrete-event and time-driven simulation. Reliab. Eng. Syst. Saf. 2019. submitted. [Google Scholar]
- Varghese, B.; Buyyab, R. Next generation cloud computing: New trends and research directions. Future Gener. Comput. Syst. 2018, 79, 849–861. [Google Scholar] [CrossRef] [Green Version]
- MIL-HDBK-217F, Military Handbook Reliability Prediction of Electronic Equipment (1991). Available online: https://snebulos.mit.edu/projects/reference/MIL-STD/MIL-HDBK-217F-Notice2.pdf (accessed on 7 July 2019).
- Chiacchio, F.; Famoso, F.; D’Urso, D.; Cedola, L. Performance and Economic Assessment of a Grid-Connected Photovoltaic Power Plant with a Storage System: A Comparison between the North and the South of Italy. Energies 2019, 12, 2356. [Google Scholar] [CrossRef]
- Chiacchio, F.; Famoso, F.; D’Urso, D.; Brusca, S.; Aizpurua, J.; Cedola, L. Dynamic performance evaluation of photovoltaic power plant by stochastic hybrid fault tree automaton model. Energies 2018, 11, 306. [Google Scholar] [CrossRef]
- Tribe, M.A.; Alpine, R.L.W. Scale economies and the “0.6 Rule”. Eng. Costs Prod. Econ. 1986, 10, 271–278. [Google Scholar] [CrossRef]
- Matlab® Online Documentation. Available online: https://it.mathworks.com/help/stats/continuous-distributions.html (accessed on 6 August 2019).
Process | Dependability | Dynamic Reliability | |
---|---|---|---|
Traditional Models | Advanced & GP Models | Hybrid-Dynamic Models | |
Physical | Static working conditions; Single-state operating components | Static working conditions; | Dynamic working conditions; Multi-state operating components |
Stochastic | Bi-State (working or failed) components; Fixed probability of failure; Independence of components | Multi-state degrading components; Fixed probability of failure; Time-event sequence dependencies | Multi-state degrading components; Dynamic probability of failure; Time-event sequence dependencies |
Event | Failure Rate (MIL-HDBK-217) |
---|---|
BE1/BE2 | 5.98 × 10−6 (h−1) |
BE3 | 5.89 × 10−7 (h−1) |
BE4 | 1.00 × 10−6 (h−1) |
Description | Value |
---|---|
PV Nominal Power | 3000 W |
PV Panel Nominal Power | 300 W |
Panel efficiency (ƞ) | 15% |
Inverter Nominal Power | 2.8 kW |
Inverter Efficiency (ƞ) | 97% |
MPPT range | 210–550 V |
Battery Capacity | 6.4 kWh |
Maximum charging/discharging Current | 64 A |
Component | Failure/Repair Distribution | λ: Failure Rate (y−1) | µ: Repair Rate (h−1) | |
---|---|---|---|---|
Mi | PV Module | Exp/Exp | 1/15 | 1.4 × 10−3 |
SPR | String Protection | Exp/Exp | 1/10 | 1/48 |
DCD | DC Disconnector | Exp/Exp | 1/3 | 1/12 |
SPD | Surge Protection | Exp/Exp | 1/10 | 1/48 |
INV | Inverter | Wei/Exp | See Equation (5), β = 1.5, γ = 40.29 × 106 | 2.1 × 10−3 |
ACB | AC Circuit Breaker | Exp/Exp | 1/10 | 1/12 |
ACD | AC Disconnector | Exp/Exp | 1/3 | 1/12 |
DCB | Diff. Circuit Breaker | Exp/Exp | 1/3 | 1/48 |
GRD | Grid | Exp/Exp | 5 | 1/4 |
BAT | Storage System | Wei/Exp | See Equation (5), β = 1.5, γ = 1.14 × 105 | 2.1 × 10−3 |
CHA | BAT Energy Shortage | This event is modelled in the physical process. See [59] for more info. |
H | Autumn (Wh/h) | Spring (Wh/h) | Summer (Wh/h) | Winter (Wh/h) |
---|---|---|---|---|
00:00 | 289.3 | 39.3 | 289.3 | 539.3 |
01:00 | 39.3 | 39.3 | 39.3 | 39.3 |
02:00 | 289.3 | 39.3 | 39.3 | 39.3 |
03:00 | 39.3 | 39.3 | 289.3 | 39.3 |
04:00 | 289.3 | 39.3 | 689.3 | 439.3 |
05:00 | 39.3 | 439.3 | 289.3 | 39.3 |
06:00 | 774.3 | 39.3 | 574.3 | 824.3 |
07:00 | 599.3 | 324.3 | 349.3 | 599.3 |
08:00 | 39.3 | 599.3 | 539.3 | 39.3 |
09:00 | 39.3 | 539.3 | 439.3 | 439.3 |
10:00 | 39.3 | 439.3 | 689.3 | 439.3 |
11:00 | 39.3 | 439.3 | 39.3 | 39.3 |
12:00 | 39.3 | 39.3 | 289.3 | 39.3 |
13:00 | 39.3 | 39.3 | 39.3 | 39.3 |
14:00 | 39.3 | 39.3 | 539.3 | 39.3 |
15:00 | 39.3 | 289.3 | 539.3 | 39.3 |
16:00 | 439.3 | 289.3 | 939.3 | 439.3 |
17:00 | 764.3 | 689.3 | 764.3 | 264.3 |
18:00 | 824.3 | 514.3 | 1164.3 | 764.3 |
19:00 | 2224.3 | 914.3 | 1824.3 | 1824.3 |
20:00 | 1574.3 | 1574.3 | 1574.3 | 1824.3 |
21:00 | 574.3 | 1324.3 | 574.3 | 824.3 |
22:00 | 349.3 | 324.3 | 349.3 | 599.3 |
23:00 | 39.3 | 99.3 | 289.3 | 539.3 |
Daily Avg(Wh/y) | 9463.2 | 9153.2 | 13153.2 | 10753.2 |
Solid Tank Capacity (m3) | Installation Cost ($) | Yearly Expense ($/y) |
---|---|---|
0.1 | 15,000 | 1859 |
0.3 | 28,998 | 3664 |
0.6 | 43,952 | 5554 |
0.9 | 56,058 | 7084 |
1.2 | 66,619 | 8419 |
1.5 | 76,163 | 9625 |
Solid Tank Capacity (m3) | Income ($/y) | Missed Income ($/y) | Yearly Expense ($/y) | Safety Penalty ($/y) |
---|---|---|---|---|
0.1 | 34,815 | 9457 | 1859 | 50,000 |
0.3 | 38,497 | 5390 | 3664 | 26,900 |
0.6 | 39,643 | 4127 | 5554 | 13,450 |
0.9 | 40,006 | 3720 | 7084 | 9900 |
1.2 | 40,136 | 3569 | 8419 | 9750 |
1.5 | 40,287 | 3403 | 9625 | 8700 |
Solid Tank Capacity (m3) | Net Profit ($/y) | Mean Availability | Unsafety (at Tm) |
---|---|---|---|
0.1 | −27131 | 0.7947 | 1 |
0.3 | 2543 | 0.8788 | 0.538 |
0.6 | 16,512 | 0.9050 | 0.269 |
0.9 | 19,302 | 0.9132 | 0.198 |
1.2 | 18,398 | 0.9163 | 0.195 |
1.5 | 18,559 | 0.9197 | 0.174 |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Chiacchio, F.; Aizpurua, J.I.; Compagno, L.; Khodayee, S.M.; D’Urso, D. Modelling and Resolution of Dynamic Reliability Problems by the Coupling of Simulink and the Stochastic Hybrid Fault Tree Object Oriented (SHyFTOO) Library. Information 2019, 10, 283. https://doi.org/10.3390/info10090283
Chiacchio F, Aizpurua JI, Compagno L, Khodayee SM, D’Urso D. Modelling and Resolution of Dynamic Reliability Problems by the Coupling of Simulink and the Stochastic Hybrid Fault Tree Object Oriented (SHyFTOO) Library. Information. 2019; 10(9):283. https://doi.org/10.3390/info10090283
Chicago/Turabian StyleChiacchio, Ferdinando, Jose Ignacio Aizpurua, Lucio Compagno, Soheyl Moheb Khodayee, and Diego D’Urso. 2019. "Modelling and Resolution of Dynamic Reliability Problems by the Coupling of Simulink and the Stochastic Hybrid Fault Tree Object Oriented (SHyFTOO) Library" Information 10, no. 9: 283. https://doi.org/10.3390/info10090283
APA StyleChiacchio, F., Aizpurua, J. I., Compagno, L., Khodayee, S. M., & D’Urso, D. (2019). Modelling and Resolution of Dynamic Reliability Problems by the Coupling of Simulink and the Stochastic Hybrid Fault Tree Object Oriented (SHyFTOO) Library. Information, 10(9), 283. https://doi.org/10.3390/info10090283