ÄúµÄλÖÃ>>>Ê×Ò³>>>ÔÚÏßѧϰ>>>֪ʶ¹ÜÀí>>>TAPS: Knowledge Management System
   

 


TAPS: Knowledge Management System

Dickson Lukose1, Said Nechab1, Simon Pritchard2, Ashley Lee2, Sajid Hussen2, Jon Clawley2,
Philip Jackson
4, Chris Hare5, Tony Bayliss, Mike Hawcutts, Alex Bdar

1Brightware Inc., 90 Park Avenue, Suite 1600, New York, NY 10016, USA
2ISIS Technology Solutions Ltd., Crosby Court, 28 George Street, Birmingham B3 1QG, UK
4Intra-Team IT Consultants, 14 Saxon Way, Romsey, Hampshire, SO51 5PT, UK
5Andrew Lesley Lawrence Ltd., Redstones, Barns Green, West Sussex, RH13 7NH, UK

Email:Dickson.Lukose@brightware.com
Said.Nechab@brightware.com

Abstract

In this paper, we describe the architecture and the knowledge modelling techniques developed in the Total Asset Planning System (TAPS). TAPS is composed of a suite of highly interactive graphic based corporate knowledge modelling tools, a flexible knowledge based server, and a knowledge base management system. By using this knowledge modelling environment, a knowledge engineer or a domain expert can build very sophisticated knowledge based systems without writing a single line of code in a conventional Artificial Intelligence (AI) programming language. Several applications have been built using this suite of tools, and several more are in development at the time of writing this paper.

 

 

1. Introduction

Increasingly, companies are striving to become an organisation that knows how to do new things well and quickly, to enable itself to be locally and globally competitive. To this end, these companies are engaging in the area of Knowledge Management on many facets. Corporate knowledge modelling, engineering, maintenance and transfer of these knowledge bases have been the major emphasis of many progressive companies around the world. The challenges faced by many of these companies are the attrition of their domain experts, and the realisation that knowledge may be a company's greatest competitive advantage. To overcome some of these problems, companies are engaging in the development and use of highly sophisticated knowledge tools and practices for the generation, codification and transfer of corporate knowledge. Some of the contemporary methods and tools for Corporate Knowledge Management can be found in Dieng et al (1998).

Knowledge Generation requires tools that can aid in the acquisition, synthesis, and creation of knowledge. The result of knowledge generation activities should to be made available to others in the organisation to realise the full benefits of the knowledge management process. To this end, Knowledge Codification enables the representation and transfer of corporate knowledge. Knowledge tools required for this purpose typically must be able to codify process knowledge and factual knowledge. Several interesting knowledge modelling methodologies (Wielinga et al, 1993; Steels, 1990; Chandrasekaran and Johnson, 1993; Martin, 1993) have been proposed to meet the challenge. Several corresponding knowledge modelling languages have also been proposed (eg., MODEL-K (Karbach and Vob, 1993); TIPS (Punch an Chandrasekaran, 1993); MODEL-ECS (Lukose, 1995)).

In recent years, there has been a growing interest in visual knowledge modelling languages and environments (Gaines, 1991; Lukose, 1993; Kremer, 1998). In particular, considerable efforts have been dedicated to developing tools and techniques for executable graphical (nodes and arcs based) knowledge modelling languages. Among them, include the work of Lukose (1993, 1994, 1995, 1996, 1997, and 1998), Kabbaj (1995), Kremer (1995), and Bos et al (1997).

In this paper, we will describe the Knowledge Management System called TAPS (Lukose, 1998e), that was developed for a major UK water utility company. This tool takes advantage of the graphical notation developed by Martin (1993) for modelling business process, and the executable knowledge modelling techniques developed by Lukose (1993..1998) for the realisation of an executable knowledge base systems. This Knowledge Management System is composed of a suite of highly interactive graphic based corporate Knowledge Modelling Tools, a flexible Knowledge Base Server, and a highly sophisticated Knowledge Base Management System. By using this Knowledge Management System, a knowledge engineer or a domain expert can build sophisticated knowledge based systems without writing a single line of code in a conventional AI programming language (like Prolog, Lisp, ART Script, Clips, etc). Several applications have been built using this suite of tools, and several more are in development at the time of writing this paper. The conceptual view of the TAPS Knowledge Management System is outlined in Figure 1.

The outline of this paper is as follows: Section 2 outlines the Knowledge Modelling Tools, Section 3 describes the architecture of the Knowledge Base Server, and Section 4 will describe the Knowledge Based Management System. Finally, Section 5 will describe an application that was built using this tool set, and we conclude this paper in Section 6 by outlining the direct benefits of using this toolset for developing knowledge base systems.

 

