Showing posts with label collaboration. Show all posts
Showing posts with label collaboration. Show all posts

Saturday, May 15, 2010

User Driven Modelling/Programming - Overall Aims

The aim for this research has for some time been to enable empowerment and indepedence of people creating models/programs within their team from :-

  • Changes in the strategy of the organisation or the environment in which it operates.
  • Changes in the software environment, e.g. what software the IT services will allow.
  • Problems in having time and skills for learning and using computer languages.
  • Difficulties in visualising and representing the software created.
  • Difficulties in enabling collaboration.
  • Inaccessibility of software created, caused by use of proprietary, department only, or specialist software.
  • Maintenance problems.
  • Mistakes in reuse, caused by lack of visualisation and representation of previous use.

The means for this is development of diagrammatic visualised software over the web as far as possible, where the visualisation matches the structure and therefore enables the collaborion by cutting through uneccessary barriers.

The main possible uses so far are models/problems that suit a tree/network based structure, such as process modelling, business modelling, and scientific taxonomies, and family trees.

Saturday, April 10, 2010

Empowering engineers and others to create software

With my PhD work, there was extensive prototyping of software solutions created and feedback from engineers. At first engineers tended to ask for software that followed the strategy of the business and met its deadlines. What emerged over time though was a desire from engineers to have more control over the software so that they could do this themselves and have input into this strategy. With a top down strategy and inflexible software and rules about what can be used and installed, missing of deadlines, and problems in meeting aims were built into the system, and engineers realised this.

So even in engineering, an industry that by its nature has to be conservative, due to safety needs, it is realised that empowerment is necessary in software development. So there was a need to empower the engineers by provision of collaborative software that could be installed and used as easily as possible and be adaptable. Empowering the engineers to be fully involved in the creation and maintenance of such software, because they're interested in the software and what it can do, was essential to make the use, re-use and maintenance of the software practical. This is necessary because it would not be possible to achieve application of useful software by any top down strategy, with limited involvement of higher managers and software suppliers. Visualisation and modelling of the software by a large range of people can be achieved by use of diagrams to show the problem and software structure, as part of the software and how it is used.

Further feedback was obtained from others via an online survey of a greater cross section of others rather than only engineers. This bore out that people want more control and involvement in software development and use, and that visual editing of the software over the web is the best way to achieve this.

Sunday, November 15, 2009

Researcher Collaboration - Web 2.0 - Strength in science collaboration - BBC Article

This looks like a useful Web 2.0 collaboration tool for researchers -

The BBC article is at - http://news.bbc.co.uk/1/hi/technology/8342851.stm

"Victor Henning is the co-founder of Mendeley, an online collaboration tool which was created specifically for scientists.
The free software allows scientists and researchers to upload papers which are then trawled for bibliographic data - author, title, issue and so on - and paired up with similar papers already in the database."

"Mendeley is supposed to take the work out of managing these [research] papers.," explains Mr Henning.
"You can just drag and drop your collection of PDFs into the software and it'll automatically extract all the bibliographic data - all of the stuff that you'd usually have to type in manually." - Victor Henning.

Wednesday, June 24, 2009

Collaborative Modelling and Visualisation For Complex Systems

The aim of the research described in this article is to apply the research first where it can have the most use,and then encourage others to expand it for other domains and other users. This is in order to simplify modelling and computing for computer literate non programmers, this includes many engineers, and so enable users such as engineers to model the manufacturing and design.

The problem to be tested her is enabling de-abstraction of engineering problems from engineers' representation to computer models and code. This is order to find out to what extent diagrammatic representations of problems can be used in order to provide modelling solutions. So to test this a source tree is created, then translated to computer code, then represented as a result tree.

To test this problem - the research examines a part of C.S. Peirce's (1906) - 'Prolegomena to an Apology for Pragmaticism' call to action"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".

It isn't possible to solve this problem and do this all at once so to limit the scope this research is restricted mainly to engineers (who often use diagrams). Engineers often model problems using computer systems, so to make this research effective these areas are prioritised -

  • To domain of modelling (which often requires diagrams)
  • Management of ontologies and related models is essential for management and understanding of complex systems.

Breaking both the research and the modelling system into testable steps improves the chances of project success. Breaking a complex systems engineering problem or project into modular steps and stages ensures that if failure looks likely it is possible to go back a step, rather than restart or abandon the project. This also informs, teaches and enables systems thinking and design. This can be achieved by transforming engineering knowledge into code in collaborative computer systems, and visualising the structure of the resultant system to all domain experts. This enables translation (both in human communication and computing model and program transformation) from the business and/or engineering focus of the domain expert end-users, to the software developers and help desk and vice versa.

Enabling, providing and supporting staff to use Semantic Web and Web 2.0 technologies can lower costs, improve collaboration, and improve staff satisfaction and retention. This is an important technology for Semantic Web collaboration. Visualisation of every stage in collaborative model creation and every part of the model enables determination of whether the model and view(s) of it are useful and correct, and so aids this sharing of human knowledge to solve problems.

A problem can be represented and shared as visual diagrams, and then translated from this abstract view to models and code. Gross (2007) argues the need for end user programming by designers using diagrams and scratchpads. Tufte (1990) explains how diagrams can be more effective than words for representing geometry. This links with the theme through our research of translating from an abstract to a concrete representation; Green et al. (2007) explain this distinction between abstract and concrete models. This distinction is more gradual than the distinction between classes and objects for object oriented programming. To achieve this it is necessary to enable translation from ontologies and Semantic Web information to diagrammatic representations and vice versa. Green et al. (2007) discuss terminology problems, and how ontologies and models and collaboration can be used to help solve this problem. A classification scheme or ontology is necessary in order to make communication precise. Ontology/ies can be used to define terms and higher level relationships and these extended for application to particular modes. Such ontology/ies can also be used to help non-specialists understand the terminology of a particular domain.

Sternemann and Zelm (1999) explain that it has become necessary to research collaborative modelling and visualisation tools, because of the business trend towards global markets and decentralised organisation structures; Green et al. (2007) also explain this.
The benefits of this research are - enabling engineers to visualise problems such as representation of a product data structure in a familiar way. This gives a visual and colour coded representation of equations. Visualisation is easier to navigate and understand than that in spreadsheets, and more maintainable. The translation, visualisation and interactions close the gap between human representations of problems, and the representations that are possible using computer languages.

The Wider Implications of this research is that this research could also be used for business modelling, process modelling, and workflow.

References

Green, S., Beeson, I., Kamm, R., 2007. Process architectures and process models: opportunities for reuse. In: 8th Workshop on Business Process Modeling, Development, and Support BPMDS07 and CAiSE'07 11-15 June 2007, Trondheim, Norway.

