68
Template knowledge models Reusing knowledge model elements

Template knowledge models Reusing knowledge model elements

Embed Size (px)

Citation preview

Page 1: Template knowledge models Reusing knowledge model elements

Template knowledge models

Reusing knowledge model elements

Page 2: Template knowledge models Reusing knowledge model elements

Template knowledge models

2

Lessons

Knowledge models partially reused in new applications

Type of task = main guide for reuse Catalog of task templates

small set in this book see also other repositories

Page 3: Template knowledge models Reusing knowledge model elements

Template knowledge models

3

The need for reuse

prevent "re-inventing the wheel" cost/time efficient decreases complexity quality-assurance

Page 4: Template knowledge models Reusing knowledge model elements

Template knowledge models

4

Task template

reusable combination of model elements (provisional) inference structure typical control structure typical domain schema from task point-of-view

specific for a task type supports top-down knowledge modeling

Page 5: Template knowledge models Reusing knowledge model elements

Template knowledge models

5

A typology of tasks

range of task types is limited advantage of KE compared to general SE

background: cognitive science/psychology several task typologies have been proposed in the

literature typology is based on the notion of “system”

Page 6: Template knowledge models Reusing knowledge model elements

Template knowledge models

6

The term “system”

abstract term for object to which a task is applied. in technical diagnosis: artifact or device being

diagnosed in elevator configuration: elevator to be designed does not need to exist (yet)

Page 7: Template knowledge models Reusing knowledge model elements

Template knowledge models

7

Analytic versus synthetic tasks

analytic tasks system pre-exists

– it is typically not completely "known" input: some data about the system, output: some characterization of the system

synthetic tasks system does not yet exist input: requirements about system to be constructed output: constructed system description

Page 8: Template knowledge models Reusing knowledge model elements

Template knowledge models

8

Task hierarchyknowledge-intensive

task

analytictask

classification

synthetictask

assessment

diagnosis

configurationdesign

planning

scheduling

assignment

modelling

prediction

monitoring

design

Page 9: Template knowledge models Reusing knowledge model elements

Template knowledge models

9

Structure of template description in catalog

General characterization typical features of a task

Default method roles, sub-functions, control structure, inference structure

Typical variations frequently occurring refinements/changes

Typical domain-knowledge schema assumptions about underlying domain-knowledge structure

Page 10: Template knowledge models Reusing knowledge model elements

Template knowledge models

10

Classification

establish correct class for an object object should be available for inspection

"natural" objects examples: rock classification, apple classification

terminology: object, class, attribute, feature

one of the simplest analytic tasks; many methods other analytic tasks: sometimes reduced to

classification problem especially diagnosis

Page 11: Template knowledge models Reusing knowledge model elements

Template knowledge models

11

Classification: pruning method

generate all classes to which the object may belong specify an object attribute obtain the value of the attribute remove all classes that are inconsistent with this

value

Page 12: Template knowledge models Reusing knowledge model elements

Template knowledge models

12

Classification:inference structure

object

class

attribute

feature

truthvalue

generate

specify

match

obtain

Page 13: Template knowledge models Reusing knowledge model elements

Template knowledge models

13

Classification: method control

while new-solution generate(object -> candidate) docandidate-classes := candidate union candidate-classes;

while new-solution specify(candidate-classes -> attribute) and length candidate-classes > 1 do

obtain(attribute -> new-feature);current-feature-set := new-feature union current-feature-set;for-each candidate in candidate-classes do

match(candidate + current-feature-set -> truth-value);if truth-value = false;then candidate-classes := candidate-classes subtract candidate;

Page 14: Template knowledge models Reusing knowledge model elements

Template knowledge models

14

Classification: method variations

Limited candidate generation Different forms of attribute selection

decision tree information theory user control

Hierarchical search through class structure

Page 15: Template knowledge models Reusing knowledge model elements

Template knowledge models

15

Classification: domain schema

object type

attribute

value: universal

object class

classconstraint

requires

has-attributeclass-of

2+ 1+

Page 16: Template knowledge models Reusing knowledge model elements

Template knowledge models

16

Rock classification

volcanicrock

igneousrock

plutonicrock

syenite diorite

peridotite dunite

