Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

An approach to build XML-based domain specific languages solutions for client-side web applications

Published: 01 September 2017 Publication History

Abstract

Domain-Specific Languages (DSLs) allow for the building of applications that ease the labour of both software engineers and domain experts thanks to the level of abstraction they provide. In cases where the domain is restricted to Client-Side Web Applications (CSWA), XML-based languages, frameworks and widgets are commonly combined in order to provide fast, robust and flexible solutions. This article presents an approach designed to create XML-based DSL solutions for CSWA that includes an evaluation engine, a programming model and a lightweight development environment. The approach is able to evaluate multiple XML-based DSL programs simultaneously to provide solutions to those Domain Specific Problems for CSWAs. To better demonstrate the capabilities and potential of this novel approach, we will employ a couple of case studies, namely Anisha and FeedPsi. DSLs ease labour of software engineers and domain experts.Theoretical definitions and details about our PsiEngine are provided.PsiEngine is a full production framework that implements up to 7 different DSLs.Design and development methodologies to get DSL XML-based solutions are described.The study cases developed with the referred methodologies validate our approaches.

References

[1]
P. Anderson, Web 2.0 and beyond: Principles and technologies, London: Chapman and Hall/CRC, 2012.
[2]
P Baxter, S Jack, Qualitative case study methodology: study design and implementation for novice researchers, 13 (2008).
[3]
L Betinni, Implementing domain-specific languages with xtext and xtend, Birmingham: Packt Publishing Ltd, 2013.
[4]
D Brown, J Levine, T Mason, Lex & yacc, New York: OReilly Media, Inc, 1992.
[5]
M Bravenboer, K Trygve, R Vermaas, E Visser, Stratego/XT: a language and toolset for program transformation, Sci Comput Program, 72 (2008) 52-70.
[6]
Carter Z. JS sequence diagrams. http://jison.org;; 2009 {accessed 30.10.16}.
[7]
S. Cook, G. Jones, S. Kent, D. James, Domain-specific development with visual studio DSL tools (2007) 1-23.
[8]
D. Crockford, JavaScript: the good parts, Sebastopol: OReilly Media, Inc, 2008.
[9]
K Czarnecki, U Eisenecker, Generative programming: Methods, tools and applications, Denver: Addison-Wesley, 2000.
[10]
AR. Da Silva, Model-driven engineering: a survey supported by a unified conceptual model, Comput Lang Syst Struct, 43 (2015) 139-155.
[11]
F Dearle, Groovy for domain-specific languages, Birmingham: Packt Publishing Ltd, 2010.
[12]
S Erdweg, PG Giarrusso, T Rendel, Language composition untangled, in: Proceedings of the 12th workshop on language descriptions, tools, and applications, LDTA, 2012.
[13]
J Fawcett, L Quin, D Ayers, Beginning XML, Wrox Press, 2012.
[14]
D Fanagan, Y Matsumoto, The ruby programming language, Sebastopol: Oreilly Media, Inc., 2005.
[15]
S Firmenich, G Rossi, M Winckler, P Palanque, An approach for supporting distributed user interface orchestration, Int J Human-Comput Stud, 72 (2014) 53-76.
[16]
M. Fowler, Domain specific languages, Denver: Addison-Wesley Professional, 2010.
[17]
D Ghosh, DSLs in action, Greenwich: Manning Publications, 2010.
[18]
J Greenfield, K Short, Software factories: Assembling applications with patterns, models, frameworks, and tools, New Jersey: Wiley Publishing, 2004.
[19]
RC. Gronback, Eclipse modeling project: A domain-specific language (DSL) toolkit, Denver: Addison-Wesley Professional, 2009.
[20]
M Halstead, Elements of software science, New York: The Computer Science Library, 1977.
[21]
D Herzberg, N. Marsden, P. Kbler, C. Leonhardt, S. Thomanek, H. Jung, Specifying computer-based counseling systems in health care: a new approach to user-interface and interaction design, J Biomed Inform, 42 (2009) 347-355.
[22]
S Holzner, Secrets of RSS. Berkeley, Peachpit Press, 2006.
[23]
P. Hudak, Building domain-specific embedded languages, ACM Comput, 196 (1996) 4.
[24]
D. Johnson, RSS and atom in action: web 2.0 building blocks, Greenwich: Manning Publications Co., 2006.
[25]
R Kelker, Clojure for domain-specific languages, Birmingham: Packt Publishing Ltd, 2013.
[26]
C. Kern, Securing the tangled web, Commun ACM, 57 (2014) 38-47.
[27]
L Kats, K Kalleberg, E Visser, Domain-specific languages for composable editor plugins, in: Proceedings of the ninth workshop on language descriptions, tools, and applications (LDTA09), electronic notes in theoretical computer science, 253, 2009, pp. 149-163.
[28]
S Kelly, J Tolvanen, Domain-specific modeling: Enabling full code generation, Wiley-IEEE Computer Society Press, 2008.
[29]
G Kniesel, V Winter, H Siy, M Zand, Making aspect-orientation accessible through syntax-based language composition, IEEE: IET Softw, 3 (2009) 1-13.
[30]
D.G. Kourie, D. Fick, B.W. Watson, Virtual machine framework for constructing domain-specific languages, IET Softw, 3 (2008) 219-237.
[31]
T. Kosar, N. Oliveira, M. Mernik, V.J.M. Pereira, M. repinek, C.D. Da, Comparing general-purpose and domain-specific languages: an empirical study, Comput Sci Inform Syst, 7 (2010) 247-264.
[32]
T Kosar, S Bohra, M Mernik, Domain-specific languages: a systematic mapping study, Inform Softw Technol, 71 (2016) 77-91.
[33]
P Lee, CoffeeScript in action, Greenwich: Manning Publications Co, 2014.
[34]
J. Levine, Flex & bison, Sebastopol: OReilly Media, Inc, 2009.
[35]
T. McCabe, A complexity measure, IEEE Trans Softw Eng, SE-2 (1976) 308-320.
[36]
A. McDaniel, HTML5: your visual blueprint for designing rich web pages and applications, Indianapolis: Jhon Wiley & Sons, Inc., 2011.
[37]
P. McGuire, Getting started with pyparsing, Sebastopol: OReilly Media, Inc, 2007.
[38]
M. Mernik, J. Heering, A.M. Sloane, When and how to develop domain-specific languages, ACM Comput Surv, 37 (2005) 316-344.
[39]
M. Mernik, M. Lenic, E. Avdiauevi, V. Zumer, LISA: an interactive environment for programming language development, Springer Berlin Heidelberg, Lecture Notes in Computer Science, 2002.
[40]
V. Nguyen, S. Deeds-Rubin, T. Tan, B. Boehm, Center for Systems and Software Engineering, University of Southern California, 2007. http://sunset.usc.edu/csse/TECHRPTS/2007/usc-csse-2007-737/usc-csse-2007-737.pdf;
[41]
P.W. Oman, J. Hagemeister, D. Ash, A definition and taxonomy for software maintainability, University of Idaho, Software Engineering Test Laboratory, Moscow, 1991.
[42]
T. Parr, The definitive ANTLR 4 reference, Raleigh: Pragmatic Bookshelf, 2013.
[43]
M.J. Pereira, J. Fonseca, P.R. Henriques, Ontological approach for DSL development, Comput Lang Syst Struct, 45 (2016) 35-52.
[44]
A. Prout, J.M. Atlee, N.A. Day, P. Shaker, Code generation for a family of executable modelling notations, Softw Syst Model, 11 (2012) 251-272.
[45]
A. Rahien, DSLs in boo: Domain-specific languages in, NET. Greenwich: Manning Publications Co., 2010.
[46]
P.S. Sajja, R. Akerkar, Intelligent technologies for web applications, CRC Press, Minneapolis, 2012.
[47]
A. Serrano, Beginning haskell a project-based approach, New York: Apress, 2014.
[48]
Stilwell J. npm: Escomplex, v 1.3. https://www.npmjs.com/package/escomplex; 2014 {accessed 15.07.16}.
[49]
D.C. Schmidt, Model-driven engineering, Comput-IEEE Comput Soc, 39 (2006) 25.
[50]
Shim H., Kang B., Kwag K. Web2Animation - automatic generation of 3D animation from the web text. Proceedings of the 2009 international joint conference on web intelligence and intelligent agent technology (WI-IAT 09).
[51]
D. Spinellis, Notable design patterns for domain-specific languages, J Syst Softw, 56 (2001) 91-99.
[52]
M. Voelter, S. Benz, C. Dietrich, B. Engelmann, M. Helander, L.C. Kats, DSL engineering: Designing, implementing and using domain-specific languages, Dslbook.org, 2013.
[53]
Document Object Model (DOM) Level 3 Core Specification, http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407//; 2004 {accessed 30.06.16}.
[54]
Web Design and Applications, http://www.w3.org/standards/webdesign//; 2014 {accessed 28.06.16}.
[55]
XML Technology, http://www.w3.org/standards/xml/;/; 2014 {accessed 27.06.16}.
[56]
H. Wittenbrink, RSS and atom, Birmingham: Packt Publishing, 2005.
[57]
M. Woodman, How to build an RSS 2.0 feed, Sebastopol: OReilly Media, Inc., 2006.
[58]
A. White, JavaScript programmers reference, Indianapolis: Wiley Publishing, Inc., 2009.
[59]
R.K. Yin, Case study Research: design and methods, London: Sage Publications, Inc., 2014.
[60]
C. Yue, H. Wang, A measurement study of insecure javascript practices on the web, ACM Trans Web, 7 (2013) 1-39.

Cited By

View all
  • (2023)A Mobile Application to Dynamically Design Activities to Promote Personal Autonomy in Children with Autism Spectrum Disorder: A Usability EvaluationSocial Computing and Social Media10.1007/978-3-031-35927-9_19(255-275)Online publication date: 23-Jul-2023
  • (2020)Automated migration of EuGENia graphical editors to the webProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3417990.3420205(1-7)Online publication date: 16-Oct-2020

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Computer Languages, Systems and Structures
Computer Languages, Systems and Structures  Volume 49, Issue C
September 2017
228 pages

Publisher

Elsevier Science Publishers B. V.

Netherlands

Publication History

Published: 01 September 2017

Author Tags

  1. Domain-Specific Languages
  2. JavaScript
  3. Web Application
  4. XML interpreter
  5. XML programing language

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Mobile Application to Dynamically Design Activities to Promote Personal Autonomy in Children with Autism Spectrum Disorder: A Usability EvaluationSocial Computing and Social Media10.1007/978-3-031-35927-9_19(255-275)Online publication date: 23-Jul-2023
  • (2020)Automated migration of EuGENia graphical editors to the webProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3417990.3420205(1-7)Online publication date: 16-Oct-2020

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media