Skip to main content
Log in

Dependability analysis of DES based on MARTE and UML state machines models

  • Published:
Discrete Event Dynamic Systems Aims and scope Submit manuscript

Abstract

UML (Unified Modeling Language) is a standard design notation which offers the state machines diagram to specify reactive software systems. The “Modeling and Analysis of Real-Time and Embedded systems” profile (MARTE) enables UML with capabilities for performance analysis. MARTE has been specialized in a “Dependability Analysis and Modeling” profile (DAM), then providing UML with dependability assets. In this work, we propose an approach for the automatic transformation of UML-DAM models into Deterministic and Stochastic Petri nets and the subsequent dependability analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. \(\chi(Q) = \begin{cases} 1 & \mathrm{if} \; Q \ne \emptyset\\ 0 & \mathrm{otherwise} \cr\end{cases} \)and \(\overline{\chi}(Q) = 1 - \chi(Q)\).

  2. Observe that, this assumption is not an actual restriction since the DAM profile supports the specification of combinations of single SM failure states through logical AND/OR expressions.

References

  • Ajmone Marsan M, Chiola G (1987) On Petri nets with deterministic and exponentially distributed firing times. In: Advances in Petri Nets 1987, covers the 7th European workshop on applications and theory of Petri Nets. Springer, London, pp 132–145

    Google Scholar 

  • Avizienis A, Laprie JC, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Depend Secure Comput 1(1):11–33. doi:10.1109/TDSC.2004.2

    Article  Google Scholar 

  • Basile F, Chiacchio P, Grosso DD (2008) Modelling automation systems by UML and Petri nets. In: Proceedings of of the 9th international workshop on discrete event systems (WODES 2008), IEEE Explore, pp 308–313

  • Bernardi S, Merseguer J, Petriu D (2009) A dependability profile within MARTE. J Softw Syst Model. doi:10.1007/s10270-009-0128-1

    Google Scholar 

  • Bondavalli A, Dal Cin M, Latella D, Majzik I, Pataricza A, Savoia G (2001) Dependability analysis in the early phases of UML-based system design. Int J Comput Syst Sci Eng 16(5):265–275

    Google Scholar 

  • Dingel J, Rudie K, Dragert C (2009) Bridging the gap: Discrete-event systems for software engineering. In: Canadian conference on computer science & software engineering (C3S2E 2009). ACM, Montreal, pp 67–71

    Google Scholar 

  • Donatelli S, Franceschinis G (1996) The PSR methodology: integrating hardware and software models. In: Billington J, Reisig W (eds) Application and theory of Petri Nets, LNCS, vol 1091. Springer, New York, pp 133–152

    Google Scholar 

  • GISED group (2006) http://argospe.tigris.org. Universidad de Zaragoza

  • GISED group (2011) http://webdiis.unizar.es/GISED/?q=tools. Universidad de Zaragoza

  • Goseva-Popstojanova K, Trivedi KS (2000) Stochastic modeling formalisms for dependability, performance and performability. In: Haring G, Lindemann C, Reiser M (eds) Performance evaluation: origins and directions, Lecture notes in computer science, vol 1769. Springer, New York, pp 403–422

    Chapter  Google Scholar 

  • Huszerl G, Majzik I, Pataricza A, Kosmidis K, Dal Cin M (2002) Quantitative analysis of UML statechart models of dependable systems. Comput J 45(3):260–277

    Article  MATH  Google Scholar 

  • Lilius J, Paltor IP (1999) The semantics of UML state machines. Tech. rep., Turku Centre for Computer Science, Åbo Akademi University, Turku (Finland)

  • MARTE (2008) A UML profile for MARTE: modeling and analysis of real-time embedded systems, Object Management Group. Document Number: ptc/2008-06-09

  • Merseguer J (2003) Software performance engineering based on UML and Petri nets. PhD thesis, University of Zaragoza, Spain

  • Mustafiz S, Sun X, Kienzle J, Vangheluwe H (2008) Model-driven assessment of system dependability. Softw Syst Model 7(4):487–502

    Article  Google Scholar 

  • Papyrus (2010) www.papyrusuml.org/. CEA LIST

  • Risco-Martin J, Mittal S, Zeigler B, de la Cruz J (2007) From UML state charts to DEVS state machines using XML. In: Workshop on multi-paradigm modeling within MoDELS, Nashville, Tennessee (USA), pp 35–48

  • Trowitzsch J, Jerzynek D, Zimmermann A (2007) A toolkit for performability evaluation based on stochastic UML state machines. In: Proceedings of the 2nd international conference on performance evaluation methodolgies and tools (VALUETOOLS 2007). ACM, Nantes, p 30

    Google Scholar 

  • UML2 (2010) UML Unified modeling language: superstructure. Object Management Group, http://www.omg.org, version 2.3

Download references

Acknowledgements

The authors thank the anonymous reviewers for their valuable help to improve this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José Merseguer.

Additional information

This work has been supported by the European Community’s Seventh Framework Programme under project DISC (Grant Agreement n. INFSO-ICT-224498), by CICYT DPI2010-20413 and by Fundación Aragón I+D.

Appendix: LDSPN composition operator

Appendix: LDSPN composition operator

In general, more than one label can be associated to a transition (place). However, in the composition of two nets, we actually consider at most one label per transition (place): with this restriction we can use a simplified version of the composition operator (Donatelli and Franceschinis 1996). Given two LDSPN \({\cal LN}_{1} = ({\cal N}_{1},\lambda_{1},\psi_{1})\) and \({\cal LN}_{2} = ({\cal N}_{2},\lambda_{2},\psi_{2})\), the LDSPN \({\cal LN} = ({\cal N},\lambda,\psi)\):

$$ {\cal LN} = {\cal LN}_1 \mathop{|~|}_{L_P,L_T} {\cal LN}_{2} $$

resulting from the composition over the sets of labels L P and L T is defined as follows.

Let E P  = L P  ∩ ψ 1(P 1) ∩ ψ 2(P 2) and E T  = L T  ∩ λ 1(T 1) ∩ λ 2(T 2) be the subsets of L P and of L T , respectively, comprising place and transition labels that are common to the two LDSPNs, \(P_1^l\) (\(T_1^l\)) be the set of places (transitions) of \({\cal LN}_1\) that are labeled l and \(P_1^{E_P}\) (\(T_1^{E_T}\)) be the set of all places (transitions) in \({\cal LN}_1\) that are labeled with a label in E P (E T ). Same definitions apply to \({\cal LN}_2\).

Then: \(P = P_1 \backslash P_1^{E_P} \cup P_2 \backslash P_2^{E_P} \cup \bigcup_{l \in E_P} \{P_1^l \times P_2^l \}\), \(T = T_1 \backslash T_1^{E_T} \cup T_2 \backslash T_2^{E_T} \cup \bigcup_{l \in E_T} \{ T_1^l \times T_2^l \}\), the functions F ∈ { I(), O(), H() } are equal to:

$$ F(p,t) = \begin{cases} F_1(p,t) & \mathrm{if}\ \ p\in P_1\backslash P_1^{E_P}, t \in T_1\backslash T_1^{E_T}\\ F_1(p,t_1) & \mathrm{if}\ \ p\in P_1\backslash P_1^{E_P}, t \equiv (t_1,t_2) \in \bigcup_{l \in E_T} \{ T_1^l \times T_2^l \}\\ F_1(p_1,t) & \mathrm{if}\ \ p\equiv (p_1,p_2) \in \bigcup_{l \in E_P} \{ P_1^l \times P_2^l \}, t \in T_1\backslash T_1^{E_T}\\ F_2(p,t) & \mathrm{if}\ \ p\in P_2\backslash P_2^{E_P}, t \in T_2\backslash T_2^{E_T}\\ F_2(p,t_2) & \mathrm{if}\ \ p\in P_2\backslash P_2^{E_P}, t \equiv (t_1,t_2) \in \bigcup_{l \in E_T} \{ T_1^l \times T_2^l \}\\ F_2(p_2,t) & \mathrm{if}\ \ p\equiv (p_1,p_2) \in \bigcup_{l \in E_P} \{ P_1^l \times P_2^l \}, t \in T_2\backslash T_2^{E_T}\\ \min \{F_1(p_1,t_1), F_2(p_2,t_2)\} & \mathrm{if}\ \ p\equiv (p_1,p_2) \in \bigcup_{l \in E_P} \{ P_1^l \times P_2^l \},\\ & \ \ \ t \equiv (t_1,t_2) \in \bigcup_{l \in E_T} \{ T_1^l \times T_2^l \}\\ \end{cases} $$

Functions F ∈ {Φ(), Λ() } are equal to:

$$ F(t) = \begin{cases} F_1(t) & \mathrm{if}\ \ t \in T_1\backslash T_1^{E_T}\\ F_2(t) & \mathrm{if}\ \ t \in T_2\backslash T_2^{E_T}\\ F_2(t_2) & \mathrm{if}\ \ t \equiv (t_1,t_2) \in \bigcup_{l \in E_T} \{ T_1^l \times T_2^l \}\\ \end{cases} $$

The initial marking function is equal to:

$$ M^0(p) = \begin{cases} M^0_1(p) & \mathrm{if}\ \ p \in P_1\backslash P_1^{E_P}\\ M^0_2(p) & \mathrm{if}\ \ p \in P_2\backslash P_2^{E_P}\\ M^0_1(p_1) + M^0_2(p_2) & \mathrm{if}\ \ p \equiv (p_1,p_2) \in \bigcup_{l \in E_P} \{P_1^l \times P_2^l \}\\ \end{cases} $$

Finally, the labeling functions for places and transitions are respectively equal to:

$$ \psi(x) = \begin{cases}\psi_1(x) & \mathrm{if}\ \ x \in P_1\backslash P_1^{E_P}\\ \psi_2(x) & \mathrm{if}\ \ x \in P_2\backslash P_2^{E_P}\\ \psi_1(p_1)\cup \psi_2(p_2) & \mathrm{if}\ \ x \equiv (p_1,p_2) \in \bigcup_{l \in E_P} \{P_1^l \times P_2^l \}\\ \end{cases} $$
$$ \lambda(x) = \begin{cases}\lambda_1(x) & \mathrm{if}\ \ x \in T_1\backslash T_1^{E_T}\\ \lambda_2(x) & \mathrm{if}\ \ x \in T_2\backslash T_2^{E_T}\\ \lambda_1(t_1)\cup \lambda_2(t_2) & \mathrm{if}\ \ x \equiv (t_1,t_2) \in \bigcup_{l \in E_T} \{ T_1^l \times T_2^l \}\\ \end{cases} $$

The relation being associative with respect to place superposition, we use also as an n-operand by writing \({\cal LN} = |~|_{\emptyset,L_P}^{k=1,..,K} {\cal LN}_{k}\).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Merseguer, J., Bernardi, S. Dependability analysis of DES based on MARTE and UML state machines models. Discrete Event Dyn Syst 22, 163–178 (2012). https://doi.org/10.1007/s10626-011-0111-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10626-011-0111-1

Keywords

Navigation