Skip to main content

Architecting Dependable Systems Using Reflective Computing: Lessons Learnt and Some Challenges

  • Chapter
Architecting Dependable Systems VII

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6420))

  • 609 Accesses

Abstract

The use of the reflection paradigm was motivated by the need of separation of concerns in dependable systems. The separation of the application from its fault tolerance mechanisms for instance was a good way to make the system adaptive, the application and mechanisms reusable. One may ask, however, to which extent this separation of concerns is of interest for practical dependable systems. This depends very much on the mechanisms considered, and on some target objective of the system designer in terms of system properties. The present paper attempts to shed some light on these factors by drawing the lessons gained from several research projects with colleagues in the dependability community and beyond. We also claim that some novel technologies are of high interest and that their use should be based on the experience gained in the field of reflective computing. Finally, we express some of the challenges we feel of interest for the development of dependable systems in general and of adaptive fault tolerant systems in particular.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agha, G., et al.: A Linguistic Framework for Dynamic Composition of Dependability Protocols. In: the IFIP Conference on Dependable Computing for Critical Applications (DCCA-3), pp. 197–207. Elsevier, Palermo (1992)

    Google Scholar 

  2. Garbinato, B., Guerraoui, R., Mazouni, K.R.: Implementation of the GARF Replicated Objects Platform. Distributed Systems Engineering Journal 2(1), 14–27 (1995)

    Article  Google Scholar 

  3. Pérennou, T., Fabre, J.-C.: A Metaobject Architecture for Fault-Tolerant Distributed Systems: the FRIENDS Approach. IEEE Trans. on Computer, Special Issue on Dependability of Computing Systems 47, 78–95 (1998)

    Google Scholar 

  4. Maes, P.: Concepts and Experiments in Computational Reflection. In: Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Orlando, Florida, pp. 147–155 (1987)

    Google Scholar 

  5. Chiba, S.: A Metaobject Protocol for C++. In: Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1995), Austin, Texas, pp. 285–299 (1995)

    Google Scholar 

  6. Blair, G.S., Coulson, G., Blair, L., Duran-Limon, H., Grace, P., Moreira, R., Parlavantzas, N.: Reflection, Self-Awareness and Self-Healing in Open ORB. In: Proceedings of the ACM Sigsoft Workshop on Self-Healing Systems, WOSS 2002 (November 2002)

    Google Scholar 

  7. Patil, A., Audsley, N.: Implementing Application-Specific RTOS Policies using Reflection. In: Proc. of the 11th IEEE Real-time and Embedded Technology and Applications Symposium, San Francisco, USA, pp. 438–447 (March 2005)

    Google Scholar 

  8. Martins, E., Rosa, A.C.A.: A Fault Injection Approach Based on Reflective Programming. In: Proc. of the 2000 International Conference on Dependable Systems and Networks (formerly FTCS-30 and DCCA-8), pp. 407–416 (June 2000)

    Google Scholar 

  9. Chiba, S.: A Study on a Compile-time Metaobject Protocol, Phd. Thesis, University of Tokyo, Japan (1996)

    Google Scholar 

  10. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Videira Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  11. Kiczales, G., Hilsdale, E., et al.: An Overview of AspectJ. In: European Conference on ObjectOriented Programming, Springer, London (2001)

    Google Scholar 

  12. Coulson, G., Grace, P., et al.: Towards a Component-based Middleware Architecture for Flexible and Reconfigurable Grid Computing. In: International Workshops on Enabling Technologies, Infrastructure for Collaborative Enterprises, 14–16. IEEE Computer Society, Modena (June 2004)

    Google Scholar 

  13. Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.-B.: The Fractal Component Model and Its Support in Java. Software, Practice and Experience 36(11-12), 29 (2006)

    Article  Google Scholar 

  14. RTCA Inc. Document, RTCA/DO-178B dated December 1, – Software Considerations in Airborne Systems and Equipment Certification (1992)

    Google Scholar 

  15. ISO/WD 26262-6: Road vehicles, Functional safety, Part 6: Product development: software level (2007)

    Google Scholar 

  16. Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.): CBSE 2006. LNCS(Programming and Software Engineering), vol. 4063. Springer, Heidelberg (2006)

    Google Scholar 

  17. Coulson, G., Blair, G., Grace, P., Taïani, F., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Transactions on Computer Systems (TOCS) 26(1), 1–42 (2008)

    Article  Google Scholar 

  18. Sun: Interface Serializable, http://java.sun.com/javase/6/docs/api/java/io/Serializable.html

  19. Avizienis, A.l., Laprie, J.-C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions On Dependable And Secure Computing 1(1) (January-March 2004)

    Google Scholar 

  20. Randell, B., Xu, J.: The Evolution of the Recovery Block Concept. In: Lyu, M. (ed.) Software Fault Tolerance. Trends in Software series, pp. 1–22. John Wiley & Sons, Chichester (1995)

    Google Scholar 

  21. Laprie, J.-C., Arlat, J., Béounes, C., Kanoun, K.: Definition and Analysis of Hardware- and Software-Fault-Tolerant Architectures. Computer 23(7), 39–51 (1990)

    Article  Google Scholar 

  22. Rodríguez, M., Fabre, J.-C., Arlat, J.: Wrapping Real-time Systems from Temporal Logic Specifications. In: Bondavalli, A., Thévenod-Fosse, P. (eds.) EDCC 2002. LNCS, vol. 2485, pp. 253–270. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  23. Rodríguez, M., Salles, F., Fabre, J.-C., Arlat, J.: MAFALDA: Microkernel Assessment by Fault Injection and Design Aid. In: Hlavicka, J., Maehle, E., Pataricza, A. (eds.) EDDC 1999. LNCS, vol. 1667, pp. 143–160. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  24. Koopman, P., DeVale, J.: Comparing the Robustness of POSIX Operating Systems. In: Proc. 29th IEEE International Symposium on Fault-Tolerant Computing (FTCS-29), Madison, WI, USA, pp. 30–37 (1999)

    Google Scholar 

  25. Marsden, E., Fabre, J.-C.: Failure Mode Analysisof CORBA Service Implementations. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 216–231. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  26. Taïani, F., Fabre, F.J.-C., Killijian, M.O.: Towards Implementing Multi-Layer Reflection for Fault-Tolerance. In: Proc. of the IFIP/IEEE Int. Conf on Dependable Systems and Networks (DSN 2003), San Francisco,CA, USA, pp. 435–444 (2003)

    Google Scholar 

  27. Taïani, F., Killijian, M.-O., Fabre, J.-C.: A Multi-Level Meta-Object Protocol for Fault-Tolerance in Complex Architectures. In: Proc. of the IFIP/IEEE Int. Conf. on Dependable Systems and Networks (DSN 2005), Yokohama, Japan, pp. 270–279 (2005)

    Google Scholar 

  28. AUTomotive Open Standard ARchitecture, http://www.autosar.org

  29. Lu, C., Fabre, J.-C., Killijian, M.O.: Robustness of modular multilayered software in the automotive domain: a wrapping-based approach. In: Proc. of the 14th Int. IEEE Conf. on Emergent Technology and Factory Automation (ETFA 2009), Palma-de-Mallorca, Spain (September 2009)

    Google Scholar 

  30. Lu, C., Fabre, J.-C., Killijian, M.O.: An approach for improving Fault-Tolerance in Automotive Modular Embedded Software. In: Proc. of the 17th Int. IEEE Conf. on Real-Time and Network Systems (RTNS 2009), Paris, France (October 2009)

    Google Scholar 

  31. Cazzola, W., Savigni, A., Sosio, A., Tisato, F.: Rule-Based Strategic Reflection: Observing and Modifying Behaviour at the Architectural Level. In: Proceedings of 14th IEEE International Conference on Automated Software Engineering (ASE 1999), Cocoa Beach, Florida USA, pp. 263–266 (1999)

    Google Scholar 

  32. Salatge, N., Fabre, J.-C.: Fault Tolerance Connectors for Unreliable Web Services. In: Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2007), pp. 51–60 (2007)

    Google Scholar 

  33. Robert, T., Fabre, J.-C., Roy, M.: On-line monitoring of real time applications for early error detection. In: The 14th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC 2008), Taipei, Taiwan, December 15-17 (2008)

    Google Scholar 

  34. Fabre, J.-C., Killijian, M.-O., Pareaud, T.: Towards On-Line Adaptation of Fault Tolerance Mechanisms. In: Proc. of the European Dependable Computing Conference (EDCC 2010), Valencia, Spain, pp. 45–54 (2010)

    Google Scholar 

  35. Ruiz, J.-C., Fabre, J.-C., Thévenod-Fosse, P.: Testing MetaObject Protocols Generated by Open-Compilers for Safety-Critical Systems. In: Proc. Third Int’l Conf. Metalevel Architectures and Separation of Crosscutting Concerns, pp. 134–152 (2001)

    Google Scholar 

  36. Laprie, J.C.: From dependability to resilience. LAAS research report #08001, P 4 (January 2008)

    Google Scholar 

  37. Ruiz, J.-C., Killijian, M.-O., Fabre, J.-C., Thévenod-Fosse, P.: Reflective Fault-Tolerant Systems: From Experience to Challenges. IEEE Transactions on Computers 52(12), 237–254 (2003)

    Article  Google Scholar 

  38. De Lemos, R., Fabre, J.C., Gacek, C., Gadducci, F., ter Beek, M. (eds.): Architecting Dependable Systems VI. LNCS, vol. 5835, pp. 49–75. Springer, Heidelberg (2009) ISBN: 978-3-642-10247-9

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Fabre, JC. (2010). Architecting Dependable Systems Using Reflective Computing: Lessons Learnt and Some Challenges. In: Casimiro, A., de Lemos, R., Gacek, C. (eds) Architecting Dependable Systems VII. Lecture Notes in Computer Science, vol 6420. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17245-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17245-8_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17244-1

  • Online ISBN: 978-3-642-17245-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics