Research Aim
This research arises out of projects to create systems to facilitate management of design and cost related knowledge within aerospace organisations. The aim of using this knowledge is to reduce the costs of designing and manufacturing products. This paper identifies ways that problems arising from the model development process can be addressed, by a new way of providing for the creation of software. We have gained experience from projects, which have used a combination of proprietary software solutions and bespoke software. It is possible to identify the approach of User Driven Programming (UDP) as an effective software development technique. This research unites approaches of Object Orientation, the Semantic Web, and Relational Databases and Event Driven programming. The Model Driven Semantic Web [Frankel] explains the opportunities for and importance of this kind of research. The approach encourages much greater user involvement in software development. The advantages of increasing user involvement in software development are explained by [Olsson].
Research Summary
The intention behind our work is to enable users to program integrated applications. Tools will be created to enable users to develop software in a way familiar to many, from their use of spreadsheets and web page creation tools. End User Programming is an important area of research because many people who are experts in their domain want to create software models to aid their decision making [Scaffidi et al.]. Semantic Web techniques should be used to assist non-programmers to create software. This software could allow interactive visual modelling of information. This corresponds to the type of work normally undertaken using spreadsheets. In order to model complex problems in spreadsheets it is necessary to use macro languages, and track relationships between values in cells. These are difficult tasks, and mistakes lead to incorrect answers, this has led to a spreadsheet crisis where incorrect and undocumented spreadsheets are produced by individuals who have little formal training [Erwig et al.] [Scanlan et al.]. Creation of correct spreadsheets is difficult when the structure of the relationships in the spreadsheet is not clearly visible, this is why we are developing alternative representations and visualisations. The aim is to find an alternative way of representing these models, which does not require the user to write code. The tool created must make it easy to interact with and change the models, and easy to share information with colleagues. The main application areas of the tool would be Knowledge Management, Decision support, and Simulation. There are many new semantic web applications aimed at the modelling community that have been developed over the last couple of years. The developers of these applications are willing to provide them free in the hope of allowing them to be used to create modelling tools for industrial problems. These applications and the methodology for our use and development of the applications are explained later and in http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.
Our modelling research specialises mainly in User Driven Model Development. This research unites approaches of object orientation, the semantic web, relational databases, and event driven programming. 'The Model Driven Semantic Web' [Frankel et al.] explains the opportunities for and importance of this kind of research. Tim Berners-Lee defined the semantic web as 'a web of data that can be processed directly or indirectly by machines' [Berners-Lee]. With this in mind the research proposed will examine ways of structuring information, and enabling processing and searching of the information to provide a modelling capability. The project will also investigate increasing user involvement in software, and enable provision of templates to enable non-programmers to develop modelling software for the purposes that interest them. The advantages of increasing user involvement in software development are explained by [Olsson]. This involvement is essential to avoid communication problems and misunderstanding that result from expert users having so little influence on tool creation. To assist in this project, it is essential that new ways of enabling collaboration between all those involved in software creation and use are investigated.
Background and Introduction to the Semantic Web System
There is an urgent need for semantic web tools to illustrate the benefits this technology can provide for industry, this paper 'EASE: The European Association Semantic Web Education' [Scaffidi et al.] explains this need. There is also a need for education in the use of semantic web technologies for industry. Some industry tools are available, explained by European Association Semantic Web Education [Diederich et al.] and in the [Jena User Conference], or being developed at present, but they are still difficult for industry employees to find. [REASE (the repository of EASE for learning units)] provides a way to find and create learning materials for industrial applications of semantic web technologies. Our project would undertake to create semantic web models for industry for use as modelling tools, and for educational use. We will then publicise this extensively and encourage industry user involvement.
Our use of the semantic web is to be a means for open standard representation of information, transformation into different representations as required, and for provision of a high level interface as a tool for model creation, and translation to program code. The proposed project involves creation of an elaborator or translator that converts the diagrammatic representation of the problem into software. Translations can be performed into any programming or meta-programming language or open standard information representation language, the visualisation of the model created can be displayed on the web.
The diagram below illustrates our aim of having a two way translation between all levels in a hierarchy of translation between human and computer, and between different software environments. This definition from [Wikipedia] and used in this UWE paper by [Simons and Parmee] explains the aim 'a kind of action that occurs as two or more objects have an effect on each other. The idea of a two-way effect is essential to the concept of interaction, as opposed to a one way causal effect. Combinations of many simple interactions can lead to surprising emergent phenomena'. This communication strategy will improve opportunities for end user modelling and programming, sharing of information, and education of both users and computer software. The analogy of educating computer software to do what the user intends is called programming by demonstration in 'Watch What I Do: Programming by Demonstration' [Cypher]. The user has the role of an educator of the software which acts as an apprentice to learn what is required. The user is thus able to instruct the software and so program solutions, using an adaptive modelling tool.
Two way Translation Mechanism
The tool will enable users to build their taxonomy representation of the model from a library held in an open standard ontology [Uschold and Gruninger]. Flexibility is essential when different organisations are not all using the same systems. An important reason for creating the open standards ontology is that it can be accessed by many different users and/or applications. The open standard OWL (Web Ontology Language) will be used and is explained in [Bechhofer and Carrol]. In addition to the use of open standard ontology language it's also possible to use agreed semantics for the domain of engineering modelling. The language most relevant for this purpose is the Process Specification Language (PSL) of the National Institute of Standards and Technology (NIST). A representation of this PSL-XML [Lubell] can be used with OWL, both OWL and PSL-XML are based on RDF-XML (Resource Description Framework) implemented with XML (eXtensible Markup Language). This makes our translation process simpler and can enable interaction with other systems. The central section of figure 1 illustrates the core modelling functionality. We have been using a Decision Support and Modelling tool provided by Vanguard Corporation [Vanguard Software], for calculation and modelling. http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm describes other newly released tools we will evaluate for this purpose.
The intention behind our research is to provide a tool that can be used by people who don't have access to CAD tools or other specialist software. It is to aid communication of product information throughout an organisation. Background research has been on semantic web techniques that can be applied to this problem.
The aim of our research is to enable decision support during product development, whilst minimising dependence on specialist software and detailed programming effort. The basis of this is an Ontology that can be visualised and edited in tree form. We are using the open standard Ontology tool Protégé from Stanford University. This Ontology can be translated into a Decision Support tool called DecisionPro (now renamed Vanguard System), which runs the model. Software we have created using DecisionPro allows calculations of the cost of a design to be made, and provides a colour-coded representation of the product tree. It is then possible to output this tree in the form of web pages, interactive diagrams and code in programming languages. It is possible to search the information both in Protégé and on the web as it is represented using searchable semantic web languages.
Software that is been investigated for representing ontologies and translating to program code and visualisation is Stanford University's [Protégé], Hewlett Packard's [Jena], and [Kaon]. Applications that are built with ontology tools such as the above, which include a development environment for calculation and decision support are [Metatomix m3t4], [TopBraid Composer], General Electric's [ACUITy] enterprise modelling tool, and Visual Knowledge's [Semantic Wiki] visualiser. These tools include Java Eclipse extensions for high level programming. We have also investigated transformations that can translate the ontology into representations in other languages and tools. We have prototyped this translation for decision support tools [Vanguard System] and [Cost Estimator], and languages including XML (eXtensible Mark-up Language), and Java. XML has mainly been used as a neutral format for representing information, but its rich structure makes it suitable for use as a programming language e.g. [AspectXML]. Further research can be undertaken into representing the information in Meta languages such as [metaL] and [Simkin]. The result documents could be searched using XQuery within [Exist] and [SPARQL] (Simple Protocol and RDF Query Language) and edited using XForm editors such as [Orbeon XForms]. Translation of XML to the most appropriate format for reusable industry documentation will be achieved with the help of [Koala Publishing], who are experts in this field.
References
D. Frankel, P. Hayes, E. Kendall, D. McGuinness, The Model Driven Semantic Web - 1st International Workshop on the Model-Driven Semantic Web (MDSW2004) Enabling Knowledge Representation and MDA® Technologies to Work Together (2004).
E. Olsson, What active users and designers contribute in the design process, Interacting with Computers 16 (2004) 377-401.
Scaffidi, C., Shaw, M., Myers, B. (2005). Estimating the Numbers of End Users and End User Programmers, IEEE Symposium on Visual Languages and Human-Centric Computing, (VL/HCC'05): 207-214 Dallas, Texas.
Erwig M, Abraham R, Cooperstein I, Kollmansberger S, Automatic Generation and Maintenance of Correct Spreadsheets, 2005, ICSE 2005 27th International Conference on Software Engineering p 136- 145.
Scanlan J, Rao A, Bru C, Hale P, Marsh R, DATUM Project: Cost Estimating Environment for Support of Aerospace Design Decision Making, 2006, Journal of Aircraft - 2006 vol. 43 no. 4.
Berners-Lee T, 1999, Weaving the Web, Harper San Francisco, ISBN 0062515861.
Institute for End User Computing http://www.ieuc.org/home.html.
Network of Excellence on End User Development EUD.Net http://giove.cnuce.cnr.it/eud-net.htm.
End-Users Shaping Effective Software (EUSES) http://eusesconsortium.org/.
Gray J, Zhang J, Lin Y, Roychoudhury S, Wu H, Sudarsan R, Gokhale A, Neema S, Shi F, Bapty T, Model-Driven Program Transformation of a Large Avionics Framework, 2004, Third International Conference on Generative Programming and Component Engineering GPCE.
Marsh R, Hill T, Scanlan J, Dunkley M, Cleevely P, 2001, Probabilistic Pseudo-generative Cost Modelling Through Virtual Template Propagation CEAS Conference on Multidisciplinary Aircraft Design and Optimization June 2001 Maternushaus Koln, Germany.
Murphy G C, Walker R J, Baniassad E L A, Robillard M P, Lai A, Kersten M A, Does aspect-oriented programming work?, 2001, Communications of the ACM, Volume 44 Issue 10 (October 2001) Pages: 75 - 77, ISSN:0001-0782.
Mens K, Michiels I, Wuyts R, 2002, Supporting Software Development through Declaratively Codified Programming Patterns. Expert Systems with Applications 23 405-413.
Dmitriev S, http://www.onboard.jetbrains.com/is1/articles/04/10/lop/ - Language Oriented Programming: The Next Programming Paradigm.
Diederich, J, Nejdl, W, Tolksdorf R, 2006, EASE: The European Association for SemanticWeb Education, SWET2006 Beijing, China.
Jena User Conference, 2006, Bristol, UK http://jena.hpl.hp.com/juc2006/proceedings.html - Proceedings (2006).
REASE the repository of EASE for learning units http://ubp.l3s.uni-hannover.de/ubp.
Wikipedia - http://en.wikipedia.org/wiki/Interaction - Interaction.
Simons, C. L. Parmee, I. C., 2006, A manifesto for cooperative human / machine interaction in object-oriented conceptual software design, Advanced Computation in Design and Decision Making group Technical Report TR091006 - http://www.cems.uwe.ac.uk/~clsimons/Publications/CooperativeInteraction.pdf.
Cypher, A, 1993, Watch What I Do Programming by Demonstration, MIT Press, ISBN:0262032139.
Uschold, M, Gruninger M, 2004, Ontologies and Semantics for Seamless Connectivity, Association for Computer Machinery - Special Interest Group on Management of Data - SIGMOD Record December 2004 Vol 33 No. 4.
Bechhofer S., Carrol J. (2004) Parsing owl dl: trees or triples? Proceedings of the 13th international conference on World Wide Web, NY, USA pp 266 - 275.
Lubell J, 2006 http://ats.nist.gov/psl/xml/process-descriptions.html - XML Representation of Process Descriptions.
Vanguard Software http://wiki.vanguardsw.com/ - Global Knowledge Portal.
Protégé http://protege.stanford.edu/ - welcome to protégé.
Jena http://jena.sourceforge.net/ - Jena - A Semantic Web Framework for Java.
Kaon http://kaon.semanticweb.org/ - Welcome to KAON.
Metatomix m3t4 http://www.metatomix.com/news/060307.html - Metatomix Provides Free Semantic Toolkit for Eclipse Developers Worldwide.
TopBraid Composer http://www.topbraidcomposer.com/ - The Complete Semantic Modeling Toolset.
Aragones, A., Bruno, J., Crapo, A., Garbiras M. (2006) An Ontology-Based Architecture for Adaptive Work-Centered User Interface Technology. Jena User Conference 2006, Bristol, UK.
Visual Knowledge - http://www.visualknowledge.com/ - Semantic WIKI - Visual Knowledge build conventional applications that are driven by ontologies rather than by code. A great deal of our underlying systems and frameworks are also model driven.
Vanguard System http://www.vanguardsw.com/products/vanguard-studio/.
Koonce, D., Judd, R., Keyser, T., Bailey, M. A. (2000) Cost Estimation Tool Integrated into FIPER, American Institute of Aeronautics and Astronautics http://www.engineous.com/resources.htm.
AspectXML Project - http://www.aspectxml.org/.
MetaL http://www.meta-language.net/ - MetaL: An XML based Meta-Programming language.
Simkin http://www.simkin.co.uk/ - A high-level lightweight embeddable scripting language which works with Java or C++ and XML.
Exist http://exist.sourceforge.net/xquery.html - Open Source Native XML Database.
SPARQL http://dret.net/glossary/sparql - Simple Protocol and RDF Query Language.
Orbeon Xforms http://www.orbeon.com/ - Form-based web applications, done the right way.
Koala Publishing http://www.koalapub.co.uk/ Using XML software tools to create structured technical documentation.
No comments:
Post a Comment