Friday, October 20, 2006

Aims - Future Work

The intention behind my work is to enable users to program integrated applications. It is intended that tools are created to enable users to develop software in a way familiar to many, from their use of spreadsheets and web page creation tools. End User Programming is an important area of research because many people who are experts in their domain want to create software models to aid their decision making [1]. Semantic Web Techniques can be used to assist non-programmers to create software. This software could allow interactive visual modelling of information. This corresponds to the type of work normally undertaken using spreadsheets. In order to model complex problems in spreadsheets it is necessary to use macro languages, and track relationships between values in cells. These can be difficult tasks, and mistakes lead to incorrect answers, this has led to a spreadsheet crisis where incorrect and undocumented spreadsheets are produced by individuals who have little formal training [2] [3]. It is essential to find alternative ways of representing these models, which do not require the user to write code. The software created must make it easy to interact with and change models, and easy to share information with colleagues. The main application areas of the tools would be Knowledge Management, Decision support, and Simulation. The system created could also be used to promote engineering to a sceptical public who see the profession as poorly paid and dirty, House of Lords Select Committee on Science and Technology report science and society [4].

The main aim of the research is User Driven Model Development. This research unites approaches of object orientation, the semantic web, relational databases, and event driven programming. [5] explain the opportunities for and importance of this kind of research. Tim Berners-Lee defined the semantic web as 'a web of data that can be processed directly or indirectly by machines' [6]. The research would examine ways of structuring information, and enabling processing and searching of the information to provide a modelling capability. Ways of increasing user involvement in software can be investigated, and the possibility of providing templates to enable non-programmers to develop modelling software for the purposes that interest them. The advantages of increasing user involvement in software development are explained by [7]. To assist in this, it is essential that new ways of enabling collaboration between all those involved in software creation and use are investigated.

This involves co-operation with the Institute for End User Computing (IEUC) [8]. Other End-User Programming Consortiums are End-Users Shaping Effective Software (EUSES) [9] and Network of Excellence on End User Development (EUD.Net) [10]. 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 Programming that can then be translated to a language more easily interpreted by computer systems. Techniques such as Generative Programming [11][12], Aspect Oriented Programming [13], Model Driven Programming [5][11] and Meta Programming and Language Oriented Progamming [14] are likely to be used to create the modelling environment for End Users.

Dissemination of research will be via a web network, this has been prototyped by Vanguard [15] and several universities including ours, and companies. We will create community pages such as this one for our Protégé work [16]. A web site for dissemination of information [17] has been created and explanations and examples of our research have been added. Many of the pages allow for editing and interactivity and the intention here is to create individual learning objects [18] which will be freely available. These will be created using open standard languages for ease of searching and reuse. These objects will enable people to create their own modelling web pages.

[1] Scaffidi, C., Shaw, M., Myers, B. (2005). Estimating the Numbers of End Users and End User Programmers, IEEE Symposium on Visual Languages and Human-Centric Computing, (VL/HCC'05): 207-214 Dallas, Texas.
[2] Select Committee on Science and Technology Third Report Chapter 2: Public Attitudes and Values - Attitudes to engineering 2.39 - http://www.publications.parliament.uk/pa/ld199900/ldselect/ldsctech/38/3804.htm
[3] Erwig M, Abraham R, Cooperstein I, Kollmansberger S, Automatic Generation and Maintenance of Correct Spreadsheets, 2005, ICSE 2005 27th International Conference on Software Engineering p 136- 145.
[4] Scanlan J, Rao A, Bru C, Hale P, Marsh R, DATUM Project: Cost Estimating Environment for Support of Aerospace Design Decision Making, 2006, Journal of Aircraft - 2006 vol. 43 no. 4
[5] Frankel D., Hayes, P., Kendall E., McGuinness, D. (2004) The Model Driven Semantic Web - 1st International Workshop on the Model-Driven Semantic Web (MDSW2004) Enabling Knowledge Representation and MDA® Technologies to Work Together.
[6] Berners-Lee T., 1999, Weaving the Web, Harper San Francisco, ISBN 0062515861.
[7] Olsson, E. (2004) What active users and designers contribute in the design process. Interacting with Computers 16, 377-401.
[8] Institute for End User Computing http://www.ieuc.org/home.html.
[9] Network of Excellence on End User Development EUD.Net http://giove.cnuce.cnr.it/eud-net.htm.
[10] End-Users Shaping Effective Software (EUSES) http://eusesconsortium.org/
[11] Gray J, Zhang J, Lin Y, Roychoudhury S, Wu H, Sudarsan R, Gokhale A, Neema S, Shi F, and Bapty T, Model-Driven Program Transformation of a Large Avionics Framework, 2004, Third International Conference on Generative Programming and Component Engineering GPCE.
[12] Marsh R, Hill T, J Scanlan, Dunkley M, Cleevely P, 2001, Probabilistic Pseudo-generative Cost Modelling Through Virtual Template Propagation CEAS Conference on Multidisciplinary Aircraft Design and Optimization June 2001 Maternushaus Koln, Germany.
[13] Murphy G C, Walker R J, Baniassad E L A, Robillard M P, Lai A, Kersten M A, Does aspect-oriented programming work?, 2001, Communications of the ACM, Volume 44 Issue 10 (October 2001) Pages: 75 - 77, ISSN:0001-0782
[14] Dmitriev S, Language Oriented Programming: The Next Programming Paradigm -http://www.onboard.jetbrains.com/is1/articles/04/10/lop/
[15] Global Knowledge Portal - http://wiki.vanguardsw.com/
[16] Protégé Community Wiki - User Driven Progamming - http://protege.cim3.net/cgi-bin/wiki.pl?UserDrivenProgramming
[17] SEEDS team Navigation Page http://www.cems.uwe.ac.uk/amrc/seeds/
[18] Polsani P R, Use and Abuse of Reusable Learning Objects,, 2003, Journal of Digital Information, Volume 3 Issue 4

No comments: