6.2 Limitations & Challenges
The AXIOM approach has several limitations and
challenges. First, it deviates slightly from the clas-
sic MDE approach. Second, it may prove chal-
lenging to achieve true platform independence even
though Groovy compiles to JVM bytecode and is thus
portable. This may prove particularly challenging
when the target platform is not Java-based as is the
case with the iPhone OS. Third, there is limited tool
support for this approach. While many tools support
UML models or Groovy code in isolation, AXIOM
requires that they be unified and interchangeable.
7 CONCLUSIONS
Through the use of dynamic languages, model driven
engineering becomes more feasible than if it remains
bound solely to UML. Existing MDE models suffer
from UML limitations, a lack of adequate tool support
and limited access to useful frameworks and libraries.
AXIOM’s goal is to evolve MDE by augmenting
UML with a dynamic language and while there are
challenges to overcome, the benefits provided by this
synthesis are significant. Many dynamic languages
support high degrees of abstraction in the form of
DSLs. Models based on these languages have ac-
cess to all of the language’s libraries and frameworks.
Tool support for these models is readily available in
the form of existing text editors and source code con-
trol systems, which provide well understood means
of model interchange. Finally, dynamic languages
yield executable models, which can be rapidly val-
idated and verified. By retaining the key visual el-
ements of UML, these models remain accessible to
modelers and developers alike.
The AXIOM approach will yield models that are
faster to develop, easier to verify, and which will be
compatible with mainstream Agile methodologies. If
AXIOM’s promise is realized, it has the potential to
deliver significant cost savings, particularly for cross-
platform application development, while improving
overall application quality.
REFERENCES
Ambler, S. (2003-2009). Agile model
driven development (AMDD): The key
to scaling agile software development.
http://www.agilemodeling.com/essays/amdd.htm/.
Beedle, M. et al. (2001). Manifesto for agile software de-
velopment. http://agilemanifesto.org/.
France, R. B. et al. (2006). Model-driven development
using UML 2.0: Promises and pitfalls. Computer,
39(2):59–66.
Heijstek, W. and Chaudron, M. R. (2010). The impact of
model driven development on the software architec-
ture process. Software Engineering and Advanced Ap-
plications, Euromicro Conference, 0:333–341.
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.
Jia, X. et al. (2007). Executable visual software model-
ing:the zoom approach. Software Quality Journal,
15(1).
Jia, X. et al. (2008). A model transformation framework for
model driven engineering. In Workshop on Modelling,
Simulation, Verification and Validation of Enterprise
Information Systems, 2008, Barcelona, Spain.
Lange, C. et al. (2003). An empirical investigation in quan-
tifying inconsistency and incompleteness of uml de-
signs. In Incompleteness of UML Designs, Proceed-
ings of the IEEE Workshop on Consistency Problems
in UML-based Software Development, 6th Intl. Con-
ference on UML, pages 26–34.
Liu, H. and Jia, X. (2010). Model transformation using a
simplified metamodel. Journal of Software Engineer-
ing and Applications, 3(7):653–660.
Lundell, B. et al. (2006). UML model interchange in hetero-
geneous tool environments: An analysis of adoptions
of XMI 2. In MoDELS 2006, pages 619–630.
Margaria, T. and Steffen, B. (2008). Agile it: Thinking in
user-centric models. In ISoLA 2008, pages 490–502.
Margaria, T. and Steffen, B. (2009). Continuous model-
driven engineering. Computer, 42(10):106–109.
Mellor, S. J. and Balcer, M. (2002). Executable UML: A
Foundation for Model-Driven Architectures. Addison-
Wesley, Boston, MA, USA.
Object Management Group (2010). Success stories.
http://www.omg.org/mda/products success.htm/.
Paltor, I. and Lilius, J. (1999). Formalising uml state ma-
chines for model checking. In UML, pages 430–445.
Selic, B. (2003). The pragmatics of model-driven develop-
ment. IEEE Software, 20(5):19–25.
Staron, M. (2006). Adopting model driven software devel-
opment in industry - a case study at two companies.
In MoDELS 2006, pages 57–72.
Uhl, A. (2008). Model-driven development in the enter-
prise. IEEE Software, 25(1):46–49.
Yu, L. et al. (2008). Scenario-based static analysis of uml
class models. In MoDELS 2008, pages 234–248.
DYNAMIC LANGUAGES AS MODELING NOTATIONS IN MODEL DRIVEN ENGINEERING
225