mineral

rock

texturegrain sizecolour

mineralcontent

percentagepresence

1+

mineral contentconstraint

silicate

nesosilicate

tectosilicate

olivine quartz

mineralsontology

Page 17: Template knowledge models Reusing knowledge model elements

Template knowledge models

17

Nested classification

rock

rockclassifcation

minerals

obtain: Quartz percentage

mineral classification

Quartz olivine

sub-task

identifyQuartz

contains

Page 18: Template knowledge models Reusing knowledge model elements

Template knowledge models

18

Rock classification prototype

Page 19: Template knowledge models Reusing knowledge model elements

Template knowledge models

19

Assessment

find decision category for a case based on domain-specific norms.

typical domains: financial applications (loan application), community service

terminology: case, decision, norms

some similarities with monitoring differences:

– timing: assessment is more static

– different output: decision versus discrepancy

Page 20: Template knowledge models Reusing knowledge model elements

Template knowledge models

20

Assessment: abstract & match method

Abstract the case data Specify the norms applicable to the case

e.g. “rent-fits-income”, “correct-household-size”

Select a single norm Compute a truth value for the norm with respect to

the case See whether this leads to a decision Repeat norm selection and evaluation until a decision

is reached

Page 21: Template knowledge models Reusing knowledge model elements

Template knowledge models

21

Assessment:inference structure

case

abstractedcase norms

normvaluedecision

abstract

select

match

specify

evaluate norm

Page 22: Template knowledge models Reusing knowledge model elements

Template knowledge models

22

Assessment: method control

while new-solution abstract(case-description -> abstracted-case) do

case-description := abstracted-case;

end whilespecify(abstracted-case -> norms);

repeatselect(norms -> norm);

evaluate(abstracted-case + norm -> norm-value);

evaluation-results := norm-value union evaluation-results;

until has-solution match(evaluation-results -> decision);

Page 23: Template knowledge models Reusing knowledge model elements

Template knowledge models

23

Assessment control: UML notation

abstract

specifynorms

selectnorm

matchdecision

evaluatenorm

[more abstractions]

[no moreabstractions] [match fails

no decision][match succeeds:decision found]

Page 24: Template knowledge models Reusing knowledge model elements

Template knowledge models

24

Assessment: method variations

norms might be case-specific cf. housing application

case abstraction may not be needed knowledge-intensive norm selection

random, heuristic, statistical can be key to efficiency sometimes dictated by human expertise

– only acceptable if done in a way understandable to experts

Page 25: Template knowledge models Reusing knowledge model elements

Template knowledge models

25

Assessment: domain schema

case

casedatum

case datum

value: universal

decisionnorm

truth-value: boolean indicates

has abstraction

implies

decisionrule

requirement

abstractionrule

1+

1+

1+

Page 26: Template knowledge models Reusing knowledge model elements

Template knowledge models

26

Claim handling for unemployment benefits

:claim

collectdata

dataentry

decide about claim

computebenefit

sendnotification prepare

payment

[no right][right]

claim handling finacialdepartment

Page 27: Template knowledge models Reusing knowledge model elements

Template knowledge models

27

Decision rules for claim handling

<norm>WW benefitrequirement

<decision>WW benefit

right

<decision rule>benefit decision

rule

DEFINES

insured = falseDEFINESWW-benefit-right.value = no-right

iunemployed = falseDEFINESWW-benefit-right.value = no-right

weeks-worked-requirement = falseDEFINESWW-benefit-right.value = no-right

insured = true ANDunemployed = true ANDweeks-worked--requirement = true ANDyears-worked-requirement = falseDEFINESWW-benefit-right.value = short-benefit

insured = true ANDunemployed = true ANDweeks-worked--requirement = true ANDyears-worked-requirement = trueDEFINESWW-benefit-right.value = long-benefit

Page 28: Template knowledge models Reusing knowledge model elements

Template knowledge models

28

Diagnosis

find fault that causes system to malfunction example: diagnosis of a copier

terminology: complaint/symptom, hypothesis, differential, finding(s)/evidence,

fault nature of fault varies

state, chain, component should have some model of system behavior

default method: simple causal model sometimes reduced to classification task

direct associations between symptoms and faults automation feasible in technical domains

