slides

Report
Modelleren van
analysetaken
•
•
•
•
Taakkennis
Templates voor analysetaken
Interviewing
Zelftest
deels gebaseerd op boek en slides
‘The CommonKADS Methodology’
Modelleren van
analysetaken
1
wrap up
TAAKKENNIS
Modelleren van
analysetaken
2
Taak
TASK diagnosis;
GOAL: "Find a likely cause for the complaint of the user";
ROLES:
INPUT:
complaint: "Complaint about the behavior of the system";
OUTPUT:
fault-category: "A hypothesis explained by the
evidence";
evidence: "Set of observations obtained during the
diagnostic process";
SPEC:
"Find an initial state that explains the complaint
and is consistent with the evidence obtained";
END TASK diagnosis;
Modelleren van
analysetaken
3
Taakdecompositie
task
task method
diagnosis
diagnosis
through
generate-and-test
decomposition
obtain
cover
predict
compare
transfer function
inferences
Modelleren van
analysetaken
4
Taakmethode
TASK-METHOD diagnosis-through-generate-and-test;
DECOMPOSITION:
INFERENCES: cover, predict, compare;
TRANSFER-FUNCTIONS: obtain;
ROLES:
INTERMEDIATE:
expected-finding: "The finding predicted,
in case the hypothesis is true";
actual-finding: "The finding actually observed";
Modelleren van
analysetaken
5
Controle taakmethode in UML
cover
[result = not equal]
start
diagnosis
through
generate-and-test
[no more solutions
of cover]
no solution found
[new solution
of cover]
[result = equal]
solution found
predict
obtain
Modelleren van
analysetaken
compare
6
Controle taakmethode in CML
CONTROL-STRUCTURE:
REPEAT
cover(complaint -> hypothesis);
predict(hypothesis -> expected-finding);
obtain(expected-finding -> actual-finding);
evidence := evidence ADD actual-finding;
compare(expected-finding + actual-finding -> result);
UNTIL result = equal or “no more solutions”;
END REPEAT
IF result == equal
THEN fault-category := hypothesis;
ELSE "no solution found";
END IF
Modelleren van
analysetaken
7
TAAKTEMPLATES
Modelleren van
analysetaken
10
Hergebruik
• Kennismodellen worden (gedeeltelijk) hergebruikt in nieuwe
applicaties
• Het taaktype is de belangrijkste richtlijn voor hergebruik
• Er is een ‘library’ van taaktemplates
Modelleren van
analysetaken
11
De noodzaak van hergebruik
• voorkomen van het wiel opnieuw uitvinden
• kosten/tijd-efficiënt
• verlaging complexiteit
• verhoging kwaliteit
Modelleren van
analysetaken
12
Taaktemplate
• herbruikbare combinatie van modelelementen
– (provisorische) inferentiestructuur
– typische controlestructuur
– typisch domeinschema vanuit het oogpunt van taak
• specifiek voor een taaktype
• ondersteunt ‘top-down’ kennismodelleren
Modelleren van
analysetaken
13
De term “systeem”
• abstracte term voor object waarop een taak wordt
toegepast
• voorbeeld
– in technische diagnose: artifact of apparaat dat
gediagnosticeerd wordt
– in lift configuration design: de te ontwerpen lift
• hoeft (nog) niet te bestaan
Modelleren van
analysetaken
15
Analyse- t.o.v. synthesetaken
• analytische taak
– systeem bestaat al
• het wordt typisch niet in zijn geheel “gekend”
– input: enige data over het systeem,
– output: een karakterisatie van het systeem
• synthesetaak
– systeem bestaat nog niet
– input: requirements over het te construeren systeem
– output: beschrijving van het systeem
Modelleren van
analysetaken
16
Taakhiërarchie
knowledgeintensive
task
analytic
task
classification
diagnosis
synthetic
task
prediction
planning
design
modelling
assessment
assignment
scheduling
monitoring
configuration
design
Modelleren van
analysetaken
17
CLASSIFICATIE
Modelleren van
analysetaken
19
Classificatie
terminologie: object, klasse, attribuut, feature
Modelleren van
analysetaken
20
Classificatie
• bepaal juiste klasse voor een object
• object moet beschikbaar zijn voor inspectie
• een van de eenvoudigste analytische taken: veel methoden
• andere analysetaken soms gereduceerd tot classificatie
– vb diagnose
Modelleren van
analysetaken
21
Voorbeelddomein: Modellenwerk
Modelleren van
analysetaken
22
Modelleren van
analysetaken
23
Classificatie: ‘pruning’-methode
• snoeimethode
• genereer alle klassen waartoe een object kan behoren
• specificeer een objectattribuut
• ‘obtain’ de waarde van het attribuut
• verwijder alle klassen die inconsistent met deze waarde zijn
Modelleren van
analysetaken
24
{tina, vogue, margriet} -> leeftijd
{tina, vogue, margriet} -> sex appeal
jeanine
Classificatie:
inferentiestructuur
leeftijd
trudy
sex appeal
object
generate
tina
vogue
margriet
jeanine -> tina
jeanine -> vogue
jeanine -> margriet
trudy-> tina
trudy -> vogue
trudy -> margriet
Modelleren van
analysetaken
tina, wel sexappeal -> onwaar
tina, geen sexappeal -> waar
specify
attribute
tina, 35 jaar -> onwaar
tina, 15 jaar -> waar
vogue, wel sexappeal -> waar
vogue, geen sexappeal -> onwaar
vogue, 35 jaar -> onwaar
vogue, 15 jaar -> waar
margriet, wel sexappeal -> onwaar
class
obtain
margriet, geen sexappeal -> waar
margriet, 35 jaar -> waar
margriet, 15 jaar -> onwaar
match
geen
(transferfunctie)
35 jaar
15 jaar
wel sex appeal
geen sex appeal
feature
waar
onwaar
truth
value
25
Classificatie: methodecontrole
while new-solution generate(object -> candidate) do
candidate-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 add 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;
Modelleren van
analysetaken
26
Classificatie: methodevariaties
• Beperkte generatie van kandidaten
• Verschillende vormen van attribuutselectie
– beslisboom
– informatietheorie
– bepaald door gebruiker
• Hiërarchisch zoeken in een klassestructuur
Modelleren van
analysetaken
27
Classificatie: typisch
domeinschema
object type
has-attribute
class-of
2+
1+
object class
attribute
requires
value: universal
class
constraint
Modelleren van
analysetaken
28
Classificatie?
Modelleren van
analysetaken
31
Classificatie?
cibreo (hanekamsaus)
Modelleren van
analysetaken
32
ASSESSMENT
Modelleren van
analysetaken
33
Assessment (beoordeling)
• case, norm, beslissing
Modelleren van
analysetaken
34
Assessment
• vind beslissingcategorie voor een case gebaseerd op
domeinspecifieke normen
• enige overeenkomsten met monitoring
– verschillen:
• timing: assessment is statischer van aard
• andere output: beslissing t.o.v. discrepantie
Modelleren van
analysetaken
35
Assessment?
Assessment:
abstraheer & ‘match’-methode
• Abstraheer de case data
• Specificeer de normen van toepassing op de case
– bijv. “rent-fits-income”, “correct-household-size”
• Selecteer een enkele norm
• Bereken een waarheidswaarde voor de norm met
betrekking tot de case
• Bekijk of dit tot een beslissing leidt
• Herhaal de normselectie en –evaluatie tot een beslissing is
genomen
Modelleren van
analysetaken
37
Assessment control:
UML notation
[more abstractions]
abstract
specify
norms
[no more
abstractions]
[match fails
no decision]
[match succeeds:
decision found]
select
norm
evaluate
norm
Modelleren van
analysetaken
match
decision
38
jeanine
trudy
jeanine -> jeanine.lengte=1.65-1.70
jeanine ->jeanine.botstructuur=fijn
trudy -> trudy.lengte=1.80-1.85
trudy -> trudy.botstructuur=grof
Assessment: inferentiestructuur
case
jeanine -> {geschikte lengte,
geschikte botstructuur}
trudy -> {geschikte lengte,
geschikte botstructuur}
abstract
abstracted
case
{geschikte_lengte,
geschikte_botstructuur} ->
geschikt_lengte
{geschikte_lengte,
{geschikte_lengte,
geschikte_botstructuur} ->
geschikte_botstructuur}
geschikte_botstructuur
lengte=1.65-1.70 -> geen_geschikte_lengte
lengte=1.80-1.85 -> wel_geschikte_lengte
specify
norms
select
botstructuur=fijn -> wel_geschikte_botten
botstructuur=grof -> geen_geschikte_botten
jeanine.lengte=1.65-1.70
geschikte_lengte
jeanine.botstructuur=fijn
geschikte_botstructuur
trudy.lengte=1.80-1.85
trudy.botstructuur=grof
geen_geschikte_botstructuur -> geen_model_potentie
norm
wel_geschikte_botstructuur, wel_geschikte_lengte -> evaluate
wel_model_potentie
wel_geschikte_botstructuur,
geen_geschikte_lengte -> onbepaalde_model_potentie
wel_model_potentie
wel_geschikte_botten
geen_model_potentie
geen_geschikte_botten
onbepaalde_model_potentie
wel_geschikte_lengte
norm
geen_geschikte_lengte
decision
match
value
Modelleren van
analysetaken
39
Assessment:
method control
while new-solution abstract(case-description -> abstractedcase) 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 add evaluation-results;
until has-solution match(evaluation-results -> decision);
Modelleren van
analysetaken
40
Assessment: methodevariaties
• normen kunnen case-specifiek zijn
– bijv. in het huisvestingvoorbeeld
• case-abstractie hoeft niet nodig te zijn
• kennisintensieve selectie van normen
– willekeurig, heuristisch, statistisch
– kan essentieel zijn voor efficiëntie
– soms bepaald door menselijke expertise
– alleen accepteerbaar als gedaan op een manier die
begrijpelijk is voor experts
Modelleren van
analysetaken
41
Assessment: domeinschema
case
abstraction
rule
case datum
1+
value: universal
has
abstraction
case
datum
1+
implies
requirement
norm
indicates
decision
truth-value: boolean 1+
decision
rule
Modelleren van
analysetaken
42
Assessment?
DIAGNOSE
Modelleren van
analysetaken
46
Diagnose
‘slechte
appeloogst’
• klacht, hypothese, differential, observables, finding,
evidence, fout
Modelleren van
analysetaken
47
Diagnose
• vind de fout waarom systeem niet functioneert
• moet een model hebben van het systeemgedrag
– default methode: eenvoudig causaal model
• soms gereduceerd tot een classificatietaak
– directe afhankelijkheden tussen symptoom en fout
• automatiseren is feasible voor technisch domeinen
Modelleren van
analysetaken
48
Diagnose:
‘causal covering’-methode
• Vind mogelijke oorzaken (hypothesen) voor de klacht
• Selecteer een hypothese
• Specificeer een ‘observable’ voor deze hypothese en ‘obtain’
een waarde
• Verifieer elke hypothese of deze consistent is met de
nieuwe ‘finding’
• Ga door totdat één hypothese over is of er geen
observables meer beschikbaar zijn
Modelleren van
analysetaken
49
verkeerd_cover_model
verkoop_volgende_editie
Diagnose:
inferentiestructuur
verkeerde_strategie
verkoop_vogue_te_laag
hypothesis
geen
specify
(transferfunctie)
observable
verkeerd_cover_model, verkoop_volgende_editie_is_ook_laag
{verkeerd_cover_model,
-> verkeerde_strategie}
unequal
->
verkeerd_cover_model
->
verkoop_volgende_editie
verkeerd_cover_model, verkoop_volgende_editie_is_als_vanouds
verkeerd_cover_model -> equal
verkeerde_strategie
->
verkoop_volgende_editie
verkeerde_strategie, verkoop_volgende_editie_is_ook_laag
{verkeerd_cover_model,
-> equal
verkeerde_strategie} ->
select
complaint
verkeerde_strategie,
verkoop_volgende_editie_is_als_vanouds
verkeerde_strategie -> unequal obtain
verkoop_vogue_te_laag -> verkeerd_cover_model
verkoop_vogue_te_laag -> verkeerde_strategie
hypothesis
cover
equal
unequal
verify
verkeerd_cover_model
verkeerde_strategie
result
Modelleren van
analysetaken
finding
verkoop_volgende_editie
_is_ook_laag
verkoop_volgende_editie
_is_als_vanouds
50
Diagnose: methodecontrole
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;
Modelleren van
analysetaken
51
Diagnose: methodevariaties
• opnemen van abstracties
• simulatiemethoden
Modelleren van
analysetaken
52
Diagnose: domeinschema
syst em
feat ure
syst em
st at e
syst em
observable
syst em
st at e
value: universal
status: universal
can cause
syst em
feat ure
causal
dependency
fault
prevalence: number[0..1]
Modelleren van
analysetaken
53
Diagnose?
Taaktype?
Modelleren van
analysetaken
55
MONITORING
Modelleren van
analysetaken
56
Monitoring
• parameter, norm, verschil, historische data, discrepantie
Modelleren van
analysetaken
57
Monitoring
Monitoring
• analyseer een doorgaand proces om uit te vinden of het
naar verwachting verloopt
• belangrijke eigenschappen:
– systeem is dynamische van aard
– taakuitvoering is cyclisch
• output alleen een discrepantie => geen verdere uitleg
• vaak: koppelen van monitoring aan diagnose
– output monitoring is input diagnose
Modelleren van
analysetaken
59
Monitoring: ‘data-driven’-methode
• Begint als een nieuwe ‘finding’ ‘received’ wordt
• Selecteer een parameter en specificeer een normwaarde
• Vegelijk de finding met de norm en genereer een
beschrijving van het verschil
• Classificeer het verschil naar discrepanties op basis van
data uit vorige ‘cycles’
Modelleren van
analysetaken
60
Monitoring: inferentiestructuur
gewicht, vetpercentage, inname -> voeding
gewicht = 49 kg
system
model
vetpercentage = 13%
inname
= 2000 Kcal
voeding
-> normale
inname 2200 kcal
receive
new
finding
select
voeding
parameter
inname 2000 kcal, normale inname 2200
normale inname = 2200 kcal
kcal te
->weinig,
te weinig
normaal
eetpatroon
->
goed
gevoed
geen
te weinig, afgelopen zes dagen te weinig -> ondervoed
(transferfunctie)
compare
specify
te veel, afgelopen zes
dagen te veel -> norm
overvoed
te weinig
precies genoeg
te veel
goed gevoed
ondervoed
overvoed
difference
normaal eetpatroon
afgelopen zes dagen te weinig
afgelopen zes dagen te veel
Modelleren van
analysetaken
classify
discrepancy
historical
data
61
Monitoring?
Monitoring?
Monitoring?
Monitoring: methodecontrole
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;
Modelleren van
analysetaken
65
Monitoring?
Monitoring?
Monitoring?
Monitoring?
Monitoring: methodevariaties
• ‘model-driven’ monitoring
– systeem heeft het initiatief
– typisch uitgevoerd op regelmatige tijdstippen
– voorbeeld: software project management
• classificatiefunctie als taak ipv inferentie
– pas classificatiemethode toe
• voeg inferentie voor data-abstractie toe
Modelleren van
analysetaken
70
PREDICTION
Modelleren van
analysetaken
71
Prediction
Modelleren van
analysetaken
72
‘Prediction’ (voorspelling)
• analytische taak met enige synthetische eigenschappen
• analyseert het huidige systeemgedrag om een beschrijving
te geven van een toekomstige systeemtoestand
• voorbeeld: weersvoorspellen
• vaak subtaak in diagnose
• staat niet verder beschreven in het boek
Modelleren van
analysetaken
73
INTERVIEWTECHNIEKEN
Modelleren van
analysetaken
74
Interviewing
1. doel en focus
2. structuur van interview
3. kwantiteit van elicitatie
4. kwaliteit van elicitatie
Modelleren van
analysetaken
75
firma interview
http://www.youtube.com/watch?v=nQFFRjzz3rM
http://www.youtube.com/watch?v=uuPNvFZ3vxc
ZELFTEST
Modelleren van
analysetaken
77
Vraag 1
• Het specificeren van een norm / normen maakt onderdeel
uit van:
a)
b)
c)
d)
monitoring
assessement
zowel monitoring als assessment
noch monitoring noch assessment
Modelleren van
analysetaken
78
Vraag 2
• Welke hypothesen worden in de causal-covering diagnose
methode op basis van de de evidence geverifieerd?
A) alleen de gespecificeerde hypothese
B) alle hypothesen in de differential
Modelleren van
analysetaken
79
Vraag 3
• Dit is een typisch
domeinschema van:
case
abstraction
rule
case datum
1+
value: universal
has
abstraction
case
datum
1+
implies
requirement
norm
indicates
A)
B)
C)
D)
diagnose
assessment
monitoring
classificatie
decision
truth-value: boolean 1+
decision
rule
Modelleren van
analysetaken
80
Vraag 4
• Hoe wordt in de ‘pruning’-classificatiemethode een attribuut
gespecificeerd?
A) dmv een beslisboom
B) door de gebruiker
C) dat verschilt per applicatie en domein
Modelleren van
analysetaken
81
Werkcolleges
1.
2.
3.
bestuderen gehele practicumopdracht, werken aan opdracht 1 en
opstarten opdracht 2
afronden opdracht 1, werken aan opdracht 2
afronden opdracht 2, opstarten opdracht 3
4. werken aan opdracht 3, verwerken
feedback opdracht 2 (aanwezigheid
verplicht)
5.
6.
7.
8.
afronden opdracht 3, opstarten opdracht 4
werken aan opdracht 4, verwerken feedback opdracht 3 (aanwezigheid
verplicht)
afronden opdracht 4, opstarten opdracht 5 en 6
werken aan opdracht 5 en 6, verwerken feedback opdracht 4
(aanwezigheid verplicht)
Modelleren van
analysetaken
82
Deadlines
•
Wo 11 feb 2015: opdracht 1 (23.59 uur)
•
Wo 18 feb 2015: opdracht 2 (23:59 uur)
• Wo 4 mrt 2015:
opdracht 3 (23:59 uur)
•
Wo 25 mrt 2015: opdracht 4 (23:59 uur)
•
Ma 6 apr / wo 8 apr 2015: presentatie
•
Wo 15 apr 2015: eindrapport (18:00 uur)
Modelleren van
analysetaken
83

similar documents