About
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
< 2013 | 2014
  • No entries yet; why not write one?
Important Feeds
3 February 2010
7.00pm
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
3.55pm
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.
1

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.