Page 29: Template knowledge models Reusing knowledge model elements

Template knowledge models

29

Diagnosis: causal covering method

Find candidate causes (hypotheses) for the complaint using a causal network

Select a hypothesis Specify an observable for this hypothesis and obtain

its value Verify each hypothesis to see whether it is consistent

with the new finding Continue this process until a single hypothesis is left

or no more observables are available

Page 30: Template knowledge models Reusing knowledge model elements

Template knowledge models

30

Diagnosis:inference structure

complaint

cover

specify

select obtain

hypothesis

observable

finding

hypothesis

verify

result

Page 31: Template knowledge models Reusing knowledge model elements

Template knowledge models

31

Diagnosis: method control

while new-solution cover(complaint -> hypothesis) do

differential := hypothesis add differential;

end while

repeatselect(differential -> hypothesis);

specify(hypothesis -> observable);

obtain(observable -> finding);

evidence := finding add evidence;

foreach hypothesis in differential do

verify(hypothesis + evidence -> result);

if result = false then differential := differential subtract hypothesis

until length differential =< 1 or “no observables left”

faults := hypothesis;

Page 32: Template knowledge models Reusing knowledge model elements

Template knowledge models

32

Diagnosis: method variations

inclusion of abstractions simulation methods see literature on model-based diagnosis

library of Benjamins

Page 33: Template knowledge models Reusing knowledge model elements

Template knowledge models

33

Diagnosis: domain schema

systemfeature

systemobservable

value: universal

systemstate

status: universal

fault

prevalence: number[0..1]

systemstate

systemfeature can cause

causaldependency

Page 34: Template knowledge models Reusing knowledge model elements

Template knowledge models

34

Monitoring

analyze ongoing process to find out whether it behaves according to expectations

terminology: parameter, norm, discrepancy, historical data

main features: dynamic nature of the system cyclic task execution

output "just" discrepancy => no explanation often: coupling monitoring and diagnosis

output monitoring is input diagnosis

Page 35: Template knowledge models Reusing knowledge model elements

Template knowledge models

35

Monitoring:data-driven method

Starts when new findings are received For a find a parameter and a norm value is specified Comparison of the find with the norm generates a

difference description This difference is classified as a discrepancy using

data from previous monitoring cycles

Page 36: Template knowledge models Reusing knowledge model elements

Template knowledge models

36

Monitoring: inference structure

newfinding

select

systemmodel

specifycompare

classify

parameter

difference

norm

discrepancy

historicaldata

receive

Page 37: Template knowledge models Reusing knowledge model elements

Template knowledge models

37

Monitoring: method control

receive(new-finding);

select(new-finding -> parameter)

specify(parameter -> norm);

compare(norm + finding -> difference);

classify(difference + historical-data -> discrepancy);

historical-data := finding add historical-data;

Page 38: Template knowledge models Reusing knowledge model elements

Template knowledge models

38

Monitoring: method variations

model-driven monitoring system has the initiative typically executed at regular points in time example: software project management

classification function treated as task in its won right apply classification method

add data abstraction inference

Page 39: Template knowledge models Reusing knowledge model elements

Template knowledge models

39

Prediction

analytic task with some synthetic features analyses current system behavior to construct

description of a system state at future point in time. example: weather forecasting

often sub-task in diagnosis also found in knowledge-intensive modules of

teaching systems e.g. for physics.

inverse: retrodiction: big-bang theory

Page 40: Template knowledge models Reusing knowledge model elements

Template knowledge models

40

Synthesis

Given a set of requirements, construct a system description that fulfills these requirements

"P166 processor requires 16Mb"

"prefer cheapest component"

preference

constraint

"price lower than $2,000"

"fast system"

hard requirement

soft requirement

requirements(external)

constraints & preferences(internal)

Page 41: Template knowledge models Reusing knowledge model elements

Template knowledge models

41

“Ideal” synthesis method

Operationalize requirements preferences and constraints

Generate all possible system structures Select sub-set of valid system structures

obey constraints

Order valid system structures based on preferences

Page 42: Template knowledge models Reusing knowledge model elements

Template knowledge models

42

Synthesis:inference structure

requirements

hardrequirements

