Developing Web-based Geographic Information Systems with a DSL: Proposal and Case Study
Keywords:Domain specific language, geographic information systems
In this paper, we present a declarative domain-specific language (DSL) for the development of Geographic Information Systems (GIS). GIS applications manage information with a spatial component, usually in the form of points, lines, polygons, or variants of these basic data types, in domains where the spatial information plays a central role. They provide the user with different functionalities on different application domains, but they are usually developed according to a common architecture and using a common set of technologies. Hence, they share a significant number of elements that make some aspects of their development quite repetitive. Our DSL allows developers to specify the entities, geographic layers, and maps of the applications using a declarative language. Then, the specification is transformed into a working GIS application. We present the language, its implementation, and a case study on two sample projects that allowed us to evaluate the resulting software, paying special attention to the savings in the development effort.
Suilen Hernández Alvarado, Alejandro Cortiñas, Miguel R. Luaces, Oscar Pedreira, and Ángeles Saavedra Places. A domain specific language for web-based GIS. In Procs. of the 15th International Conference on Web Information Systems and Technologies (WEBIST 2019), pages 462–469. ScitePress, 2019.
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. Automated analysis of feature models 20 years later: A literature review. Information Systems, 35(6):615–636, 2010.
Maicon Bernardino, Avelino F Zorzo, and Elder M Rodrigues. Canopus: A domain-specific language for modeling performance testing. In Procs. of the IEEE International Conference on Software Testing, Verification and Validation (ICST 2016), pages 157–167. IEEE, 2016.
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. Model-driven software engineering in practice. Synthesis Lectures on Software Engineering, 1(1):1–182, 2017.
Alejandro Cortiñas, Miguel R Luaces, Oscar Pedreira, and Ángeles S Places. Scaffolding and in-browser generation of web-based gis applications in a spl tool. In Procs. of the 21st International Systems and Software Product Line Conference-Volume B, pages 46–49. ACM, 2017.
Alejandro Cortiñas, Miguel R Luaces, Oscar Pedreira, Ángeles S Places, and Jennifer Pérez. Web-based geographic information systems sple: Domain analysis and experience report. In Procs. of the 21st International Systems and Software Product Line Conference-Volume A, pages 190–194. ACM, 2017.
Martin Fowler. Domain-specific languages. Pearson Education, 2010.
Ulrich Frank. Domain-specific modeling languages: Requirements analysis and design guidelines. In Reinhartz-Berger I., Sturm A., Clark T., Cohen S., and Bettin J., editors, Domain Engineering. Springer, 2013.
Lisboa-Filho J., Nalon F.R., Peixoto D.A., Sampaio G.B., and de Vas-concelos Borges K.A. Domain and model driven geographic database design. In Reinhartz-Berger I., Sturm A., Clark T., Cohen S., and Bettin J., editors, Domain Engineering. Springer, 2013.
Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer Peterson. Feature-oriented domain analysis (foda) feasibility study. Technical report, Carnegie-Mellon University - Software Engineering Institute, 1990.
Tomaž Kosar, Sudev Bohra, and Marjan Mernik. Domain-specific languages: A systematic mapping study. Information and Software Technology, 71:77–91, 2016.
Tatjana Kutzner. Geospatial Data Modelling and Model-driven Transformation of Geospatial Data based on UML Profiles. PhD thesis, Technical University of Munich, 2016.
Jugurta Lisboa-Filho, Gustavo Breder Sampaio, Filipe Ribeiro Nalon, and Karla A. de V. Borges. A uml profile for conceptual modeling in gis domain. In Procs. of DE Workshop at International Conference on Advanced Information Systems Engineering (CAISE 2010), pages 18–31, 2010.
Steven Lolong and Achmad I Kistijantoro. Domain specific language (dsl) development for desktop-based database application generator. In Procs. of the International Conference on Electrical Engineering and Informatics, pages 1–6. IEEE, 2011.
Marjan Mernik, Jan Heering, and Anthony M Sloane. When and how to develop domain-specific languages. ACM Computing Surveys (CSUR), 37(4):316–344, 2005.
Oscar Pastor and Juan Carlos Molina. Model-driven architecture in practice: a software production environment based on conceptual modeling. Springer, 2007.
Moisés Rodríguez and Mario Piattini. Software product quality evaluation using ISO/IEC 25000. ERCIM News, 2014(99), 2014.
Gustavo Breder Sampaio, Filipe Ribeiro Nalon, and Jugurta Lisboa Filho. Geoprofile – UML profile for conceptual modeling of geographic databases. In Procs. of the 12th International Conference on Enterprise Information Systems (ICEIS 2010), pages 409–412, 2010.
Robert W. Sebesta. Concepts of Programming Languages. Pearson, 2016.