Saturday, February 23, 2008

Improving the structuring and collaboration capabilities of spreadsheets

Users can specify a calculation in mathematical terms using a formula. The spreadsheet then calculates the result of the formula. Users can change the formula if it is incorrect without any need to write code or re-compile. This accounts for the popularity of spreadsheets. So it is necessary to create collaborative tools that allow users to develop software in a way they will be familiar with from their use of spreadsheets.

Burnett et al (2007) state "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." Crapo et al (2002) argue that many users of spreadsheet software can model problems accurately if they are provided with visualisation capabilities to help them build, track, and understand the information relationships, and therefore the problem modelled. Crapo explains that visualisation helps users maintain a hierarchy of sub models at different stages of development and to navigate effectively between them. The way spreadsheets are defined by formulae can aid in allowing editing and tracking of information in models provided that the relationships between formulae are adequately represented. Hanna (2005) explains that a spreadsheet program is defined by formulae and has purely declarative semantics with the order of evaluation determined purely by the dependencies between cells. However, he criticises the impoverished semantics of spreadsheets that severely limit "the ability of programmers (even expert ones) to construct reliable, correct, maintainable programs with well known consequences". There is an alternative solution of research to automatically generating correct spreadsheets, and solve errors of meaning (semantic errors) (Erwig et al, 2006). This thesis concentrates on visualisation in order to make the meaning clearer to the human modellers. Therefore, it is necessary to improve the information structuring, and visualisation capabilities of spreadsheets in order to encourage more reliable modelling and collaboration.

Burnett, M. M., Engels, G, Myers, B. A., Rothermel, G., 2007. End-User Software Engineering Dagstuhl Seminar - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Intelligent Systems. In: C. T. Leondes, ed. Intelligent Systems: Technology and Applications, Volume I Implementation Techniques, 2002 pp 53-85.

Erwig, M., Abraham, R., Cooperstein, I., Kollmansberger S., 2006. Automatic Generation and Maintenance of Correct Spreadsheets?. In: Proceedings of the 27th international conference on Software engineering, St. Louis, MO, USA pp 136-145 - http://web.engr.oregonstate.edu/~erwig/papers/Gencel_ICSE05.pdf.

Hanna, K., 2005. A document-centered environment for Haskell. In: 17th International Workshop on Implementation and Application of Functional Languages IFL 2005 Dublin, Ireland - September 19-21 2005.

Sunday, February 17, 2008

User Driven Modelling Justification

There are many computer literate people who are experts in a particular domain. Given the opportunity they will develop their own software (Scaffidi, 2005). There is a need in many domains for people to create software such as engineering models, scientific taxonomies, business systems, and in the arts. Examples of software systems that enable creation of models without necessitating code writing are spreadsheets, visual web development systems, and database management systems. Crapo et al (2002) explain the need for a methodology for creation of systems to enable more collaborative approaches to modelling by domain expert end-users that make use of structured and visualised information. Peirce (1904) explained that systems can be represented logically by humans, and this applies to software development and information representation on computers. Thus it could be made possible to represent systems with natural and visual languages. Though Nurminen et al (2003) argue that people prefer usability over automation, it is possible to achieve both by providing a stepped translation capability that ensures users are constantly kept informed of the steps taken. This approach is advocated by (Johnson, 2004). Automated translation from a people-centred view of information to software for computers can aid in software development by domain expert end-users and help ensure they can communicate models directly to computers. Software developers can then concentrate mainly on creating systems that enable domain experts to develop software, rather than developing individual software models on behalf of domain experts, which is difficult and prone to communication problems.

References

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Intelligent Systems. In: C. T. Leondes, ed. Intelligent Systems: Technology and Applications, Volume I Implementation Techniques, 2002 pp 53-85.

Johnson, P., 2004. Interactions, Collaborations and breakdowns. In: ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86 Prague, Czech Republic. - http://portal.acm.org/citation.cfm?id=1045448&coll=GUIDE&dl=GUIDE&CFID=17319495&CFTOKEN=29205382&ret=1Fulltext [Accessed 17th February 2008].

Nurminen, J. K., Karaonen, O., Hatonen, K., 2003. What makes expert systems survive over 10 years-empirical evaluation of several engineering applications. Expert Systems with Applications 24(2) pp 199-211. - http://citeseer.ist.psu.edu/630566.html [Accessed 17th February 2008].

Peirce, C.S., 1906. Prolegomena to an Apology for Pragmaticism [online]. Available from: http://www.existentialgraphs.com/peirceoneg/prolegomena.htm [Accessed 17th February 2008].

