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/

Monday, March 12, 2007

Management of Complexity

Cagle (2006) explains that "You can never eliminate complexity from a system, you can only move it from place to place". The purpose of my research is to allow software developers to deal with complexity as far as possible in order to leave the end-user free to model their own problems. My research aims to adapt or create software systems to provide the visual editor for the source tree, and allow model builders to create a model by editing this. By doing so, model builders would create a generic model for a particular modelling subject.

Representing Complexity as Linked Trees

My research aims to adapt or create software systems to provide the visual editor for the source tree, and allow model builders to create a model by editing this. By doing so, the model builders would create a generic model for a particular modelling subject. Vanguard Studio is used to automatically convert the taxonomy into a decision support and modelling system. Vanguard have made their server available for collaborative model development (Vanguard Software, 2006). UK universities are already linking together to use Vanguard Studio on a network for aerospace and construction industry modelling. The model users can then use this decision support and modelling system to create their models. These models would be a more specific subset of the generic model, and could be applied for their own analysis. I have provided a translation mechanism to convert information or models into other representations (primarily web based), and to visualise this information. RDF (Resource Description Framework) allows for linking of peoples' information sources with each other, the structure for this is more of interlinked graphs. "RDF is used to model knowledge, where tree-based representations are not enough" (Nilsson et al, 2002). I used and tested this methodology for linking models using Protégé and then translating to Vanguard Studio which also allows interlinking of models. The translations I have then made to web standard languages such as RDF have been successful but I have found that the semantic web needs more interaction and modelling capability, while Web 2.0 technologies have good user interface and interaction capabilities but lack sufficient structure for complex calculations. Another issue of dealing with complexity is how much you use a top-down approach and how much a bottom-up approach in the collaboration necessary to define information sources.

I have found a clear relationship between my end-user programming techniques that involve meta-programming and Semantic Web techniques that involve use of meta-information. Combining these approaches involves a meta modelling management approach that manages complexity on behalf of end-users. This approach deals with linking and using (reusing) information as required in order to solve the problem the user is interested in. An implication of this research is that there is a strong need for user-friendly tools for non-programmers to edit meta-data and meta-programs that must be human understandable and machine understandable. The Web is evolving from being primarily a place to find things to being a place to do things as well (Uschold, 2003) citing (Smith, 2001). It is important to take advantage of this change to enable end-user programming. This allows model builders and users to seek agreement between individuals and between their models and the software representation by intervening in the model building process. This is a practical solution that can be used until machine processable semantics might in future make more automated solutions possible.

Representing Complexity in Other Ways

Sometimes it is difficult to construct an ontology to represent a model, such as when a potential new design is to be modelled and little is yet known about it, so alternatives must be investigated. This kind of problem is investigated by the Institute for People-Centred Computation IP-CC (2006) collaboration network, where representatives from different universities and manufacturers can collaborate to investigate ways of discovering the information required. Also, techniques of Aspect Oriented Programming (Elrad et al, 2001) and (Murphy et al, 2001) can be used to identify functions that can be used in calculating results without the requirement of a detailed underlying taxonomy. Aspect oriented programming could be used to capture and translate user requirements especially where software functions can not be neatly attached to particular objects or nodes in a hierarchy. These are known as cross-cutting concerns as they may affect several nodes. A diagrammatic representation of the cross-cutting concerns can then be translated into a computer language representation such as AspectJ for Java (Kiczales et al, 2001) and AspectXML for XML (eXtensible Markup Language) (Peterson, 2005). This allows for specification of a program as a model and translation to different languages, beginning with Java, and XML. This also makes use of XML as a programming language not just an information format. Collaborations involving Aspect Oriented Programming can be found at (Aosd.net, 2007) and (AspectXML, 2007).Techniques for representing and visualising uncertainty can also be used to help cope with the problem of a limited specification (Marsh et al, 2002), (Bru et al, 2004).

References

Aosd.net, 2007. Welcome to aosd.net - http://aosd.net/.

AspectXML 2007. Community open-source project - http://www.aspectxml.org/.

Bru, C., Scanlan, J., Hale, P., 2004. Visualization of Cost Information, International Journal of Agile Manufacturing, 7(1), pp 53-59.