2. Knowledge Modelling Tools

The Knowledge Modelling Tools allow the knowledge engineer or domain expert to define a Business Model for a particular application. It consists of a series of GUI driven editors (Pritchard, 1998; Pritchard and Clawley, 1998), which enable the definition of entities which makeup the business model (i.e., process, object, calculations, and rules). The key to the application development using the TAPS Knowledge Modelling Tools is the underlying Business Model that can evolve over time. This is achieved by providing the users with self-sufficiency via this highly sophisticated GUI environment to enable them to define and change the Business Model, rather than hard-coding them in a conventional AI programming language. The graphical notation developed by Martin (1993) and the knowledge modelling techniques developed by Lukose (1995, 1996) has been the corner stone in the development of this tool set.

2.1. Business Model

A Business Model consists of the following inter-related sub-models:

  • Object Model - this model represents the objects that make up the business model, and also represents the inter-relationships of these objects.

  • Process Model - this model will represent the business activities and the requisite control structure.

  • Rules Model - this model represents the business heuristics that define when a particular action should take place.

  • Calculation Model - this model represents the calculations that can be used by rules as actions that a rule performs.

  • Message Model - this model represents the audit messages that can be displayed by the system.

Figure 2 shows the Business Model, and the inter-relationships of its sub-models. A Process Model is made up of many activities arranged using conventional control structures, and the actions of each activity are defined in terms of rules. In short, we can say that a process is made up of many rules, and a rule is defined using many Objects, Calculations and Messages. Each of these sub-model are built using the respective GUI based editor. In the next section, we will describe the architecture of the Knowledge Modelling Tool

  2.2. Architecture

A generic, yet simple, architecture has been adopted to implement the Knowledge Modelling Tool. For each of the entity types (i.e., process, object, rule, calculation, and message) that form the business model, there is a corresponding GUI based editor. All these editors are inter-linked and use the data from one another to build up the business model (with all the different entities linked together in a manner outlined in Figure 2). Figure 3 depicts the architecture of this Knowledge Modelling Tool.


The main objective of the editors is to provide ease of use for the business user, they facilitate the liberation of the business knowledge from the domain experts thus widening the overall knowledge base of the clients company. As shown above the editors are split into five main areas:

  • Object Editor: Manipulation of the business objects (Add, Remove, Rename Etc).

  • Calculation Editor: Create/Modify complex calculations for use/re-use within their rules.

  • Message Editor: Create/Modify debug/reporting messages for use/re-use within their rules.

  • Rule Editor: Create/Modify Rules by specifying the en Ever‘ and hen Do’ sections.

  • Process Editor: Manipulation of the Process flow of the system. Rules are attached to the activities in the Process Model and only fire when their activity is being processed by the server process animator.

 

2.3. Process Editor

The Process Editor allows the user to produce diagrammatic representations of business process logic. Figure 4 depict the Process Editor. We developed a new stencil on VISIO6.0, and implemented a compiler that will compile the diagram (perform syntax and some semantics checking), and produce a compiled version of the diagram and stores it into a database table. The Process Constructor (described in Section 3.4) will load them into the Knowledge Base Server and produce appropriate ART script representation of the business process.

Process Model is made up of activities, events, and triggers (Martin, 1998). In this implementation, the Process model is build using the high-level graphical notations, representing the different types of vertices and edges, as shown in Figure 5.

For every ACTIVITY icon (also known as terminal node) that is used in a Process Model, you will need to specify an ACTIVITY NAME and an EVENT NAME. In Figure 5, the ACTIVITY icon has the name ACTIVITY-ONE, and itil event name is ACTIVITY-ONE-EVENT. For every ABSTRACT-ACTIVITY icon (also known as the non-terminal nodes), you will have to specify three items: ACTIVITY-NAME, EVENT-NAME, and SUB-EVENT-NAME. In Figure 5, the ABSTRACT-ACTIVITY icon has the name ABSTRACT-ACTIVITY-TWO, event name is ABSTRACT-ACTIVITY-TWO-EVENT, and its sub-event-name is START-EXPANDED-ACTIVITY-TWO. For every SUB-EVENTS icon you will have to specify the names of the two sub-events. In Figure 5, the names are: SUB-EVENT-ONE, and SUB-EVENT-TWO, respectively. Using the notations outlined in Figure 5, the following modelling constructs can be built:

  • Sequential Modelling Construct;

  • Conditional Branch Modelling Construct;

  • Loop Modelling Construct; and

  • Sub-Process.

