Information Technology Reference
In-Depth Information
3.8.1
Domain-Specific Aspect Language Implementations
We define a domain-specific aspect language as a language designed for a specific
domain e. g. distribution, that is used by an aspect weaver to insert code based on
instructions and possibly code contained in the language into existing code either
statically, at compile time, or dynamically at runtime.
A number of domain-specific aspect languages have been proposed including
KALA for the transactional domain [35], ERTSAL for the real-time domain [94]
and ALPH for the healthcare domain [72].
Many domain-specific languages (e. g. Orca [8]) have been proposed to aid
distributed programming, and seminal work on aspect-orientation proposes a num-
ber of domain-specific aspect languages, such as the D language framework consist-
ing of the domain-specific aspect languages COOL, for concurrency management,
and RIDL for distribution [66], and the RG language [70], amongst others.
Since the RIDL language was conceived, little work has been done on domain-
specific aspect languages for the distribution concern and the closest work to ours
thus far are RIDL and AWED, which we describe in this section.
3.8.1.1
The D Language Framework
The D language framework consists of three sub-languages:
• JCore, an object-oriented language used to express the basic functionality
and the activity of the system. JCore is a subset of Java 1.0.
• COOL, an aspect language used to express the co-ordination of threads.
• RIDL, an aspect language used to express distribution and remote access
strategies.
A tool that implements an aspect weaver takes the programs written in the
different sub-languages and combines them to produce an executable program with
the specified distributed behaviour. The D framework consists of three types of
modules [65]:
• Classes - Used to implement functional components.
• Coordinators - Used to implement the thread coordination aspect.
• Portals - Used to define code for dealing with application-level data transfers
over remote method invocations.
For the purposes of this discussion, we concentrate on RIDL, the aspect
language used to express remote access strategies.
RIDL is used to define remote RMI objects, the parameter passing mode for
each distributed method in those objects, and the parts of the object graph that
should be copied if the call uses the copy-by-value semantics.
In order for an object to become a remote object, RIDL requires that a
remote interface and portal be defined (for that object) that stipulates the subset of
Search WWH ::




Custom Search