ABSTRACT

Our daily lives have become much more dependent on services provided by information systems, without which, some of us cannot even live. At the same time, information systems are becoming huge and complex in order to provide for the high-level demands by users and/or service providers. These systems are being used for a long period of time to provide continuous and evolving services to users. Service providers need to modify their systems in order to meet the changes of service objectives, users’ requirements, and technologies, while continuing to providing their services, i.e., modifi cation needs to be performed while the system is in operation. A system is often connected to other systems in order to exploit their services. These situations are unavoidable, and make it extremely diffi cult to keep the specifi cations of a system consistent with the intention of the service provider, the implementation consistent with the specifi cations, and the rules for operation consistent with the implementation. Thus, achieving dependability in a modern system becomes one of the most diffi cult and demanding issues to be solved.