A Model-Driven Approach for Dependable Software Systems

High dependability is a key requirement for many types of systems, such as safety-critical systems, telecommunication systems, and mission-critical software systems. Although software components and web services are proven technologies to tackle design complexity, their reliability affects the reliability and availability of the systems they are part of. The composition of components and web services further complicates the issue. For highly dependable systems, the faults of components and web services have to be minimized to achieve overall system dependability. This paper describes a model-driven engineering approach to improve the dependability of domain- specific software systems built with component and web service composition. In this framework, web services and components are specified as model elements and their dependability is enhanced by generating both functional code and protective mechanisms to reduce the impact of component and service failures. The applicability of this approach is demonstrated in our implementation and deployment of mobile services.