Logo PTI
Polish Information Processing Society
Logo FedCSIS

Annals of Computer Science and Information Systems, Volume 15

Proceedings of the 2018 Federated Conference on Computer Science and Information Systems

Model-driven Query Generation for Elasticsearch

, , ,

DOI: http://dx.doi.org/10.15439/2018F218

Citation: Proceedings of the 2018 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 15, pages 853862 ()

Full text

Abstract. Elasticsearch is a distributed RESTful search engine, capable of solving growing number of use cases and can handle petabytes of data in seconds. However, Elasticsearch comes with a complex query language which causes a steep learning curve for the developers and, therefore, creation of queries can be difficult and time-consuming in many cases. Hence, in this paper, we introduce a Domain-specific Modeling Language (DSML), called Dimension Query Language (DQL), to support the model-driven development of Elasticsearch queries. Elasticsearch queries can be automatically generated from DQL models and DQL's IDE is capable of executing these auto-generated Elasticsearch queries on remote repositories. An evaluation of using DQL has been performed at the industrial level with the participation of a group of developers. The conducted evaluation showed that the use of the language significantly decreases the development time required for creating Elasticsearch queries. Finally, qualitative assessment, based on the developers' feedback, exposed how DQL facilitates the development of Elasticsearch queries.


  1. A. Bialecki, R. Muir, G. Ingersoil. 2012. “Apache Lucene 4”, in Proc. SIGIR 2012 Workshop on Open Source Information Retrieval, Portland, Oregon USA, pp. 17–24.
  2. Elasticsearch BV. 2014. “Elasticsearch - The Heart of the Elastic Stack”, available at: https://www.elastic.co/products/elasticsearch (last access: July 2018)
  3. O. Kononenko, O. Baysal, R. Holmes, M. W. Godfrey. 2014. Mining modern repositories with elasticsearch. In Proc. 11th Working Conference on Mining Software Repositories (MSR 2014), Hyderabad, India, pp. 328–331, http://dx.doi.org/10.1145/2597073.2597091.
  4. Elasticsearch BV. 2015. “Kibana - Your Window into the Elastic Stack”, available at: https://www.elastic.co/products/kibana (last access: July 2018)
  5. B. Selic. 2003. The pragmatics of model-driven development. IEEE Software 20: 19-25, http://dx.doi.org/10.1109/MS.2003.1231146
  6. J. Poruban, M. Bacikova, S. Chodarev, M. Nosal. 2014. “Pragmatic Model-Driven Software Development from the Viewpoint of a Programmer: Teaching Experience”, in Proc. 3rd Workshop on Model Driven Approaches in System Development (MDASD@FedCSIS’14), Warsaw, Poland, pp. 1647–1656, http://dx.doi.org/10.15439/2014F266.
  7. M. Brambilla, J. Cabot, M. Wimmer. 2017. Model Driven Software Engineering in Practice, Second Edition, Morgan & Claypool, http://dx.doi.org/10.2200/S00751ED2V01Y201701SWE004
  8. J. Whittle, J. Hutchinson, M. Rouncefield. 2014. The state of practice in model-driven Engineering. IEEE Software, 31(3):79-85, http://dx.doi.org/10.1109/MS.2013.65.
  9. G. Kardas. 2013. Model-driven development of multi-agent systems: a survey and evaluation. The Knowledge Engineering Review, 28(4): 479-503, http://dx.doi.org/10.1017/S0269888913000088
  10. S. Mustafiz, X. Sun, J. Kienzle, H. Vangheluwe. 2008. Model-driven assessment of system dependability. Software & Systems Modeling, 7(4): 487-502, http://dx.doi.org/10.1007/s10270-008-0084-1.
  11. H. B. Saritas, G. Kardas. 2014. A model driven architecture for the development of smart card software. Computer Languages, Systems & Structures, 40(2): 53-72, http://dx.doi.org/10.1016/j.cl.2014.02.001.
  12. A. Harbouche, N. Djedi, M. Erradi, J. Ben-Othman, A. Kobbane. 2017. Model driven flexible design of a wireless body sensor network for health monitoring. Computer Networks, 129(2): 548-571, http://dx.doi.org/10.1016/j.comnet.2017.06.014.
  13. F. Erata, C. Gardent, B. Gyawali, A. Shimorina, Y. Lussaud, B. Tekinerdogan, G. Kardas, A. Monceaux. 2017. “ModelWriter: Text & Model-Synchronized Document Engineering Platform”, in Proc 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2017), Urbana-Champaign, Illinois, USA, pp. 907-912.
  14. M. Mernik, J. Heering, A. Sloane. 2005. When and how to develop domain-specific languages. ACM Computing Surveys, 37(4): 316-344, http://dx.doi.org/10.1145/1118890.1118892.
  15. M. J. Varanda Pereira, M. Mernik, D. da Cruz, P. Rangel Henriques. 2008. Program Comprehension for Domain-specific Languages. Computer Science and Information Systems, 5(2): 1-17, http://dx.doi.org/10.2298/CSIS0802001P.
  16. I. Lukovic, M. J. Varanda Pereira, N. Oliveira, D. da Cruz, P. Rangel Henriques. 2011. A DSL for PIM specifications: Design and attribute grammar based implementation. Computer Science and Information Systems, 8(2): 379-403, http://dx.doi.org/10.2298/CSIS101229018L.
  17. T. Kosar, M. Mernik, J. Gray, T. Kos. 2014. Debugging measurement systems using a domain-specific modeling language. Computers in Industry, 65(4): 622-635, http://dx.doi.org/10.1016/j.compind.2014.01.013.
  18. B. Bryant, J-M. Jezequel, R. Lammel, M. Mernik, M. Schindler, F. Steinmann. 2015. “Globalized Domain Specific Language Engineering”, in Globalizing Domain-Specific Languages. B. Combemale, B. Cheng, R. France, J-M. Jezequel, B. Rumpe (eds). Lecture Notes in Computer Science, 9400: 43-69, http://dx.doi.org/10.1007/978-3-319-26172-0_4.
  19. G. Kardas, B. T. Tezel, M. Challenger. 2018. Domain-specific modelling language for belief-desire-intention software agents. IET Software, http://dx.doi.org/10.1049/iet-sen.2017.0094.
  20. J. Cunha, J. P. Fernandes, J. Mendes, R. Pereira, J. Saraiva. 2013. “Querying model-driven spreadsheets”, in Proc. 2013 IEEE Symposium on Visual Languages and Human Centric Computing (VL/HCC 2013), San Jose, CA, USA, pp. 83-86, DOI: 10.1109/VLHCC.2013.6645247.
  21. S. Ristic, S. Aleksic, M. Celikovic, V. Dimitrieski, I. Lukovic. 2014. Database reverse engineering based on meta-models. Central European Journal of Computer Science, 4(3): 150-159, DOI: 10.2478/s13537-014-0218-1.
  22. S. Ristic, S. Kordic, M. Celikovic, V. Dimitrieski, I. Lukovic. 2016.. “A Model-to-Model Transformation of a Generic Relational Database Schema into a Form Type Data Model”, in Proc. 4rd Workshop on Model Driven Approaches in System Development (MDASD@FedCSIS’16), Gdansk, Poland, pp. 1577–1580, DOI: 10.15439/2016F408.
  23. A. Popovic, I. Lukovic, V. Dimitrieski, V. Djukic. 2015. A DSL for modeling application-specific functionalities of business applications. Computer Languages, Systems & Structures, 43: 69-95, http://dx.doi.org/10.1016/j.cl.2015.03.003.
  24. Elasticsearch BV. 2015. “Elastic Stack and Product Documentation”, available at: https://www.elastic.co/guide/index.html (last access: July 2018)
  25. J. Cunha, J. P. Fernandes, J. Mendes, J. Saraiva. 2012. “MDSheet: A framework for model-driven spreadsheet engineering”., in Proc. 34th International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland, pp. 1395-1398, http://dx.doi.org/10.1109/ICSE.2012.6227239.
  26. J. Cunha, J. P. Fernandes, J. Mendes, R. Pereira, J. Saraiva. 2015. “Design and Implementation of Queries for Model-Driven Spreadsheets”, in Central European Functional Programming School. V. Zsok, Z. Horvath, L., Csató (eds). Lecture Notes in Computer Science, 8606: 459-478, http://dx.doi.org/10.1007/978-3-319-15940-9_13.
  27. Y. Horry. 2017. Financial information description language and visualization/analysis tools. Computer Languages, Systems & Structures, 50, 31-52, http://dx.doi.org/10.1016/j.cl.2017.05.005.
  28. C. Bhadane, H. A. Mody, D. U. Shah, P. R. Sheth. 2014. Use of Elastic Search for Intelligent Algorithms to Ease the Healthcare Industry. International Journal of Soft Computing and Engineering, 3(6), 222-225.
  29. P. P. I. Langi, Widyawan, W. Najib, T. B. Aji. 2015. in Proc. 2015 International Conference on Information, Communication Technology and System (ICTS 2015), Surabaya, Indonesia, pp. 181-186, http://dx.doi.org/10.1109/ICTS.2015.7379895.
  30. F. Haser, M. Felderer, R: Breu. 2016. Is business domain language support beneficial for creating test case specifications: A controlled experiment. Information and Software Technology, 79, 52-62, http://dx.doi.org/10.1016/ j.infsof.2016.07.001.
  31. A. N. Johanson, W. Hasselbring. 2017. Effectiveness and efficiency of a domain-specific language for high-performance marine ecosystem simulation: a controlled experiment. Empirical Software Engineering, 22(4), 2206-2236, http://dx.doi.org/10.1007/s1066.
  32. T. Kosar, S. Gaberc, J. C. Carver, M. Mernik. 2018. Program comprehension of domain-specific and general-purpose languages: replication of a family of experiments using integrated development environments. Empirical Software Engineering, http://dx.doi.org/10.1007/s10664-017-9593-2.