Gross, M. D., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar February 2007.

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

Sternemann, K. H., Zelm, M., 1999. Context sensitive provision and visualisation of enterprise information with a hypermedia based system, Computers in Industry Vol 40 (2) pp 173-184.

Tufte, E., R., 1990. Envisioning Information. Graphics Press.

Saturday, May 30, 2009

Collaboration in Engineering using Semantic Web techniques

Abstract
This article describes how software developers could enable domain experts such as engineers to collaborate on problem solving. The means for this is development using Semantic Web and Web 2.0 techniques to enable end-user programming. This could enable domain experts such as engineers to be involved in the modelling of a problem such as product design, and so understand, assess, and develop possible solutions.

Introduction
Visualisation is necessary to provide traceability for decision making, as an audit trail for information, to justify a decision and/or cost, or to understand a process, or a product data structure. It is necessary to navigate a database in order to validate it, the structure of the visual interface needs to show the structure of the data, and the model. The best way to do this is to relate them all so that any change to the database, changes the structure of the model and this changes the structure of the visualisation, or vice versa . Semantic search allows someone to see results or individual items but enables going straight to this, that doesn’t show the context and the model is still a ‘black box’, unless the Semantic search actually returns the relevant portion of the structure so that the context of the returned information is displayed.

Methodology
The example below illustrates how it is possible to enable refining a search by visualising all the items present in sub-categories of the main category found in the search. McGuinness (2003) explains how ontologies support this functionality and calls this ‘generalization/specialization’ of information. Uschold and Gruninger (2004) describe ‘ontology-based search’ as “Ontology used for concept-based structuring of information in a repository”; and describe the benefit of this as “better information access” This aids the research objectives of ease of use and sharing of information. The use of open standards for representing information makes it possible to enable searches that understand the semantics of the information and so can track all of the relationships between items. This example illustrates the interface for making a search. In this example the user wants to retrieve all the information related to a spar (aircraft wing component).





Semantic Search interface


The result is shown as a series of trees for each item that contains the word spar. Each keyword match is the root of a tree. Each tree shows the item found and all its children and attributes. The example below shows an image of the top part of the results, this is part of the branch for the first item returned.



Results from semantic search

The information is held in linked and related taxonomies/sub ontologies so it is not HTML that is being searched but the taxonomy itself. Because the information is held in a structured way, it is much more likely that searchers will find what they are looking for, because the search can follow the relationships represented in the taxonomy. One of the key objectives of Semantic Web research and Web 2.0 is to make this kind of search possible over the web as a whole. The Semantic Web is a longer-term vision for managing information over the web and Web 2.0 is the shorter-term practical implementation of techniques, which can ease current information search and management problems. A web interface has been developed for Protégé An example of the use of this is the illustration below where a search is made for information on the cure cycle for composites manufacturing. This search is possible as WebProtege[1] has succeeded in providing a web based interface for displaying and searching ontologies, so providing an additional way to enable web access to the test ontologies created for this research.



Web Protégé Interface


The next stage of this problem is to enable interaction and modelling with the returned information. A project was created called Bitriple by Leaver (2008), to enable end-user functionality for this kind of web-based ontology construction and search. The application provides a facility to edit an ontology/ies and instances, and provides tree-based visualisation of the ontology (as shown in the example below). This example illustrates creation of an online aircraft wing ontology. Wing component sub/ontologies created using Protégé can be translated for the Bitriple application to be represented as RDF/XML. An application could be built as an extension to Bitriple to perform calculations and modelling using the information stored. This could assist in allowing domain expert end-user programmers/modellers to create models. Such web applications provide an alternative to spreadsheets, and to single computer based programs; and if installed on a network server, such applications can provide a collaborative model development environment. This would fit in well with both Semantic Web, and Web 2.0 approaches to knowledge creation, allowing structured representation and navigation of information, and end-user interaction, collaboration, customisation and programming via the web. Collaboration can aid people to agree on terminology, and standardisation of calculations used such as for cost rates and currencies. RDF information can be searched with SPARQL[2] (SPARQL Protocol And RDF Query Language), which is used to search the Bitriple application.

A screenshot from the Bitriple application, of ontology creation for an aircraft wing, is shown below :-



Bitriple Ontology Creation Screenshot


Conclusion

If domain experts are not involved in creation of the model, there is no proper way for the knowledge they are encoding to emerge, or for proper collaboration so each expert is best encapsulating the part of the model that they are most expert in. People need to be involved in model creation if they are to understand the model, decision, and how the decision was made. So there is a need for end-user modelling/programming to enable this. Full automation hinders user involvement and traceability, so semi-automated systems that interact with end-users and assist with all stages of the model decision are better. If a person goes straight to the answer how can it be expected that they fully understood the question?

Breaking complex mathematics into modularised traceable steps eases management of it, and visualisation, and allows modelling of different scenarios, and these scenarios demonstrate the emergent properties of the model, enabling decision support. BiDirectional Traceability is needed, traceability between nodes/submodels, and between models, and between suppliers and buyers.

Existing ontologies can be extended for modelling of software systems and engineering systems e.g. PSL, STEPML, UML, SysML can be extended.This research can enable collaborative modelling and interaction, via applying end-user programming techniques to enable domain experts such as engineers and business people to create and interact with the knowledge representation themselves, and co-operate to ensure the representations are useful for addressing their problems, with less software creation barriers. Software developers need to enable such systems to make this all possible.

[1] SPARQL is the query language and protocol for RDF being recommended to the World Wide Web Consortium - (2008) [online]. Available from: http://www.w3.org/TR/rdf-schema/ [Accessed 27 June 2008]. A tutorial has been developed by Dodds - [online]. Available from: http://www.xml.com/lpt/a/2005/11/16/introducing-sparql-querying-semantic-web-tutorial.html
[Accessed 27 June 2008].

[2] WebProtege (2008) Wiki Page [online]. Available from: http://protege.cim3.net/cgi-bin/wiki.pl?WebProtege [Accessed 27 June 2008].
References
Leaver, N. (2008) Using RDF as an Enabling Technology. MSc. Dissertation, University of the West of England, Bristol.

McGuinness, D. L., 2003. Ontologies Come of Age. In: Dieter Fensel, Jim Hendler, Henry Lieberman, and Wolfgang Wahlster, ed. Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential. MIT Press, 2003.

Uschold, M., Gruninger, M., 2004. Ontologies and Semantics for Seamless Connectivity. In: Association for Computer Machinery - Special Interest Group on Management of Data - SIGMOD Record December, 33(4).

Friday, December 05, 2008

User Driven Modelling - Applications

