of the rule-based transformations and the associated
templates. In particular these transformations must
be able to handle cases where given functionality is
supported to different extents on different platforms.
Some of those challenges have already been encoun-
tered and addressed in the user interface, but other
such challenges remain such as the implementation
of persistence.
Another area that remains to be addressed is the
introduction of non-functional requirements into the
models and the various decisions that advise the struc-
tural and refining transformations. Such architectural
concerns are central to the ability to model and trans-
form an application for a particular platform. For ex-
ample, it would be desirable for the model transfor-
mations to choose algorithms that are appropriate for
each target platform’s memory and persistent storage
characteristics.
These enhanced models will be used to drive com-
parative experiments to determine if the early bene-
fits seen in the preliminary results continue to man-
ifest as the scale and complexity of the applications
increases, particularly in the areas of developer pro-
ductivity, generated source code quality, and the run-
time performance, efficiency and defect densities of
the executable application.
11 CONCLUSIONS
AXIOM is a model-driven approach for developing
high quality, cross-platform applications. We have
successfully demonstrated its feasibility in develop-
ing cross-platform mobile applications for Android
and iOS platforms. AXIOM uses a DSL to provide
a high level abstraction of mobile platforms. Applica-
tions are represented as intent models using the DSL
and are then augmented with structural decisions and
refined with other platform-specific elements during a
multi-phase transformation process to produce source
code for native applications.
The potential benefits of AXIOM include signif-
icant cost savings in software development owing to
dramatic increases in productivity. AXIOM supports
executable models, which enable iterative and incre-
mental development and allow early validation of the
applications. Product quality can be significantly im-
proved due to the reduced amount of hand-written
code. The highly customizable transformation pro-
cess offers a high degree of control over code genera-
tion.
Our preliminary findings in terms of the potential
gains in productivity are promising. We intend to fur-
ther enhance the prototype tool to provide more com-
prehensive support of mobile platforms. This will en-
able us to conduct more extensive comparative stud-
ies and experiments using AXIOM. We plan to collect
and analyze data in a number of different aspects, in-
cluding developer productivity, the source code qual-
ity of generated applications, and the performance, ef-
ficiency and defect density of generated applications.
REFERENCES
Alencar, A. J. and Goguen, J. A. (1991). OOZE: An object
oriented Z environment. In ECOOP’91, pages 180–
199.
Ambler, S. (2009). Agile model driven
development (AMDD): The key to
scaling agile software development.
http://www.agilemodeling.com/essays/amdd.htm/.
Bohlen, M., Brandon, C., et al. (2003). AndroMDA.
http://www.andromda.org/docs/index.html.
C
´
aceres, P., Daz, F., et al. (2004). Integrating an Agile Pro-
cess in a Model Driven Architecture.
C
´
aceres, P., Marcos, E., et al. (2003). A mda-based ap-
proach for web information system development. In
Proceedings of Workshop in Software Model Engi-
neering.
Clarke, E. M., Wing, J. M., et al. (1996). Formal methods:
state of the art and future directions. ACM Computing
Surveys, 28:626–643.
Convergence Modelling LLC. (2011). Canappi.
http://www.canappi.com/.
Cusack, E. and Rafsanjani, G.-H. B. (1992). Zest. In Ob-
ject Orientation in Z, Workshops in Computing, pages
113–126. Springer.
Ellis, M. A. and Stroustrup, B. (1990). The Annotated C++
Reference Manual. Addison Wesley.
France, R. B., Ghosh, S., Dinh-Trong, T., and Solberg, A.
(2006). Model-driven development using UML 2.0:
Promises and pitfalls. Computer, 39(2):59–66.
Gogolla, M., B
¨
uttner, F., et al. (2007). USE: A UML-Based
Specification Environment for Validating UML and
OCL. Science of Computer Programming, 69:27–34.
Gosling, J., Joy, B., et al. (2000). The Java Language Spec-
ification, 2nd Edition. Addison Wesley.
Hamilton, D., Covington, R., et al. (1995). Experiences in
applying formal methods to the analysis of software
and system requirements. Industrial-Strength Formal
Specification Techniques, Workshop on, 0:30.
Hammel, Z., Visser, E., et al. (2010). mobl: the new lan-
guage of the mobile web. http://www.mobl-lang.org/.
Henderson-Sellers, B. (2005). UML - the good, the bad or
the ugly? perspectives from a panel of experts. Soft-
ware and System Modeling, 4(1):4–13.
Jackson, D. (2002). Alloy: a lightweight object mod-
elling notation. ACM Trans. Softw. Eng. Methodol.,
11(2):256–290.
ICSOFT2012-7thInternationalConferenceonSoftwareParadigmTrends
32