@inbook {19486, title = {Architecting and Implementing Versatile Dependability}, booktitle = {Architecting Dependable Systems III}, series = {Lecture Notes in Computer Science}, year = {2005}, month = {2005/01/01/}, pages = {212 - 231}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, abstract = {Distributed applications must often consider and select the appropriate trade-offs among three important aspects {\textendash} 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 {\textquotedblright}knobs{\textquotedblright} 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{\textquoteright}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.}, keywords = {Operating systems, software engineering}, isbn = {978-3-540-28968-5, 978-3-540-31648-0}, url = {http://link.springer.com/chapter/10.1007/11556169_10}, author = {Tudor Dumitras and Srivastava, Deepti and Narasimhan, Priya}, editor = {Lemos, Rog{\'e}rio de and Gacek, Cristina and Romanovsky, Alexander} }