Incorporating fault tolerance tactics in software architecture patterns
basic concepts and taxonomy of dependable and secure computing .