(ANTLR, OMeta, Microsoft M).
7 CONCLUSIONS/FUTURE
WORK
The proposed EJMM metamodel was instantiated
with data provided by the Java Model and the Eclipse
JDT’s AST. It allowed the formalization in OCL (and
collection) of several metrics sets on top of it easily.
It matches very closely the concepts of the Java lan-
guage and, in our view, is a better alternative when
compared with related works that sacrifice function-
ality for the sake of portability.
Although we have mainly used our MDE tech-
nique for metrics collection, we realized that the cur-
rent plug-in architecture (except for the Frank Sauer’s
metrics visualization component) is generic and it
may be applied to develop other tools that require
Java source code analysis, in areas such as program
comprehension, code smells detection, refactoring or
software evolution, to name a few. Demonstrating the
feasibility of our approach in those research areas will
be a subject of our future work.
REFERENCES
Antoniol, G., Di Penta, M., and Merlo, E. (2003). Yaab (yet
another ast browser): using ocl to navigate asts. In
Intern. Workshop on Program Comprehension, pages
13–22. IEEE.
Baroni, A. L. (2002). Formal Definition of Object-Oriented
Design Metrics. Msc thesis, Vrije Universiteit Brussel
(VUB), Brussels, Belgium.
Brito e Abreu, F. (2001). Using ocl to formalize ob-
ject oriented metrics definitions. Technical Report
ES007/2001, INESC.
Brito e Abreu, F. and Carapuca, R. (1994). Object-oriented
software engineering: Measuring and controlling the
development process. In 4th International Conference
on Software Quality, McLean, Virginia, USA. Ameri-
can Society for Quality.
Bruneliere, H., Cabot, J., Jouault, F., and Madiot, F.
(2010). Modisco: a generic and extensible framework
for model driven reverse engineering. In ASE’10,
ASE’10, pages 173–174, New York, NY, USA. ACM.
Cahill, J., Hogan, J. M., and Thomas, R. (2002). The java
metrics reporter - an extensible tool for oo software
analysis. In 9th Asia-Pacific Software Engineering
Conference, pages 507–516.
Chidamber, S. R. and Kemerer, C. F. (1994). A metrics
suite for object oriented design. IEEE Transactions
on Software Engineering, 20(6):476–493.
Coimbra, P. J. (2013). An Eclipse Plug-in for Metamodel
Driven Measurement. Msc thesis, ISCTE-IUL, Lis-
bon, Portugal.
Database Systems Group, University of Bremen
(2013). Sourceforge.net: The uml-based
specification environment. http:// source-
forge.net/apps/mediawiki/useocl/. Accessed: 2013-
05-30.
El Wakil, M., El Bastawissi, A., Boshra, M., and Fahmy,
A. (2005). A novel approach to formalize and collect
object-oriented design-metrics. In 9th Intern. Conf. on
Empirical Assessment in Software Engineering.
Engelhardt, M., Hein, C., Ritter, T., and Wagner, M. (2009).
Generation of formal model metrics for mof based do-
main specific languages. Electronic Communications
of the EASST, 24.
Gamma, E. and Eggenschwiler, T. (2013). Jhotdraw start
page. Accessed: 13-08-2013.
Gogolla, M., Bttner, F., and Richters, M. (2007). Use:
A uml-based specification environment for validat-
ing uml and ocl. Science of Computer Programming,
69(13):27–34.
Hein, C., Engelhardt, M., Ritter, T., and Wag-
ner, M. (2013). Metrino. http://www. mod-
elbus.org/modelbus/index.php/metrino. Accessed:
2013-05-30.
Klint, P., van der Storm, T., and Vinju, J. (2010). On the
impact of dsl tools on the maintainability of language
implementations. In 10th Workshop on Language De-
scriptions, Tools and Applications, LDTA ’10, pages
10:1–10:9, New York, NY, USA. ACM.
Kuhn, T. and Thomann, O. (2006). Eclipse cor-
ner article: Abstract syntax tree. http://
www.eclipse.org/articles/article.php?file=Article-
JavaCodeManipulation
AST/index.html. Accessed:
2013-05-30.
McCabe, T. J. (1976). A complexity measure. IEEE Trans-
actions on Software Engineering, SE-2(4):308–320.
McQuillan, J. A. (2011). Using Model Driven Engineer-
ing to Reliably Automate the Measurement of Object-
Oriented Software. Phd thesis, National University of
Ireland, Maynooth.
Puybaret, E. (2013). Sweet home 3d - draw floor plans and
arrange furniture freely:. Accessed: 15-09-2013.
QUASAR (2013a). Java facade and code generator for
use (uml-based specification environment). http://
code.google.com/p/j-use/. Accessed: 2013-05-30.
QUASAR (2013b). Metamodel driven measurement
(m2dm) tool. https://code.google.com/p/m2dm/. Ac-
cessed: 2013-09-06.
Sauer, F. (2013). Metrics 1.3.6. http:// met-
rics.sourceforge.net/. Accessed: 2013-05-30.
The Eclipse Foundation (2013). Eclipse
java development tools (jdt) overview.
http://www.eclipse.org/jdt/overview.php. Accessed:
2013-05-30.
Wilkie, F. G. and Harmer, T. J. (2002). Tool support
for measuring complexity in heterogeneous object-
oriented software. In ICSM’2002, pages 152–161.
TheEclipseJavaMetamodel-ScaffoldingSoftwareEngineeringResearchonJavaProjectswithMDETechniques
397