Describir: Software engineering for resilient systems