PhD Research Student
Room 3xx, General Purpose South Building (building 78)
School of Information Technology and Electrical Engineering
The University of Queensland
Queensland 4072 AUSTRALIA
Phone: +61 7 3365 xxxx; Fax: +61 7 3365 4999
Research Interests: Model-Driven Software Development (MDSD, MDE, MDD), Model-Based Testing (MBT), Web Engineering, Architecture-Centric Model-Driven Web Engineering (AC-MDWE)
In recent years, web engineering has increased in importance as the pervasiveness of the Internet and World Wide Web has grown. There have been many advances in web engineering and software developers must keep abreast of new and emerging technologies while delivering and maintaining many web applications. Most modern software applications have some web-based elements making web engineering one of the fastest growing areas in software development.
At the heart of most web applications is the domain model. The domain model consists of a set of classes that represent the core entities and their relationships. Web developers produce a large amount of boilerplate artefacts based on the domain model. Furthermore, when the domain model is changed, developers are burdened with multiple changes across many artefacts. These consequential changes have a negative effect on development efficiency and software quality.
Web application architecture is strongly focused on the supporting frameworks and technologies. Numerous artefacts based on the architecture need to be built and subsequently maintained in a coherent state. To achieve this goal, the architect will likely capture the core concepts in a coherent and abstract form. This naturally leads to the gradual evolution of a model that reflects the architect's intent.
In general, a model is a representation of something. Models can be used for many purposes in software engineering. Traditionally, models are used to represent buildings, engines, circuits, and the like. More recently models are being used as representations of the software application itself. The model can then be used for many purposes in development and testing.
In this thesis, the model is derived by abstracting from the patterns and architecture of the web application in a bottom-up approach. The model is then used to generate artefacts used for both development and testing. The hypothesis is that a model can be used to improve development efficiency, software quality, and reusability for both the development and testing of web applications. It can deliver development efficiency by alleviating repetitive boilerplate development tasks; it can improve software quality by facilitating test tool development and supporting increased test coverage; and it can provide reusability by encapsulating core business ideas to be used across multiple projects and teams. The approach is labelled Architecture-Centric Model-Driven Web Engineering (AC-MDWE) and is validated in the thesis by considering two implementation tool chains that have been applied to four web applications. It guides the reader from motivation to implementation.
Escott, E., Strooper, P., King, P., and Hayes, I. J.: Model-Driven Web Form Validation using UML and OCL, 7th Model-Driven Web Engineering Workshop (ICWE 2011). [EE]
Escott, E., Strooper, P., Süß, J. G., and King, P.: Architecture-Centric Model-Driven Web Engineering, The 18th Asia-Pacific Software Engineering Conference (APSEC 2011). [EE]
Escott, E., Strooper, P., Steel, J., and King, P.: Integrating Model-Based Testing in Model-Driven Web Engineering, The 18th Asia-Pacific Software Engineering Conference (APSEC 2011). [EE]
Escott, E.: A Model-Driven Approach to Developing and Testing Web Applications., PhD Thesis (UQ 2013). [PDF]