Each of these are explained further in the following sub-sections.

 

A Sequential Modelling Construct as shown in Figure 6 will have an activity invoking its event which in turn will trigger another activity, and so on. In this example, the Begin-Sequence activity will invoke the Begin-Sequence-Event event, which in turn will trigger the Seq-Activity-One activity, and so on. The process will terminate when the Abstract-Sequence-Event is reached.

  2.3.2. Conditional Branch Modelling Construct

A typical Conditional Construct will utilises at least an activity icon, sub-event icon, the trigger arc, and the sub-event trigger arc. Figure 7 depicts an example of a conditional construct. Here, the event Conditional-Branch-Event is sub-evented to Condition-One-Subevent and Condition-Two-Subevent. In addition, there would be two choice rules attached to the activity Start-Conditional-Branch that will determine which of the two sub-events to choose.

The Loop Modelling Construct is quite similar to the Conditional Branch Modelling Construct, except for the trigger arc to loop back to the activity before the SUB-EVENT icon, as shown in Figure 8 (i.e., the trigger resulting from the event Loop-Body-Event connects to the activity Begin-Loop).


Figure 9 and 10 depicts the use of an abstract activity and how it expands to a Sub-Process. Note that, how the final activity of the Sub-Process invokes an event that is identical to the event that will be invoked by the abstract activity. This is the technique used to return control to the parent (abstract activity).

In the example (shown in Figure 9, the abstract activity A2 expands to the process model shown in Figure 10. Note that the final event in Figure 10 is E2, which is also the name of the event resulting from the abstract activity A2). So, when the processor reaches event E2 in Figure 10, it is equivalent to reaching event E2 in Figure 9).

 

2.4. Calculation Editor

The Calculation Editor (ref. Figure 11) allows the creation and modification of calculations for use in both the left-hand side (LHS) and right-hand side (RHD) of rules. They are used in the premise side for testing against attribute values and are used in the consequence side for setting attribute values. Calculations can be created which contain parameters, which are set to the value of an instance attribute, when the calculation is used in a rule. Any pre-existing calculation can be nested in a new calculation and parameter values can be passed to the nested calculation. There is also a range of built-in mathematical functions, which can be used in building calculations that are more complex. The Calculation Editor stores a calculation in both the infix as well as the prefix form.

The original calculation is written in prefix form, and it is also converted by the Calculation Editor into the prefix form, as shown in the example below:

Original calculation: Parameter1 / ceiling ( [ 56.55 ] ) - cosh ( [ 56 + Parameter1] )

ART script calculation: (/ ?Parameter1 (- (ceiling 56.55) (cosh (+ 56 ?Parameter1))))

The Calculation Editor also checks the syntax of the calculation, thus limiting the chance of errors like missing brackets or the wrong use of operators and system defined functions.

 

2.5. Object Editor

Objects exist in a hierarchy, and each object has a set of attributes. Some of these attributes, we need to specify possible values. This forms the ontology of the business we are modelling. The Object Editor (ref. Figure 12) allows new objects to be added, and attributes to be added to exiting objects, as well as enabling the definition of possible values for the attributes. The editor also enables the user to specify the inheritance characteristics of a new object.

The definition of the Object Model will be the very first thing done in building a Business Model. That is, once the domain is analysed, the Data Model (logical and physical data model) and the Object Model is defined. Data Model to represent the data that will be processed by the knowledge based system, while the Object Model represents the objects that will be manipulated by the rules and calculations. The mapping between the objects in the Object Model to the relations in the Data Model is achieved via the use of the Knowledge Base Management System (refer to Section 4).

Also one need to realise that when this tool set is to be used in a different domain, we will have to build up the Object Model of that domain. The tool set is a generic system which only provided all the necessary functionality to enable a user to take it over to a particular domain and start building the Business Model by first building up the Object Model.

 

2.6. Rule Editor

The Rule Editor ties together process, objects, calculations, and messages. The type of rules you can build are constrained by what may be created using the Rule Editor. Rules consist of two parts: "Whenever" and "Then do". Existing objects and attributes are dragged and dropped to either side. For example, the rule depicted in Figure 13 states the following:

WhenEver:

A Unitil Demand > Tolerance (via a calculation)
ThenDo:
Set the Unitil Demand-Capacity-ShortFall == TRUE

 

There are various allowable combinations on the LHS and RHS of a rule. The full description of all combination is beyond the scope of this paper. In brief, on the LHS of the rule, you can do the follows: specify a particular pattern formed by a combination of Objects. We can use the logical operators to compare the values of attributes of an object to the value of another object, result of a calculation, or to a constant value. Further, we can also specify on the LHS of a rule the a non-existence of a particular pattern by using the negation (NOT). For example:

WhenEver:

NOT (A Unitil Demand > Tolerance (via a calculation))
ThenDo:
Set Unitil Demand-Capacity-ShortFall == FALSE

On the RHS of the rule, we can typically perform the following actions: we can set values of an attribute to a constant, result of a calculation, or to a value of an attribute of another object that is pattern matched on the LHS of the rule. Further, you could also create new instance of an object or destroy an object from memory, as well as specify database transaction action (i.e., import, export, delete, and update) to be performed on a particular object. You can also generate audit messages for general system audit purpose, or for use in the debugging of the Business Model during the development phase.

 

The Message Editor (Lee 1998a, 1998b) is designed and functions in similar manner to the Calculation Editor, in the sense that we are able to specify the number of parameters in the message to enable us to pass values to the message. Also, we can specify constant values within the text of the message.

 

The Message Editor (ref. Figure 14) allows the creation and editing of messages for use in the RHS of rules. They are used to provide feedback to the user during/after the run about the values of attributes in a rule. The messages consist of text and parameters. When a message is used in a rule consequence (RHS), the parameters are set to the instance/attribute pair from the rule that the user wants the message to contain. When the rule containing the message fires during a run, the server outputs the message to a table in the database, substituting the selected attribute value for the parameter. A message viewer application can then be used to filter and view the messages.

 

3. Knowledge Base Server

3.1. Architecture

The Knowledge Base Server is the component in TAPS that compiles the knowledge model (i.e., process, rules, objects, calculations, and messages) into ART script, loads necessary data from the database, and processes them in response to the request from the client application. The Knowledge Base Server is made up of a large number of components, but the components of interest to this paper are listed below:

  • Client-Server-Interface - this handles the multi-user, multi-session capabilities.
  • Request Management - this handles the tasks send to the server by the clients.
  • Knowledge Model Constructors - compiles the Business Model into ART script.
  • Process Animator - this module uses the Process Model to realise the Business Logic embedded in the Business Model

Figure 15 depicts the architecture of the Knowledge Base Server. In the following sub-sections, we will briefly describe each of the above mentioned components.

3.2. Client-Server Interface

The Client-Server-Interface allows the Knowledge Base Server to sit behind a web server. Clients can then connect using standard web browser technology. The Client-Server-Interface module is responsible for the creation of TAPS:REQUEST objects when external requests arrives from clients. This is achieved using the TAPS Request Protocol (TRP) in the server. The TRP class definition is built as sub-class of the NET class definitions, and thus inherits the HTTP processing mechanisms provided by the ART Web Integrator.

When an HTTP request arrives at the Knowledge Based Server, an instance of trp:request is created (where trp:request is derived from net:http-request). The presence of that instance satisfies the LHS of an ART rule that will fire to start the processing of the request. This transfers control from the built-in ART Web handling of the HTTP request to the Request Management module. The RHS of the rule will do the following:

  1. creates a net:http-response instance,

  2. populate it,

  3. calls net:respond, and finally

  4. creates the taps request via the function call, as shown here:


(taps:request-begin ?taps:*application*

:request-class ?request-class
:request-id ?request
:user-id ?user
:scenario-id ?scenario
:run-mode ?run-mode
:message-switch ?message-switch
)

 

3.3. Request Management

The Request Management manages the multi-user and multi-session capabilities of Knowledge Base Server. As described in Sub-Section 3.2, the Client-Server Interface handles the incoming HTTP request, and converts it into a TRP request. The reason for this two-tier approach is that it de-couples the web integration from the internal handling of requests. Requests may take some time to service, but this architecture will allow for new requests to come in while it is processing an earlier request. The TAPS:REQUEST class is defined as follows:

(define-class TAPS:REQUEST (bc:core pa:request-mixin)

(taps:request-id)
(taps:user-id)
(taps:scenario-id)
(taps:initial-activity)
(taps:final-event)
(taps:run-mode)
(taps:message-switch)

)

A TAPS:REQUEST object contains the following information:

  • Request ID: unique identifier of this request.
  • User ID: unique identifier for the user.
  • Scenario ID: identifier for a particular scenario.
  • Initial Activity: first activity to be executed in the process model.
  • Final Event: finish point in the process model.
  • Run Mode: switch for running the system in debug mode.
  • Message-Switch: switch for generating audit messages.

