Friday, August 24, 2007

PIXEL Programming Interaction with XML Environments and Languages

The aim of this research is to enable effective management of information by creation of a visual document, programming, and information management system and interface. The means for this is creation of a visual development environment for programming using XML based technologies. This will enable interactivity with and further development of this system by end-users such as administrative staff. An objective is to investigate use and improve visual environments and create proof of concept software for free distribution between academics, and amongst others, of this interactive environment. This will enable editing of the program structure using a visual representation of the software over the web that can be translated directly into code. Users will be able to change the program without ever needing to see the XML (eXtensible Markup Language) code. This will allow people to create interactive software that is well structured and searchable, and the best options for making this creation as straightforward as possible will evaluated. There are many techniques, tools and languages available for structuring and searching web pages, these will be applied to management of information.

Mayo and Steinberg [1] authored a cabinet office report for the UK Government recommending government partners with other providers to make use of User generated content and enable provision of information that helps achieve public policy objectives. A JISC (Joint Information Systems Committee) report explains the power of networks and how important it is for educational establishments to make proper use of them [2]. The flexibility of information representation languages could enable administrative users to maintain, adapt and extend a system themselves. This goes beyond open source development to enable development of communities of end-user programmers. Users can interact with XML via programs written in interpreted languages such as JavaScript. The user will not require any software except for a web browser as the development environment will be web-based.

XML is used for structuring information so different software systems can interpret it. This language can be used to structure web pages so that they can represent and link to programming objects. XML can be used as a way to manage workflow within and between organisations. XML provides the basis for creation of taxonomies and ontologies. Using Meta-tags defined with XML it is possible to create documents that define their own structure and to provide a consistent and understandable user interface. A further objective of this research is automating the conversion of information between formats, to assist organisations to manage their information.

Mechanisms for this Research
The intention is to prototype the creation an environment based on Semantic Web languages such as OWL (Web Ontology Language), RDF (Resource Description Framework) [3] and XML, not just for search but also combined into a comprehensive application that is usable for end-user programming of a large range of problems. To allow users to create Rich Internet Applications we intend to create a translator using XML or RDF/XML programming so the entire solution would be in XML based languages. This involves programming with Semantic Web languages rather than just using them for information representation. This will make the translation from visualisation to code easier and more reliable, and further improve the maintainability of the software created.

It is essential that new ways of enabling collaboration between all those involved in software creation and use are investigated. An important part of the research will be to investigate the use of Semantic Web languages for programming, rather than just for representation of information, this would expand on languages such as SPARQL (Simple Protocol and RDF Query Language) [3] and XQuery [4]. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems.

End-User XML Editing
An XML based drag and drop programming example has been created [5], this example was created with AJAX (Asynchronous JavaScript And XML). XML can be manipulated directly from the browser rather than requiring a specialist XML editor. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree [6] and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other editing controls. It will be possible to make use of XML based meta programming to allow end-user programming, Simkin [7] and Lemos [8] are examples of this approach. We intend to investigate and extend this approach to create meta language tools for programming, including for the display interface. Semantic languages provide a higher level declarative view of the problem to be modelled. We will develop declarative programming with XML based languages. Examples of research into XML as a programming language are AspectXML [9], and the Minimal Imperative Language XIM [10]. Interactive web programs can be created using scripting languages and XML combinations such as AJAX (Asynchronous JavaScript And XML) [11], which is a name for techniques to create highly interactive web pages. Web 2.0 technologies (often making use of Ajax) aim to reproduce on the web the functionality provided by office software and this can be extended to enable users to create their own programs using XML and a visual interface.

Even where documents are represented using XML or other structured languages, it is important to structure the contents and semantics using an ontology, Erdmann and Studer [12] experiment with this.

References
[1] Mayo E, Steinberg T, 2007, The Power of Information, Cabinet Office independent review - http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965.
[2] JISC (Joint Information Systems Committee) Anderson P, 2007, Technology and Standards Watch What is Web 2.0? Ideas, technologies and implications for education - http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf.
[3] World Wide Web Consortium (W3C), 2007, SPARQL Query Language for RDF, http://www.w3.org/TR/rdf-sparql-query/.
[4] McGovern J, Cagle K, Bothner P, Nagarajan V, Linn J, 2003, XQuery Kick Start.
[5] Drag and Drop, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/samples/components.html.
[6] Scand dhtmlxTree, 2007, http://www.scbr.com/docs/products/dhtmlxTree/index.shtml.
[7] Whiteside S, 2007, Simkin the embeddable scripting language, http://www.simkin.co.uk/.
[8] Lemos M, 2007, MetaL: An XML based Meta-Programming language, http://www.meta-language.net.
[9] Peterson M D, 2005, O'Reilly XML.com - [Part 3] Assets, Atom Feeds, and AspectXML - The Triple Threat of Web Development? - http://www.oreillynet.com/xml/blog/2005/09/part_3_assets_atom_feeds_and_a.html.
[10] Bayram Z, Onder R, 2007, XSL Transformations A delivery medium for executable content over the Internet, http://www.ddj.com/web-development/198800555.
[11] Cagle K, 2006, AJAX on the Enterprise, AJAXWorld conference, October 4, 2006 - http://www.oreillynet.com/xml/blog/2006/10/ajax_on_the_enterprise.html.
[12] Erdmann M, Studer R, 1999, Ontologies as Conceptual Models for XML Documents, Proceedings of the 12th Workshop on Knowledge Acquisition, Modelling and Management.

More Information

Ajax/Web2.0 - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.

Drag and Drop Programming - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htmDragandDropProgramming.

RDF, OWL, Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.

XML - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm.

XML Programming - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htmProgrammingwithXML.

1 comment:

Unknown said...

Thank you that's good.