This article examines research on creation of 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. The article identifies ways that problems arising from the model development process can be addressed, by a new way of providing for the creation of 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 Oriented programming, 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].
The intention behind research of this type is to enable users to program integrated applications. Tools could 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 there is a need to develop 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.
‘The Model Driven Semantic Web’ [Frankel et al.] explains the opportunities for and importance of research to create software from models. 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 can examine ways of structuring information, and enabling processing and searching of the information to provide a modelling capability. It is also important to increase 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. Utilisation of this technology enables the creation of semantic web models for industry for use as modelling tools, and for educational use. These tools can then be published for others to use.
The use of the semantic web can 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. To achieve this an elaborator or translator could be created, and this would convert 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 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 the translation process simpler and can enable interaction with other systems. Decision Support and Modelling tools can be used for calculation and modelling e.g. Vanguard Corporation [Vanguard Software].
The intention behind this 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.
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.
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.
Diederich, J, Nejdl, W, Tolksdorf R, 2006, EASE: The European Association for SemanticWeb Education, SWET2006 Beijing, China.
Jena User Conference, 2006, Bristol, UK [ – Proceedings (2006).
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 [ – XML Representation of Process Descriptions.
Metatomix m3t4 [ – Metatomix Provides Free Semantic Toolkit for Eclipse Developers Worldwide.
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 – [ – 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/].