This allows differentiation between requests from different users and with different scenarios. Once a user request has been processed by the application, it will be ready to process new requests from the same or different users and with different scenarios.

A TAPS:REQUEST also inherits from the pa:request-mixin class.This enables the necessary process animator information to be stored in the request; so the system will know what stage it has reached in the process model. Figure 16 depicts the sequences of activities that will take place in the Knowledge Base Server when a request arrives from the client.

3.4. Knowledge Base Constructors

The Knowledge Base Constructors convert the Business Model into appropriate ART script (rules, objects, and functions) that the Knowledge Base Server can execute. There are five constructors, one for each of the sub-models (process, rules, objects, message and calculations) that make up the Knowledge Model. The following sub-sections describe briefly each of these constructors.

 

The Process Editor compiles the Business Process and stores then as tuples in a relational table. The Process Constructor converts them into appropriate ART scripts. The ART objects created are activity, events, sub-events, and triggers. During the conversion process, the necessary syntax and a limited amount semantic checking is also performed to ensure that a correct model in compiled into the server.

 

The rules constructor creates ART rules for the user defined rules (i.e., graphical representation of the user define rules stored in the database) (Lukose and Brdar, 1998). During the compilation of the rule, the Rule Constructor ensures that all the objects, functions (calculations), and messages associated to a particular rule is already available in the knowledge base. That implies that Rule Construction is always executed last. A typical rule generated by the Rule Constructor is shown below:

(define-rule SAID:DMTWPNoMoreWorksToProcessRule

(declare (salience ?TAPS:*LOW*))

(object ?request
(instance-of taps:request)
(taps:request-id ?request-id)
(taps:user-id ?user-id)
(taps:scenario-id ?scenario-id)
(pa:focus-of-attention DM_PS_and_TWS_Demand_Processing_Start)
)


(object ?a

(instance-of activity)
(taps:request-id ?request-id)
(pa:name DM_PS_and_TWS_Demand_Processing_Start)
(pa:connected-to ?event)
)

(object ?e
(instance-of event)
(taps:request-id ?request-id)
(pa:name ?event)
(pa:type sub-evented)
(pa:expansion ?subevents &:(and (is-sequence ?subevents)
(member$ DM_PS_and_TWS_No_Works_to_Process ?subevents)
)
)
)

(not (object ?BM:PS-AND-T__1
(instance-of BM:PS-AND-TWS-ENTITIES)
(taps:request-id ?request-id)
))
=>
(set-attribute-value ?request pa:chosen-event DM_PS_and_TWS_No_Works_to_Process)
(add-entry ?*log* "Execute Rule: SAID:DMTWPNoMoreWorksToProcessRule")

)

 

The Object Constructor identifies the relationships between the Object Model and the Data Model, and creates appropriate Object Class definitions, and Data Integrator Class definitions to enable data mapping to take place (Nechab 1998a, 1998b). It also generates the Object Model and stores it into the working memory. Figure 17 shows the relationship between the Object Model and the Data Model. In brief, the Object Constructor performs the following activities:

  • Constructs the Object Model;

  • Constructs the Data Integrator Class for all objects that map to the data objects in the database; and

  • Constructs the data transformation rules that can transfer data between the Object Model and the Data Model.

 

The Calculation Constructor converts the user defined calculations (which are stored in the database) into an ART method of the TAPS:REQUEST class (Lukose, 1998a). The calculations are stored internally in both infix as well as in prefix format, along with the calculation parameters (e.g., ?parameter1). The Calculation Constructor simply picks them up from the Calculation Table, and constructs equivalent ART methods. For example, the a infix calculation of the following form:

expt ( [ ?parameter1 ], [ 2 ] ) * pi ( [ ] ) / 4

will be converted by the Calculation Editor into the following prefix format:

(/ ( (expt ?parameter1 2) * (pi)) 4 )

The Calculation Constructor will build the following ART method:

(define-method Calc1 (TAPS:Request ?taps:request) (?parameter1)

(/ ( (expt ?parameter1 2) * (pi) ) 4)
)

 

The Message Constructor picks up the tuples from the appropriate database table (generated by the Message Editor) and converts them into appropriate ART objects and text messages. At runtime, parameter values are passed via the message parameters to enable the server to generate meaningful text for use in debugging the systems, as well as for general audit purpose.

3.5. Process Animator

