I have been reading this abstracts paper from the Dagstuhl Seminar End-User Software Engineering and it has lots of interesting points to make. In the Dagstuhl Seminar report (Burnett et al) it is stated that “The number of end users creating نرم افزار اتوماسیون اداری is far larger than the number of professional programmers. These end users are using various languages and programming systems to create software in forms such as spreadsheets, dynamic web applications, and scientific simulations. This software needs to be sufficiently dependable, but substantial evidence suggests that it is not.”
This point relates to that of (Ko) (Carnegie Mellon University) who explains that the goals of end-users may be unrelated to production of code, but instead they are interested in their domain problem, this means they perceive programming barriers as distractions. Ko explains that end-user programmers must be allowed to focus on their goals, and an important part of the solution is to visualise the whole program execution not just the output. A further problem outlined by Ko is that of programs which were intended to be temporary and owned by a particular person becoming central to a company, this often happens with spreadsheets.
(Henry Lieberman) of MIT Media Laboratory asks “Why is it so much harder to program a computer than simply to use a computer application? I can’t think of any good reason why this is so; we just happen to have a tradition of arcane programming languages and mystically complex software development techniques. We can do much better.” He argues that researchers should use program transformation, and visualisation to make the end-user programming process as automatic as possible. In order that people can become End-User Software Engineers without their even realizing it. This needs to involve interdisciplinary research to combine different research approaches. (Blackwell) also argues the need for interdisciplinary research on the end-user programming problem to identify techniques within software engineering that can assist with this problem.
(Coutaz) explains how Model Driven Engineering and Service Oriented Architecture can be combined. Coutaz also explains that “An interactive system is a graph of models related by mappings and transformations.” This would fit in well with the structure of RDF (Resource Description Framework) a Semantic Web standard, which is also a graph structure. Alexander Repenning of University of Lugano explains the need for enhancements to UML (Unified Modeling Language) to aid end-user programming. (Engels) of University of Paderborn also explains that UML should be extended to allow development of user interfaces in order to assist end-users to program. (Repenning) also argues that “Visual programming languages using drag and drop mechanisms as programming approach make it virtually impossible to create syntactic errors.” So “With the syntactic challenge being – more or less – out of the way we can focus on the semantic level of end-user programming.”
(Rosson) of Pennsylvania State University also explains about creation of a web based drag and drop interface. Abraham and (Erwig) of Oregon State University integrate spreadsheet modelling into the UML modelling process. (Gerhard Fischer) of University of Colorado explains the concept of meta-design as aimed at creating infrastructures for collaborative design assuming future uses and problems cannot be completely anticipated during development of a system. (Dittrich) of University of Copenhagen argues that more research is needed into the software lifecycle and methods and tools needed for end-user developers, especially when they are collaborating. These end-users often need to adjust old software for new purposes. (Costabile and Piccinno) also explain that new methodologies and environments are required for supporting end-user collaborative development