Abstract
Truly dependable software systems should be built with structuring techniques able to decompose the software complexity without hiding important hypotheses and assumptions such as those regarding their target execution environment and the expected fault- and system models. A judicious assessment of what can be made transparent and what should be translucent is necessary. This paper discusses a practical example of a structuring technique built with these principles in mind: Reflective and refractive variables. We show that our technique offers an acceptable degree of separation of the design concerns, with limited code intrusion; at the same time, by construction, it separates but does not hide the complexity required for managing fault-tolerance. In particular, our technique offers access to collected system-wide information and the knowledge extracted from that information. This can be used to devise architectures that minimize the hazard of a mismatch between dependable software and the target execution environments.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Intelligent content in FP7 3rd ITC Call, http://www.cordis.europa.eu/ist/kct/eventcall3-in-motion.htm
Randell, B.: System structure for software fault tolerance. IEEE Trans. Software Eng. 1, 220–232 (1975)
De Florio, V.: Software Assumptions Failure Tolerance: Role, Strategies, and Visions. In: Casimiro, A., de Lemos, R., Gacek, C. (eds.) Architecting Dependable Systems VII. LNCS, vol. 6420, pp. 249–272. Springer, Heidelberg (2010)
De Florio, V., Blondia, C.: Reflective and refractive variables: A model for effective and maintainable adaptive-and-dependable software. In: Proc. of the 33rd EUROMICRO SEAA Conference, Lübeck, Germany (August 2007)
Mplayer — the movie player (2008), http://www.mplayerhq.hu/design7/info.html
Mplayer slave mode protocol (2008), http://www.mediacoder.sourceforge.net/wiki/index.php/MPlayer_Slave_Mode_Protocol
De Florio, V. et al.: \({\mathcal{R}}\!\raise2pt\hbox{$\varepsilon$}\!\hbox{$\mathcal L$}\): A fault tolerance linguistic structure for distributed applications. In: Proc. of ECBS 2002, Lund, Sweden (April 2002)
De Florio, V.: A Fault-Tolerance Linguistic Structure for Distributed Applications, Doctoral dissertation, Dept. of Electrical Engineering, University of Leuven, Belgium (October 2000) ISBN 90-5682-266-7
De Florio, V., Blondia, C.: On the requirements of new software development. International Journal of Business Intelligence and Data Mining 3(3) (2008)
Tirumala, A., et al.: Measuring end-to-end bandwidth with iperf using web100. In: Proc. of the Passive and Active Measurement Workshop (2003)
De Florio, V., et al.: Software tool combining fault masking with user-defined recovery strategies. IEE Proc. Software 145(6), 203–211 (1998)
Bondavalli, A., et al.: Threshold-based mechanisms to discriminate transient from intermittent faults. IEEE Trans. on Computers 49(3), 230–245 (2000)
Hollnagel, E., Woods, D.D., Leveson, N.G.: Resilience engineering: Concepts and precepts. Aldershot, UK, Ashgate (2006)
Leveson, N.G.: Safeware: Systems Safety and Computers. Addison, London (1995)
Maes, P.: Concepts and experiments in computational reflection. In: Proc. of OOPSLA 1987, Orlando, FL, pp. 147–155 (1987)
Kiczales, G., des Rivières, J., Bobrow, D.G.: The Art of the Metaobject Protocol. The MIT Press, Cambridge (1991)
DuPont, J.M.: Introspector, http://www.introspector.sourceforge.net
Peek and poke (2010), http://www.en.wikipedia.org/wiki/PEEK_and_POKE
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
De Florio, V., Blondia, C. (2011). System Structure for Dependable Software Systems. In: Murgante, B., Gervasi, O., Iglesias, A., Taniar, D., Apduhan, B.O. (eds) Computational Science and Its Applications - ICCSA 2011. ICCSA 2011. Lecture Notes in Computer Science, vol 6784. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21931-3_46
Download citation
DOI: https://doi.org/10.1007/978-3-642-21931-3_46
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21930-6
Online ISBN: 978-3-642-21931-3
eBook Packages: Computer ScienceComputer Science (R0)