https://www21.in.tum.de/teaching/fds/SS21/assets/book-draft.pdf