This visual modelling is similar to collaborative spreadsheet modelling, but for these research models the visualisation and the code structure are exactly the same. This means users effectively can see an audit trail at all times in the modelling, and that the gap between those that program/model, and users is reduced. This makes both computing automated translation, and human collaboration/domain translation easier. This research is mainly aimed at users whose models/programs are too complex for spreadsheets. This means that themselves and other modellers/users lose track of information. These modellers/users often do not have the time and/or facilities for the programming tasks they need.

Automated translation and visualisation of models is essential as if they are manually copied by humans, there are almost certain to be errors in the copying of any large model to a different system. For such models an error anywhere in the model makes the result wrong. Visualising over collaborative networks, and of the whole structure also allows those responsible for checking and maintenance of each individual part of it to spot any mistakes, so this again acts as an effective audit trail.

Demonstration interactive models are shown at - http://www.cems.uwe.ac.uk/~phale/EconomicModels/ModelsVisualised.htm.

Monday, June 16, 2008

User Driven Modelling - Intermediate Benefits

Although User Driven Modelling/Programming is a difficult problem and only partially solved, there are numerous intermediate benefits from the search for this approach. These include better modelling and visualisation of problems, improved interaction with end-users, Semantic Web modelling search and visualisation methods, collaboration to improve modelling, and ways to agree ontology and Semantic Web representations. It was necessary to provide such intermediate benefits as the industrial collaborators had shorter term goals and so required deliverables.

The techniques used helped with progress towards improved interoperability that can aid in all the above areas. These uses and improved interoperability to support them needed to be developed together in an iterative way.

Experienced programmers/software engineers may have many of the problems of end-user programmers whenever they need to use a language/system they are unfamiliar with, or when the language/system they use is updated to a new version. So this means the techniques and approach developed can aid experienced software developers in such circumstances, as well as end-user programmers.

Tuesday, May 13, 2008

Semantic Web Collaboration

There is a need for Semantic Web applications in order to increase the amount of Semantic Web information that can be searched. This could result in a virtuous circle of Semantic Web applications creating Semantic Web information, and so justifying the creation of more Semantic Web applications to access it. This research advocates the use of Semantic Web applications for modelling and end-user programming, and integration into business applications.

