Information Technology Reference
In-Depth Information
to existing applications. We provided a case study of extending the recovery
capability by the use of user-defined recovery routines to provide a fairly
sophisticated recovery scenario using network multicasting.
The main motivation of this project has been to simplify the development
of distributed applications. We believe, by providing the above contributions, we
have succeeded. However, as with many projects, further work needs to be done.
We have faced a number of challenges during the project that has led us
to take various design decisions. We describe these challenges and decisions in
Section 7.2. Areas for additional work are discussed in Section 7.3 andwepresent
our conclusions in Section 7.4.
7.2 Challenges and Design Decisions
In this section we describe a number of challenges we have experienced and design
decisions we have taken during this project.
7.2.1
Compiler/Generator
One of the early decisions of the project was whether to use a parser generator
tool, such as ANTLR [81], for the compiler/generator or to develop our own parser
generator. Faced with the prospect of hand-coding our own parser generator led
us to evaluate the ANTLR tool. However we found that in order to use it we
would have to extend the Java grammar as we allow Java statements in the DDL
recovery statement. As the DDL is relatively simple we decided to adopt the
compiler patterns defined by Watt and Brown [119] instead. As the addition of
new protocols to the DDL can be done without extending the DDL grammar, as
discussed in Section 6.2, this has proven to be the correct decision, as it would
be dicult, or perhaps impossible, to provide this functionality using a parser
generator tool.
7.2.2
Language Features
One of the fundamental challenges we were faced with during the design of the
DDL was what to include and what not to include in the language. Our main
desire was to keep the language as simple and elegant as possible yet be able to
fully express the distribution and recovery concerns.
Our principle of ensuring that applications have been written with distribu-
tion in mind has been the guiding principle of our approach and has influenced
many design decisions. This approach was adopted from the Waldo et al. [118]
network awareness model. However, our implementation is fundamentally differ-
ent as it removes the distribution and recovery concerns from the application's
code, whereas the Waldo et al. [118] implementation tangles the distribution and
recovery concepts in the application's code.
Search WWH ::




Custom Search