Involving End-users in Domain-Specific Languages Development - Experiences from a Bioinformatics SME

Maria Jose Villanueva, Francisco Valverde, Oscar Pastor

2013

Abstract

Involving end-users in software development is a goal envisioned by the Software Engineering community. As they have the domain knowledge, it is feasible to develop software applications that really fulfil their requirements. Domain-specific languages (DSL) are widely applied to accomplish this vision. However, end-users collaboration in DSL development is also important to ensure that their needs are well understood and represented. This research work proposes a DSL development process that combines methodological guidelines for DSL development with good practices from agile methods to encourage end-user involvement. In this paper, we overview the complete process and we focus on the two first stages: Decision and Analysis. In order to illustrate the proposal, it is applied in the development of a DSL for a bioinformatics SME that works on genetic disease diagnosis.

References

  1. Ambler, S. (2002). Agile modeling: Effective practices. John Wiley and Sons.
  2. Arora, R., Mernik, M., Bangalore, P., Roychoudhury, S., and Mukkai, S. (2009). A domain-specific language for application-level checkpointing. In Proceedings of the 5th International Conference on Distributed Computing and Internet Technology, ICDCIT 7808, pages 26-38, Berlin, Heidelberg. Springer-Verlag.
  3. Beck, K. and Andres, C. (2004). Extreme programming explained: embrace change. Addison-Wesley Professional.
  4. Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., et al. (2001). The agile manifesto. http://agilemanifesto.org/principles.html Accesed 2013, 7(08).
  5. Ceh, I., Crepinšek, M., Kosar, T., and Mernik, M. (2011). Ontology driven development of domain-specific languages. Computer Science and Information Systems, 8(2):317-342.
  6. Costabile, M., Mussio, P., Parasiliti Provenza, L., and Piccinno, A. (2008). End users as unwitting software developers. In Proceedings of the 4th international workshop on End-user software engineering, pages 6- 10. ACM.
  7. Fischer, G., Giaccardi, E., Ye, Y., Sutcliffe, A., and Mehandjiev, N. (2004). Meta-design: A manifesto for end-user development. Communications of the ACM, 47(9):33-37.
  8. Fischer, G., Nakakoji, K., and Ye, Y. (2009). Metadesign: Guidelines for supporting domain experts in software development. Software, IEEE, 26(5):37-44.
  9. Fowler, M. (2010). Domain-specific languages. AddisonWesley Professional.
  10. Goecks, J., Nekrutenko, A., Taylor, J., and Team, T. (2010). Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences. Genome Biol, 11(8):R86.
  11. Grigera, J., Rivero, J., Robles Luna, E., Giacosa, F., and Rossi, G. (2012). From requirements to web applications in an agile model-driven approach. Web Engineering, pages 200-214.
  12. Haider, S., Ballester, B., Smedley, D., Zhang, J., Rice, P., and Kasprzyk, A. (2009). Biomart central portal: unified access to biological data. Nucleic acids research, 37(suppl 2):W23-W27.
  13. Highsmith, J. and Cockburn, A. (2001). Agile software development: the business of innovation. Computer, 34(9):120-127.
  14. Holland, R., Down, T., Pocock, M., Prlic, A., Huen, D., James, K., Foisy, S., Dräger, A., Yates, A., Heuer, M., et al. (2008). Biojava: an open-source framework for bioinformatics. Bioinformatics, 24(18):2096-2097.
  15. Hull, D., Wolstencroft, K., Stevens, R., Goble, C., Pocock, M., Li, P., and Oinn, T. (2006). Taverna: a tool for building and running workflows of services. Nucleic acids research, 34(suppl 2):W729-W732.
  16. Izquierdo, J. and Cabot, J. (2012). Community-driven language development. MiSE'12.
  17. Jr., I. F., Fister, I., Mernik, M., and Brest, J. (2011). Design and implementation of domain-specific language easytime. Computer Languages, Systems and Structures, 37(4):151-167.
  18. Kang, K., Cohen, S., Hess, J., Novak, W., and Peterson, A. S. (1990). Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report.
  19. Ko, A. J., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B., Rosson, M. B., Rothermel, G., Shaw, M., and Wiedenbeck, S. (2011). The state of the art in end-user software engineering. ACM Computing Surveys (CSUR), 43(3):21:1-21:44.
  20. Mernik, M., Heering, J., and Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM Computing Surveys (CSUR), 37(4):316-344.
  21. Pérez, F., Valderas, P., and Fons, J. (2011). Towards the involvement of end-users within model-driven development. End-User Development, pages 258-263.
  22. Rusk, N. (2009). Focus on Next-Generation Sequencing Data Analysis. Nature Methods, 6(11s):S1.
  23. Schwaber, K. and Beedle, M. (2002). Agile software development with Scrum, volume 18. Prentice Hall PTR Upper Saddle Riverˆ eNJ NJ.
  24. Spinellis, D. (2001). Notable Design Patterns for DomainSpecific Languages. Journal of Systems and Software, 56(1):91-99.
  25. Strembeck, M. and Zdun, U. (2009). An approach for the systematic development of domain-specific languages. Software: Practice and Experience, 39(15):1253-1292.
  26. van Deursen, A., Klint, P., and Visser, J. (2000). Domainspecific languages: An annotated bibliography. ACM SIGPLAN Notices, 35(6):26-36.
  27. Visser, E. (2008). Webdsl: A case study in domain-specific language engineering. Generative and Transformational Techniques in Software Engineering II, pages 291-373.
Download


Paper Citation


in Harvard Style

Villanueva M., Valverde F. and Pastor O. (2013). Involving End-users in Domain-Specific Languages Development - Experiences from a Bioinformatics SME . In Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8565-62-4, pages 97-108. DOI: 10.5220/0004450000970108


in Bibtex Style

@conference{enase13,
author={Maria Jose Villanueva and Francisco Valverde and Oscar Pastor},
title={Involving End-users in Domain-Specific Languages Development - Experiences from a Bioinformatics SME},
booktitle={Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2013},
pages={97-108},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004450000970108},
isbn={978-989-8565-62-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Involving End-users in Domain-Specific Languages Development - Experiences from a Bioinformatics SME
SN - 978-989-8565-62-4
AU - Villanueva M.
AU - Valverde F.
AU - Pastor O.
PY - 2013
SP - 97
EP - 108
DO - 10.5220/0004450000970108