DSL-driven generation of Graphical User Interfaces

Michaela Bačíková 1  and Jaroslav Porubän 1
  • 1 Technical university of Košice, Letná 9, 042 00, Košice, Slovakia


Domain-specific languages (DSLs) are becoming more and more popular. However, the number of DSLs is still small when comparing to the number of existing applications. The results of our previous research showed that it is possible to speed up the DSL development process by aiding the first development phases (design and implementation). More specifically it is possible to generate DSLs from existing GUIs (Graphical User Interfaces) of component-based applications. Now we want to use the generated DSLs and their models to generate new user interfaces or even whole new applications. To verify this claim, in this paper we use existing technologies which simplify the creation of web applications: iTasks. We also describe stereotypes of creating GUIs which we used to extract data from existing applications and to generate new applications. In the last part of this paper we limit the types of applications, which can be used for extraction based on our experiments with the prototype.

If the inline PDF is not rendering correctly, you can download the PDF file here.

  • [1] M. Fowler, Domain-Specific Languages (Addison-Wesley Signature Series (Fowler) (Addison-Wesley Professional, 2010)

  • [2] T. Kosar, P.E.M. López, P.A. Barrientos, M. Mernik, A preliminary study on various implementation approaches of domain-specific language, Inf. Softw. Technol. 50(5), 390–405, 2008 http://dx.doi.org/10.1016/j.infsof.2007.04.002

  • [3] J. Kollár, S. Chodarev, Extensible approach to DSL development, J. Inform. Control Management Syst. 8(3), 207–215, 2010

  • [4] M. Mernik, J. Heering, A.M. Sloane, When and how to develop domain-specific languages, ACM Comput. Surv. 37(4), 316–344, 2005 http://dx.doi.org/10.1145/1118890.1118892

  • [5] A. van Deursen, P. Klint, J. Visser, Domain-specific Languages: An Annotated Bibliography, SIGPLAN Not. 35(6), 26–36, 2000 http://dx.doi.org/10.1145/352029.352035

  • [6] T. Kosar, N. Oliveira, M. Mernik, M.J.V. Pereira, M. Crepinšek, D. da Cruz, P.R. Henriques, Comparing General-Purpose and Domain-Specific Languages: An Empirical Study, Comput. Sci. Infor. Syst. 7(2), 247–264, 2010 http://dx.doi.org/10.2298/CSIS1002247K

  • [7] I. Ceh, M. Crepinšek, T. Kosar, M. Mernik, Ontology driven development of domain-specific languages, Comput. Sci. Infor. Syst. 8(2), 317–342, 2011 http://dx.doi.org/10.2298/CSIS101231019C

  • [8] M. Bacíková, J. Porubän, D. Lakatoš, Defining Domain Language of Graphical User Interfaces, SLATE (Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik — place:Dagstuhl, Germany, 2013) 187–202

  • [9] M. Bacíková, Domain analysis with reverse-engineering for GUI feature models, POSTER 2012: 16th International Student Conference on Electrical Engineering, 16, 1–5, 2012

  • [10] M. Kreutzová (Bacíková), J. Porubän, P. Václavík, First Step for GUI Domain Analysis: Formalization, J. Comput. Control Syst. 4(1), 65–70, 2011

  • [11] M. Bacíková, J. Porubän, Analyzing stereotypes of creating graphical user interfaces, Cent. Eur. J. Comp. Sci. 2(3), 300–315, 2012 http://dx.doi.org/10.2478/s13537-012-0020-x

  • [12] M. Bacíková, Š. Nitkulinec, Formalization of Graphical User Interfaces using Ontologies, POSTER 2014: 18th International Student Conference on Electrical Engineering 15, 1–5, 2014

  • [13] M. Bacíková, J. Poruban, Human System Interaction (HSI), 2013 The 6th International Conference on Ergonomic vs. domain usability of user interfaces, Gdansk, Poland, June 2013, 159–166

  • [14] J. Porubän, M. Forgác, M. Sabo, M. Behalek, Annotation based parser generator, Comput. Sci. Inform. Syst.: Special Issue on Advances in Languages, Related Technologies and Applications 7(2), 291–307, 2010

  • [15] J.M. Jansen, R. Plasmeijer, P. Koopman, P. Achten, Embedding a web-based workflow management system in a functional language, Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications, LDTA’ 10 (ACM, New York, USA, 2010) 1–8 http://dx.doi.org/10.1145/1868281.1868288

  • [16] J.M. Neighbors, Software construction using components (University of California, Irvine, 1980)

  • [17] K.C. Kang, S.G. Cohen, J.A. Hess, W.E. Novak, A.S. Peterson, Feature-Oriented Domain Analysis (FODA) Feasibility Study (Carnegie-Mellon University Software Engineering Institute, 1990)

  • [18] M. Moon, K. Yeom, H. Seok Chae, An Approach to Developing Domain Requirements as a Core Asset Based on Commonality and Variability Analysis in a Product Line, IEEE T. Softw. Eng. 31(7), 551–569, 2005 http://dx.doi.org/10.1109/TSE.2005.76

  • [19] K. Czarnecki, T. Bednasch, P. Unger, U.W. Eisenecker, Generative Programming for Embedded Software: An Industrial Experience Report, Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering, GPCE’ 02 (Springer-Verlag, London, UK, 2002) 156–172

  • [20] M. Simos, J. Anthony, Software Reuse, 1998. Proceedings. Fifth International Conference on Weaving the model web: a multi-modeling approach to concepts and features in domain engineering (IEEE, 1998)

  • [21] R.N. Taylor, W. Tracz, L. Coglianese, Software development using domain-specific software architectures: CDRl A011a curriculum module in the SEI style, SIGSOFT Softw. Eng. Notes 20(5), 27–38, 1995 http://dx.doi.org/10.1145/217030.217034

  • [22] R.P. Díaz, Reuse Library Process Model. Final Report (Electronic Systems Division, Air Force Command, USAF, Hanscomb AFB, MA, 1991)

  • [23] A. Valerio, G. Succi, M. Fenaroli, Domain analysis and framework-based software development, SIGAPP Appl. Comput. Rev. 5(2), 4–15, 1997 http://dx.doi.org/10.1145/297075.297081

  • [24] K. Bak, K. Czarnecki, A. Wasowski, Feature and meta-models in Clafer: mixed, specialized, and coupled, Proceedings of the Third international conference on Software language engineering, SLE’10 (Springer-Verlag, Berlin, Heidelberg, 2011) 102–122

  • [25] T. Thum, Ch. Kastner, S. Erdweg, N. Siegmund, Software Product Line Conference (SPLC), 2011 15th International, Abstract Features in Feature Modeling (IEEE, Munich, Germany, 2011) 191–200

  • [26] L. Lisboa, V. Garcia, E. de Almeida, S. Meira, ToolDAy: a tool for domain analysis, Int. J. Software Tools Technol. Transfer (STTT) 13(4), 337–353, 2011 http://dx.doi.org/10.1007/s10009-010-0174-6

  • [27] W. Frakes, R. Prieto-Diaz, Ch. Fox, DARE: Domain analysis and reuse environment, Ann. Softw. Eng. 5, 125–141, 1998 http://dx.doi.org/10.1023/A:1018972323770

  • [28] R. Tairas, M. Mernik, J. Gray, Using ontologies in the domain analysis of domain-specific languages, Models in software engineering: Workshops and Symposia at MODELS 2008, Reports and Revised Selected Papers (Springer, Berlin, Heidelberg, 2009) 332–342

  • [29] H. Yang, J. Callan, Ontology generation for large email collections, Proceedings of the 2008 international conference on Digital government research, dg.o’ 08 (Digital Government Society of North America, Montreal, Canada, 2008) 254–261

  • [30] J.R.G. Pulido, S.B.F. Flores, R.C.M. Ramirez, R.A. Diaz, Eliciting Ontology Components from Semantic Specific- Domain Maps: Towards the Next Generation Web, Proceedings of the 2009 Latin American Web Congress (la-web 2009), LA-WEB’ 09 (IEEE Computer Society, Washington DC, USA, 2009) 224–229

  • [31] Y.A. Tijerino, D.W. Embley, D.W. Lonsdale, Y. Ding, G. Nagy, Towards Ontology Generation from Tables, World Wide Web 8(3), 261–285, 2005 http://dx.doi.org/10.1007/s11280-005-0360-8

  • [32] M. Wimmer, A Meta-Framework for Generating Ontologies from Legacy Schemas, Proceedings of the 2009 20th International Workshop on Database and Expert Systems Application, DEXA’ 09 (IEEE Computer Society, Washington DC, USA, 2009) 474–479 http://dx.doi.org/10.1109/DEXA.2009.67

  • [33] B. Omelayenko, Learning of Ontologies for the Web: the Analysis of Existent Approaches, In Proceedings of the International Workshop on Web Dynamics (2011)

  • [34] J. Seidenberg, A. Rector, Web ontology segmentation: analysis, classification and use, Proceedings of the 15th international conference on World Wide Web, www’ 06 (ACM, New Yor, USA, 2006) 13–22 http://dx.doi.org/10.1145/1135777.1135785

  • [35] W. Chen, Q. Yang, L. Zhu, B. Wen, Research on Automatic Fuzzy Ontology Generation from Fuzzy Context, Proceedings of the 2009 Second International Conference on Intelligent Computation Technology and Automation — Volume 02, ICICTA’ 09 (IEEE Computer Society, Washington, DC, USA, 2009) 764–767 http://dx.doi.org/10.1109/ICICTA.2009.420

  • [36] Q.T. Tho, S.Ch. Hui, A.C.M. Fong, T.H. Cao, Automatic Fuzzy Ontology Generation for Semantic Web, IEEE T. Knowl. Data Eng. 18(6), 842–856, 2006 http://dx.doi.org/10.1109/TKDE.2006.87

  • [37] A. Pivk, Automatic ontology generation from web tabular structures, AI Communications 19, 2006, 2005

  • [38] T. Wong, W. Lam, E. Chen, Automatic Domain Ontology Generation From Web Sites, J. Integr. Des. Process Sci. 9(3), 29–38, 2005

  • [39] M.M. Moore, S. Rugaber, Domain Analysis for Transformational Reuse, Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE’ 97) (IEEE Computer Society, Washington DC, USA, 1997)

  • [40] N. Souchon, J. Vanderdonckt, A review of XML-compliant user interface description languages, Interactive Systems. Design, Specification, and Verification, 10th International Workshop, DSV-IS 2003, Revised Papers (Springer-Verlag, Funchal, Madeira Island, Portugal, 2003) 377–391

  • [41] H. Paulheim, Ontologies for User Interface Integration, Proceedings of the 8th International Semantic Web Conference, ISWC’ 09 (Springer-Verlag, Berlin, Heidelberg, 2009) 973–981

  • [42] T. Tudorache, N.F. Noy, S.M. Falconer, M.A. Musen, A knowledge base driven user interface for collaborative ontology development, Proceedings of the 16th international conference on Intelligent user interfaces, IUI’ 11 (ACM, New York, USA, 2011) 411–414

  • [43] G. Kösters, H.W. Six, J. Voss, Combined Analysis of User Interface and Domain Requirements, Proceedings of the 2nd International Conference on Requirements Engineering (ICRE’ 96) (IEEE Computer Society, Washington DC, USA, 1996)

  • [44] K. Tilly, Z. Porkoláb, Semantic User Interfaces, IJEIS 6(1), 29–43, 2010

  • [45] I. Luković, S. Ristić, A. Popović, P. Mogin, An approach to the platform independent specification of a business application, Central European Conference on Information and Intelligent Systems (University of Zagreb, Faculty of Organization and Informatics Varaždin, Croatia, Hrvatska, 2011) 449–456

  • [46] A. Kelshchev, V. Gribova, From an Ontology-Oriented Approach Conception to User Interface Development, ITHEA, International Journal ITA (Institue of Mathematics and Informatics, Bulgarian Academy of Sciences) (Institute of Information Theories and Applications FOI ITHEA, Sofia, Bulgaria, 2003)

  • [47] B. Liu, H. Chen, W. He, Deriving User Interface from Ontologies: A Model-Based Approach, Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence, ICTAI’ 05 (IEEE Computer Society, Washington DC, USA, 2005) 254–259

  • [48] J. Kollár, S. Chodarev, E. Pietriková, L. Wassermann, D. Hrncic, M. Mernik, Reverse Language Engineering: Program Analysis and Language Inference, Informatics’2011: proceedings of the Eleventh International Conference on Informatics (TU, Košice, 2011) 109–114

  • [49] O. Vasilecas, D. Kalibatiene, G. Guizzardi, Towards a Formal Method for the Transformation of Ontology Axioms to Application Domain Rules, Inform. Technol. Control 38(4), 271–282, 2009

  • [50] D. Hrnčič, M. Mernik, B.R. Bryant, Embedding DSLs into GPLs: A Grammatical Inference Approach, Inform. Technol. Control 40(4), 307–315, 2011

  • [51] M. Sabo, J. Porubän, D. Lakatoš, M. Kreutzová, Computer Language Notation Specification through Program Examples, FedCSIS: Proceedings of the Federated Conference on Computer Science and Information Systems (IEEE Computer Society Press, Szczecin, Poland, 2011) 895–898


Journal + Issues

Open Computer Science is an open access, peer-reviewed journal. The journal publishes research results in the following fields: algorithms and complexity theory, artificial intelligence, bioinformatics, networking and security systems,
programming languages, system and software engineering, and theoretical foundations of computer science.