Information Technology Reference
In-Depth Information
JAC [82] is a dynamic AOP framework that has been extended to support a
distributed pointcut definition, which extends the regular pointcut definition with
the ability to specify a named host where the join point should be detected. To sup-
port the distributed deployment of aspects, JAC replicates its Aspect-Component
manager, which is used to keep track of registered aspects on the named hosts. A
consistency protocol is used to ensure that the weaving/unweaving of an aspect on
one site triggers the weaving or unweaving of the same aspect on other sites [82].
A number of multi-protocol systems, such as RMIX [62]andACT[29], have
been proposed. However, these systems use the high-level framework approach
discussed in Section 2.7 and therefore have the same issue as all framework-based
approaches, namely tying the application code to the framework or API.
3.8.5
Our Approach
The D language framework concentrated on distributed thread co-ordination and
remote access strategies but did not address error handling mechanisms. Indeed
Lopes [65], the author of the D language framework, states that error handling was
omitted from D, not because it was not a problem, but because it was too big of a
design problem that needed much more research . Our research addresses this issue
by introducing a domain-specific aspect language that provides modularisation not
only for the distribution concern but also for the distribution recovery concern .In
addition we provide support for multiple protocols while other approaches only
support a single protocol.
Our approach introduces the concept of a Distribution Definition Language
(DDL), a simple high-level domain-specific aspect language, which generalises dis-
tributed systems development by describing the classes and methods to be made
remote, the protocol to use to make them remote and the method used to recover
from a remote error. The DDL is used by the RemoteJ compiler/generator, which
uses bytecode manipulation and generation techniques to provide a distributed
version of the application while retaining existing classes for reuse in other dis-
tributed or non-distributed applications.
By generalising and modularising the distribution and recovery concerns, the
use of a DDL provides a method of developing distributed applications that is
significantly simplified, allows multiple protocols to be supported for the same
code base, allows explicit definition of the recovery concern and enables the same
code to be used in both a distributed and non-distributed application thereby
improving software reuse.
3.9 Chapter Summary
This chapter has provided the lineage towards the domain-specific aspect lan-
guage (DSAL) approach to distributed systems development by examining aspect-
Search WWH ::




Custom Search