Abstract
Software designs equipped with specification of dependability techniques can help engineers to develop critical systems. In this work, we start to envision how a software engineer can assess that a given dependability technique is adequate for a given software design, i.e., if the technique, when applied, will cause the system to meet a dependability requirement (e.g., an availability degree). So, the idea here presented is how to integrate already developed fault-tolerant techniques in software designs for their analysis. On the one hand, we will assume software behavioural designs as a set of UML state-charts properly annotated with profiles to take into account its performance, dependability and security characteristics, i.e., those properties that may hamper a critical system. On the other hand, we will propose UML models for well-known fault-tolerant techniques. Then, the challenge is how to combine both (the software design and the FT techniques) to assist the software engineer. We will propose to accomplish it through a formal model, in terms of Petri nets, that offers results early in the life-cycle.
This work has been supported by the European Community’s Seventh Framework Programme under project DISC (Grant Agreement n.INFSO-ICT-224498) and by the project DPI2006-15390 of the Spanish Ministry of Science and Technology.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Trans. on Dependable and Secure Computing 1, 11–33 (2004)
OMG: Unified Modelling Language: Superstructure. Object Management Group (July 2005) Version 2.0, formal/05-07-04
Murata, T.: Petri Nets: Properties, Analysis and Applications. Proceedings of the IEEE 77, 541–580 (1989)
Bondavalli, A., Dal Cin, M., Latella, D., Majzik, I., Pataricza, A., Savoia, G.: Dependability Analysis in the Early Phases of UML Based System Design. Journal of Computer Systems Science and Engineering 16(5), 265–275 (2001)
Merseguer, J., Bernardi, S., Campos, J., Donatelli, S.: A Compositional Semantics for UML State Machines Aimed at Performance Evaluation. In: Giua, A., Silva, M. (eds.) Procs. of the 6th Int. Workshop on Discrete Event Systems, Zaragoza, Spain, October 2002, pp. 295–302. IEEE Computer Society Press, Los Alamitos (2002)
Bernardi, S., Merseguer, J., Petriu, D.: A Dependability Profile within MARTE. Journal of Software and Systems Modeling (2009), doi: 10.1007/s10270-009-0128-1
Object Management Group: A UML profile for Modeling and Analysis of Real Time Embedded Systems (MARTE) (November 2009), v1.0, formal/2009-11-02
Rodríguez, R.J., Merseguer, J., Bernardi, S.: Modelling and Analysing Resilience as a Security Issue within UML. In: SERENE 2010: Procs. of the 2nd Int. Workshop on Software Engineering for Resilient Systems. ACM, New York (2010) (accepted for publication)
Veríssimo, P., Neves, N.F., Correia, M., Deswarte, Y., Kalam, A.A.E., Bondavalli, A., Daidone, A.: The CRUTIAL Architecture for Critical Information Infrastructures. In: de Lemos, R., Di Giandomenico, F., Gacek, C., Muccini, H., Vieira, M. (eds.) Architecting Dependable Systems V. LNCS, vol. 5135, pp. 1–27. Springer, Heidelberg (2008)
Rushby, J.: Critical System Properties: Survey and Taxonomy. Technical Report SRI-CSL-93-1, Computer Science Laboratory, SRI International (1994)
Dobson, J., Randell, B.: Building Reliable Secure Computing Systems Out Of Unreliable Insecure Components. In: IEEE Symposium on Security and Privacy, p. 187. IEEE Computer Society, Los Alamitos (1986)
Fray, J.M., Deswarte, Y., Powell, D.: Intrusion-Tolerance Using Fine-Grain Fragmentation-Scattering. In: IEEE Symposium on Security and Privacy, p. 194. IEEE Computer Society Press, Los Alamitos (1986)
Canetti, R., Gennaro, R., Herzberg, A., Naor, D.: Proactive Security: Long-term Protection Against Break-ins. CryptoBytes 3, 1–8 (1997)
Zhou, L., Schneider, F.B., Van Renesse, R.: COCA: a Secure Distributed Online Certification Authority. ACM Trans. on Computer Systems (TOCS) 20(4), 329–368 (2002)
Tran, T.: Proactive Multicast-Based IPSEC Discovery Protocol and Multicast Extension. MILCOM, 1–7 (2006)
Dierks, T., Rescorla, E.: The Transport Layer Security (TLS) Protocol Version 1.1. RFC 4346, Internet Engineering Task Force (April 2006)
Shamir, A.: How to Share a Secret. Communications of ACM 22(11), 612–613 (1979)
Canetti, R., Halevi, S., Herzberg, A.: Maintaining Authenticated Communication in the Presence of Break-ins. In: PODC 1997: Procs. of the 16th annual ACM symposium on Principles Of Distributed Computing, pp. 15–24. ACM, New York (1997)
Ostrovsky, R., Yung, M.: How To Withstand Mobile Virus Attacks. In: PODC 1991: Procs. of the 10th annual ACM symposium on Principles Of Distributed Computing, pp. 51–59. ACM, New York (1991)
Sousa, P., Bessani, A., Correia, M., Neves, N., Verissimo, P.: Resilient Intrusion Tolerance through Proactive and Reactive Recovery. In: Procs. of the 13th IEEE Pacific Rim Dependable Computing Conference, pp. 373–380 (2007)
Kalan, A.A.E., Baina, A., Beitollahi, H., Bessani, A., Bondavalli, A., Correia, M., Daidone, A., Deconinck, G., Deswarte, Y., Garrone, F., Grandoni, F., Moniz, H., Neves, N., Rigole, T., Sousa, P., Verissimo, P.: D10: Preliminary Specification of Services and Protocols. Project deliverable, CRUTIAL: Critical Utility Infrastructural Resilience (2008)
Jensen, K.: Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. Monographs in Theoretical Computer Science. Springer, Heidelberg (1997)
Chiola, G., Marsan, M.A., Balbo, G., Conte, G.: Generalized Stochastic Petri Nets: A Definition at the Net Level and its Implications. IEEE Trans. Soft. Eng. 19(2), 89–107 (1993)
ArgoSPE: http://argospe.tigris.org
Object Management Group: UML Profile for Schedulability, Performance and Time Specification (January 2005), V1.1, f/05-01-02
Huber, P., Jensen, K., Shapiro, R.M.: Hierarchies in Coloured Petri Nets. In: Rozenberg, G. (ed.) APN 1990. LNCS, vol. 483, pp. 313–341. Springer, Heidelberg (1991)
University of Torino: The GreatSPN tool (2002), http://www.di.unitorino.it/~greatspn
Heiner, M., Heisel, M.: Modeling Safety-Critical Systems with Z and Petri Nets. In: Felici, M., Kanoun, K., Pasquini, A. (eds.) SAFECOMP 1999. LNCS, vol. 1698, pp. 361–374. Springer, Heidelberg (1999)
Ghezzi, C., Mandrioli, D., Morasca, S., Pezzè, M.: A Unified High-Level Petri Net Formalism for Time-Critical Systems. IEEE Trans. Softw. Eng. 17(2), 160–172 (1991)
Houmb, S.H., Sallhammar, K.: Modelling System Integrity of a Security Critical System Using Colored Petri Nets. In: Proceedings of Safety and Security Engineering (SAFE 2005), Rome, Italy, pp. 3–12. WIT Press (2005)
Harrison, N.B., Avgeriou, P.: Incorporating Fault Tolerance Tactics in Software Architecture Patterns. In: Procs. of the 2008 RISE/EFTS Joint Int. Workshop on Software Engineering for Resilient Systems (SERENE), pp. 9–18. ACM, New York (2008)
Nguyen-Tuong, A., Grimshaw, A.S.: Using Reflection for Incorporating Fault-Tolerance Techniques into Distributed Applications. Technical report, University of Virginia, Charlottesville, VA, USA (1998)
Rugina, A.E., Kanoun, K., Kaâniche, M.: A System Dependability Modeling Framework Using AADL and GSPNs. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems IV. LNCS, vol. 4615, pp. 14–38. Springer, Heidelberg (2007)
Majzik, I., Pataricza, A., Bondavalli, A.: Stochastic Dependability Analysis of System Architecture Based on UML Models. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677, pp. 219–244. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rodríguez, R.J., Merseguer, J. (2010). Integrating Fault-Tolerant Techniques into the Design of Critical Systems. In: Giese, H. (eds) Architecting Critical Systems. ISARCS 2010. Lecture Notes in Computer Science, vol 6150. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13556-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-13556-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13555-2
Online ISBN: 978-3-642-13556-9
eBook Packages: Computer ScienceComputer Science (R0)