05 km templates

Upload: njarm415

Post on 05-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 05 Km Templates

    1/68

    Template knowledge models

    Reusing knowledge model elements

  • 7/31/2019 05 Km Templates

    2/68

    Template knowledge models 2

    Lessons

    Knowledge models partially reused in newapplications

    Type of task = main guide for reuse

    Catalog of task templates small set in this book

    see also other repositories

  • 7/31/2019 05 Km Templates

    3/68

    Template knowledge models 3

    The need for reuse

    prevent "re-inventing the wheel"

    cost/time efficient

    decreases complexity

    quality-assurance

  • 7/31/2019 05 Km Templates

    4/68

    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

  • 7/31/2019 05 Km Templates

    5/68

    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 theliterature

    typology is based on the notion of system

  • 7/31/2019 05 Km Templates

    6/68

    Template knowledge models 6

    The term system

    abstract term for object to which a task is applied.

    in technical diagnosis: artifact or device beingdiagnosed

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

  • 7/31/2019 05 Km Templates

    7/68Template 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

  • 7/31/2019 05 Km Templates

    8/68Template knowledge models 8

    Task hierarchy

    knowledge-

    intensive

    task

    analytic

    task

    classification

    synthetic

    task

    assessment

    diagnosis

    configuration

    design

    planning

    scheduling

    assignment

    modelling

    prediction

    monitoring

    design

  • 7/31/2019 05 Km Templates

    9/68Template knowledge models 9

    Structure of templatedescription 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

  • 7/31/2019 05 Km Templates

    10/68Template 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

  • 7/31/2019 05 Km Templates

    11/68Template 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 thisvalue

  • 7/31/2019 05 Km Templates

    12/68

    Template knowledge models 12

    Classification:inference structure

    object

    class

    attribute

    feature

    truthvalue

    generate

    specify

    match

    obtain

  • 7/31/2019 05 Km Templates

    13/68

    Template knowledge models 13

    Classification:method control

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

    while new-solutionspecify(candidate-classes -> attribute)

    and length candidate-classes > 1 doobtain(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;

  • 7/31/2019 05 Km Templates

    14/68

    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

  • 7/31/2019 05 Km Templates

    15/68

    Template knowledge models 15

    Classification:domain schema

    object type

    attribute

    value: universal

    object class

    class

    constraint

    requires

    has-attributeclass-of

    2+ 1+

  • 7/31/2019 05 Km Templates

    16/68

    Template knowledge models 16

    Rock classification

    volcanic

    rock

    igneousrock

    plutonic

    rock

    syenite diorite

    peridotite dunite

    mineral

    rock

    texturegrain sizecolour

    mineral

    content

    percentagepresence

    1+

    mineral content

    constraint

    silicate

    neso

    silicate

    tecto

    silicate

    olivine quartz

    mineralsontology

  • 7/31/2019 05 Km Templates

    17/68

    Template knowledge models 17

    Nested classification

    rock

    rockclassifcation

    minerals

    obtain: Quartz percentage

    mineralclassification

    Quartz olivine

    sub-task

    identifyQuartz

    contains

  • 7/31/2019 05 Km Templates

    18/68

    Template knowledge models 18

    Rock classification prototype

  • 7/31/2019 05 Km Templates

    19/68

    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

  • 7/31/2019 05 Km Templates

    20/68

    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 decisionis reached

  • 7/31/2019 05 Km Templates

    21/68

    Template knowledge models 21

    Assessment:inference structure

    case

    abstractedcase norms

    normvaluedecision

    abstract

    select

    match

    specify

    evaluate norm

  • 7/31/2019 05 Km Templates

    22/68

    Template knowledge models 22

    Assessment:method control

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

    case-description := abstracted-case;

    end while

    specify(abstracted-case -> norms);

    repeat

    select(norms -> norm);

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

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

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

  • 7/31/2019 05 Km Templates

    23/68

    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]

  • 7/31/2019 05 Km Templates

    24/68

    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

  • 7/31/2019 05 Km Templates

    25/68

    Template knowledge models 25

    Assessment:domain schema

    case

    case

    datum

    case datum

    value: universal

    decisionnorm

    truth-value: booleanindicates

    hasabstraction

    implies

    decision

    rule

    requirement

    abstraction

    rule

    1+

    1+

    1+

  • 7/31/2019 05 Km Templates

    26/68

    Template knowledge models 26

    Claim handling forunemployment benefits

    :claim

    collectdata

    dataentry

    decideabout claim

    computebenefit

    sendnotification prepare

    payment

    [no right][right]

    claim handling finacialdepartment

  • 7/31/2019 05 Km Templates

    27/68

    Template knowledge models 27

    Decision rules forclaim handling

    WW benefitrequirement

    WW benefit

    right

    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

  • 7/31/2019 05 Km Templates

    28/68

    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

    Di i

  • 7/31/2019 05 Km Templates

    29/68

    Template knowledge models 29

    Diagnosis:causal covering method

    Find candidate causes (hypotheses) for the complaintusing a causal network

    Select a hypothesis

    Specify an observable for this hypothesis and obtainits value

    Verify each hypothesis to see whether it is consistentwith the new finding

    Continue this process until a single hypothesis is leftor no more observables are available

    Di i

  • 7/31/2019 05 Km Templates

    30/68

    Template knowledge models 30

    Diagnosis:inference structure

    complaint

    cover

    specify

    select obtain

    hypothesis

    observable

    finding

    hypothesis

    verify

    result

    Di i

  • 7/31/2019 05 Km Templates

    31/68

    Template knowledge models 31

    Diagnosis:method control

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

    differential := hypothesis add differential;

    end while

    repeat

    select(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;

    Di i

  • 7/31/2019 05 Km Templates

    32/68

    Template knowledge models 32

    Diagnosis:method variations

    inclusion of abstractions

    simulation methods

    see literature on model-based diagnosis

    library of Benjamins

    Di i

  • 7/31/2019 05 Km Templates

    33/68

    Template knowledge models 33

    Diagnosis:domain schema

    systemfeature

    system

    observable

    value: universal

    system

    state

    status: universal

    fault

    prevalence: number[0..1]

    system

    state

    system

    featurecan cause

    causal

    dependency

  • 7/31/2019 05 Km Templates

    34/68

    Template knowledge models 34

    Monitoring

    analyze ongoing process to find out whether it behavesaccording 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

    M it i

  • 7/31/2019 05 Km Templates

    35/68

    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

    M it i

  • 7/31/2019 05 Km Templates

    36/68

    Template knowledge models 36

    Monitoring:inference structure

    newfinding

    select

    systemmodel

    specifycompare

    classify

    parameter

    difference

    norm

    discrepancy

    historicaldata

    receive

    Monitoring

  • 7/31/2019 05 Km Templates

    37/68

    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;

    Monitoring

  • 7/31/2019 05 Km Templates

    38/68

    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

  • 7/31/2019 05 Km Templates

    39/68

    Template knowledge models 39

    Prediction

    analytic task with some synthetic features

    analyses current system behavior to constructdescription of a system state at future point in time.

    example: weather forecasting often sub-task in diagnosis

    also found in knowledge-intensive modules ofteaching systems e.g. for physics.

    inverse: retrodiction: big-bang theory

  • 7/31/2019 05 Km Templates

    40/68

    Template knowledge models 40

    Synthesis

    Given a set of requirements, construct a systemdescription that fulfills these requirements

    "P166 processor requires 16Mb"

    "prefer cheap est component"

    preference

    constraint

    "price lower than $2,000"

    "fast sys tem"

    hard requirement

    soft requirement

    requirements(external) constraints & preferences(internal)

  • 7/31/2019 05 Km Templates

    41/68

    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

    Synthesis:

  • 7/31/2019 05 Km Templates

    42/68

    Template knowledge models 42

    Synthesis:inference structure

    requirements

    hardrequirements

    softrequirements

    possiblesystem

    structures

    list of preferredsystem s tructures

    valid systemstructures

    constraints

    preferences

    preferenceordering

    knowledge

    systemcompositionknowledge

    operationalize

    generate

    selectsubset

    sort

  • 7/31/2019 05 Km Templates

    43/68

    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

  • 7/31/2019 05 Km Templates

    44/68

    Template knowledge models 44

    Configuration design

    given predefined components, find assembly thatsatisfies 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

    Elevator configuration:

  • 7/31/2019 05 Km Templates

    45/68

    Template knowledge models 45

    Elevator configuration:knowledge base reuse

    Configuration:

  • 7/31/2019 05 Km Templates

    46/68

    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

    Configuration:

  • 7/31/2019 05 Km Templates

    47/68

    Template knowledge models 47

    Configuration:method decomposition

    requirements

    softrequirements

    hard

    requirements

    skeletal

    design

    design

    extension

    violationtruthvalue

    action

    actionlist

    operationalize

    critique

    modify

    verify

    specify

    propose

    select

    Configuration:

  • 7/31/2019 05 Km Templates

    48/68

    Template knowledge models 48

    Configuration:method control

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

    whilenew-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

    Configuration:

  • 7/31/2019 05 Km Templates

    49/68

    Template knowledge models 49

    Configuration:method variations

    Perform verification plus revision only when for alldesign 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 potentiallyextensive space of alternative designs

    alternative: chronological backtracking

    Configuration:

  • 7/31/2019 05 Km Templates

    50/68

    Template knowledge models 50

    Configuration:domain schema

    design element

    parameter

    value: universal

    component

    model list: list

    fix act ion

    action type

    constraint

    design

    element

    component

    calculat ion

    expression

    constraint

    expression

    computes

    implies

    1+

    1+

    1+

    1+ fix

    has-parameter

    0+

    defines

    preference

    preference

    rating: universal

    preference

    expression

    1+

    Types of configuration may

  • 7/31/2019 05 Km Templates

    51/68

    Template knowledge models 51

    Types of configuration mayrequire different methods

    Parametric design

    Assembly is largely fixed

    Emphasis on finding parameter values that obey globalconstraints 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)

  • 7/31/2019 05 Km Templates

    52/68

    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

    Assignment:

  • 7/31/2019 05 Km Templates

    53/68

    Template knowledge models 53

    Assignment:method without backtracking

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

    If necessary: group the subjects into subject-groupsfor 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

    Assignment:

  • 7/31/2019 05 Km Templates

    54/68

    Template knowledge models 54

    Assignment:inference structure

    subjectssubject

    set

    subjectgroup

    resourceresources

    currentallocations

    selectsubset

    group

    assign

    Assignment:

  • 7/31/2019 05 Km Templates

    55/68

    Template knowledge models 55

    Assignment:method control

    while not empty subjects doselect-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 whilesubjects := subjects/subject-set;

    end while

    Assignment:

  • 7/31/2019 05 Km Templates

    56/68

    Template knowledge models 56

    Assignment:method variations

    Existing allocations

    additional input

    subject-specific constraints and preferences

    see synthesis and configuration-design

  • 7/31/2019 05 Km Templates

    57/68

    Template knowledge models 57

    Planning

    shares many features with design

    main difference: "system" consists of activities plustime dependencies

    examples:travel planning; planning of building activities

    automation only feasible, if the basic plan elementsare predefined

    consider use of the general synthesis method (e.g

    therapy planning) or the configuration-design method

  • 7/31/2019 05 Km Templates

    58/68

    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

  • 7/31/2019 05 Km Templates

    59/68

    Template knowledge models 59

    Scheduling

    Given a set of predefined jobs, each of whichconsists of temporally sequenced activities calledunits, 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

    Scheduling:

  • 7/31/2019 05 Km Templates

    60/68

    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

    Scheduling:

  • 7/31/2019 05 Km Templates

    61/68

    Template knowledge models 61

    Scheduling:inference structure

    job

    schedule

    candidateunit

    targetresource

    truthvaluespecify

    modify

    verify

    assign

    select

    select

    Scheduling:

  • 7/31/2019 05 Km Templates

    62/68

    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

    Scheduling:

  • 7/31/2019 05 Km Templates

    63/68

    Template knowledge models 63

    Sc edu gmethod variations

    Constructive versus repair method

    Refinement often necessary

    see scheduling literature

    catalog of Hori (IBM Japan)

    Scheduling: typical

  • 7/31/2019 05 Km Templates

    64/68

    Template knowledge models 64

    g ypdomain schema

    schedule job

    release-date: timedue-date: time

    unit

    start: timeend: timeresource-type: string

    resource

    type: stringstart-time: timeend-time: time

    includes

    {dynamicallylinked}

    {temporallyordered}

    job unit

    preference

    constraint

    is performed at

    resource

    capacity

    constraint

  • 7/31/2019 05 Km Templates

    65/68

    Template knowledge models 65

    Modeling

    included for completeness

    "construction of an abstract description of a systemin order to explain or predict certain systemproperties or phenomena"

    examples:

    construction of a simulation model of nuclear accident

    knowledge modeling itself

    seldom automated => creative steps

    exception: chip modeling

    In applications:

  • 7/31/2019 05 Km Templates

    66/68

    Template knowledge models 66

    pptypical task combinations

    monitoring + diagnosis

    Production process

    monitoring + assessment

    Nursing task

    diagnosis + planning

    Troubleshooting devices

    classification + planning

    Military applications

    Example: apple-pest

  • 7/31/2019 05 Km Templates

    67/68

    Template knowledge models 67

    p pp pmanagement

    mintorcrop

    identifypest

    planmeasure

    executeplan

    [possible threat]

    [possible pest]

  • 7/31/2019 05 Km Templates

    68/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 arelimited to restricted task types