Process Animator is a component of the Knowledge Base Server that uses the Process Model (i.e., initially drawn in graphical form and compiled using the Process Editor, then the Knowledge Base Constructor builds corresponding ART representation of the Process Model) to transfer control from thectivity’ to thectivity’ to realise the business logic. Attached to each the ctivity’ is a set of rules that can potentially be executed if their pre-conditions are meet. In other words, executing the rules attached to an activity is synonymous to executing the activity within the overall business logic.

 

4. Knowledge Base Management System

The TAPS Knowledge Base Management Tool has been developed to allow SUPER users (TAPS System Administrator) to manage the Business Models, User Registration, Privilege Assignment, Password Control, and many other related administrative function to smoothly run the TAPS System. Figure 18 outlines the main functions of the TAPS Knowledge Base Management System.

User Management:
This tool set enables the user to perform general user management actives (eg., Add Users, Remove Users, Change User Access Rights, etc).

Database Management:
This tool set enables users to set-up the systems ODBC data source, map business objects to data object in the database and view the data in the tables. The database ODBC data source, user identifier and password for accessing a particular database is encrypted to prevent unauthorised access.

Environment Management:
For advanced users, this section facilitates the copying, deleting and rationalisation of the Business Model (i.e., Object Model, Calculation Model, Message Model, and Rule Model) for any user on the system. These functions are especially useful during the development of a Business Model as there will be more then one group developing various components of a large Business Model. This tool set will enable the system administrator to bring these various components of a Business Model together to form one complete system.

Reporting:
The Reporting section allows the user to print the calculation they have entered using the calculation editor. Future extensions will include reporting of other components of the Business Model (note that, one could print various components of the Business Model via the respective editors).

 

5. Rapid-Prototyping of Applications

5.1. Architecture

The Application Shell is always constructed independently for each of the application that is built. A typical Application Shell will contain the following three components:

  • Scenario Builder
    This component is used by domain users to put together a task to be run on the Knowledge Base Server for a particular application. For example, if you want to generate the demand forecast for a particular district, you would choose the appropriate district and the type of demand forecast to be generated. This information is then saved into the database against a scenario name (also known as the scenario key).

  • Client-Server Communication
    This component enables the user to connect the client application to the server. It also enables the domain users to select a scenario from the list of all previously generated scenarios, and then send this scenario to the Knowledge Base Server to process. The scenario name, user name and other 'run' characteristic (eg., run-mode, and message-mode) information are sent to the server via the HTTP protocol.

  • Results Viewer/Progress Monitor
    The Results Viewer component allows the domain users to view the result, once processing is completed by the Knowledge Base Server. In addition, the Progress Monitor component will enable the user to review the progress of a job that was submitted to the server.

When an application's Scenario Builder puts together a job to be sent to the Knowledge Base Server, the user decides which bucket he/she wants the job to be run against. Once the user has selected the bucket, the client application will read the port number of the Web Server. Attached to this port is the Knowledge Base Server that will read the input data from the bucket of interest to the user. The user can send as many tasks as he/she wants, to the same Knowledge Base Server. Figure 19 shows how database bucket management is configured, as well as how the Knowledge Base Server is connected with the Database and the Application. In this diagram, we show four applications: (SAIM - Surface Asset Investment Model (Lukose, 1998c, 1998d; Lukose and Ramjee, 1998), Cost Module (Holtzman, 1999), Scheme Builder, and DM - Demand Module (Husain, 1998a, 1998b). Each of these applications are made up of the above mentioned three components. Once the tasks have been sent off to the Knowledge Base Server, the shell's Progress Monitor will enable the user to continuously monitor the completion status of the task. The Knowledge Base Servers will write it's output data into the OUTPUT Bucket (Lukose, 1998b). On completion of a particular task, the user may use the shell's Results Viewer to view the result.

5.2. Demand Module

 

The Demand Module is required to produce 30-year projections of demand on assets. It produces demand projections for 30 different measures of demand on 5000 assets. Assets are classified according to the nature of the process that they perform and the nature of the future investment planning process (that is modeled in SAIM). Each class of asset has it's own set of relevant demand types which are defined by the engineering design rules that form part of the investment planning process. The model reads raw demand data for all assets in an operational area and a high level reconciliation is then performed with demand forecasts for the area as a whole. This abates the potential discrepancy between top-down and bottom up approaches. Once raw demand data has been processed and reconciled, user defined calculations are used to calculate the design measures for demand (or calculated demand types).

 

