Architecting and Implementing Versatile Dependability

TitleArchitecting and Implementing Versatile Dependability
Publication TypeBook Chapters
Year of Publication2005
AuthorsDumitras T, Srivastava D, Narasimhan P
Editorde Lemos R, Gacek C, Romanovsky A
Book TitleArchitecting Dependable Systems III
Series TitleLecture Notes in Computer Science
Pagination212 - 231
PublisherSpringer Berlin Heidelberg
ISBN Number978-3-540-28968-5, 978-3-540-31648-0
KeywordsOperating systems, software engineering

Distributed applications must often consider and select the appropriate trade-offs among three important aspects – fault-tolerance, performance and resources. We introduce a novel concept, called versatile dependability, that provides a framework for analyzing and reasoning about these trade-offs in dependable software architectures. We present the architecture of a middleware framework that implements versatile dependability by providing the appropriate ”knobs” to tune and re-calibrate the trade-offs. Our framework can adjust the properties and the behavior of the system at development-time, at deployment-time, and throughout the application’s life-cycle. This renders the versatile dependability approach useful both to applications that require static fault-tolerance configurations supporting the loss/addition of resources and changing workloads, as well as to applications that evolve in terms of their dependability requirements. Through a couple of specific examples, one on adapting the replication style at runtime and the other on tuning the system scalability under given constraints, we demonstrate concretely how versatile dependability can provide an extended coverage of the design space of dependable distributed systems.