This document discusses model differencing, which is the ability to detect and represent changes between versions of a model. It begins by outlining the key challenges of model differencing and proposes decomposing the problem into calculation of differences, representation of differences, and applications of differences. It then examines approaches for representing differences, such as edit scripts and coloring, and proposes a difference metamodel for abstractly representing differences. The document concludes by discussing how difference models can be used for model patching and composition of differences.