Drag and Drop ProgrammingMay 3, 2020
The code acts as a translator between the XML representation of the trees and interactive graphical representations. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree  and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other controls. Repenning  argues that visual programming languages using drag and drop mechanisms as a programming approach make it virtually impossible to create syntactic errors, allowing for concentration on the semantics”, and Rosson  also advocates this technique. Such techniques could be used with other Semantic Web-based information representations implemented with languages and structures such as XML, RDF (Resource Description Framework), and OWL (Web Ontology Language), and provision of other controls. These controls could then be used as graphical components of a simulation system made available over the web. As well as being used for web-based visual programming an environment such as this could also be employed as an interface to PC based software, or as a translator between systems. Semantic languages provide a higher level declarative view of the problem to be modelled. Coutaz  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, which is also a graph structure.
It is important to investigate new ways of enabling collaboration between all those involved in software creation and use. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems. This translation or ‘Program Transformation’ allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level and end-user translation to a language more easily interpreted by computer systems. The solution to many interoperability and software problems involves programming with Semantic Web languages rather than just using them for information representation. This will make translation for interoperability easier and more reliable, and further improve the maintainability of software systems.
The research will involve using and building a visualised Semantic programming layer on languages such as AspectXML, XForms, SPARQL, and XQuery all explained in  and Meta languages  to create software and to build an environment for high level end-user programming. This programming environment can be used for creating programs and an environment for end-user programming. The environment can be computer language and system independent as one representation can be translated into many computer languages or Meta languages. Tools such as Amaya  can be used for creating and editing Semantic Web applications and documents. This research is a test case for an approach of collaborative end-user programming by domain experts. The end-user programmers can use a visual interface where the visualisation of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical.
To enable generic end-user programming functionality it is important to develop ‘information representation languages’ based on Semantic Web declarative programming languages. Standardisation in XML/RDF enables use of declarative rules for web services. This environment also has to provide a visual development interface for end-users in a similar way to that of Unified Modeling Language (UML) for professional developers. Repenning  and Engels  argue this.
 Lieberman, H., 2007. End-User Software Engineering Position Paper. In: End-User Software Engineering Dagstuhl Seminar.
 Burnett M M, Engels G, Myers B A, Rothermel G, 2007, End-User Software Engineering Dagstuhl Seminar, http://eusesconsortium.org/docs/dagstuhl_2007.pdf.
 De Souza, C., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.
 Ko, A. J., 2007. Barriers to Successful End-User Programming. In: End-User Software Engineering Dagstuhl Seminar.
 Drag and Drop, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/components.html.
 Scand dhtmlxTree, 2007, [http://www.scbr.com/docs/products/dhtmlxTree/index.shtml].
 Repenning, A., 2007. End-User Design. In: End-User Software Engineering Dagstuhl Seminar.
 Rosson, M. B., A., 2007. Position paper for EUSE 2007 at Dagstuhl. In: End-User Software Engineering Dagstuhl Seminar.
 Coutaz, J., 2007. Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?. In: End-User Software Engineering Dagstuhl Seminar.
 Programming with XML, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#ProgrammingwithXML.
 Dmitriev S, 2007, Language Oriented Programming: The Next Programming Paradigm – http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.
 Mens K, Michiels I, Wuyts R, 2002, Supporting Software Development through Declaratively Codified Programming Patterns, Expert Systems with Applications Vol 23.
 Quint V, Vatton I, 2005, Towards Active Web Clients, DocEng Bristol United.
 Engels, G., 2007. Model-Driven Development for End-Users, too!? In: End-User Software Engineering Dagstuhl Seminar.