Cagle, K, 2006. Thoughts on Complexity - http://www.oreillynet.com/xml/blog/2006/03/thoughts_on_complexity.html.

Elrad,T., Filman, R. E., Bader, A., 2001. Aspect-oriented programming: Introduction. Communications of the ACM, 44(10), pp 28-32.

Institute for People-Centred Computation (IP-CC), 2006. Supporting Discovery in Design and Innovative Decision-making http://www.ip-cc.org.uk/.

Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W. G., 2001. Getting Started with AspectJ. Communications of the ACM, 44(10) pp 59-65.

Marsh, R., Hill, T., Scanlan, J., Dunkley, M., Cleevely, P., 2002. Modelling manufacturing cost uncertainty with input distributions and exemplars. In: 9th ISPE International Conference on Concurrent Engineering: Research and Applications, Cranfield University pp 881-890.

Murphy, G. C., Walker, R. J., Baniassad, E. L. A., Robillard, M. P., Lai, A., Kersten, M. A., 2001. Does aspect-oriented programming work?, Communications of the ACM, Vol 44(10) (October 2001) pp 75 - 77, ISSN:0001-0782.

Nilsson, M., Palmér, M., Naeve, A., 2002. Semantic Web Metadata for e-Learning - Some Architectural Guidelines WWW2002 Hawaii USA.

Peterson, M. D., 2005. O'Reilly XML.com - [Part 3] Assets, Atom Feeds, and AspectXML - The Triple Threat of Web Development?http://www.oreillynet.com/xml/blog/2005/09/part_3_assets_atom_feeds_and_a.html.

Smith, R, 2001. What's Required in Knowledge Technologies: A Practical Vie . In Proceedings of Knowledge Technologies 2001.

Uschold, M., 2003. Where are the semantics in the semantic web? AI Magazine Vol 24 (3) pp 25-36.

Vanguard Software, 2006. Global Knowledge Portal http://wiki.vanguardsw.com/.

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

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

Wednesday, March 07, 2007

End User Modelling Tools

This article examines the need for users to be enabled to program, and the tools that could be created to assist this. It also examines how UML (Unified Modeling Language) tools could be adapted to enable developers to provide an environment for users to program, and how new UML tools could be created to help users to develop software themselves.

User involvement is important in the development of software but a domain expert does not necessarily possess expertise in software development, and a software developer cannot have expertise in every domain to which software might apply. So it is important to make it possible for software to be created, using methods that are as close as possible to that which the domain expert normally uses. The proportion of domain experts in a particular domain (aerospace engineering) for example who can develop their own programs is fairly low, but the proportion that are computer literate in the everyday use of computers is much higher. If this computer literacy is harnessed to allow the domain experts to develop and share models, the productivity for software development will be increased and the proportion of misunderstandings between domain experts and developers reduced. The domain experts can then explore a problem they are trying to solve and produce code to solve it. The role of developers would then become more that of a mentor and enabler rather than someone who has to translate all the ideas of experts into code themselves. Other developers may work at providing better translation software for the experts.

In my research I examined the role of UML (Unified Modeling Language). However there are important gaps in the functionality of UML tools for user centred design. Palanque and Bastide (2003) identify these gaps "For the team of methodologists (Rumbaugh, Jacobson, Booch) that shaped the UML, User Centred Design was not a central concern." These gaps are of even greater importance when attempting to make it possible for people who are not programmers to create software. UML tools could assist software developers in creating a modelling environment suitable for domain experts to use to solve their problems. To achieve this would require a major change in UML tools to enable modelling of user interaction as the core concern. Enabling users themselves to create software using UML type tools would require development of a new type of UML tool specifically designed for ordinary users. This would be compact and simple, but provide enough capabilities to ensure users' designs are robust. This would also fill a gap left by engineering and scientific modelling tools which are powerful but do not have collaboration, communication, and ease of use as central concerns.

Palanque, P., Bastide R., 2003. UML for Interactive Systems: What is Missing INTERACT 2003 Closing the Gaps: Software Engineering and Human-Computer Interaction Zürich, Switzerland - http://www.se-hci.org/bridging/interact/p96-99.pdf.

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

End User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

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