Scaffidi, C., Shaw, M., Myers, B., 2005. Estimating the Numbers of End-users and End-user Programmers. In: IEEE Symposium on Visual Languages and Human-Centric Computing, (VL/HCC'05): 207-214 Dallas, Texas. - http://www.cs.cmu.edu/~cscaffid/papers/eu_20050923_vlhcc.pdf [Accessed 17th February 2008].

Monday, February 11, 2008

Periodic table of Visualization Methods

Periodic table of Visualization Methods - http://www.visual-literacy.org/periodic_table/periodic_table.html - By Ralph Lengler and Martin J Eppler of Visual Literacy.org - http://www.visual-literacy.org/.

This displays visualisation methods categorized into a periodic table type format. Each letter(s) stands for a visualisation method rather than a chemical element. So this is a good way to see many visualisations in an easy to navigate way, a visualisation of visualisation methods. The visualisation methods are also categorized by colour coding and position into overall methodologies. When the cursor is rested on a visualisation method an example pops up.

This visualisation and the details of how it's produced are described in more detail in a University of the West of England blog - Periodic table of Visualization Methods - UWE Blog - http://dsa2006.blogspot.com/2007/02/periodic-table-of-visualisations.html - UWE Blog post - "This blog supports the group of students taking Data, Schemas and Applications UFIEKG-20-3, a module taught in the Information Systems School at the University of the West of England in Bristol, UK - Visual-Literacy.org has published this great Periodic Table of methods of visualisation. This displays around 100 diagram types, with examples and a multi-faceted classification by: - simple to complex - data/information/concept/strategy/metaphor/compound - process/structure - detail/overview - divergence/convergence - The web page uses a Javascript library to display an example of a diagram type when you mouse-over its box. A neat trick but perhaps not very accessible, so I took the liberty of massaging this table to create a full listing of all the diagram types in alphabetical order. This format is more convenient for my purpose when teaching, and is a nice example of XML-scraping using XQuery."

More information on visualisation is available at - http://www.cems.uwe.ac.uk/amrc/seeds/Visualisation.htm and http://www.cems.uwe.ac.uk/~phale/VisualisationandInteraction.

Thursday, February 07, 2008

NASA - massively multiplayer online (MMO) game request

NASA has issued a request for information for an educational game to develop Science, Technology, Engineering, and Mathematics Skills for students. NASA requests a 5 page size 12 font document of ideas.

"The US space agency is exploring the possibility of developing a massively multiplayer online (MMO) game.
The virtual world would be aimed at students and would "simulate real Nasa engineering and science missions".
The agency has published a "request for information" (RFI) from organisations interested in developing the platform."

Nasa believe the game would help find the next generation of scientists and engineers needed to fulfil its "vision for space exploration".


Nasa investigates virtual space - http://news.bbc.co.uk/1/hi/technology/7195718.stm

NASA Learning Technologies Request for Information: Development of a NASA-based massively multiplayer online learning game - http://ipp.gsfc.nasa.gov/mmo/

NASA Learning Technologies Request for Information: Development of a NASA-based Massively Multiplayer Online Learning Game PDF Document - http://ipp.gsfc.nasa.gov/mmo/MMO_RFI.pdf

DEVELOPMENT OF A NASA-BASED MASSIVELY MULTIPLAYER ONLINE LEARNING GAME - http://prod.nais.nasa.gov/cgi-bin/eps/synopsis.cgi?acqid=128415

NASA's Planning its Own Version of World of Warcraft - http://www.universetoday.com/2008/01/18/nasas-planning-its-own-version-of-world-of-warcraft/


I have a space about space research at - http://www.cems.uwe.ac.uk/amrc/aerospace.htm.

and

Public Understanding of Science - http://www.cems.uwe.ac.uk/amrc/seeds/PublicScience.htm.


Friday, February 01, 2008

PhD Summary - User Driven Programming

The research question to be answered in this thesis is - To what extent is it possible to improve collaborative software development through the use of diagrams without requiring people to learn computer languages?

My research involves enabling computer literate people who aren't programmers to create software. The means for this is construction of visual diagrams that represent the task, in a similar way to how family trees and taxonomies can be represented as diagrams. The visual interface is available from a website and the research involves translating this to code. The aim is to enable programming without requiring people to learn computer languages. I am particularly interested in making it possible for a wider range of people to collaborate on software development.

The methodology for this is automation by translation from a human level of abstraction to software.

The theory behind this thesis is that it is possible to create a systematic diagrammatic representation of logical thought to enable representation of user's wishes to a computer.

C.S. Peirce (1906) stated in 'Prolegomena to an Apology for Pragmaticism' "Come on, my Reader, and let us construct a diagram to illustrate the general course of thought; I mean a system of diagrammatization by means of which any course of thought can be represented with exactitude". That is the purpose of this research, but to limit the scope and so make application of this theory testable the research is restricted mainly to engineers (because they often think in terms of diagrams) and to the domain of modelling (which often requires diagrams). So the aim is to apply the research first where it can have the most use and encourage others to expand it for other domains and other users. This research is intended to simplify computing for computer literate non-programmers, this includes many engineers. The main research area is enabling users such as engineers to model the problems they encounter in manufacturing and design. However, the wider aim is to prototype research for enabling a larger range of software users to model their problems. The intention is to create collaborative tools that allow users to develop software in a way they will be familiar with from their use of spreadsheets.

The hypothesis is that it is possible to create an end-user programming environment, usable by non-programmers, which can have a wide variety of uses. The aim of this research is to create a modelling system that can be edited by computer literate non-programmers, and so demonstrate an application of end-user programming that could be used in a more generic way. The possibilities for a generic user-driven programming environment will be explained. It is possible to create an end-user visual programming environment using Semantic Web technologies, especially for modelling of information, where this approach is well suited. All that is necessary is to link the information visually via equations, and store these results for reuse and collaboration. This can make translation from humans to computers easier and more reliable than current software systems and languages. The use of Semantic Web languages as programming languages would assist greatly with interoperability as these languages are standardised for use in a wide range of computer systems.

The problem examined in this thesis is that of allowing domain experts to create decision support software. This is a way of testing the assumption that these domain expert's thoughts can be represented in a systematic diagrammatic way, and then translated to computer code. The main emphasis is on engineers, who experience problems in creating and sharing their software. The alternatives they have for creation of software are spreadsheets, which do not have collaboration and information modelling abilities sufficiently built in, or complex software that needs considerable expertise to use, and often still has insufficient collaboration or information modelling capabilities.

Peirce, C.S. - 1906. Prolegomena to an Apology for Pragmaticism http://www.existentialgraphs.com/peirceoneg/prolegomena.htm