348
Views
6
CrossRef citations to date
0
Altmetric
Original Articles

Towards model-driven end-user development in CALL

&
Pages 149-191 | Published online: 16 Feb 2007
 

Abstract

The purpose of this article is to introduce end-user development (EUD) processes to the CALL software development community. EUD refers to the active participation of end-users, as non-professional developers, in the software development life cycle. Unlike formal software engineering approaches, the focus in EUD on means/ends development is especially relevant to CALL application design, which traditionally suffers from idiosyncratic development efforts, minimal organisational support, and poor documentation practices. With the continued emphasis on teacher-led development in CALL, there is an urgent need to investigate appropriate frameworks, methodologies and tools that assist end-user developers to produce quality-driven, fit-for-purpose CALL applications. To this end, we promote the use of model-driven architectures (MDA) in EUD environments, and describe how MDA strategies lead to better alignment between software engineering and CALL design practices. Our discussion in this article seeks to achieve two objectives: (1) to underscore current limitations and possible future directions in CALL software development; and (2) to inform end-user developers in CALL of an appropriate and accessible software engineering framework for language learning environments.

Acknowledgements

This research was supported by the School of Languages, Department of Computer Science and Software Engineering, and Department of Information Systems at the University of Melbourne. We would like to thank reviewers and editors for their valuable comments and feedback on earlier versions of this work. We would also like to acknowledge the contributions of Baden Hughes who collaborated on several related research aspects of this article, and Frank Maurer for informal discussions and comments on Agile software development. Finally, we would like to thank our students who undertook the ‘CALL software design and evaluation’ course for their participation and invaluable feedback on related matters.

Notes

1. This article contains a number of acronyms and abbreviations. A glossary as the end of this article has been provided as a quick reference.

2. Hence, references to ‘professional developer’ do not distinguish between software developers and software engineers. Schach (Citation1999) provides a sharp contrast between these two types of developers. Naur and Randell's seminal 1968 article clearly distinguishes these two roles.

3. Fourth generation languages (4GL) are usually domain-specific programming languages that provide an additional level of abstraction above 3GL languages such as Java, C#, Python etc.

4. www.alice.org/. Project Alice aims to provide high-level natural programming languages for use in educational settings by children and novice programmers.

5. www.cs.cmu.edu/marmalade. Marmalade seeks to develop an entire environment to support end-user development, including instructed development, visual testing, debugging, and natural programming languages.

6. Caution should be taken with these figures as they are based on empirical predictive models. Reporting of these figures has also been shown to be highly subject to interpretation.

7. We remind the reader again that end-user development is theoretically and practically distinct from traditional development environments.

8. For an overview of these challenges, see Levy (Citation1997, chapters 4 – 7), Chapelle (Citation2001, chapter 6) and Richmond (Citation1999).

9. An introduction to user-centred, and comparison with learner-centred design principles, can be found in Farmer (Citation2006) and Farmer and Gruba (Citation2006).

10. For this article, this period will span 1960s – 1990s based on a review of the relevant HCI literature, and the level of research activities that examined socio-collaborative, environmental, and even affective aspects of interaction.

11. Free/Libre open source software.

12. www.moodle.org (retrieved January 20, 2006).

13. The term natural should be understood in relation to naturalistic, or the perceived functionality of the concept within specific communities of practice.

14. See Farmer et al. (Citation2004) for a discussion on traceability.

16. Software shaping is distinct from software implementation. It implies customization, parameterization and adaptation as opposed to construction.

17. Test-driven development (Beck, 2003) advocates the use of compiler warnings to inform and guide software development. As such, it can be seen as one possible exception.

18. Reusability may cause problems. The natural assumption when reusing code from another project is that it functions correctly. This is not always the case. As reused code is rarely tested as thoroughly as other components, this may introduce unexpected and hard to trace faults into a system.

19. It is interesting to note that Cushion (this issue) criticises the utility of software prototyping. Whilst this may concern some readers, his criticism is increasingly accepted within the Agile development community. Agile prototyping takes on a more intuitive, naturalistic form, incorporating low-fidelity modelling (pictures, drawings, scenarios, Wizard of Oz environments), within a much more flexible environment. The authors feel that prototyping is a valuable activity, but may be a hindrance if appropriate development methodologies and tools arelacking.

20. WordNet is a machine-readable lexical database organized by meanings developed at Princeton University. A synset is a set of one or more synonyms, containing additional semantic information that can be used in word sense disambiguation.

21. For clarity, this is not indicated on the diagram.

22. The types of feedback that should be provided in EUD is beyond the scope of our present discussion, however, Trude Heift's treatment of feedback type, context and learning (this issue) is a critical contribution in this area.

23. Platform refers to any specific software or hardware implementation. For hardware, Java behaves differently on SPARC versus DEC architectures due to the systems having different Endian behaviour. Operating systems, such as Linux on Intel versus Microsoft XP on Intel represents a different type of software platform.

25. A list of these basic principles can be found online at www.agilemanifesto.org (retrieved January 12, 2006).

26. We introduce this neologism into the literature.

Log in via your institution

Log in to Taylor & Francis Online

PDF download + Online access

  • 48 hours access to article PDF & online version
  • Article PDF can be downloaded
  • Article PDF can be printed
USD 53.00 Add to cart

Issue Purchase

  • 30 days online access to complete issue
  • Article PDFs can be downloaded
  • Article PDFs can be printed
USD 339.00 Add to cart

* Local tax will be added as applicable

Related Research

People also read lists articles that other readers of this article have read.

Recommended articles lists articles that we recommend and is powered by our AI driven recommendation engine.

Cited by lists all citing articles based on Crossref citations.
Articles with the Crossref icon will open in a new tab.