to query than if it is stored on files: this is possible
with NeoEMF (G
´
omez et al., 2015), an alternative
model persistence layer for EMF models with sup-
port for Neo4j and MapDB among other technologies.
Another similar option is MongoEMF
2
, which uses
the MongoDB document database.
Beyond database-backed single models, database
storage of entire collections is also possible with
model repository technologies such as Eclipse Con-
nected Data Objects (CDO)
3
or Morsa (Pag
´
an et al.,
2013). CDO in particular is very mature and supports
both relational and document-oriented databases.
Unfortunately, none of these technologies would
have been of much use for MEASURE straight away,
as Modelio models are not based on EMF. Even if
a mapping to EMF were implemented, we would
be left with two options: either replace the persis-
tence technology in the original models (which is
non-trivial and intrusive on the user experience), or
implement an incremental synchronisation approach
between the original models and our EMF-based copy
for indexing. The second alternative would have been
roughly equivalent to what was already in Hawk, wit-
hout its other benefits of incremental/derived attribu-
tes and a web service API.
6 CONCLUSION AND FUTURE
WORK
The MEASURE project is developing a platform for
collecting metrics across the entire software develop-
ment lifecycle. In model-driven processes, the spe-
cification and design phases operate on models rat-
her than on code: it is necessary to extract measure-
ments from models as well. It can be very expensive
to collect metrics across large collections of models,
or from very large models. This paper has shown the
first version of an integration between the MEASURE
platform and the Hawk model indexing framework,
with positive results in terms of flexibility and perfor-
mance. Hawk makes it possible to use “big data”-
class NoSQL technologies for efficient querying of
existing models with little technical risk.
Hawk can now index any model supported by cur-
rent and future versions of Modelio without changes
in its code. It has been used in this paper to index
both Modelio 3.6 and 3.7 models, some of them from
the enteprise architecture domain and some from the
object-oriented software design domain. Hawk ser-
vers can be provisioned in an automated way wit-
2
https://github.com/BryanHun/mongo-emf
3
http://wiki.eclipse.org/CDO
hout involving the use of its API, and it is possible
to deploy both custom and predefined EOL queries in
the MEASURE platform. Hawk was also used to in-
dex 2GB of industrial Modelio models: while there is
some upfront cost in the indexing, it is quickly amorti-
sed through the faster execution of the queries and the
incremental updates for later changes in the models.
Regarding future work, the MEASURE platform
will be extended with analysis capabilities that com-
bine multiple metrics, possibly from different arte-
facts and phases in the software development lifecy-
cle. Hawk will be further validated through the imple-
mentation of additional queries from the MEASURE
industrial partners, and some of the queries will be
optimised with the use of derived and indexed attribu-
tes.
ACKNOWLEDGEMENTS
The research leading to these results was partially fun-
ded by the ITEA3 project 14009, MEASURE.
REFERENCES
Abherve, A. (2017). Github project for the SMM Mea-
sure API library. https://github.com/ITEA3-Measure/
SMMMeasureApi. Last accessed on 2017-11-01.
Abherve, A., Bagnato, A., Stefanescu, A., and Baars,
A. (2017). Github project for the MEASURE
platform. https://github.com/ITEA3-Measure/
MeasurePlatform/graphs/contributors. Last accessed
on 2017-11-01.
Al-wadeai, O. (2017). Github project for the Hawk
query SMM measure library. https://github.com/
Orjuwan-alwadeai/HawkQuerySMMMMeasureLib.
Last accessed on 2017-11-01.
Apache Software Foundation (2017). Apache Thrift project
website. http://thrift.apache.org/. Last accessed on
2017-11-01.
Barmpis, K. and Kolovos, D. S. (2013). Hawk: towards a
scalable model indexing architecture. In Proceedings
of the Workshop on Scalability in Model Driven Engi-
neering, BigMDE ’13, pages 6:1–6:9, New York, NY,
USA. ACM.
Garcia-Dominguez, A., Barmpis, K., Kolovos, D. S.,
da Silva, M. A. A., Abherve, A., and Bagnato, A.
(2016). Integration of a graph-based model indexer
in commercial modelling tools. In Proceedings of the
ACM/IEEE 19th International Conference on Model
Driven Engineering Languages and Systems, pages
340–350, Saint Malo, France. ACM Press.
G
´
omez, A., Tisi, M., Suny
´
e, G., and Cabot, J. (2015). Map-
based transparent persistence for very large models.
In Egyed, A. and Schaefer, I., editors, Fundamen-
tal Approaches to Software Engineering, volume 9033
Integration of Hawk for Model Metrics in the MEASURE Platform
729