9
B. Ross Cosc 4f79 1 Prototypin g Prolog is ideal for prototyping expert systems (as well as other ications) a prototype, the idea is to get a system running for scrutiny by clients. There is little time for designing the system. A prototype is a feasibility study (and a sales pitch). distinction between shell and knowledge base be loosened: - encode the knowledge base as pure Prolog rules, and include she utilities in it. Use vanilla backward chaining. can always use an existing commercial shell to throw together a otype, but Prolog is just as useful for this. It is also more readi lable, and more adaptive to special requirements.

Prototyping

Embed Size (px)

DESCRIPTION

Prototyping. • Pure Prolog is ideal for prototyping expert systems (as well as other applications) • For a prototype, the idea is to get a system running for scrutiny by some clients. There is little time for designing the system. - PowerPoint PPT Presentation

Citation preview

Page 1: Prototyping

B. Ross Cosc 4f79 1

Prototyping

• Pure Prolog is ideal for prototyping expert systems (as well as other applications)

• For a prototype, the idea is to get a system running for scrutiny by some clients. There is little time for designing the system.

---> A prototype is a feasibility study (and a sales pitch).

• The distinction between shell and knowledge base can be loosened:

- encode the knowledge base as pure Prolog rules, and include shell utilities in it. Use vanilla backward chaining.

• One can always use an existing commercial shell to throw together a prototype, but Prolog is just as useful for this. It is also more readily available, and more adaptive to special requirements.

Page 2: Prototyping

B. Ross Cosc 4f79 2

Prototyping

Example prototype: Sales Advisor

• system which sells mainframe software

• Knowledge base breakdown:

1. Qualification: see whether this a good prospective customer

2. Objective Benefit Feature analysis (OBF): match customer needs with product benefits

3. Competitive analysis: way to stress product strengths based on competition weaknesses

4. Situation analysis: whether products will run in prostpect's shop

5. Miscellaneous

Page 3: Prototyping

B. Ross Cosc 4f79 3

Prototyping

Approach

• Encode the knowledge base directly in plain Prolog

• incorporate I/O and other utilities in the KB rules as needed

(won't be purely declarative perhaps)

• no explanation

• "shell" will consist of a few driver utilities, and some advising utilities

• Later, when we win the bid, we can create a more complete system following techniques earlier in the course

Page 4: Prototyping

B. Ross Cosc 4f79 4

Prototyping

Page 5: Prototyping

B. Ross Cosc 4f79 5

Prototyping

Page 6: Prototyping

B. Ross Cosc 4f79 6

Prototyping

Page 7: Prototyping

B. Ross Cosc 4f79 7

Prototyping

Page 8: Prototyping

B. Ross Cosc 4f79 8

PrototypingInference engine

• not a meta-interpreter, but code which can drive execution of Prolog KB rules

Page 9: Prototyping

B. Ross Cosc 4f79 9

Prototyping

User interface:

• very important aspect of prototypes

• most important feature: cosmetics

- eg. windows (helps to have a ready library available)

• can kludge some things

- eg. can incorporate some elementary error detection and user-friendly features

( a client won't be impressed if the prototype appears stupid, or crashes on spelling errors )