A modelling language for rich internet applications : a thesis presented in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science at Massey University, Turitea, New Zealand
This thesis presents the Internet Application Modelling Language (IAML), a modelling language to
support the model-driven development of Rich Internet Applications (RIAs). This definition includes
a visual syntax to support the graphical development of IAML model instances, and the underlying
metamodel satisfies the metamodelling and viewpoint architectures of the Model Driven Architecture.
While there are many existing modelling languages for web applications, none of these languages
were found to be expressive enough to describe fundamental RIA concepts such as client-side events
and user interaction. This thesis therefore presents IAML as a new language that reuses existing standards
where appropriate. IAML is supported by a proof-of-concept CASE tool within the Eclipse
framework, and released under an open source license to encourage industry use. This reference implementation
successfully integrates a number of different model-driven technologies to demonstrate
the expressiveness of the modelling language.
The IAML metamodel supports many features not found in other web application modelling languages,
such as Event-Condition-Action rules; the expression of reusable patterns through Wires; and
a metamodel core based on first-order logic. Through the implementation of the RIA benchmarking
application Ticket 2.0, the concepts behind the design of IAML have been shown to simplify the
development of real-world RIAs when compared to conventional web application frameworks.