This line of research investigates models, protocols and architectures, that are suitable for applications with strong dependability requirements, namely applications that need to remain operational despite accidental faults or malicious attacks. The solutions being developed cover a diverse set of objectives, enforcing the prevention, detection and tolerance of failures. The kind of environments that are being contemplated include cloud deployments, highly dynamic and geographically distributed networks, mobile distributed computing, web systems and applications, smart grids and other critical infrastructures.