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 application's 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 application to be made remote, the distributed system to use to make them remote and the recovery mechanism to use in the event of an error. A software tool in the form of the RemoteJ compiler/generator that uses information contained in the Distribution Definition Language to generate the recovery and distributed system specific code and apply it to the application using bytecode manipulation and generation techniques is introduced. By allowing distribution and autonomic features, such as recovery, to be modularised and applied to existing applications this approach greatly simplifies distributed systems and autonomics development. This book is of particular interest to researchers and students of distributed systems, autonomics, domain-specific aspect languages and aspect-orientation.
What people are saying - Write a review
We haven't found any reviews in the usual places.
Other editions - View all
addition allows approach aspect-oriented aspect-oriented programming AspectJ asynchronous autonomic computing autonomic systems BSD sockets byte bytecode callee class file client and server contains CORBA crosscutting concerns described in Section distributed applications distributed systems development distribution and recovery distribution concern Distribution Definition Language domain-specific aspect language dynamic event example extends getDate illustrated in Figure interaction interface J-Orchestra Java Java’s JBoss join point JShell matched method call middleware modularising multicast NetBSD non-distributed object-oriented ONC RPC options parameters and return pass-by-reference pointcut statement pointcut void Protocol Implementation provides public class public void publish/subscribe queue recovery concern recovery mechanism recovery scenarios recovery statement registry remote method remote object remote procedure calls RemoteJ RemoteJ compiler/generator return values reuse RIDL RMI protocol RPC systems runtime semantics separation of concerns server socket specific String stub Subscriber thereby throws RemoteException Transfer object user-defined recovery routines