softrequirements

possiblesystem

structures

list of preferredsystem structures

valid system structures

constraints

preferences

preferenceordering

knowledge

systemcompositionknowledge

operationalize

generate

selectsubset

sort

Page 43: Template knowledge models Reusing knowledge model elements

Template knowledge models

43

Design

synthetic task system to be constructed is physical artifact example: design of a car

can include creative design of components creative design is too hard a nut to crack for current

knowledge technology sub-type of design which excludes creative design =>

configuration design

Page 44: Template knowledge models Reusing knowledge model elements

Template knowledge models

44

Configuration design

given predefined components, find assembly that satisfies requirements + obeys constraints

example: configuration of an elevator; or PC

terminology: component, parameter, constraint, preference, requirement (hard & soft)

form of design that is well suited for automation computationally demanding

Page 45: Template knowledge models Reusing knowledge model elements

Template knowledge models

45

Elevator configuration: knowledge base reuse

Page 46: Template knowledge models Reusing knowledge model elements

Template knowledge models

46

Configuration:propose & revise method

Simple basic loop: Propose a design extension Verify the new design, If verification fails, revise the design

Specific domain-knowledge requirements revise strategies

Method can also be used for other synthetic tasks assignment with backtracking skeletal planning

Page 47: Template knowledge models Reusing knowledge model elements

Template knowledge models

47

Configuration: method decomposition

requirements

softrequirements

hardrequirements

skeletaldesign

design

extension

violationtruthvalue

action

actionlist

operationalize

critique

modify

verify

specify

propose

select

Page 48: Template knowledge models Reusing knowledge model elements

Template knowledge models

48

Configuration: method control

operationalize(requirements -> hard-reqs + soft-reqs);specify(requirements -> skeletal-design);

while new-solution propose(skeletal-design + design +soft-reqs -> extension) dodesign := extension union design;verify(design + hard-reqs -> truth-value + violation);if truth-value = false then

critique(violation + design -> action-list);repeat select(action-list -> action);

modify(design + action -> design);

verify(design + hard-reqs -> truth-value + violation);

until truth-value = true;

end while

Page 49: Template knowledge models Reusing knowledge model elements

Template knowledge models

49

Configuration: method variations

Perform verification plus revision only when for all design elements a value has been proposed. can have a large impact on the competence of the method

Avoid the use of fix knowledge Fixes are search heuristics to navigate the potentially

extensive space of alternative designs alternative: chronological backtracking

Page 50: Template knowledge models Reusing knowledge model elements

Template knowledge models

50

Configuration: domain schema

design element

parameter

value: universal

component

model list: list

fix action

action type

constraint

designelement

component

calculationexpression

constraintexpression

computes

implies

1+

1+

1+

1+ fix

has-parameter

0+

definespreference

preference

rating: universal

preferenceexpression

1+

Page 51: Template knowledge models Reusing knowledge model elements

Template knowledge models

51

Types of configuration may require different methods

Parametric design Assembly is largely fixed Emphasis on finding parameter values that obey global

constraints and adhere to preferences Example: elevator design

Layout Component parameters are fixed Emphasis on constructing assembly (topological relations) Example: mould configuration

Literature: Motta (1999), Chandrasekaran (1992)

Page 52: Template knowledge models Reusing knowledge model elements

Template knowledge models

52

Assignment

create mapping between two sets of objects allocation of offices to employees allocation of airplanes to gates

mapping has to satisfy requirements and be consistent with constraints

terminology subject, resource, allocation

can be seen as a “degenerative” form of configuration design

Page 53: Template knowledge models Reusing knowledge model elements

Template knowledge models

53

Assignment:method without backtracking

Order subject allocation to resources by selecting first a sub-set of subjects

If necessary: group the subjects into subject-groups for joint resource assignment requires special type of constraints and preferences

Take an subject(-group) and assign a resource to it. Repeat this process until all subjects have a resource

Page 54: Template knowledge models Reusing knowledge model elements

Template knowledge models

54

Assignment:inference structure

subjectssubject

set

subjectgroup

resourceresources

currentallocations

selectsubset

group

assign

Page 55: Template knowledge models Reusing knowledge model elements

Template knowledge models

55

