The document discusses how model driven development (MDD) and model based testing (MBT) can be applied together. It proposes creating a multi-tiered model to describe concurrent, distributed systems at different levels of abstraction. This model can then be used to both guide code development and perform dynamic and static testing of the system. Key aspects include mapping the model to code using classes, collecting runtime traces to check the model, and transforming the model to formal languages like Promela to enable model checking with tools like Spin. The overall goal is to integrate these capabilities into an IDE plugin to help developers design, implement and verify complex systems using models.