Information Technology Reference
In-Depth Information
We believe this principle to be sound as the alternative, an automatic parti-
tioning system, is complex to implement and, as shown by Tilevich [110], cannot
work in all circumstances.
This approach has led us to not address concurrency because to do so would
result in a distributed thread management system, a feature of an automatic par-
titioning system, which is outside the scope of our approach.
Initial versions of the DDL allowed the use of before, after and around advice
in the pointcut statement. However, upon reflection, we decided to remove these
statements as they added complexity to the language with little benefit, bearing
in mind our primary principle.
The plugin statement, discussed in Section 6.4.2 provides an extension ca-
pability where used-defined code may be added to the DDL and accessed by the
recovery routines. Although this is designed as an extension mechanism, common
routines should be added to the DDL language instead. Exactly what to add will
become clearer once RemoteJ can be tested and studied further.
7.2.3
Protocol Implementations
Adding the event-driven protocols, described in Section 6.2.1, resulted in a com-
promise having to be made in how the DDL is used, as the asynchronous protocols
have a different usage model to the synchronous protocols. As discussed in Sec-
tion 6.2.1, the use of the asynchronous protocols constrains the usage of the DDL
as follows:
• DDL statements must match a single class/method.
• Methods matched by the pointcut statement must have a single serializable
parameter that is either sent to the subscriber or received from the producer.
• Methods matched by the pointcut statement must be declared as returning
void .
Although the above results in a different usage model depending on whether
the protocol is synchronous or asynchronous, we believe that it is better than the
alternative, which is different DDL statements for different models.
7.3 Future Work
The Distribution Definition Language currently has a number of shortcomings that
should be addressed. We have identified the following areas for further research.
7.3.1
Parameters and Return Values
The DDL currently supports copy-by-value for parameters and return values. This
could be extended to include pass-by-reference by adding a DDL statement ref
Search WWH ::




Custom Search