Autonomics Development: A Domain Specific Aspect Language Approach Distributed applications are difficult to write as programmers need to adhere to specific distributed systems programming conventions and frameworks which makes distributed systems development complex and error prone and ties the resultant application to the distributed system because the applications code is tangled with the crosscutting concern distribution. This book introduces the concept of a domain specific aspect language called a Distribution Definition Language that generalises the distribution and distribution recovery concerns by describing the classes and methods of an existing a