Скачать 99.68 Kb.
Structuring the Information
Information is scattered within organisations and often not held in such a structured way as to be easily accessed by employees or software. This problem was examined by [Lau et al] using the example of McDonnell Douglas (now part of Boeing), that demonstrated how difficult it is to gather unstructured knowledge. Therefore, it is important that research is undertaken into methods of capturing, structuring, distributing, analysing, and visualising information.
The objective is to build a catalogue and make use of it for decision support and costing systems, while demonstrating that the same approach could be used for other types of system(s). It is essential that this catalogue can query information from organisations’ existing database systems. Most large organisations have key operational knowledge and information dispersed across different types of information systems, often in Relational Databases. This has the advantage of allowing the use of the standardised language Structured Query Language (SQL) to access this information. In the current research approach the focus is on combining the development of dynamic software created in response to user actions, with object oriented, rule based and semantic web techniques. The Semantic Web was defined by [Tim Berners-Lee] as 'a web of data that can be processed directly or indirectly by machines'. SEEDS research has examined ways of structuring information, processing and searching this information to provide a modelling capability. The SEEDS team have investigated research by [Aziz et al.] that examines how open standards software can assist in an organisations collaborative product development, and [Wang et al] outlines an approach for integrating distributed relational database systems. The automated production of software containing recursive SQL queries enables this. This approach now used in SEEDS research is a type of very high level meta-programming. Meta-programming and structured language is explained by [Dmitriev] and [Mens et al]. The approach proposed is intended to solve the problems of cost and time over-run, and failure to achieve objectives that are the common malaise of software development projects. The creation of a web based visual representation of the information will allow people to examine and agree on information structures.
The alternative approach explained here aims to develop an integrated decision support system where maintenance and extension of information can be undertaken by model builder(s) via visual editing of library taxonomies. To facilitate this, information is visualised clearly in a structured understandable way, and this information can be shared via web-based visualisation. This can be achieved by use of open standard languages for distribution of information over networks and between applications.
Categories of User
It is important to distinguish between the two different types of users for the system to be developed as they would work on different parts of the overall system.
Model builders edit the semantic representation of the model in an ontology editor in order to create models. Model builders do not need knowledge of a programming language, but do need training in how to use the ontology interface to create a model.
Model users make decisions based on their domain knowledge. This type of user manipulates the tree representation to obtain a result based on the input values they know, or otherwise based on default values. They will want to be able to use a model to evaluate a problem in order to help in decision making.
Dynamic and Responsive Software
From the experience gained in this and other projects it is evident that the main challenge in software projects is to achieve a match between what is required from users of software and the functionality and capability of the software system provided. This section presents an approach involving the automation of the programming task, User Driven Programming (UDP). This provides computer literate users with a tool to enable them to drive the creation of software without the requirement that they become familiar with the syntax of a programming language. The system to be outlined is an attempt to help users who are experts at their own jobs and not computer professionals, to develop models that aid them in their work. This is a very common situation for designers and other engineers. The research and implementation is later demonstrated through the wing box example used in the spreadsheet. Figure 3 illustrates the approach to provision of a system to enable users to create and/or use their own models.
Figure 3 - Translation Process
This research involves adapting or creating software systems to provide the visual editor for the source tree, and model builders would create a model by editing this. By doing so they would create a generic model for a particular modelling subject. This is enabled by provision of translation software to translate the taxonomy into a decision support and modelling system. The model users could then use this decision support and modelling system to create their models. These models are a more specific subset of the generic model, and could be applied for their own analyses. Current research is on provision of a translation mechanism to convert information or models into other languages (primarily web based), and to visualise this information.
Research Theory influencing this Translation Mechanism
In this work the focus is on combining the development of dynamic software created in response to user actions, with object oriented, rule based and semantic web techniques. This helps solve problems of mismatch of data between object oriented and relational database systems identified by [Ambler]. The information is highly structured. Visualisation of this structure in order to represent the relationship between things clarifies the semantics. The meaning can be seen not just by the name of each item but also by the relationship of other items to it. It is envisaged that this taxonomy will provide a design costing capability, but the taxonomy and the techniques used to put it together could be re-used for other purposes. Eventually this taxonomy could become part of an overall ontology. At first this would be a light-weight ontology and this could be evaluated for usefulness before deciding on whether it would need to be more structured. [Hunter] evaluates engineering ontologies and gives examples. Issues involved in visualisation of light weight ontologies are examined by [Fluit et al.]. An important reason for creation of an open standards central ontology is that it can be accessed by many different applications. The open standard OWL (Web Ontology Language) is explained by [Bechhofer and Carroll]. Research of others in this field have been investigated [Corcho], [Corcho and Gómez-Pérez] and [Noy].
The current approach builds on previous work undertaken for a large aerospace company to allow designers and manufacturers to visualise and share cost information. During this project one task was to automatically produce tree representations of information requested by the user. Information held in a relational database was visualised and exported in structured languages. The information was visualised in decision support software called DecisionPro [Vanguard]. This enables modelling of product design and manufacture, and provides statistical techniques for modelling uncertainty. Information was visualised in a colour-coded tree. This information could also be output as XML (eXtensible Markup Language) and SVG (Scalable Vector Graphics), and linked to stylesheets to create a web based tree representation. Parametric cost models have also been created online (Figure 14) and a tree based menu for browsing of these or other web pages (Figure 17).
Dynamic software systems such as outlined in [Huhns] have been examined. Huhns explained that current techniques are inadequate, and outlines a technique called Interaction-Oriented Software Development, concluding that there should be a direct association between users and software, so that they can create programs, in the same way as web pages are created today. [Paternò] outlines research that identifies abstraction levels for a software system. These levels are task and object model, abstract user interface, concrete user interface, and final user interface. Stages take development through to a user interface that consists of interaction objects. This approach can be used for automating the design of the user interface and the production of the underlying software. Paternò states that 'One fundamental challenge for the coming years is to develop environments that allow people without a particular background in programming to develop their own applications'. Paternò goes on to explain that 'Natural development implies that people should be able to work through familiar and immediately understandable representations that allow them to easily express relevant concepts'.
The essence of the approach now used is that a high level visual interface is used to create a meta-program, which can communicate the wishes of users. Figure 3 illustrates the theory behind this and Figure 5 the implementation. This requires the definition of taxonomies to provide the library of information to be used in the decision support modelling. A model builder could populate and maintain this without needing to know programming languages. It would then enable the possibility of designers influencing the construction of a decision support model dynamically. Once this is possible the model is responsive, instead of commissioning for software development, the designer can communicate with a visual interface, and this translates to controlling code, which writes temporary code to achieve what is required. A program is expressed in terms of a tree diagram that represents each domain of information required, and this diagram holds structured language definitions. Separation of the content of the information from any constraints of language and format enables this. This approach is similar to the way spreadsheets allow structured formula to be entered using a formula wizard. However, spreadsheets allow for construction of models that are hard to maintain and adjust as the scenario which they model changes. This is because of the difficulty that either humans or computer applications have in accessing information when the information is held in cells rather than nodes of a taxonomy. [Schrage] explains how difficult it can be to find the underlying assumptions that are represented in a spreadsheet scenario. The difficulty of tracking the information and assumptions in a spreadsheet make it harder to integrate the model with other software applications. However, the large numbers of domain experts who undertake spreadsheet development indicates their desire to be creators of software models.
The alternative approach involves creation of an elaborator that can output code, in various computer languages or a meta-programming syntax such as metaL [Lemos]. The elaborator needs only a few pieces of information. All information other than that dependant on user interaction, including the names of each node and its' relationships to other nodes, needs to be held in a standardised data structure, e.g. a database or structured text file(s). A visual interface to this ontology is required so that a model builder can maintain and extend it.
Each node (elaborator) needs to be provided with the following pieces of information -
1) A trigger sent as a result of user action. This is a variable containing a list of value(s) dependant on decisions or requests made by the user the last time the user took action. Each time the user makes a request or a decision, this causes the production of a tree or branch to represent this. This trigger variable is passed around the tree or branch as it is created. The interface to enable this is connected to and reads from the ontology.
2) Knowledge of the relationship between this node and its' immediate siblings e.g. parents, children, attributes. So the elaborator knows which other elaborators to send information to, or receive from.
3) Ability to read equations. These would be mathematical descriptions of a calculation that contains terms that are items in the ontology. The equation would be contained within an attribute of a class, e.g. The class Material Cost would have an attribute Material Cost Calculation that holds an equation.
4) Basic rules of syntax for the language of the code to be output.
The way the elaborator finds the information held in 2 and 3 is dependant on the action taken in 1. Thus, if a suitable ontology is created the basis of the rules of construction of the code to be created are defined 4, and the user has made choices, the user needs to take no further action and just wait for the necessary code to be output.
|Keywords Distributed decision, constraint propagation, negotiation, decision support. Introduction||Development of a Product model to support engineering change management|
|Chapter 9 e-business Decision Support Learning Objectives||Decision Support and Expert Systems (mis 538)|
|A spatial decision support system for bank location: a case study||Representing and using legal knowledge in integrated decision support systems: DataLex WorkStations|
|Decision support and disease management: a Logic Engineering approach John Fox and Richard Thomson||Support for Graphical Modelling in Bayesian Network Knowledge Engineering: a visual Tool for Domain Experts|
|Product news plan b sales double, Glamour poll shows strong support for Rx-to-otc switch, wcc welcomes new staff member||[Abel 1992] Abel, D. J., Yap, S. K., Ackland, R. G., Cameron, M. A., Smith, D. F. et Walker, F. G., Environmental decision support system project: An|