In order to run the model, users create Demand Scenarios that scope the demand model run to one or more types of asset (works groups) and one or more operational areas (counties). The Scenario Builder allows the user to define a scenario (i.e., Specify the districts, Gold Book Version and the list of Works for that scenario) and then send it to the Knowledge Base Server for processing. The server would then load the Business Model defined by the user and run the system.

 

As well as defining the scenario for the demand run the demand application form allows the user to view the results back from the server. These results are displayed in graph as well as in data form and are illustrated in Figure 21. The graphs and data produced by the demand application can be copied into documents or spreadsheets for reporting purpose.

 

6. Conclusion

 

The toolset described in this paper imposes discipline in developing highly maintainable knowledge based systems. For example, the users will have to define the Object Model in a bottom up approach, while building the Process Model in a top down manner. Once the Object Model is defines, the next thing to do will be to build corresponding data model and link the terminal (leave) objects to the database tables. At this point, all data import and export can be tested. Once we have completed the construction of the Object Model, and have built the Process Model, we are in a position to build the business rules and calculations. All these models are modifiable throughout the developed of the knowledge base system. This toolset enables the user to systematically build and test all components of the knowledge base.

In addition to the above capability, this toolset also enable the user to carry out WHAT-IF analysis on a copy of the production level knowledge base. That is, a companies decision support team can carry out test on as many different scenarios (by making changes to the business model) to enable them to identify more suitable business processes and rules. Also, this approach will enable the users to identify consequences of changes to their business, by simulating it using this toolset.

This toolset also enables the users to continuously change (evolve) the business model as the nature of their business changes. In addition to enabling the corporate knowledge to be generated, codified, and shared, this toolset enables self-documentation of the corporate asset (their corporate knowledge base), via the graphical notations used in modelling the knowledge base.

The use of knowledge engineering in this application has allowed the users to define and expand their understanding of the way company assets are managed. The graphical tools give users a clear way of describing and applying their business knowledge. It is possible now that, under user control, the business process which governs this area can be improved and expanded in line with commercial and regulatory pressures taking into account any developments in technology which reduce overall cost. The ability to play 'what if scenarios' with asset information permits the business to optimize is asset replacement strategy and ensure that money is well spent and effectively budgeted.

Our experience in using this tool with teams of 'Domain Experts' has demonstrated an effective and clearly understandable methodology for developing knowledge systems that reflect experts thinking.

 

7. References

 