Research in the use and visualisation of Semantic Web information can provide the tools that end-user programmers have been lacking until recently, and these tools can be used for modelling. A modelling environment needs to be created by software developers in order to allow users/model builders/domain experts to create collaborative and interoperable models. This modelling environment could be created using an open standard language such as XML (eXtensible Markup Language). Cheung et al. (2005) demonstrate the importance of XML for interoperability and knowledge re-use. As the high (user) level translation, this would depend on tools developed in order to assist the user, provide an interface and manage the user interface. These tools are written by developers using lower level languages, in order to enable modelling by end-user modellers.

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 (as explained by Berners-Lee and Fischetti (1999). Anderson's (2007) Joint Information Systems Committee (JISC) report explains that as an application becomes more popular, more people use it in order to communicate with others who use it. This enables exposing information using web technology, for re-use.

Anderson (2007) in a Joint Information Systems Committee (JISC) report explains how Semantic Web and Web 2.0 are related as Berners-Lee's intention in the early development of Semantic Web technologies was for pages to be interactive. Anderson's JISC report talks of Web 2.0 trends towards the "End of the software release cycle, Lightweight programming models, Software above the level of a single device, and Rich user experiences". The ontology development problem should be aided by publishing the ontology and allowing tagging of content by users, the advantages of this in creating a shared understanding of what things mean is explained by Anderson. Anderson explains that tagging by web users can generate some understanding and agreement about terms and an improved search facility, even without a formal ontology, or as a way to assist in the development and improvement of an ontology. Anderson's JISC report explains how the technologies used are enabling user-centred web applications, and the use of the web as a development platform. It explains "As a Web 2.0 concept, this idea of opening up goes beyond the open source software idea of opening up code to developers, to opening up content production to all users and exposing data for re-use and combination". Anderson (2007) establishes the need for communities to build ontologies. Software applications are needed that allow users with little software knowledge to edit and update ontologies themselves. Anderson talks of 'harnessing collective intelligence' by means of interactive collaborative software, he calls this 'distributed human intelligence'. Cayzer (2004) argues for provision of mechanisms to allow web page creators to tag their pages easily and as a natural part of the page creation. Al-Khalifa and Davis (2006) and Schmitz (2006) use this approach of user tagging combined with centralised ontology development.

Sternemann and Zelm (1999) explained that it has become necessary to research collaborative modelling and visualisation tools, because of the business trend towards global markets and decentralised organisation structures. Green et al. (2007), and Cheung et al. (2007) also explain this. So it is important to demonstrate a system that could be used to solve this problem by means of accessible, interoperable collaborative software to enable visual modelling/programming.

References

Al-Khalifa, H. S., Davis, H. C., 2006. Harnessing the Wisdom of Crowds: How To Semantically Annotate Web Resource Using Folksonomies. In: Proceedings of IADIS Web Applications and Research (WAR2006).

Anderson, P. Technology and Standards Watch. 2007. JISC (Joint Information Systems Committee) What is Web 2.0? Ideas, technologies and implications for education.
Berners-Lee, T., Fischetti, M., 1999. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X

Cayzer, S., 2004. Semantic Blogging and Decentralized knowledge Management. Communications of the ACM. Vol. 47, No. 12, Dec 2004, pp. 47-52. ACM Press.

Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising - ICE 2005, University BW Munich, Germany.

Cheung, W. M., Matthews, P. C., Gao, J. X., Maropoulos, P. G., 2007. Advanced product development integration architecture: an out-of-box solution to support distributed production networks. International Journal of Production Research March 2007.

Green, S., Beeson, I., Kamm, R., 2007. Process architectures and process models: opportunities for reuse. In: 8th Workshop on Business Process Modeling, Development, and Support BPMDS07 and CAiSE'07 11-15 June 2007, Trondheim, Norway.

Schmitz, P., 2006. Inducing ontology from Flickr tags. In: WWW2006 Conference, Edinburgh, UK. May 22-26, 2006.

Sternemann, K. H., Zelm, M., 1999. Context sensitive provision and visualisation of enterprise information with a hypermedia based system, Computers in Industry Vol 40 (2) pp 173-184.

More Information on this subject is available at - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.
My Research - http://www.cems.uwe.ac.uk/~phale/.
Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm.

Sunday, March 23, 2008

PhD Findings and Conclusion

Findings

The thesis covered the following areas :-


  • Enabling people to create software visually.
  • Creating design abstractions familiar to domain experts e.g. diagrams for engineers.
  • Ensuring interoperability using open standards.
  • Automating user to computer translation process.

This post explains how the alternative approach of User Driven Modelling/Programming used for this thesis to develop models and modelling capabilities compared to that of spreadsheet development, used within other projects. The alternative approach was outlined in this thesis, of using open standards ontologies/taxonomies and a web interface for developing decision support models for design and costing. The stepped translation approach designed and implemented in this thesis enabled structured modelling, and visualisation using interactive technologies.


  • Step 1 - Ontology
  • Step 2 - Modelling Tool
  • Step 3 - Interactive Visualisation

This stepped translation solved problems of the spreadsheet approach as indicated in the table below, and then in more detail in following sections -


Improvement - Achieved By
Maintenance - Structuring and Translation
Extensibility - Structuring and Visualisation
Ease of Use - Visualisation, Interaction, and Translation
Sharing of Information - Shared Ontology and Interoperability


The 3 step translation process created ensures translation of domain level modelling into open standard representation and software and vice versa.

Maintenance

The use of a centralised information source makes these models more reliable than the standalone spreadsheet. This centralised structure was easier to manage than updating multiple instances of the spreadsheets used by different people and ensuring they all contain the same information. So the first task was to build a system for collaborative model building. As a piece of information can then only belong to a unique location, the problems arising from duplicate pieces of information are eliminated. The models have only the functionality that is added by the model builder so there are not other side effects to keep track of, as there are with generic functionality within spreadsheets. Enabling people to create software visually makes it easier for model builders and model users to keep track of any information they are responsible for. Translation from the ontology to models and visualisations ensures one change will affect all stages, so this makes maintenance easier.


Extensibility

Creating the infrastructure for the collaborative model building system took much more time than it did for the spreadsheet system, but having done so it is quicker and easier to create further models. This is because of the facilities provided for model builders and end-users to customise the software in any one of the three step translation process. This means progress has been made in making it possible for non-programmers to build models. It also indicates that the extra research and development time taken was worth it in the long term, most of this time involved productive research and this can be used in future projects. The use of open standards in this thesis for information and models ensures there should be a development path, whatever changes there may be in the software market. This use of open standards also ensures that the system can link with most environments used by others. The translation and visualisation approach ensures that new models can be added using the existing ontology, and that design changes in the ontology and translation can enable modelling of different problems. So if there is a new problem to be modelled there are two ways to achieve this.

Ease of Use

Many people now are familiar with web pages and at least the basics of how to navigate them, and by creating such an environment, and standardising the navigation to those ways commonly used over the web, it is possible to ease usability. The models contain only the functionality that is added by the model builder unlike the spreadsheets which had generic functionality that was not required and led to user’s confusion. New Web 2.0 interaction technologies have allowed production of a rich user interface for web programs in a similar way to single computer applications. This means information held in an ontology and translated through modelling tools can be made available as interactive applications for many users. Translation allowed the same user interface to be provided in multiple tools and computer languages. Also this research showed that it was possible to provide user interfaces and visualisation differently as appropriate according to the type of user, the situation, or the kind of information to be shown.

Sharing of Information

The use of open standards languages for representing information makes it much easier to represent information in a way that makes it accessible both to people and software. Ontology based modelling tools use these open standards and so ensure dependable translation, interoperability, and sharing of information. Web browsers make it possible to share information with many users at once, and so this enables collaboration. Structuring of the information using standardised languages makes it easier to search and visualise the information. This ensuring of interoperability is important for long term use of the overall modelling system.

Conclusion

Within this thesis it is argued that there is a need for software developers to create programs that enable users to solve problems themselves. In effect this involves production of a system to create systems. This approach can widen programming participation by including computer literate non-programmers. This is a reaction to the increased complexity of real world problems and software systems, which makes development of software solutions impractical without greater involvement from end-users. It is difficult for developers to foresee every need of users and use of the software produced, so it makes sense to enable more end-user customisation. It is also argued that the research for this thesis has been a step towards making end-user programming possible. The research ideas look complex at first glance but this research is all about simplifying software development.

The approach of developing decision support models for design and costing using a spreadsheet was compared to the alternative approach of using open standards taxonomies and a web interface for this purpose. The conclusion is that although use of spreadsheets allows for the creation of models relatively quickly they are beset by problems. These relate to Maintenance, Extensibility, Ease of Use, and Sharing of Information. The spreadsheet example and the explanation in the thesis represent problems currently experienced throughout software and computer use.

The alternative approach for this thesis of User Driven Modelling/Programming involves the development of a system, where a model builder, via visual editing of library taxonomies can undertake maintenance and extension of information. Dealing with this proof of concept has indicated that it is easier to maintain, search and share information using this approach than it was using spreadsheets. This also enables much more of the maintenance task to be left to users, who can also customise the system. Creating the infrastructure has taken much more time than it did for the spreadsheet system, but having done so it is much quicker and easier to create further models. This indicates that the extra research and development time taken though far exceeding what would have been required for a spreadsheet modelling project is well worth it in the long term. Also the use of a centralised information source makes these models more reliable than the standalone spreadsheet, standalone decision support models created individually may contain out of date information. In addition, since a well constructed ontology implies that a piece of information can only belong to a unique location, the problems arising from duplicate pieces of information are eliminated. It is also much easier to create models once the infrastructure is in place; this can enable users to develop models. The ability to visualise, search and share information using structured languages and web pages is a huge advantage for creation of dynamic structured views and decision support models over the web.

This research was a test case for a whole new approach that could be possible, 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. For this reason highly structured visualisations were preferred over web spreadsheets. Semantic Web languages are ideal for representing graphs and trees in an open standard way. The spatial, and tree/graph visualisations used both have the same underlying semantics, and therefore can both be translated to computer languages. In fact it would be much better in the long run to use the Semantic Web languages as standardised programming languages for such problems as this would avoid the need to further translate into other programming languages, and systems. The advantage to this is that of using Semantic Web languages for representation of information, meta-programming, and translation to a visual display for users. The use of Semantic Web languages as a connectivity environment for connecting information, and for connecting users to the information held in Semantic Web data sources enables an environment that could be made easier to use, install and maintain.

More generally a new approach is required to software creation. This approach should involve developers creating software systems that enable users to perform high level programming, and model the problem for which they are the experts. This is an alternative to the provision by developers of modelling solutions that try to provide an out of the box solution that just needs ’tweaking’. Such an out of the box system is not practical considering both increases in complexity of manufactured products, and of software systems themselves. Feedback from publishing the research examples behind this thesis and working with industrial partners indicates that people like to work on their own solutions, providing they are computer literate and confident they have domain knowledge that the developers do not possess. This is true for software development in general, not just in the domain of engineering. Research cited in this thesis from others involved in end-user programming confirms this.

For proving the hypothesis that it is possible to create an end-user programming environment, usable by non programmers, it has been found that structuring and relating of information is all important in this solution. To achieve this, it was only necessary to link the information visually via equations, and store these results for reuse and collaboration. If users can understand and navigate relationships, and add new relationships they can model most problems. It was important to design a visual interface that is intuitive to use, and allows for proper interpretation of the results. Feedback has indicated that users can navigate this structure and manipulate it. This is preferable to ’black box’ solutions that hide information. There are no dead ends or blocks to expanding and improving this approach. To make the system easier to use it is only necessary to trial continually better interfaces, and to assist by providing guidance to the user. There was not sufficient time and resources to expand this research much to areas outside engineering modelling, but there is scope for researchers to improve end-user programming for engineering modelling systems, and to expand the research into other areas.

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.

Saturday, July 28, 2007

Dagstuhl Seminar End-User Software Engineering - Part 4 - Final Part

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07

In 'Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1082 Joëlle Coutaz explains how Model Driven Engineering and Service Oriented Architecture can be combined -

"Our approach to UI plasticity brings together MDE (Model Driven Engineering) and SOA (Service Oriented Architecture) within a unified framework that covers both the development stage and the runtime phase of interactive systems."

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.

In 'Model-Driven Development for End-Users, too!?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1085 Gregor Engels of University of Paderborn explains that UML (Unified Modeling Language) should be extended to allow development of user interfaces in order to assist end-users to program -

"The UML is strong in modelling the internal functionality of a software system, but weak in modelling user interface aspects of a system. Thus, with respect to the well-known MVC (Model-View-Controller) pattern, the UML supports the Model aspect, while neglecting the View and Controller aspect."

In 'Position Paper for Dagstuhl 2007 EUSE Workshop' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1094 Mary Beth Rosson of Pennsylvania State University explains their development of a drag and drop interface for web based visual programming.

In 'Rethinking the Software Life Cycle: About the Interlace of Different Design and Development Activities' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1084 Yvonne 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.

In 'Software environments for supporting End-User Development' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1081 Maria Francesca Costabile, Antonio Piccinno also explain that new methodologies and environments are required for supporting end-user collaborative development.

In 'What is an End-User Software Engineer?' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1080 Steven Clarke of Microsoft examines the characteristics of end-user developers in order to assist with meeting their needs.


My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Friday, July 27, 2007

Dagstuhl Seminar End-User Software Engineering - Part 3

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07

In 'Exploiting Domain-Specific Structures For End-User Programming Support Tools' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1086 Robin Abraham and Martin Erwig of Oregon State University integrate spreadsheet modelling into the UML modelling process.

In 'Interdisciplinary Design Research for End-User Software Engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1078 Alan Blackwell explains the need for interdisciplinary research on the end-user programming problem to identify techniques within software engineering that can assist with this problem.

In 'Meta-Design: A Conceptual Framework for End-User Software Engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1087 Gerhard Fischer of University of Colorado, Center for LifeLong Learning and Design (L3D) explains the concept of Meta-Design -

"Meta-design is an emerging conceptual framework aimed at defining and creating social and technical infrastructures in which new forms of collaborative design can take place. It extends the traditional notion of system design beyond the original development of a system. It is grounded in the basic assumption that future uses and problems cannot be completely anticipated at design time, when a system is developed."

Fischer also explains that it is the mismatches between their needs and the software support that enables new understandings.

Fischer argues the need for allowing end-users to design software -

"A great amount of new media is designed to see humans only as consumers. The importance of meta-design rests on the fundamental belief that humans (not all of them, not at all times, not in all contexts) want to be and act as designers in personally meaningful activities. Meta-design encourages users to be actively engaged in generating creative extensions to the artifacts given to them and has the potential to break down the strict counterproductive barriers between consumers and designers."

Fischer also argues that software development can never be completely delegated to software professionals because domain experts are the only people that fully understand the domain specific tasks that must be performed.

He puts forward a hypothesis that this emphasis on end-user development also changes the emphasis on testing -

"Software testing is conducted differently. Because domain expert developers themselves are the primary users, complete testing is not as important as in the case when the developers are not the users."

He also argues for an approach to enabling end-user programming possible that makes it interesting to end-users -

"Many times the problem is not that programming is difficult, but that it is boring (as we were told by an artist). Highly creative owners of problems struggle and learn tools that are useful to them, rather than believing in the alternative of "ease-of-use," which limits them to preprogrammed features."


My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Thursday, July 26, 2007

Dagstuhl Seminar End-User Software Engineering - Part 2

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07, the Dagstuhl Seminar 07081 End-User Software Engineering was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed.

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 'End-User Design' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1099 Professor Alexander Repenning of University of Lugano explains the need for enhancements to UML (Unified Modeling Language) to aid end-user programming.

He makes the point 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."

In 'End-User Development Techniques for Enterprise Resource Planning Software Systems' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1097 Michael Spahn, Stefan Scheidl, and Todor Stoitsev explain SAP research into End-User Programming, they explain -

"End-users of ERP systems are domain experts but not necessarily IT professionals, limiting their ability to adapt the software by themselves to their own needs and forcing them to indirectly influence the adaptation processes by communicating their needs to IT professionals. Empowering the end-users to adapt the software by themselves is an important step in reducing customization costs and enabling high-quality tailoring of software and working environments to the needs of modern information and knowledge workers."

They explain that users must be empowered to explore, process, and analyse information in a user friendly way, and create and adapt reports and queries. An abstraction layer should ease this by hiding technical details to allow for concentrating on business needs.

In 'End-User Software Engineering and Professional End-User Developers' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1095 Judith Segal of the Open University examines issues and problems in Professional end-user development, the author explains -

"These developers are distinguished from other end-user developers in two ways. The first is that, consistent with their being familiar with formal notations and logical scientific reasoning, they tend to have few problems with coding per se. The second is that, as a class, they have a history of developing their own software which long predates the advent of the PC."

In 'End-User Software Engineering Position Paper' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1092 by Henry Lieberman of MIT Media Laboratory he 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 goes on to explain -

"HCI has amassed an enormous body of knowledge about what makes interfaces easy to use, and this has been applied widely to many computer applications for end users. Oddly, little of this has been applied to making interfaces for programming easier to use. Non-experts tend to believe that programmers practice a kind of voodoo, perceived to be naturally arcane and mysterious. Since they can handle it so well, programmers aren't perceived as needing ease of use. But we all pay the price for this misconception."

Lieberman explains the goal of this research -

"Finally, as much as is possible, we should make this process as automatic as we can, though the use of program transformation, dependency maintenance, automated reasoning, mixed-initiative interfaces, visualization, and machine learning. Otherwise, I think it will be too much overhead for a non-expert user themselves to keep track of the myriad facets that software development entails. If we succeed in this, people will become End-User Software Engineers without their even realizing it."


My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Wednesday, July 25, 2007

Dagstuhl Seminar End-User Software Engineering - Part 1

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07, the Dagstuhl Seminar 07081 End-User Software Engineering was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed.

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 introduction the report http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1098 states - "The number of end users creating software 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 is a good point, and can be related to a point in 'Barriers to Successful End-User Programming' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1091 by Andrew Ko http://www.cs.cmu.edu/~ajko Carnegie Mellon University about end-user programmers

"Some of them are scientists, some are artists, others are educators and other types of professionals. One thing that all of these people have in common is that their goals are entirely unrelated to producing code."

Andrew Ko explains how this causes a problem -

"the fact that end-user programmers are motivated by their domain and not by the merits of producing high-quality, dependable code, means that most of the barriers that end users encounter in the process of writing a program are perceived as distractions. This is despite the fact that such barriers can represent fundamental problems in end-users' program's or their understanding of how to use a programming language effectively."

the problem is -

"how can tools help end-user programmers' improve their programs' dependability, while allowing them to remain focused on their goals, rather than their code?"

An important part of the solution is to visualise the whole program execution not just the output. Andrew Ko states -

"when a user was trying to diagnose their program's failure, they had to base their hypothesis of what caused the failure just on what they could see in the program's output, rather than on information about the program's execution. In many of these situations, users premature decisions led to errors."

A further problem 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. Ko explains -

"We frequently hear anecdotes about how a one-off excel spreadsheet meant to be temporary became the centerpiece of some accounting logic. How often do such organizational dependencies occur, and how important do such program's become? What can tools do to help the future owners of these programs learn about the program's history and design?"

Mark D Gross explains Carnegie Mellon University work involving end-user programming by designers using diagrams and scratchpads in "Designers Need End User Software Engineering" http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1090.

In "End User Programming for Scientists: Modelling Complex Systems" http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1077 Andrew Begel of Microsoft Research explains -

"Model creation cannot be turned over to a programmer-for-hire without causing the model to become a black box. In order to ensure the validity of the model and stand behind its experimental results, the scientist must be intimately knowledgeable about its innards as well as its outward behaviors."

Text based Computer languages are often too obscure for end-user programmers, Bagel explains -

"Learning a text-based programming language is difficult for novices who want to be programmers. In the first few weeks of learning a language, syntax rules are often the most difficult to comprehend, with semantics interleaved. Non-programmers face these problems, in addition to lacking an engineering mindset to help form mental models of how they want to make the computer do what they want."

In 'End-user (further) development: A case for negotiated semiotic engineering' http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1083 Clarisse Sieckenius de Souza of Departamento de Informática, PUC-Rio makes the Quote Liberman et al -

"We think that over the next few years, the goal of human-computer interaction (HCI) will evolve from just making system easy to use (even though that goal has not yet been completely achieved) to making systems that are easy to develop"

From

Lieberman, H.; Parternò, F.; Klann, M.; Wulf, V. (2006) End-user development: An emerging paradigm. In End-User Development (Lieberman, Paternò and Wulf, Eds.). Springer. p. 1.

My home page is http://www.cems.uwe.ac.uk/~phale/.

I have a page on End-User Programming at http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Friday, April 20, 2007

Connecting Things - Continued

Experience in research and developing the research website has enables Web researchers to model collaboration and connection. The aim of this is to connect all the research that each person has done with research of others. This enables each person to connect with work they would like to have done themselves or can see they should have done, or should get involved in, but haven't had time. This can help business by allowing the business to clarify what it should focus on while knowing who can provide the othre services it needs. The advantages of this understanding of connections are most obvious in software and web development. This idea of connecting research via web links fits in with this quote from Steve Jobs of Apple "Creativity is just connecting things" (Jobs, 1996).

Further research is needed into providing a linking mechanism for 'snippets' of information. People need answers to particular questions they are asking. In order to get the facts they need it is important for the returned information to contain this. Return of the information as factual snippets that can be pieced together into a report with links to the multiple sources would aid this. The work with semantic technologies and languages such as RDF (Resource Description Framework) (World Wide Web Consortium, 2006) and RSS can assist in this. RDF, and Web Ontology Language (OWL) add a layer of standardisation of semantics, above the standardised syntax of XML (extensible Markup Language) (Bechhofer and Carroll, 2004).


RDF

Structuring information makes it easier to export it to different software systems to make his possible. It also makes it possible to provide visual navigation menus with a tree or graph structure. RDF can be searched using SPARQL (SPARQL Protocol And RDF Query Language) (World Wide Web Consortium, 2006). Because a resource can represent anything, knowledge from any domain can theoretically be represented in RDF. This, and its standardised syntax that allows it to be machine understandable, are the reasons why RDF is such a useful and important technology for the Semantic Web. RDF consists of a resource, a property, and a property value. This triple corresponds to subject, predicate, and object in logic. Each RDF triple represents a fact. A Resource is anything that can have a URI (uniform resource identifier). A URI can look like a web address and can actually be a web address, but this is not always the case, it is a way of representing an entity. A URI consists of the name and location of the entity. An RDF Resource is described through a collection of properties and property values called an RDF Description. RDF provides a mechanism for describing collections, which are special kinds of resources, and a sequence is an ordered collection. A collection does not have to possess its own URI but it can. RDF information can link to further RDF information elsewhere, providing connectivity. This allows resources to be linked to each other indefinitely, which is why it is such an important technology for the Semantic Web. Because it is XML based, an RDF Web page can be linked to an XSL stylesheet to produce a visual representation of the structure This is also explained by (Cayzer, 2004) who uses RDF to provide structure for Semantic blogging. Oren et al (2006) also use this approach of combining RDF and Semantic Seb use with ease of editing in a Semantic Wiki.


RSS

RSS allows web users to more easily find information by subscribing to websites that provide the information they are interested in and update this regularly. RSS is explained in (JISC, 2007) and by Cayzer, (2004) who explains its use in semantic blogging. An RSS feed is a list of articles in the website and a short summary of the article with a link to the full information. Software available on the web or downloadable can track the RSS information for sites the web user subscribes to.

RSS has split into different syntaxes and can stand for RDF Site Summary, Rich Site Summary, Really Simple Syndication, and there is a third alternative called Atom. All of the RSS syntaxes are based on XML and some are also based on RDF. The incompatibilities however do not seem to hinder searches using these formats too much, and use of RSS has become a useful method for making information on the web easier to find.

Tools and browsers are available or becoming available for searching RSS feeds. An example of this is the downloadable Flock Browser (2007) that includes an icon by the web address to indicate an RSS feed is available for that page. RSS and Flock projects are also related to the concept of blogging that gives individuals who may not be computer literate the opportunity to put there thoughts onto a web page without needing to edit HTML. This is a similar concept to that of Wikis such as Wikipedia (2006d). RSS allows for a more structured representation of the contents of a web page or a blog.

Berners-Lee et al (2006) explain "The Web is an engineered space created through formally specified languages and protocols. However, because humans are the creators of Web pages and links between them, their interactions form emergent patterns in the Web at a macroscopic scale." As well as connecting research it is necessary to connect information sources, so this work should be taken further by enabling connectivity between open source ontology, modelling, and visualisation tools, with those tools and applications commonly used in industry and organisations. These applications already hold large amounts of information, sometimes they are legacy applications that have been filled with information for many years.

Sims Learning Connections - Ray Sims - AND AND AND AND (PLE) - Related - http://blog.simslearningconnections.com/?p=50 - Useful and Interesting discussion of Personal Learing, and connecting learning and research.

References

Bechhofer, S., Carrol, J., 2004. Parsing owl dl: trees or triples?. In: Proceedings of the 13th international conference on World Wide Web, NY, USA, pp 266-275.

Berners-Lee, T., Hall, W., Hendler, J., Shadbolt, N., Weitzner, D. J., 2006. Creating a Science of the Web. Science 11 August 2006:Vol. 313. no. 5788, pp. 769 - 771 - http://www.webscience.org/publications/ - Enhanced - http://www.sciencemag.org/cgi/content/full/313/5788/769?ijkey=o66bodkFqpcCs&keytype=ref&siteid=sci..

Cayzer, S., 2004. Semantic Blogging and Decentralized knowledge Management. Communications of the ACM. Vol. 47, No. 12, Dec 2004, pp. 47-52. ACM Press.

Flock Browser, 2007. the social web browser http://www.flock.com.

JISC (Joint Information Systems Committee). Technology and Standards Watch. 2007. What is Web 2.0? Ideas, technologies and implications for education http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf.

Oren, E., Breslin, J. G., Decker, S., 2006. How Semantics Make Better Wikis. In: WWW 2006, May 23-26, 2006, Edinburgh, Scotland.

What creativity is for Steve jobs? It is all about experience connectivity - http://fgiasson.com/blog/index.php/2005/07/23/what_creativity_is_for_steve_jobs_it_is - Quote from Steve Jobs - "Creativity is just connecting things" - Originally from - From Wired Magazine February 1996 Gary Wolf - Reproduced Here - http://romain-moisescot.com/steve/more/interviews/PDFs/1996.pdf.

What Is RSS - http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html - O'Reilly XML.com - Mark Pilgrim -December 18, 2002.

World Wide Web Consortium (W3C), 2006. Resource Description Framework (RDF) http://www.w3.org/RDF/.

World Wide Web Consortium (W3C), 2006. SPARQL Query Language for RDF http://www.w3.org/TR/rdf-sparql-query/.



My Research - http://www.cems.uwe.ac.uk/~phale/


Web 2.0 and AJAX page - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm


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

Sunday, April 08, 2007

Connecting Things

My experience in PhD research and developing the research website has enabled me to model collaboration and connection in research. The aim of this is to connect all the research that I have done with research of others, and any research I would like to have done myself or can see I should have done, or should get involved in. This idea of connecting research via web links fits in with this quote from Steve Jobs of Apple "Creativity is just connecting things" (Jobs, 1996).



Berners-Lee et al (2006) explain "The Web is an engineered space created through formally specified languages and protocols. However, because humans are the creators of Web pages and links between them, their interactions form emergent patterns in the Web at a macroscopic scale." As well as connecting research it is necessary to connect information sources, so I would like to further this work by enabling connectivity between the open source ontology, modelling, and visualisation tools I've investigated, with those tools and applications commonly used in industry and organisations. These applications already hold large amounts of information.


References


Berners-Lee, T., Hall, W., Hendler, J., Shadbolt, N., Weitzner, D. J., 2006. Creating a Science of the Web. Science 11 August 2006:Vol. 313. no. 5788, pp. 769 - 771 - http://www.webscience.org/publications/ - Enhanced - http://www.sciencemag.org/cgi/content/full/313/5788/769?ijkey=o66bodkFqpcCs&keytype=ref&siteid=sci.



What creativity is for Steve jobs? It is all about experience connectivity - http://fgiasson.com/blog/index.php/2005/07/23/what_creativity_is_for_steve_jobs_it_is - Quote from Steve Jobs - "Creativity is just connecting things" - Originally from - From Wired Magazine February 1996 Gary Wolf - Reproduced Here - http://romain-moisescot.com/steve/more/interviews/PDFs/1996.pdf.


My home page - http://www.cems.uwe.ac.uk/~phale/.

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

My Web 2.0 and Ajax Page - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.


Thursday, March 29, 2007

My PhD Research - Collaborative Web Based Modelling

After studying for an Economics degree at Plymouth University, I worked in financial services and then IT. I retrained in IT by means of vocational training, an Open University degree, and an MSc conversion course at UWE. I began my research in AMRC (Aerospace Manufacturing Research Centre) as an MSc project in 2000. The SEEDS (Systems Engineering Estimation and Decision Support) team within AMRC is involved in modelling problems and visualising solutions in order to help with decision support.

For my PhD research in User Driven Programming, I have been investigating ways of making it possible for people to program software without having to write code. This is especially useful when collaborative problem solving is required. My research relies on visualisation of the problem in order to model possible solutions. So to make this approach possible, I'm developing free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, early stage product and process design, and environmental modelling. I'm intending to prototype this on collaborative student projects such as the early stage design of aircraft and spacecraft. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. I'm publishing models online and linking Vanguard Studio with my own software to produce interactive models. These models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers. Vanguard Software has donated UWE a free server version of their decision support tool Vanguard Studio. This makes UWE part of a collaborative network of universities and industry that can create models and link them via a Wiki (editable website). This enables companies to co-ordinate their design work both internally and with their suppliers.

My research could also be applied to e-learning; the technologies could provide an interactive learning experience for students to collaborate in constructing solutions.


Example models are at :-
http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm
http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/

Thursday, March 22, 2007

Creating Software Systems For End User Modelling

It is important to make it possible for users to program software without having to write code. This relies on visualisation of the problem in a similar way to modelling. So to make this approach possible it's necessary to look to develop free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, and environmental modelling. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. These kind of models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers.

More generally a new approach is required to software creation. This approach should involve developers creating software systems that enable users to perform high level programming and model the problem for which they are the experts. This is an alternative to the provision by developers of modelling solutions that try to provide an out of the box solution that just needs 'tweaking'. Such systems are impractical considering both increases in complexity of manufactured products, and of software systems themselves. People like to work on their own solutions providing they are computer literate and confident they have domain knowledge that the developers do not possess. This is true for software development in general, not just in the domain of engineering.

Example models are at:
http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm

Friday, March 16, 2007

Collaborative Web Based Modelling

The SEEDS (Systems Engineering Estimation and Decision Support) team within AMRC (Aerospace Manufacturing Research Centre) is involved in modelling problems and visualising solutions in order to help with decision support. Vanguard Software has donated UWE (University of the West of England) a free server version of their decision support tool Vanguard Studio. This makes UWE part of a collaborative network of universities and industry that can create models and link them via a Wiki (editable website).

For my PhD research in User Driven Programming, I have been investigating ways of making it possible for users to program software without having to write code. This relies on visualisation of the problem in a similar way to modelling. So to make this approach possible I'm looking to develop free models and modelling tools for use over the Web. These can be used for teaching, collaborative problem solving, management decision making, and environmental modelling. The techniques used to build these models are often called Semantic Web or Web 2.0. This involves providing the kind of software over the Web that is already available on individual computers, and using this for sharing of information worldwide. I'm publishing these models online and linking Vanguard Studio with my own software to produce interactive models. These models change in response to the user, perform calculations, and range from dynamic computer aided design (CAD) type representations to hierarchical information explorers.

Example models are at :-

http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm

http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm

http://wiki.vanguardsw.com/bin/browse.dsb?dir/Engineering/Aerospace/

Thursday, March 01, 2007

Research in Modelling Simulation and Collaboration Over the Web

Collaboration, simulation and modelling have been investigated to assist us in determining the requirements for future research in modelling of problems. Huhns [1] and Paternò [2] both explain that alternatives to the current approach to software development are required. This should allow translation from a model-based representation of software to the actual software. This could involve automatically producing software for a semantic web site from visual representations of the problem. The core of this modelling infrastructure would be automated generation of models written using World Wide Web Consortium (W3C) standards based languages and the visualisation of information represented in such W3C standard ways. We have examined modelling languages such as Alloy [3] examined by Wallace [4], in order to establish how modelling languages can be used as an interface to an End-User Programming environment.
Transformation from a model building environment to program code has been investigated by Gray et al [5]. MathML [6] can assist in this process by providing an open representation of functions as XML (eXtensible Markup Language). Functions entered by the model developer can then be translated to this open representation and translated to programming languages and/or read by programming languages. The representation of functions and information can sometimes be illustrated diagrammatically. Guibert et al [7] explain and expands on Smiths work with an example demonstrating how numbers fail to reveal the concept behind them. The example is a numerical representation of a triangle. This representation is 'fregean' because it does not show the concept of a triangle. Next to this is a diagram of the triangle that does show the concept. This is the theory behind our conversions to interactive SVG (Scalable Vector Graphics) and and tree based representations of information and functions [8][9].
An open standards web driven method of collaboration is required to make it possible for organisations and individuals to become more deeply involved in projects that are well coordinated using web technologies. Morris et al. [10] examine Interactivity and collaboration on the web. Aziz et al. [11] examine how open standards software can assist in an organisation's collaborative product development. This approach is outlined in Ciancarini et al. [12] that explains ways of designing a document-centric coordination application over the Internet. Nidamarthi et al. [13] explain how web based collaboration can aid the design process. Huang and Mak [14] evaluate issues in the development and implementation of web applications for product design and manufacture. Reed et al. [15] show how web based modelling and simulation can be used in the aircraft design process. Kim et al. [16] explain their approach to modelling and simulation. Zhang et al. [17] review Internet-based product information sharing and visualisation. Li [18] examines the role of web based services for distributed process planning optimization.

The intention is to further the research of others into the approach of web based collaboration, and use semantic web software and techniques to achieve this. The above research reinforced our view that this is a robust approach. Modelling collaborations based on these techniques would bring together experts in engineering, systems modelling, computing, and Human Computer Interaction.

References

[1] Huhns, M. (2001) Interaction-Oriented Software Development. International Journal of Software Engineering and Knowledge Engineering, 11 259-279. [2] Paternò, F. (2005) Model-based tools for pervasive usability. Interacting with Computers 17 (3), 291-315. [3] Alloy http://alloy.mit.edu/ [4] Wallace C. (2003) Using Alloy in process modelling. Information and Software Technology, Vol. 45 (15), 1031-1043. [5] W3C Math Home - http://www.w3.org/Math/Overview.html - What is MathML? [6] 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. [7] Guibert N, Girard P, Guittet L, (2004), Example-based Programming: a pertinent visual approach for learning to program, University of Poitiers, Proceedings of the working conference on Advanced visual interfaces - Pages: 358 - 361 - ISBN:1-58113-867-9. [8] Spar - Tree based representation http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm [9] Interactive Examples http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm [10] Morris, S., Neilson, I., Charlton, C., Little, J. (2001) Interactivity and collaboration on the WWW - is the 'WWW shell' sufficient?. Interacting with Computers, 13, 717-730. [11] Aziz, H., Gao, J., Maropoulos, P., Chewing, W. M. (2005) Open standard, open source and peer-to-peer tools and methods for collaborative product development. Computers in Industry, 56, 260-271. [12] Ciancarini, P. & Rossi, D. & Vitali, F. (2001) Designing a document-centric coordination application over the Internet. Interacting with Computers, 13 677-693. [13] Nidamarthi S., Allen R. H., Ram D. S. (2001) Observations from supplementing the traditional design process via Internet-based collaboration tools, Computer Integrated Manufacturing, 14 (1), 95-107. [14] Huang, G. Q., Mak, K. L. (2001) Issues in the development and implementation of web applications for product design and manufacture. Computer Integrated Manufacturing, 14 (1), 125-135. [15] Reed, J. A., Follen, G. J., Afjeh A. A. (2000) Improving the Aircraft Design Process Using Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 10 (1), 58-83. [16] Kim Y., Choi Y., Bong Yoo S. (2001) Brokering and 3D collaborative viewing of mechanical part models on the Web, Computer Integrated Manufacturing, 14 (1), 28-41. [17] Zhang, S., Weimen, S., Hamada, G. (2004) A review of Internet-based product information sharing and visualization. Computers in Industry, 54, 1-15. [18] Li, W. D. (2005) A Web-based service for distributed process planning optimization. Computers in Industry, 56, 272-288.

Links

http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm
http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm