peer reviewedThe goal of this article is to provide a rigorous conceptual framework for defining the concepts of dependability and resilience. Since the seventies, the terms dependability and resilience have been used in nearly all the scientific and technological fields related to Information and Communication systems. The introduction and use of these concepts in all these fields makes it difficult to have a common and precise definition. Having such a definition is nevertheless mandatory for the software and systems engineering research community that create development processes, languages and tools to support the engineering of products that would be required to be dependable or resilient. For this, we introduce an abstract and generic...