Bos, C., Botella, B., and Vanheeghe, P., (1997). Modeling and Simulating Human behaviors with Conceptual Graphs,in Proceedings of the Fifth International Conference on Conceptual Structures Seattle, WA., (appeared as LNAI 1257, Conceptual Structures: Fulfilling Peirce's Dream, D. Lukose, H. Delugach, M. Keeler, L. Searle, and J. Sowa (eds.)), pp. 275 - 289.

Chandrasekaran, B., and Johnson, T. (1993). Generic tasks and Tasks Structures: History, Critique and New Directions, in J.M. David, J.P. Krivine, and R. Simmons (Eds.), Second Generation Expert Systems, Springer Verlag, Berlin, Germany.

Dieng, R., Corby, O., Giboin, A., and Ribiere, M., (1998)., Methods and Tools for Corporate Knowledge Management, in Proceedings of the 11th Banff Knowledge Acquisition For Knowledge Based System Workshop, Banff, Alberta, Canada.

Gaines, B.R., (1991). An Interactive Visual Language for Term Subsumption Languages, IJCAI-91, Sydney, Australia.

Kabbaj, Adil (1995). "A General Model of Behavior for Conceptual Graph Theory", in Conceptual Structures: Applications, Implementation and Theory. Kabbaj, Adil, Ed., Berlin. Lecture Notes in Artificial Intelligence: 46-60.

Karbach, W., and Vob, A. (1993). MODEL-K for prototyping and strategic reasoning at the knowledge level, in J.M. David, J.P. Krivine, and R. Simmons (Eds.), Second Generation Expert Systems, Springer Verlag, Berlin, Germany.

Kremer, R., (1995). The Design of a Concept Mapping Environment for Knowledge Acquisition and Knowledge Representation, in Proceedings of the 9th Banff Knowledge Acquisition For Knowledge-Based Systems Workshop, Banff Conference Centre, Banff, Alberta, Canada.

Kremer, R., (1998). Visual Languages for Knowledge Representation, of the 11th Banff Knowledge Acquisition For Knowledge-Based Systems Workshop, Banff Conference Centre, Banff, Alberta, Canada.

Lukose, D., (1993). Executable Conceptual Structures, in Proceedings of the First International Conference on Conceptual Structures (appeared as LNAI-699, Conceptual Structures: Conceptual Graphs for Knowledge Representation, Guy Mineau, Bernard Moulin, and John Sowa (eds.), Springer-Verlarg, Germany), Quebec City, Quebec, Canada.

Lukose, D. (1994). Planning Knowledge Acquisition Techniques and Mechanisms, in Proceedings of the ICCS'94 Workshop on Knowledge Acquisition using Conceptual Graphs, M.L. Mugnier, M. Willims, B. Gaines and D. Lukose (Eds.), Maryland, USA.

Lukose, D. (1995). Using Executable Conceptual Structures for Modelling Expertise, in Proceedings of the 9th Banff Knowledge Acquisition For Knowledge-Based Systems Workshop, Banff Conference Centre, Banff, Alberta, Canada.

Lukose, D., (1996). MODEL-ECS: Executable Conceptual Modelling Language, in Proceedings of the 10th Workshop on Knowledge Acquisition for Knowledge Based Systems, Banff, Canada.

Lukose, D., (1997). Complex Modelling Constructs in MODEL-ECS, in Proceedings of the Fifth International Conference on Conceptual Structures Seattle, WA., (appeared as LNAI 1257, Conceptual Structures: Fulfilling Peirce's Dream, D. Lukose, H. Delugach, M. Keeler, L. Searle, and J. Sowa (eds.)), pp. 228 - 243.

Lukose, D., and Mineau, G., (1998). A Comparative Study of Conceptual graphs, in Proceedings of the 11th Workshop on Knowledge acquisition for Knowledge Based Systems, Banff, Canada.

Martin, J., (1993). Principles of Object-Oriented Analysis and Design, Prentice-Hall.

Punch, W.F., and Chandrasekaran, B. (1993). An Investigation of the Roles of Problem-Solving Methods in Diagnosis, in David, J.M., Krivine, J.P., and Simmons, R., (Eds.), Second Generation Expert Systems, Springer Verlag, Berlin, Germany.

Steels, L. (1990). Components of Expertise, AI Magazine, 11(2).

Wielinga, B., Schreiber, A.T., and Breuker, J.A. (1993). Modelling Expertise, in KADS: A Principled Approach to Knowledge-Based System Development, Academic Press, London, UK

Vadera, S., and Nechab, S., (1991). Are Expert Systems Shells and Toolkits too general? In Proceedings of the IMACS International Workshop on Decision Support Systems and Qualitative Reasoning, M.G. Singh and L. Trave Massuyes (Eds.), North-Holland, pp. 155-160.

 

The following reference items are not available for public review.

Lee, A., (1998a): TAPS Management Tool Useril Guide, TAPS User Guide, December 1998.

Lee, A., (1998b): TAPS Management Tool System Administratoril Guide, TAPS System Guide, December 1998.

Lukose, D., and Brdar, A., (1998): TD-17 TAPS Rule Converter, TAPS System Design Document, September 1998.

Lukose, D., (1998a): TD-18 TAPS Calculation Converter, TAPS System Design Document, March 1998.

Lukose, D., (1998b): TD-50 TAPS Bucket Management, TAPS System Design Document, July 1998.

Lukose, D., (1998c): Surface Asset Investment Module System Administratoril Guide, TAPS System Guide, September 1998.

Lukose, D., (1998d): Surface Asset Investment Module Useril Guide, TAPS User Guide, September 1998.

Lukose, D., (1998e). TD-90 TAPS Architecture, TAPS System Design Document, December, 1998.

Lukose, D., and Ramjee, N., (1998): SAIM Prototype Development Report (submitted to STS and STW on 23Novmber1998).

Nechab, S., (1998a): TD-53 TAPS Object-Model-Data-Model Mapping, TAPS System Design Document, December 1998.

Nechab, S., (1998b): TD-54 TAPS Object-Model-Constructor, TAPS System Technical Document, December 1998.

Holtzman, P., (1999): Cost Module Implementation, TAPS System Technical Document, August 1999.

Husain, S., (1998a): Demand Module Useril Guide, TAPS User Guide, September 1998.

Husain, S., (1998b): Demand Module System Administratoril Guide, TAPS System Guide, September 1998.

Pritchard, S., and Clawley, J., (1998): TAPS Business Model Editors User Guide, TAPS User Manual, December 1998.

Pritchard, S., (1998): TAPS Business Model Editors System Administratorils Guide, TAPS System Guide, September 1998.