Agile modeling with UML : code generation, testing, refactoring - Rumpe, Bernhard (Springer, 2017)