Assignment:method control

while not empty subjects do

select-subset(subjects -> subject-set);

while not empty subject-set do

group(subject-set -> subject-group);

assign(subject-group + resources + current-allocations -> resource);

current-allocations := < subject-group, resource > union

current-allocations;

subject-set := subject-set/subject-group;

resources := resources/resource;

end while

subjects := subjects/subject-set;

end while

Page 56: Template knowledge models Reusing knowledge model elements

Template knowledge models

56

Assignment:method variations

Existing allocations additional input

subject-specific constraints and preferences see synthesis and configuration-design

Page 57: Template knowledge models Reusing knowledge model elements

Template knowledge models

57

Planning

shares many features with design main difference: "system" consists of activities plus

time dependencies examples: travel planning; planning of building activities

automation only feasible, if the basic plan elements are predefined

consider use of the general synthesis method (e.g therapy planning) or the configuration-design method

Page 58: Template knowledge models Reusing knowledge model elements

Template knowledge models

58

Planning method

plan goal

hardrequirements

softrequirements

possibleplans

list of preferredplans

valid plans

constraints

preferences

preferenceordering

knowledge

plancompositionknowledge

operationalize

generate

selectsubset

sort

requirements

Page 59: Template knowledge models Reusing knowledge model elements

Template knowledge models

59

Scheduling

Given a set of predefined jobs, each of which consists of temporally sequenced activities called units, assign all the units to resources at time slots production scheduling in plant floors

Terminology: job, unit, resource, schedule Often done after planning (= specification of jobs) Take care: use of terms “planning” and “scheduling”

differs

Page 60: Template knowledge models Reusing knowledge model elements

Template knowledge models

60

Scheduling:temporal dispatching method

Specify an initial schedule Select a candidate unit to be assigned Select a target resource for this unit Assign unit to the target resource Evaluate the current schedule Modify the schedule, if needed

Page 61: Template knowledge models Reusing knowledge model elements

Template knowledge models

61

Scheduling:inference structure

job

schedule

candidateunit

targetresource

truthvalue

specify

modify

verify

assign

select

select

Page 62: Template knowledge models Reusing knowledge model elements

Template knowledge models

62

Scheduling:method control

specify(jobs -> schedule);

while new-solution select(schedule -> candidate-unit) do

select(candidate-unit + schedule -> target-resource);

assign(candidate-unit + target-resource -> schedule);

evaluate(schedule -> truth-value);

if truth-value = false then

modify(schedule -> schedule);

end while

Page 63: Template knowledge models Reusing knowledge model elements

Template knowledge models

63

Scheduling: method variations

Constructive versus repair method Refinement often necessary

see scheduling literature catalog of Hori (IBM Japan)

Page 64: Template knowledge models Reusing knowledge model elements

Template knowledge models

64

Scheduling: typical domain schema

schedule job

release-date: timedue-date: time

unit

start: timeend: timeresource-type: string

resource

type: stringstart-time: timeend-time: time

includes

{dynamically linked}

{temporallyordered}

job unit

preferenceconstraint

is performed at

resourcecapacity

constraint

Page 65: Template knowledge models Reusing knowledge model elements

Template knowledge models

65

Modeling

included for completeness "construction of an abstract description of a system

in order to explain or predict certain system properties or phenomena"

examples: construction of a simulation model of nuclear accident knowledge modeling itself

seldom automated => creative steps exception: chip modeling

Page 66: Template knowledge models Reusing knowledge model elements

Template knowledge models

66

In applications: typical task combinations

monitoring + diagnosis Production process

monitoring + assessment Nursing task

diagnosis + planning Troubleshooting devices

classification + planning Military applications

Page 67: Template knowledge models Reusing knowledge model elements

Template knowledge models

67

Example: apple-pest management

mintorcrop

identifypest

plan measure

executeplan

[possible threat]

[possible pest]

Page 68: Template knowledge models Reusing knowledge model elements

Template knowledge models

68

Comparison with O-O analysis

Reuse of functional descriptions is not common in O-O analysis notion of “functional” object

But: see work on design patterns strategy patterns templates are patterns of knowledge-intensive tasks

Only real leverage from reuse if the patterns are limited to restricted task types