Design-driven development methodology for resilient computing

Resilient computing is defined as the ability of a system to stay dependable when facing changes. To mitigate faults at runtime, dependable systems are augmented with fault tolerance mechanisms such as replication techniques. These mechanisms have to be systematically and rigorously applied in order to guarantee the conformance between the application runtime behavior and its dependability requirements. The main contribution of this paper is to propose a design-driven development methodology for resilient computing systems. Our approach consists of refining the design with specifications dedicated to the dependability concerns. This design is then leveraged to support the development of the application while ensuring the traceability of the dependability requirements along the application life-cycle, including runtime adaptation.

[1]  João Costa Seco,et al.  A Basic Model of Typed Components , 2000, ECOOP.

[2]  Damien Cassou,et al.  Toward a Tool-Based Development Methodology for Pervasive Computing Applications , 2012, IEEE Transactions on Software Engineering.

[3]  QuémaVivien,et al.  The FRACTAL component model and its support in Java , 2006 .

[4]  Matthieu Roy,et al.  From Design for Adaptation to Component-Based Resilient Computing , 2012, 2012 IEEE 18th Pacific Rim International Symposium on Dependable Computing.

[5]  Anand Ranganathan,et al.  Towards fault tolerance pervasive computing , 2005, IEEE Technology and Society Magazine.

[6]  Jean-Charles Fabre,et al.  Towards On-line Adaptation of Fault Tolerance Mechanisms , 2010, 2010 European Dependable Computing Conference.

[7]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[8]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[9]  Jean-Charles Fabre Architecting resilient computing systems: Overall approach and open issues , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems and Networks Workshops (DSN-W).

[10]  C. Chambers,et al.  ArchJava: connecting software architecture to implementation , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[11]  Damien Cassou,et al.  Leveraging software architectures to guide and verify the development of sense/compute/control applications , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[12]  Robert Grimm,et al.  One.world: experiences with a pervasive computing architecture , 2004, IEEE Pervasive Computing.

[13]  Valerio Schiavoni,et al.  A component‐based middleware platform for reconfigurable service‐oriented architectures , 2012, Softw. Pract. Exp..

[14]  Gabriel Tamura,et al.  QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs , 2010, FACS.

[15]  Naoyasu Ubayashi,et al.  Archface: a contract place where architectural design and code meet together , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[16]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[17]  Richard N. Taylor,et al.  Enhancing architecture-implementation conformance with change management and support for behavioral mapping , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[18]  Vugranam C. Sreedhar,et al.  Mixin'Up components , 2002, ICSE '02.

[19]  Cecília M. F. Rubira,et al.  Exception handling in the development of dependable component‐based systems , 2005, Softw. Pract. Exp..

[20]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[21]  Eli Tilevich,et al.  Reusable and Extensible Fault Tolerance for RESTful Applications , 2012, 2012 IEEE 11th International Conference on Trust, Security and Privacy in Computing and Communications.

[22]  Joni da Silva Fraga,et al.  An Adaptive Fault-Tolerant Component Model , 2003, 2003 The Ninth IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[23]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .