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.
Similar content being viewed by others
Notes
\(\chi(Q) = \begin{cases} 1 & \mathrm{if} \; Q \ne \emptyset\\ 0 & \mathrm{otherwise} \cr\end{cases} \)and \(\overline{\chi}(Q) = 1 - \chi(Q)\).
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
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
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
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
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
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
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
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
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
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
UML2 (2010) UML Unified modeling language: superstructure. Object Management Group, http://www.omg.org, version 2.3
Acknowledgements
The authors thank the anonymous reviewers for their valuable help to improve this work.
Author information
Authors and Affiliations
Corresponding author
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)\):
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:
Functions F ∈ {Φ(), Λ() } are equal to:
The initial marking function is equal to:
Finally, the labeling functions for places and transitions are respectively equal to:
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10626-011-0111-1