This is a regularly-updated blog documenting myself and my progress through my PhD in developing a modelling language for interactive web applications.
Contact me via e-mail.
Follow me on Twitter: @soundasleep.
Thesis Status
Entry Archive
< 2015 | 2016
  • No entries yet; why not write one?
Important Feeds
3 February 2010
Profiling the Performance of IAML Test Cases
I was interested in improving the performance of my test cases, so I decided to write a few profiling methods so I can analyse what is taking the most time (the first fundamental rule of optimisation: know what to optimise). The preliminary results (executed only on a single large test case of 9 test methods) are interesting:

overall test times

13% of the time is spent inferring model elements;
54% of the time is spent executing code generation;
4% of the time is spent copying previously generated (cached) code generation files;
and 29% of the time is spent actually navigating the generated application.

However, these results are affected by the code generation cache. If I only consider the first test method (i.e. there is no way to reuse previously cached information), I get a more accurate representation of the necessary time for a single test case (which does very little web application navigation):

initial setup time

Here we can see the initial inference time and the initial code generation time - notice they are identical (in seconds) to the overall test time.

If we remove these constant costs, we can get a picture of the average cost per test case:

individual web actions

12% is spent loading from cache;
11% is spent waiting for AJAX calls to return; and
70% is spent navigating around the application otherwise.

More investigation is necessary to actually see which parts of my tests I need to focus optimisation on (by profiling the entire test suite, for example).
Read Thoughts (1) -
9 September 2008
Comparing Visual and Textual Implementations
Today, after talking with my supervisor, I decided to no longer try and submit a paper to the APCCM 09 conference. While I would have liked to attend, I don't think I could have submitted anything original enough to warrant inclusion in a modelling conference.

One of the key parts of my work is in validating that a RIA modelling language is actually better than existing languages or approaches. Because we are working with visual models, we cannot directly apply LOC metrics to different implementations; however, von Pilgrim (2007) discusses a really interesting quantitative approach to measuring the complexity of different model-driven development approaches.

Ideally, we want a transformation chain complexity closer to the solid line than the dashed line (image from the paper):

complexity of transformation chains

Unfortunately, it's difficult otherwise to evaluate our work because as we have shown before, there is no existing modelling language that addresses the requirements of RIAs; our only implementation of Ticket 2.0, for example, is directly in PHP/JS, and it's difficult (if not impossible) to compare visual and texual approaches in any meaningful way.

All page and entry contents are the property of their authors.
All other code, images and intellectual property is copyright © Jevon Wright 2006. All rights reserved.