pure.tue.nl · samenvatting. expertsystemen zijn ontstaan uit de behoefte om bepaalde proble men....
TRANSCRIPT
Eindhoven University of Technology
MASTER
Expertsystemen
Kerstens, F.A.M.
Award date:1986
Link to publication
DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Studenttheses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the documentas presented in the repository. The required complexity or quality of research of student theses may vary by program, and the requiredminimum study period may vary in duration.
General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain
AFDELING DER ELEKTROTECHNIEKTECHNISCHE HOGESCHOOLEINDHOVENvakgroep meten en regelen
EXPERl'SVSl'EMEN
DEEL 1Doel en opbou\&I
Rlk Kerstens
18 augustus 1986Verslag van afstudeerwerk.Onder verantwoordellJkhe1d van: Prof. 1r. F.J. Kulstra.Onder begelelding van: Drs. A. M1ddendorp, Hoogovens.
De afde11ng der elektrotechn1ek van de Technische HogeschoolEindhoven aanvaardt geen verantwoorde11Jkheid voor de 1nhoud vanstage- en afstudeerverslagen
Samenvatting.
Expertsystemen zijn ontstaan uit de behoefte om bepaalde problemen. waarvoor conventionele programma's ongeschikt zijn, metcomputersystemen op te lossen. Dit zijn de problemen die aIleenefficient kunnen worden opgelost door, op basis van ervaring enintuitie. gericht naar oplossingen te zoeken. Bijvoorbeeldtechnische en medische diagnose en planningsproblemen.Expertsystemen zijn een aanvulling op conventionele programma's.Ze worden gebruikt om ervaringskennis van experts vast te leggen.
Expertsystemen worden ontwikkeld door knowledge engineers. Deknowledge engineer is de schake1 tussen experts en een expertsysteem. Het is zijn taak de ervaringskennis van experts teverzamelen. te analyseren en in een expertsysteem vast te leggen.een taak die knowledge acquisitie wordt genoemd.
In het kader van mijn afstudeerproject heb ik onderzoek verrichtnaar het doel en de opbouw van expertsystemen. Neerslag van ditonderzoek is te vinden in mijn verslag: Expertsystemen Deel 1:Doel en opbouw.
Daarnaast heb ik voor Hoogovens IJmuiden onderzoek verricht naarde ontwikkeling van een gestructureerde knowledge acquisitiemethode. Expertsystemen Deel 2: Richtlijnen voor knowledge acquisitie. geeft een overzicht van de resultaten van dit onderzoek.
Bij de ontwikkeling van expertsystemen wordt rapid-prototypinggebruikt om snel een ogend resultaat te presenteren. Daarna laathet de knowledge engineer in de steek.In deel 2 wordt een scenario voor modeldriven-prototyping beschreven.
Modeldriven-prototyping biedt voor het modelleren, ordenen enimplementeren van ervaringskennis een gestructureerde aanpak.Door modelvorming wordt aan de hand van een beperkte hoeveelheidervaringskennis de manier waarop een expert functioneert rationeel gereconstrueerd.Het functioneel model dat ontstaat wordt gebruikt om ervaringskennis gerichter te verwerven en om deze sneller te ordenen. Hetmodel heeft een open-eind: nieuwe ervaringskennis kan aanpassingvan het model betekenen.
1
Inhoud.
2.
3.3.l.3.2.3.3.3.'i.
'i.'i .l.'i.2.'i.3.'i.'i.'i.5.'i.6.'i.7.'i.e.'i.9.
5.5.l.5.2.5.3.5.'i.5.5.5.6.5.7.5.8.5.9.5.10.5.11.5.12.
6.
Samenvatting.
Inleiding.
Kunstmatige intelligentie en experts~stemen.
Wat zijn experts~stemen.
Het doel van expertsystemen.Een model van experts~stemen.
Conventionele versus expert systemen.Overzicht.
De knowledgebase en het kennismodel.Objecten en feiten.Klasse-overerving.Semantische netwerken.Numerieke en symbolische expressies.Regels.Het vastleggen van objecten, feiten en regels.Contexten.Kennis functioneel beschouwd.Procedurele versus declaratieve vastlegging.
Het inferentiemechanisme.Regelmodel.De forward chaining strategie.De backward chaining strategie.Illustratief voorbeeld van forward chaining.Schematisch voorbeeld van forward chaining.Illustratief voorbeeld van backward chaining.Schematisch voorbeeld van backward chaining.Snelheidsoverwegingen.Doelkeuze i.g.v. backward chaining.Vergelijking forward en backward chaining.Inexact reasoning.Instantieren en unificeren.
De gebruikersinterface met explanatiefaciliteiten.
1
3
5
668
1010
11111'i15161618212222
23232525262729303232333'i38
39
7.
8.
Koppeling expertsystemen met conventionele programma's. ~2
Programmeertalen. 'i3
Slotopmerkingen. 'ili
Literatuur. liS
Register. 'i7
Appendix A. SO
2
1. Inleiding.
Expertsystemen zijn ontstaan uit de behoefte om bepaalde problemen, die moeilijk te beschrijven zijn met conventionele programmeertalen, met computersystemen op te lossen.Dit zijn de problemen die alleen efficient kunnen worden opgelostdoor, op basis van ervaring en intuitie, gericht naar oplossingente zoeken. Bijvoorbeeld technische en medische diagnose en planningsproblemen.Expertsystemen zijn een aanvulling op de bestaande conventioneleprogramma's. 2e worden gebruikt om ervaringskennis van expertsvast te leggen.
De eerste expertsystemen werden van de grond af in een conventionele programmeertaal geschreven, zoals MYCIN, een systeem dat advies geeft over moeilijk diagnostiseerbare infectieziekten. Deontwikkeling en implementatie van oplossingsmethoden voor dezesystemen kostten veel tijd.De oplossingsmethoden van de verschillende systemen vertoondengrote overeenkomsten en bleken onafhankelijk van de beschrijvingvan een probleemdomein te kunnen worden geimplementeerd.Het was mogelijk systemen te ontwikkelen waarin oplossingsmethoden en domeinbeschrijving zijn gescheiden. De domeinbeschrijvingkan in deze systemen later worden toegevoegd, zodat ze in meerprobleemdomeinen inzetbaar zijn. Dit is een succes gebleken enmet deze zogenaamde expertsysteemshells wordt reeds op veleplaatsen geexperimenteerd.
Uaak wordt verondersteld dat expertsystemen een nieuwe methodevormen voor het oplossen van willekeurige problemen. Dit komtonder andere doordat ze ook in meer of mindere mate geschikt zijnom problemen op te lossen, die reeds op conventionele wijzekonden worden opgelost. Door deze verwarring ontstaan vragen als:
Wat is het voordeel boven de conventionele programma's?
Kan met conventionele programma's hetzelfde worden gerealiseerd?
De antwoorden liggen reeds in het voorgaande verhaal. Uitgaandevan de problemen waarvoor expertsystemen zijn bedoeld komt hetvoordeel voort uit een werkbesparing ten opzichte van het van degrond af opbouwen van een eigen programma.Het is echter wel mogelijk om zo'n eigen programma te ontwikkelen, zo zijn expertsystemen immers ontstaan. 20'n programma voldoet misschien zelfs beter aan de gestelde eisen, maar dit weegtin het algemeen niet op tegen de hoeveelheid werk. Uaak zal hetneerkomen op het programmeren van de oplossingsmethoden die reedsin expertsystemen (shells) zijn gerealiseerd. Indien voor eenbepaald probleemdomein geen geschikte shell kan worden gevonden,is men echter toch op het zelf ontwikkelen aangewezen.
Expertsystemen worden ontwikkeld door knowledge engineers. Deknowledge engineer is de schakel tussen experts en een expertsysteem. Het is zijn taak om de ervaringskennis van experts teverzamelen, te analyseren en in een expertsysteem vast te leggen,
3
een taak die knowledge acquisitie wordt genoemd.
Deel 1 van dit verslag geeft een overzicht van de achtergronden,methoden en opbouw van de huidige expertsystemen. Op details vanspecifieke systemen zal niet worden ingegaan, maar af en toewordt gerefereerd aan expertsysteemshells als:
EMYCIN
DELFI
ontwikkeld in LISP aan de Stanford University, USA.
ontwikkeld in Pascal aan de THDelft, Nederland.
ACQUAINT ontwikkeld in LISP door van Lithp Systems BU, Nederland.
SAGE ontwikkeld in Pascal door SPL, Engeland.
Meer informatie betreffende de eerste drie systemen kan gevondenworden in lit [lJ, betreffende de laatste in lit [2J.
In appendix A wordt aandacht besteed aan de programmeertaal LISP.Deze taal is vaak voor het ontwerpen van expertsystemen gebruikt.
In het kader van mijn afstudeerproject heb ik als knowledgeengineer voor Hoogovens IJmuiden gewerkt. Mijn hoofdtaak lag inhet onderzoek naar de ontwikkeling van een gestructureerde knowledge acquisitie methode. In deel 2 van dit verslag worden deresultaten van dit onderzoek gepresenteerd.
2. Kunstmatige intelligentie en expertsystemen.
Expertsystemen vormen een applicatie van Artificiele Intelligentie (AI) en het is daarom nuttig daar eerst wat aandacht aan tebesteden.AI is een deelgebied van de informatica. Het doel van AI is deontwikkeling van technieken voor de constructie van computerprogramma's die intelligent gedrag vertonen. Intelligentie hangtnauw samen met begrippen als kennis, redeneren, deductie, inductie, bewijzen en leren. Deze begrippen spelen een belangrijke rolin AI. Of het begrip intelligentie correct wordt gebruikt, is eendiscussie die buiten het bestek van dit rapport valt.AI is met name gericht op de verwerking van symbolische (- nietnumerieke) zaken, zoals in natuurlijke taalverwerking. Een belangrijk deel van het AI-onderzoek bestaat uit de studie en ontwikkeling van technieken voor de manipulatie van symbolen.Kennis is een elementair onderdeel van AI-programma's. Hetvergaren, het interpreteren en het representeren van kennis wordtknowledge engineering of knowledge acquisitie genoemd. Het vormteen aparte discipline binnen AI.Twee belangrijke deelgebieden van AI zijn:
- het verkrijgen van inzicht in de principes van de menselijkeintelligentie door middel van programma's en programmeertechnieken welke gebaseerd zijn op de theorieen over de werkingvan de menselijke hersenen. Deze programma's worden gebruikt omde onderliggende theorieen te testen en te verbeteren.
het onderzoeken en ontwikkelen van programma's en programmeertechnieken voor computersystemen welke taken moeten uitvoerendie normalerwijze menselijke intelligentie vereisen (Zoalsprobleem-oplossen, leren, perceptie en communicatie). Het doelhiervan is een betere, eenvoudigere en bredere toepassing vancomputersystemen. Een voorbeeld vormen de expertsystemen.Knowledge engineering is een belangrijke discipline in de ontwikkeling van dergelijke computersystemen.
Uorderingen in de ontwikkeling van AI-technieken werden pas geboekt na de komst van krachtigere computersystemen. Met uitzondering van richtingen als natuurlijke taalverwerking, automatischvertalen en speltheorie zijn succesvolle applicaties lange tijduitgebleven.In het begin van de zeventiger jaren stelde professor Feigenbaumvan de Stanford University (USA) een aanpak voor welke een doorbraak tot gevolg had. Uolgens hem moesten de AI-technieken initieel aIleen op kleine goed gekozen problemen worden toegepast.Het resultaat zou dan tweevoudig zijn. Ten eerste zou het inzichtin AI worden vergroot en ten tweede zouden de resultaten eenopstapje vormen voor de aanpak van grotere problemen.Feigenbaums benadering bleek succesvol en had tot gevolg dat velekleine firma's zich specialiseerden op het gebied van expertsystemen. Expertsystemen sluiten namelijk goed aan bij feigenbaumsfilosofie. Het zijn in het algemeen computerprogramma's diekleine goed gedefinieerde taken uitvoeren.
5
3. Wat ziJn expeLtsystemen.
3.1. Het doel van expeLtsystemen.
Expertsystemen hebben betrekking op expertise. Expertise is eenbekwaamheid in het oplossen van de problemen binnen een afgebakend probleemdomein. Dit kan betrekking hebben op:
- eenduidig omschreven problemen die met een berekening of algoritme worden opgelost. Deze manier van oplossen wordt algoritmiek genoemd. Voorbeelden zijn sorteer en numerieke problemen.De resulterende oplossingen zijn absoluut-zeker-correct of bijbenadering-correct.
vaag omschreven problemen die worden opgelost door op basis vanintuitie en ervaringsregels gericht naar oplossingen te zoeken.Deze manier van oplossen wordt heuristiek genoemd. Voorbeeldenzijn diagnostische en plannings problemen. Deze problemen en deoplossingsmethoden worden gekenmerkt door zekerheden en waarschijnlijkheden. De oplossingen zijn zelden absoluut-zekercorrect.Stel bijvoorbeeld dat een monteur moet nagaan waarom een autoniet start. In plaats van de hele auto te onderzoeken zal hijbeginnen met het onderzoeken van de mogelijke oorzaken dievolgens zijn ervaring het meest waarschijnlijk zijn. Als hij destoring heeft verholpen weet hij niet zeker of hij de werkelijke oorzaak heeft weggenomen. Werkt de auto weer nadat hijeen defecte bougie heeft vervangen, dan kan hij denken dat hijde oorzaak heeft gevonden. Het defect van de bougie zou echterveroorzaakt kunnen zijn door een defect aan de bobine. Destoring zou dan na enige tijd weer kunnen optreden.
Algoritmische expertise wordt reeds geruime tijd in conventionelecomputerprogramma's beschreven. Voor heuristische expertise isdit niet goed mogelijk, doordat zekerheden niet efficient inconventionele programma's kunnen worden beschreven. Door de toenemende complexiteit van probleemdomeinen, de schaarste aanexpertise en het verloren gaan van expertise door o.a. pensioneLing is er behoefte ontstaan om ook heuristische expertise incomputersystemen vast te leggen. Dit heeft tot de ontwikkelingvan expertsystemen geleid.
Expertsystemen zijn computerprogramma's waarin heuristische expertise wordt vastgelegd. 2e vormen de eerste commerciele afsplitsing van AI. De oplossingsmethoden zijn gebaseerd op AItechnieken. Het gericht naar oplossingen zoeken op basis vanwaarschijnlijkheden en zekerheden is essentieel.
Het doel van expertsystemen is het op meer plaatsen gelijktijdigen continu ter beschikking stellen van heuristische expertise.
Tabel 1 geeft een overzicht van mogelijke applicaties van Expertsystemen ingedeeld naar categorie, zie lit [16J. Een systeem uiteen categorie kan systemen uit andere categorieen omvatten. 20zal een regelend systeem de situatie controleren, interpreterenen Legelen, de toekomst voorspellen en problemen diagnostiseren.
6
Categorie
Interpretatie
Predictie
Diagnose
Ontwerpen
Planning
Correctie
Onderhoud
Instructie
Controleren
Regelen
Applicaties
natuurlijke taal, beeld, simulatieresultaten
weer, verkeer, aardbevingen
ziektes,electronische of mechanische storingen
bedradingslayout, gebouwen
uitvoering, tijdschema's
programmatuur, tekst
vliegtuigen, computers
studenten
procescomputersystemen, luchtverkeer
procescomputersystemen, luchtverkeer
Tabel 1, mogelijke applicaties van expertsystemen.
Het is nuttig als expertsystemen en conventionele programma'skunnen worden gekoppeld. Expertise is vaak deels heuristisch endeels algoritmisch. Het algoritmische deel kan (nog) niet efficient in een expertsysteem worden vastgelegd, maar weI in conventionele programma's. Veel expertsystemen zijn daarom voorzien vaneen interface naar conventionele programma's.
Gezien vanuit de gebruiker kan een expertsysteem opereren op:
specialist-niveau.indien de gebruiker ondeskundig of onvoldoende deskundig is inhet probleemdomein en het systeem problemen kan oplossen diehijzelf niet kan oplossen.
assistent-niveBU,indien de gebruiker deskundig is in het probleemdomein en hetsysteem problemen kan oplossen die hijzelf ook kan oplossen.Hij kan dan aan het systeem werk uit handen geven of de analyses van het systeem vergelijken met zijn eigen analyses.
collega-niveau.indien de gebruiker deskundig is in het probleemdomeinsysteem in interactie met hem problemen oplost. Systeemkundige vervullen beurtelings de rol van assistent oflist.
en heten desspecia-
De complexiteit van de meeste probleemdomeinen belemmert hetvastleggen van aIle expertise in een domein. Het doel is bepalendvoor de beperkingen die aan een te ontwerpen systeem worden opge-
7
de knowde syntax,regels en
legd. 20 zijn systemen opererend op assistent-niveau veelal beperkt tot vaak voorkomende problemen en systemen op specialistniveau tot complexe zelden voorkomende problemen.
3.2. Een model van expertsusteman.
Een expertsysteem bestaat uit vier componenten, zie figuur 1:
Een knowledgebase;Moet een expertsysteem functioneren zoals een menselijke expertdan moet het over dezelfde kennis (knowledge) beschikken. Dezekennis wordt in de vorm van objecten, feiten, ALS-DAN regels encontexten in de knowledgebase opgeslagen. Objecten en feitenbeschrijven wat bekend is en regels wat daaruit kan worden afgeleid. Contexten structureren de samenhang tussen de regels enbeinvloeden de manier waarop het systeem problemen aanpakt.Het totaal van objecten, feiten, regels en contexten vormt eenkennismodel.
Hat inferentiemechanisme;Dit mechanisme is vergelijkbaar met het menselijk redeneervermogen. Aan de hand van de kennis in de knowledgebase leidt hetoplossingen af voor de problemen die een gebruiker invoert. Hetis een complex algoritme dat de verschillende activiteitengericht op het oplossen van problemen coordineert en bestuurt.Dit proces wordt inferentie genoemd.
Een gebru1kers1nterfBce met verklBr1ngsfBc1l1te1ten;Het systeem moet door gebruikers geconsulteerd kunnen worden.Tijdens de consultaties verzorgt de gebruikersinterface decommunicatie met de gebruikers. Deze interface moet flexibel engebruiksvriendelijk zijn.Experts zijn in staat hun conclusies en adviezen toe te lichten. Ook de gebruiker van een expertsysteem kan toelichtingverlangen. De verklaringsfaciliteiten bieden hem de mogelijkheid het expertsysteem om toelichting te vragen.
Kno~lBdgB-acqu1s1t1e-fBc1l1te1tBn;
Een expertsysteem moet van kennis worden voorzien. Deze kennismoet eventueel in een later stadium worden aangepast aan veranderde omstandigheden. De knowledge-acquisitie-faciliteiten assisteren bij het vullen, testen en wijzigen van de knowledgebase. 2e varieren van een simpele tekst-editor met kennis-.compiler, tot een geavanceerde rule-editor.Een rule-editor voert nieuwe kennis direkt door naarledgebase. Daarbij worden online tests uitgevoerd opredundantie en consistentie van objecten, feiten encontexten. Het resultaat is een snelle foutisolatie.Wordt een simpele teksteditor met kenniscompiler gebruikt danwordt het kennismodel in een tekstfile beschreven. Deze filewordt daarna met de kenniscompiler omgevormd tot een knowledgebase. Na iedere wijziging moet het complete kennismodel opnieuwworden gecompileerd. Bovendien worden de tests pas tijdens decompilatie uitgevoerd. Het resultaat is dan ook een tragere envaak ook moeizame foutisolatie.Deze faciliteiten zullen verder niet worden behandeld.
8
·..................... ......................
I gebr-uiker- ]<-------
knowledge <-------engineer-
gebr-uiker-s infer-entie:-> inter-face <-> mechanisme
metver-klar-ings- A
faciliteiten
v:-> knowledge-
acquisitie- <--> knowledge-faciliteiten base
· .· ..... .......... ............................exper-ts
EXPERTSYSTEEM
Figuur- 1. Model van een exper-tsysteem.
De scheiding van kennis en infer-entie leidt tot flexibele systemen. Bij de ontwikkeling van een exper-tsysteem wor-den onafhankelijk van het pr-obleemdomein een of meer- infer-entiemechanismengeimplementeer-d. Aan deze mechanismen wor-dt pr-obleemdomein-afhankelijke kennis toegevoegd. Door- deze scheiding leidt wijzigingvan kennis niet tot wijziging van het infer-entiemechanisme.Door- de scheiding van kennis en infer-entie kunnen in soor-tgelijkepr-obleemdomeinen soor-tgelijke exper-tsystemen, waar-van aIleen dekennis ver-schilt, wor-den ingezet. Dit heeft geleid tot de ontwikkeling van commer-ciele exper-tsystemen met een initieel lege knowledgebase.Deze systemen wor-den exper-tsysteemshells genoemd. Door- toevoegingvan een kennismodel wor-dt een shell tot een oper-ationeel exper-tsysteem omgevor-md. Een shell kan in ver-schillende pr-obleemdomeinen wor-den ingezet door- de knowledgebase met ver-schillende kennismodellen te vullen.Aangezien de ontwikkeling van een exper-tsysteem 2 a 3 manjaarkost betekent het gebr-uik van een shell een flinke tijdwinst.
Het volstaat niet om aan de hand van liter-atuur- een exper-tsysteemte ontwikkelen. Theor-etisch kan de daar-in beschr-even kennis ineen exper-tsysteem wor-den opgenomen, maar- in de pr-aktijk blijkenmenselijke exper-ts door hun er-var-ing aanzienlijk efficienter- metkennis om te gaan dan op deze wijze wor-dt vastgelegd.Om een efficient exper-tsysteem te ontwikkelen zal de kennis aanmenselijke exper-ts moeten wor-den ontleend. Exper-ts blijken in depr-aktijk niet of onvoldoende in staat te beschr-ijven hoe zepr-oblemen aanpakken. Meestal zijn ze niet in staat een exper-tsysteem te ontwikkelen dat hun eigen exper-tise bevat.De knowledge engineer- vor-mt de schakel tussen menselijke exper-tsen een exper-tsysteem. Het is zijn taak de kennis van exper-ts teanalyser-en en in een exper-tsysteem vast te leggen. Een pr-oces datknowledge acquisitie wor-dt genoemd.Kan de knowledge engineer- een shell vinden die geschikt is voor-
9
het probleemdomein dan kan hij zich concentreren op het analyseren en vastleggen van kennis. Kan hij geen geschikte shell vindendan zal hij tevens een expertsysteem moeten ontwikkelen.Knowledge acquisitie is een complex proces en wordt 1n deel 2apart behandeld.
3.3. Conventionele versus expert systemen.
Belangrijke eigenschappen van conventionele programma's zijn:
- Problemen worden met algoritmen opgelost. Kennis over het probleemdomein is met de algoritmen verweven.
- 2e zijn geschikt om algor1tmische expertise te beschrijven.maar minder geschikt om heuristische expertise te beschrijven.
Er 1s geen uitbreiding van kennis mogelijk.goritmen worden gewijzigd.
zonder dat de al-
- Uerklaringsfaciliteiten zijn moeilijk te construeren, mededoordat verklaringen 1n programma's niet 1n machinecode zijnterug te vinden. Wordt een mechanisme voorgeprogrammeerd dan isdat meestal niet flexibel. Bovendien moet het voor ieder probleem vanaf de basis worden opgebouwd.
Belangrijke eigenschappen van expertsystemen z1jn:
- Problemen worden door het 1nferentiemechanisme opgelost. Kennisover het probleemdomein is niet verweven met dit algor1tme.
- 2e zijn geschikt om heuristische expertise te beschrijven. maarvaak minder geschikt om algoritmische expertise te beschrijven.
Kennis kan worden uitgebreid zonder dat het inferentiemechanisme wordt gewijzigd.
- Uerklaringsfaciliteiten zijn in het algemeen standaard aanwezig. 2e kunnen soms aan het probleemdomein worden aangepast.
3.~. Overzicht.
Na deze inleiding in het doel en de opbouw van expertsystemenvoIgt hierna een meer- gedetaileerde beschrijving van de verschillende onderdelen van expertsystemen. Achtereenvolgens komen de'volgende aspecten aan de orde:
- Kennis, in de vorm van objecten, feiten en regels en contexten.
- Inferentiemechanismen op basis van deze kennis.
- De gebruikersinterface met verklar1ngsfaciliteiten.
- Koppeling van expertsystemen met conventionele programma's.
10
~. De kno~ledgeba5e en het kennismodel.
Kennis wo~dt in expe~tsystemen gemodellee~d in de vo~m van objecten, feiten, ~egels en contexten en opgeslagen in de knowledgebase. De knowledgebase is soms gescheiden in een database voo~ deobjecten en feiten en een ~ulebase voo~ de ~egels, zoals in DELFIen ACQUAINT, maa~ bijvoo~beeld niet in SAGE.Hie~onde~ voIgt een algemene beschouwing ove~ de opbouw enbetekenis van objecten, feiten, ~egels en contexten. Deze beschouwing is gebasee~d op DELFI, ACQUAINT, SAGE, PROLOG en LISP,zie lit [1,2,S,6,12,l~,lSJ. De implementatie ve~schilt pe~ systeem. Daa~ wo~dt ve~de~ niet op ingegaan.
~.1. ObJecten en feiten.
Objecten besch~ijven de elementen, zoals woo~den, beg~ippen,
waa~den, va~iabelen en constanten , waa~uit de kennis bet~effende
een p~obleemgebied is samengesteld.
In conventionele p~og~ammee~talen wo~den objecten ge~ep~esentee~d
doo~ constanten en Cal dan niet gest~uctu~ee~de) va~iabelen. Hetgaat daa~bij in het algemeen om nume~ieke objecten Cidentificee~
baa~ en kwantificee~baa~), met nume~ieke ~elaties. De mogelijkheden voo~ de manipulatie van symbolische objecten Cidentificee~
baa~ maa~ niet kwantificee~baa~) zijn meestal zee~ bepe~kt.
Heu~istische expe~tise, de doelklasse van expe~tsystemen, heeftvaak betrekking op symbolische objecten of combinaties van symbolische objecten, waa~tussen symbolische verbanden bestaan. Bijvoorbeeld in de medische diagnose, waar lichaamsdelen en ziektebeelden geen numerieke maar symbolische objecten zijn.De symbolische objecten en hun symbolische ~elaties vormen eenveel complexere structuur dan de numerieke objecten. Een besch~ijving in de vorm van eenvoudige variabelen zal in het algemeen veel werk ve~eisen en niet erg overzichtelijk zijn.Een beschrijving in de vorm van zin-achtige formule~ingen als ineen natuu~lijke taal is p~aktischer en in verband met de nog tebehandelen ve~klaringsfaciliteitenook wenselijker.
Symbolische obJecten worden gekenmerkt door eigenschappen. netzoals numerieke objecten worden gekenmerkt doo~ numerieke waarden. Een symbolisch object kan wo~den gedefinieerd door ziJneigenschappen op te sommen. Eventueel kan worden volstaan met deeigenschappen die van belang zijn voor het betreffende p~obleem
domein.In expertsystemen worden de eigenschappen van objecten beschrevenmet zogenaamde feiten. Ieder feit is een zin-achtige formuleringen beschrijft een eigenschap van een object. Een object wo~dt
door een of meer feiten beschreven en de verzameling van aIlefeiten beschrijft de ve~zameling objecten.20 kunnen de volgende objecten worden gedefinieerd, op basis vanmeerdere eigenschappen:
11
die het object kanEventueel kunnen deze"als honger moet eten
dier is een wezen, heeft instinct, als honger moet eten zoeken
worm is een dier, eet zand, woont in grond
vogel is een dier, eet worm en zaad, woont in nest, kan vliegen
beer is een dier, eet plant, woont in grot, als winter moet slapen
pi is gelijk 3.1~1592
Eigenschappen worden vaak beschreven d.m.v. een attribuut (predicaat, indicator) zoals "woont in", "als winter moet" en "eet",gevolgd door een waarde, zoals "nest", "slapen" en "worm enzaad". Het attribuut bepaalt de soort en de waarde bepaalt hetkenmerk van de eigenschap. Beide kunnen eventueel uit meerderewoorden zijn samengesteld. Eigenschappen worden dus gedefinieerddoor:
<eigenschap> ::- <attribuut> <waarde>
Eigenschappen kunnen relaties tussen objecten beschrijven. Hetattribuut geeft dan de soort relatie aan, de waarde beschrijftde objecten waarmee de relatie bestaat, zoals in "vogel eet wormen zaad" en in "beer woont in grot".Andere eigenschappen beschrijven actiesuitvoeren, zoals in "vogel kan vliegen".aan beperkingen onderhevig zijn, zoals inzoeken" of "als winter moet slapen".Het hangt van het probleemdomein af, welke eigenschappen van deobjecten van belang zijn. Afhankelijk van het aantal eigenschappen waarmee objecten worden gedefinieerd, kunnen ze in de volgende drie groepen worden verdeeld:
BasisobJecten of entiteiten:Dit zijn standaardbegrippen waarvan de eigenschappen niet vanbelang zijn en die daarom niet nader worden gedefinieerd. Hetzijn de kleinste blokjes waaruit de kennis wordt opgebouwd. Inde voorbeelden vormen symbolen als wezen, zand en grond basisobjecten, maar ook een getal als 3.1~1592.
Simpele obJecten:Dit zijn objecten met slechts 1 eigenschap. De belangrijkstezijn de logische en numerieke constanten en variabelen, waarvande eigenschapswaarde bestaat uit waar/onwaar of een getal, zoals pi met de waarde 3.1~1592.
6estructureerde obJecten:Dit zijn objecten waarvan meerdere eigenschappen van belangzijn, zoals dier, worm, vogel en beer.
Het attribuut van een eigenschap kan, ondanks dat er een waardeaan wordt verbonden, niet met een constante of variabele wordenvergeleken. Hetzelfde attribuut kan soortgelijke eigenschappenvan meerdere objecten beschrijven. Per object kan er een anderewaarde aan worden verbonden.Een object vormt het onderwerp van een attribuut. De combinatie
12
van object en attribuut mag weI met een constante of variabeleworden vergeleken. Daar kan immers maar een waarde tegelijk aanzijn verbonden.De binding van een eigenschap aan een object vormt een feit. Dewaarde verbonden aan het object met attribuut wordt de waarde vanhet feit genoemd. Feiten worden dus gedefinieerd door:
<~eit> ::- <object> <attribuut> <waarde>
De definitie van een simpel object vormt een feit en de definitievan een gestructureerd object bevat zelfs meerdere feiten. 20bevat de definitie van een worm de volgende drie feiten:
worm is een dier
worm eet zand
worm woont in grond
De feiten beschrijven zowel het probleemdomein, als de individuele problemen en oplossingen. 2e kunnen worden verdeeld in:
Statlsche of onveranderliJke Feiten:Deze definieren het probleemdomein en zijn voor ieder probleemuit dat domein hetzelfde. De statische feiten beschrijven deeigenschappen van objecten die initieel bekend zijn en nietvan een consultatie afhangen.De statische feiten worden tezamen met de objecten door deknowledge engineer gedeclareerd.In vergelijking met conventionele programmeertalen is het object met attribuut van een statisch feit een constante. Uoorbeelden zijn de eerder gegeven definities van dier, worm,vogel, beer en pi.
Dynamische of veranderliJke Feiten:Deze feiten definieren de verschillen tussen de afzonderlijkeproblemen. 2e beschrijven de eigenschappen van objecten dietijdens een consultatie worden bepaald.Om aan te geven welke feiten tijdens een consultatie moetenworden bepaald, dient de knowledge engineer "onbekende feiten"te declareren. Bedoeld is feiten met een onbekende waarde, waardus aIleen object en attribuut van bekend zijn. In vergelijkingmet conventionele programmeertalen is het object met attribuutvan een onbekend feit een variabele. Onbekende feiten zijn duseigenlijk nog geen feiten. 2e moeten nog worden afgeleid, zoals:
volume is gelijk onbekend
druk is gelijk onbekend
Tijdens de consultatie kunnen daar dan waarden voor wordenbepaald, waarmee ze overgaan tot bekende Cechte) feiten, zoals:
volume is gelijk 1 m3
druk is gelijk 1 atmosfeer
13
Dynamische feiten kunnen worden verdeeld in:
Feiten die een specifiek probleem beschrijven dat door eengebruiker is ingevoerd.
Feiten die de oplossing van een specifiek probleem beschrijven dat door het systeem is afgeleid.
De eerste groep wordt niet door het systeem afgeleid maar aande gebruiker gevraagd door b.v. naar de waarde behorend bij eenobject met attribuut te vragen.De knowledge engineer zal bij de declaraties van onbekendefeiten moeten aangeven of ze gevraagd of afgeleid moeten worden. Hij zal daarbij de toegestane symbolische of numeriekewaarden moeten aangeven. Voorbeeld:
Het verkeerslicht is onbekend; onbekend ~ {groen, oranje, rood}
Afhankelijk van de implementatie maken de eigenschapsdeclaratiesdeel uit van de objectdeclaraties, zoals hierboven bij dier,vogel, worm etc. De feitdeclaraties zijn dan dus bevat in deobjectdeclaraties. Eigenschappen kunnen ook onafhankelijk van deobjecten worden gedeclareerd. De feitdeclaraties staan dan duslos van de objectdeclaraties, zoals hierboven de definitie vaneen worm in drie feiten is gesplitst.
Een alternatieve manier om feiten te declareren is in stellingvorm. Een stelling komt overeen met een feit met een constantewaarde maar kan ontkend worden. De waarde van een stelling iswaar of onwaar. Stellingen worden dus gedefinieerd door:
<stelling> ::- <object> <attribuut> <constante waarde> <waar I onwaar>
~.2. Klasse-overerving.
Soms heeft een groep van gestructureerde objecten een aantal gemeenschappelijke eigenschappen. 20 hebben aIle vogels, wormen enberen de eigenschap dat het wezens met instinct zijn die etenmoeten zoeken als ze honger hebben.Deze eigenschappen kunnen in elke afzonderlijke definitie wordenopgenomen. Een efficientere manier is de methode van klasseovererving (class inheritance).In deze methode worden de objecten op basis van de gemeenschappelijke eigenschappen in objectklassen ingedeeld. De gemeenschappelijke eigenschappen worden aan de klasse verbonden en iederelement van de klasse erft automatisch deze eigenschappen over.
Objectklassen kunnen worden gerealiseerd met klasse-objecten. Ditzijn objecten van het type klasse. In de elementen van de klassekan met een "is-een" attribuut aan het klasse-object wordengerefereerd. Via zo'n referentie erft een object aIle eigenschappen van het klasse-object. 20 erft het element vogel de eigenschappen van het klasse-object dier.Op zich kan een klasse-object weer aan een ander klasse-objectrefereren. Objectklassen kunnen dus in subklassen worden verdeeld. Dit is in figuur 2 weergegeven.
1~
{
plant
wezen < <{dier
reptiel
adelaar
uil
Figuur 2, indeling van objecten in klassen en subklassen. Adelaar en uil zijn van de klasse vogel. Uogels en reptielen van de klasse dier. Dier en plant van de klassewezen.
~.3. Semantische netwerken.
De objecten en feiten vormen een netwerk met objecten en actiesals knooppunten en relaties Cbeschreven door de predicaten) alstakken. Zo vormen de definities van de objecten dier, vogel, wormen beer het netwerk van figuur 3.Zo'n netwerk wordt een semantisch netwerk genoemd, omdat het debetekenis en relaties van objecten definieert. De declaraties vanobjecten leiden vaak tot meerdere onafhankelijke netwerken. Zieook lit (lJ.
a iSI slapen 1< >Iplanten~><-c als wintert moet eeti
iSJ zoeken!is woont
>I Iis > be < beer grot a<-- eten
s1\ i
als hongerig
<~Iwoont >I ~>
smoet vogel nest 0
b< eet j
heeftl liS >I Iis > ezaad c
tv v v
!instinctI U1ezen <-=-:.\ worm Iwoont >1 grond ~> -Iis liS leet
v v v
basisobject J< iSI zand
Figuur 3, eenvoudig semantisch netwerk.
15
~.~. Nume~ieke en symbolische exp~essies.
De waarden van onbekende feiten worden vaak met expressies bepaald. Zowel numerieke als symbolische expressies worden gebruikt. In numerieke expressies ziJn operanden en operatorennumeriek, in symbolische expressies ziJn ze symbolisch.Een expressle kan bestaan ult een numerieke of symbollsche constante, of het object met attribuut van een feit. Ook kan eenexpressie uit twee sUbexpressies ziJn samengesteld. Expressiesworden dus gedefinieerd door:
<exp~essie> ::- <constante><object> <att~ibuut>
<exp~essie> <ope~ato~> <exp~essie>
Met een expressle kan de waarde van een feit worden bepaald ultconstanten, zoals In:
Jan's ouders ziJn Piet en Riet
Hierin wordt voor het feit "Jan's ouders ziJnwaarde bepaald met de symbollsche expressie "Pietdeze expressle ziJn "Piet" en "Riet" symbolische"en" is een operator.
onbekend"en Riet".constanten
eenInen
Ook kan de waarde van een feit worden bepaald uit de waarden vanandere feiten, zoals in:
Jan's ouders ziJn Jan's moeder en Jan's vade~
Hierln wordt voor het feit "Jan's ouders is onbekend" een waardebepaald met de symbolische expressie "Jan's moede~ en Jan'svader". In deze expressie ziJn "Jan's moeder" en "Jan's vader"eveneens feiten.BiJ de bepaling van de waarde van een expressle wordt voor hetobject met attribuut van een felt de waarde van het felt gesubstitueerd. Zo zullen in de laatste expressie de waarden van"Jan's moeder" en "Jan's vader" worden gesubstitueerd om dewaarde van "Jan's ouders" te bepalen.
~.5. Regel•.
Om het inferentiemechanisme van een expertsysteem in staat testellen waarden voor onbekende feiten af te leiden moet de knowledge engineer een aantal ALS-DAN Legals declareren, van de vorm:
<~egel> ::- ALS {<voo~waa~de>} DAN <conclusie>
Een Legal bestaat uit een of meer voorwaarden gevolgd door eenconclusie (soms meerdere). De conclusie wordt getrokken als aande voorwaarden is voldaan, biJvoorbeeld:
ALS Pinkie kan vliegenEN Pinkie eet wormen en zaadEN Pinkie woont in nestDAN Pinkie is vogel
16
In het algemeen vereist een voorwaarde een relatie tussen dewaarde van een feit en de waarde van een expressie. Een voorwaarde voldoet als de relatie kan worden bewezen. Uoorwaarden wordendus gedefineerd door:
<voorwaarde> ::- <object> <attribuut> <relatie> <expressie>
Uia de expressie kan een voorwaarde een relatie vereisen tussende waarde van een feit en een of meer constanten, zoals in:
ALS temperatuur is gelijk 100c C
ALS Jan's ouders zijn gelijk Piet en Riet
Maar hij kan ook een relatie vereisen tussen de waarde van eenfeit en de waarden van een of meer andere feiten, zoals in:
ALS Anja's ouders zijn gelijk Jan's ouders
ALS temperatuur is gelijk c - druk - volume
In het algemeen stelt een conclusie de waarde van een (nog onbekend) feit gelijk aan de waarde van een expressie. Ook kan eenconclusie uit een actie bestaan, zoals display- of printacties.Conclusies worden dus gedefinieerd door:
<conclusie> ::- <object> <attribuut> <relatie> <axpressie><actie>
Uia de expressie kan een conclusie de waarde van een feit concluderen uit de waarden van een of meer constanten, zoals in:
DAN temperatuur is gelijk 100c C
DAN Jan's ouders zijn gelijk Piet en Riet
Maar kan de waarde ook concluderen uit de waarden van een of meerandere feiten, zoals in:
DAN Anja's ouders zijn gelijk Jan's ouders
DAN temperatuur is gelijk c - druk - volume
Uoorwaarden en conclusies met feiten in hun expressie kunnen pasworden bewezen respectievelijk geconcludeerd als de waarden vandeze feiten bekend zijn. De waarde van de expressie kan andersniet worden bepaald.Aangenomen dat tussen de voorwaarden aIleen EN-relaties voorkomenkan een regel pas een nieuw feit afleiden als aIle feiten die inde voorwaarden en conclusies worden gebruikt bekend zijn. Uaneventuele onbekende feiten moet eerst de waarde worden afgeleid.Indien er ook OF-relaties voorkomen dan is het, voor de voorwaarden, voldoende als de feiten bekend zijn van de voorwaarden diesamen aan de OF-/EN-relaties kunnen voldoen.
17
In de heuristiek wordt veel gebruik gemaakt van regels die op ervaring berusten. De conclusies van dergelijke regels hebben eenbeperkte zekerheid, om de knowledge engineer in staat te stellende mate van zekerheid aan te geven kan hij aan deze regels eenzekerheidsfactor verbinden. De regels kunnen dan in twee groepenworden verdeeld:
absolute regels:Deze concluderen feiten welke absoluut zeker zijn, zoals:
ALS water kooktEN druk is gelijk 1 atmosfeerDAN temperatuur is gelijk 100a C
Ervaringsregels:Deze concluderen feiten die opzeker zijn. Stel bijvoorbeeldsie wordt aangegeven tussen -11 voor absoluut zeker jUist,regel:
ervaring berusten en niet geheeldat de zekerheid van een concluvoor absoluut zeker onjuist totdan is een mogelijke ervarings-
ALS de auto niet startEN gisteren weI startteEN de tank lang niet gevuld isDAN is met een zekerheid van 0.9 de benzine op.
Deze ervaringsreQels worden in expertsystemen gebruikt om opheuristische wijze gericht naar de oplossingen van problemente zoeken. De keuze van een zoekrichting wordt gebaseerd op dezekerheden van conclusies. Deze zekerheden bepalen de kans vanslagen van een bepaalde zoekrichting.Stel bijvoorbeeld dat een auto niet wil starten en dat voldaanis aan de voorwaarden van de bovenstaande ervaringsregel. Danis de kans groot dat het controleren van de benzine tot deoplossing van het probleem leidt.De verrekening van de onzekerheden staat bekend als inexactreasoning en vertoont overeenkomsten met de waarschijnlijkheidsrekening. Hoe dit in zijn werk gaat zal nog worden toegelicht.
De regels leiden in het algemeen nieuwe relaties tussen obJectenaf. Deze conditionele relaties kunnen objecten uit verschillendesemantische netwerken met elkaar verbinden. Met de semantischenetwerken vormen de regels dan grotere netwerken met ook deregel-relaties als takken. Deze netwerken beschrijven aIle kennisen kunnen kennisnetwerken genoemd worden.
~.6. Ket v8stleggen van obJecten. feiten en regels.
Om objecten, feiten en regels vast te leggen wordt in Expertsystemen vaak gebruik gemaakt van frames, welke lijken op recordsuit een programmeertaal als Pascal. De implementatie van frameshangt van de gebruikte programmeertaal af maar in figuur ~ zijneen paar obJecten, feiten en regels in model frames vastgelegd.
18
DIER is eenheeftals honger
WORM is eeneetIIJoont in
VOGEL is eeneetIIJoont inkan
:wezen: instinct:moet eten zoeken
:dier:zand:grond
:dier:worm en zaad: nest:vliegen
BEER
PI
is eeneetwoont inals winter
is geliJk
:dier:planten:grot:moet slapen
: 3 .11f1592
REGEL identificatievoorwaarde1voorwaarde2conclusie
REGEL identificatievoorwaarde1voorwaarde2voorwaarde3conclusiezekerheid
: 1:het water kookt:de druk is 1 atmosfeer:de temperatuur geliJk aan 1000C
:2:de auto start niet:gisteren startte hiJ weI:de tank is lang niet gevuld:de benzine is op:0,9
Figuur If, voorbeelden van obJect- en regelframes.
19
Een frame voor het vastleggen van een object bevat een aantalvelden of slots waarin zijn eigenschappen worden vastgelegd. Elkslot bestaat uit een attribuut (indicator) gevolgd door eenwaarde. Een waarde mag een verwijzing naar een ander frame zijn,zodat relaties tussen de objecten kunnen worden vastgelegd. Ineen extra slot kan worden aangegeven welke Legals betrekkinghebben op het object.
De feiten maken deel uit van de objectframes, immers de combinatie van een object met een eigenschap is een feit. Als een feitkan worden afgeleid met een ervaringsregel, dan moet een extraslot worden opgenomen voor de zekerheidsfactor van het feit.
Een frame voor het vastleggen van een Legal bevat een aantalslots voor de voorwaarden en conclusies. Meestal wordt een identificatieslot met een naam of nummer opgenomen, waarmee de Legaleenvoudiger teruggevonden kan worden. Frames voor ervaringsregelsbevatten bovendien een slot voor de zekerheidsfactor.
Soms kunnen frameslots uit "demons" bestaan. Een demon bestaatuit een voorwaarde en een stukje programma dat automatisch wordtgeactiveerd zodra aan de voorwaarde is voldaan. Een demon kanworden gebruikt om een eigenschapsactie van een object te beschrijven. 20 kan het attribuut "a Is winter" met de actie "moetslapen" in het frame van een beer als een demon worden geimplementeerd. Dan zal zodra aan de voorwaarde "als winter" is voldaande actie "meet slapen" worden geactivesrd.Bestaat deze mogelijkheid niet dan moeten eigenschapsacties metALS-DAN-regels worden beschreven.
Demons worden ook gebruikt om vast te leggen hoe de waarden vande feiten moeten worden afgeleid. In het slot van een feit wordendan twee subslots opgenomen. Een voor de waarde van het feit eneen met het demonslot "als nodig" met als actie "vragen" of "afleiden". Als het systeem de waarde van het betreffende feit nodigheeft terwiJl deze nog onbekend is kan het systeem aan de demonzien hoe de waarde moet worden bepaald.Met demons kan overerving van klasse-eigenschappen en ook hethierna beschreven backward chaining mechanisms worden gerealiseerd. Op deze mogelijkheden van demons zal verder niet wordeningegaan. Voer meer over frames en demons zie lit [lJ.
De manier waarop obJecten, feiten en regels worden vastgelegd,'hoeft niet samen te hangen met de manier waarop de knowledgeengineer ze declareert. Rls de feiten onafhankeliJk van de obJecten worden gedeclareerd, kunnen ze in aparte frames worden ~/ast
gelegd. Ze kunnen echter ook gegroepeerd per object in framesworden vastgelegd.Het is belangriJk dat obJecten, feiten en regels voor de knowledge engineer en de gebruiker een zo natuurlijk mogelijk karakterhebben in het kader van de gebruiksvriendeliJkheid. Zo gaan DELF!en RCQURINT zeer ver met het zo natuurlijk mogeliJk beschrijven,maar SR6E bijvoorbeeld minder.qoor het systeem moeten de objecten, feiten en regels zo gunstigmogelijk worden vastgelegd in verband met de snelheid van hetsysteem.
20
~.7. Contexten.
Contexten structureren de samenhang tussen de regels en beinvloeden de manier waarop een expertsysteem problemen aanpakt. Metcontexten kunnen de objecten, feiten en regels die logisch bijelkaar horen worden gegroepeerd, zie lit (l,15J. Niet altijdwordt de naam context gebruikt. 20 worden contexten in SAGE"area's" genoemd. Het principe is echter hetzelfde, zie lit (2J.
De knowledge engineer kan met contexten het probleemdomein indeeldomeinen splitsen die hij beter kan overzien. Deze deeldomeinen kan hij dan afzonderlijk uitwerken en testen. Het belangvan deze mogelijkheid wordt in deeI 2 duidelijk gemaakt.
Met een indeling in deeldomeinen wordt bovendien bewerkstelligddat het expertsysteem de problemen van een gebruiker per deeldomein oplost. Als het met een context bezig is beschouwt hetaIleen de regels die in die context zijn opgenomen. Daarmee wordtvoorkomen dat het systeem de gebruiker steeds met vragen overandere onderwerpen confronteert, waardoor de gebruiker het overzicht zou kunnen verliezen.
Afhankelijk van de implementatie kunnen contexten via een contextgraaf worden geselecteerd, zie figuur 5. Het systeem werktdan de contextgraaf bijvoorbeeld "depth first" af. Door conditionele contexten te declareren is het mogelijk contexten in hetgeheel over te slaan.De selectie via de graaf kan met verwijzingsacties in regelsworden doorbroken. Indien zo'n actie wordt uitgevoerd wordt deafhandeling van de huidige context onderbroken voor de afhandeling van een andere context, zoals in AQUAINT.Afhankelijk van het verloop van een consultatie zal het systeemeen of meer contexten afhandelen.
ObjectenFeitenRegels
ObjectenFeitenRegels
ObjectenFeitenRegels
ObjectenFeitenRegels
ObjectenFeitenRegels
ObjectenFeitenRegels
Figuur 5, voorbeeld van een contextgraaf.
21
~.8. Kennis functioneel beschouwd.
Tot zover is kennis structureel beschouwd. in de zin van "hoe hetgedefinieerd en vastgelegd kan worden". Als kennis zoals hierboven beschreven wordt gedeclareerd en verder functioneel wordtbeschouwd. in de zin van "wat kan het systeem ermee doen". dangeldt de volgende bewering. zie lit [3J deel 1.
Initieel kent een expertsysteem aIleen de vereniging van aIleobjecten. statische feiten en regels welke door de knowledgeengineer zijn gedeclareerd. Na een bepaalde tijdsperiode kenthet echter eveneens aIle dynamische feiten die het binnen dieperiode kon afleiden of door de gebruiker zijn ingevoerd.
De meeste systemen keren na het oplossen van een probleem terugin hun initiele staat en vergeten daarmee aIle dynamische feiten.Er wordt echter onderzoek gedaan naar systemen die hun eigenstatische kennis kunnen uitbreiden. door net als een expert teleren van het oplossen van individuele problemen.
~.s. Procedurele versus declaratieve vastlegging.
In conventionele programma·s worden kennis en algoritmen metelkaar verweven tot procedures die gecompileerd worden. De kenniswordt daarbij over de procedures verspreid en kan nauwelijksworden onderscheiden van het algoritme. Het volgens deze methode,beschrijven van kennis wordt vaak het procedureel vastleggen vankennis genoemd. terwij'l de kennis vaak procedure Ie kennis wordtgenoemd.In expertsystemen daarentegen wordt kennis onafhankelijk van hetinferentiemechanisme gedeclareerd in de vorm van objecten. feiten. regels en contexten die dUidelijk herkenbaar zijn. Hetvolgens deze methode beschrijven van kennis wordt vaak het declaratief vastleggen van kennis genoemd. terwiJl de kennis vaakdeclaratieve kennis wordt genoemd. zie lit [1.3J
Soms wordt de term declaratieve kennis gebruikt voor de objectenen feiten en de term procedurele kennis voor de regels~ omdat deobjecten en feiten het wat en de regels het hoe van de kenniszouden vastleggen~ zie lit £1].Hier valt over te twisten~ maar naar mlJn mening bepaalt het"inferentiemechanisme het hoe en leggen regels slechts conditionele relaties en acties vast die door dit mechanisme kunnenworden gebruikt.
De manier waarop objecten~ feiten en regels hier zijn beschrevenzal in het algemeen afwijken van de beschrijving in de verschillende implementaties. De verschillende structuren zijn echtermeestal toch duidelijk herkenbaar.Het meest opmerkelijke is echter het verschil in terminologie~
zoals indicator of predicaat voor attribuut. Condities~ premissen~ clausules voor voorwaarden. Hypotheses voor conclusies.Concepten voor objecten en feiten etc.
22
5. Het 1nFe~ent1emechan1sme.
Het inferentiemechanisme vormt de kern van een expertsysteem, hetcoordineert en bestuurt aIle handelingen die nodig zijn am problemen op te lassen. Dit mechanisme wordt onafhankelijk van enigekennis geimplementeerd. Het stelt een expertsysteem in staat ammet regels uit bekende feiten waarden voor onbekende feiten af teleiden, ofwe 1 am te redeneren. De manier waarop dit gebeurt kanovereenkomsten vertonen met de wijze waarop mensen redeneren.
In tegenstelling met conventionele variabelen wordt elk feitslechts eenmaal per consultatie gevraagd of afgeleid. Als zijnwaarde bekend is, kan deze in principe niet meer veranderen. Ditstaat bekend als "truth maintainance".Ueronderstel dat het systeem de waarde van een feit wil afleiden,dan zijn er vier mogelijkheden:
1 De waarde is al bekend, ofwe 1 er is sprake van een bekend feit.
2 De waarde is niet bekend, maar kan met regels worden afgeleid.
3 De waarde is niet bekend, kan niet worden afgeleid,aan de gebruiker worden gevraagd.
maar mag
~ Deoak
waarde is niet bekend, kan niet worden afgeleid,niet aan de gebruiker worden gevraagd.
maar mag
Er bestaan twee essentieel verschillende strategieen am aan dehand van regels waarden voor onbekende feiten af te leiden:forward chaining en backward chaining. In sommige systemen is eenvan de twee strategieen geimplementeerd (SAGE), maar er zijn oaksystemen die beide technieken combineren (ACCUAINT).Hieronder worden beide strategieen beschreven, en toegelicht metzowel illustratieve als schematische voorbeelden. Daarbij wordtgebruik gemaakt van gemodelleerde regels, die hieronder wordentoegelicht. In eerste instantie wordt van absolute regels uitgegaan. De verandering voor ervaringsregels wordt apart beschreven.
5.1. Regelmodel.
In de modelregel, zie figuur 6, worden de voorwaarden en conclusie van een regel symbolisch aangegeven met een U respectievelijkC. Tussen de voorwaarden bestaan voor de eenvoud aIleen EN-·relaties. De conclusie wordt verbonden met het doel van de regel,ofwe1 het onbekende feit waar de regel een waarde voor afleidt.Een regel kan pas een waarde voor een onbekend feit vaststellen,als aIle feiten die in zijn voorwaarden en conclusie wordengebruikt bekend zijn. Deze feiten worden symbolisch aangegevendoor een F onder de U of C. In de voorbeelden worden deze vervangen door BF voor Bekende Feiten en OF vaor Onbekende Feiten.Om aan te geven in welke volgorde de waarden van onbekende feitenmet forward of backward chaining worden afgeleid kan het doel vaneen regel in andere regels als feit worden opgenomen, ofwe1regels kunnen naar elkaar verwijzen.
23
I DoEL I<-~ l' l' ,V1
~C
Fa I Fb Fc Fd Fe I Ff
. .,. ..... . . .. ... ... .. . . . .... .... . .. .. .. .........Figuur 6. Model van een regel met:
- DOEL het doel van de regel, ofweI een onbekend feit.- C en de pijl naar DoEL de conclusie van de regel, op
basis van de al dan niet bekende feiten Fe en Ff.- V1 en V2 de voorwaarden van de regel, op basis van de
al dan niet bekende feiten Fa, Fb, Fc en Fd.Het 1'-teken bij de voorwaarden in de pijl van C naarDoEL, wordt vervangen door een "w" als de voorwaardevoldoet, anders een "0".Het aantal C - 1 en het aantal V )- 0 in iedere regel.
Als Ine's ouders zijn Jan's oudersEN Rob is zoon van IneDan Jan is oom van Rob
Om te illustreren wat de regel in figuur 6 voorstelt wordt bovenstaande regel in zo'n regelmodel verwerkt. In deze regel is:
"Jan is oom van onbekend" het doel."Jan 1s oom van Rob" de conclusie, met een constante als waardevoor het af te leiden feit."Ine's ouders zijn Jan's ouders" en "Rob is zoon Ine" als devoorwaarden. De 1e veronderstelt een gelijkheid tussen de waardenvan twee feiten. De 2e veronderstelt een constante voor een feit.Invullen van de regel in het model levert figuur 7.
·............. ............................... . .... .
Ine's ouderszijnJan's ouders
Ine's Jan'souders ouderswaarde waarde
Jan 1s <--:----oom vanonbekend
l' l'
Rob iszoon vanIne
Rob iszoon vanwaarde
1Jan isoom vanRob
· .,· ...... ... ........ .................. ........ . .... ..Figuur 7, Regelmodel van de bovenstaande regel. De waarden van de
gebruikte feiten zijn met "waarde" aangegeven ze kunnen bekend of onbekend zijn. In het laatste geval moetwaarde eerst worden afgeleid.
21.f
5.2. De Forward chaining strategie.
Forward chaining wordt weI "data-driven" genoemd, omdat het uitgaatvan hetgeen dat bekend is. De strategie gaat uit van de bekendefeiten en probeert daaruit waarden voor onbekende feiten te vindendoor in een voorgeschreven volgorde aIle regels te evalueren dienog een waarde voor een onbekend feit kunnen afleiden. BiJvoorbeeldin de volgorde waarin ze in de knowledgebase of in een context ziJnopgenomen.
Als voor de evaluatie van een regel een waarde van een onbekendfeit nodig is, of als bliJkt dat een voorwaarde niet voldoet, daneindigt de evaluatie van de regel. Deze faalt daarmee. Een regelkan dus aIleen een waarde voor een onbekend feit afleiden, als heteen waarde kan concluderen uit de waarden van bekende feiten. Dezemoeten bovendien aan de voorwaarden van de regel voldoen.De afleiding van een waarde voor een onbekend feit levert een nieuwbekend feit. Reeds gefaalde regels kunnen daarmee misschien alsnogwaarden voor onbekende feiten afleiden. 2iJn er waarden voor onbekende feiten afgeleid dan worden de regels, nadat aIle regels ziJngeevalueerd, opnieuw geevalueerd. Dit wordt herhaald totdat er geennieuwe waarden meer worden afgeleid.
5.3. De back~ard chaining strategie.
Backward chaining wordt weI "goal-driven" genoemd, omdat het doelenstelt en die vervolgens probeert af te leiden. De strategie stelteen onbekend feit tot doel. Vervolgens worden de regels (in dehuidige context) met dit feit als doel in een voorgeschreven volgorde afgezocht totdat er een wordt gevonden die een waarde voor hetfeit zou kunnen afleiden. Deze wordt dan geevalueerd.
Als biJ de evaluatie van deze regel een van ziJn voorwaarden nietvoldoet, dan eindigt de evaluatie van de regel. Deze faalt daarmee,waarna de volgende regel die een waarde voor het doel kan afleidenwordt gezocht en geevalueerd.In deze strategie eindigt de evaluatie van een regel echter nietals de regel een waarde van een onbekend feit nodig heeft. Deevaluatie wordt dan opgeschort en eerst wordt het onbekende feit opdezelfde wiJze als subdoel afgeleid. DaarbiJ kunnen dan weer nieuwesubdoelen worden gesteld.Wordt een subdoel afgeleid dan wordt de evaluatie van de regelwaarin het subdoel voorkwam hervat. Kan een subdoel niet wordenafgeleid dan wordt het, mits dat mag, aan de gebruiker gevraagd.Geeft deze een waarde dan is het subdoel alsnog bekend. BliJft eensubdoel onbekend dan eindigt de evaluatie van de regel waarin hetsubdoel voorkwam en wordt de volgende regel gezocht en geevalueerd.
Backward chaining vertoont overeenkomst met backtracking. Wordt biJde evaluatie van een regel een subdoel gevonden, dan wordt eenregel met dit subdoel als doel geevalueerd. Faalt een regel danwordt de volgende regel met hetzelfde doel geevalueerd. Het falenvan een regel kan tot gevolg hebben dat een keten van regelsfaalt en een nieuwe keten moet worden onderzocht.
2S
5.~. Illustratief voorbeeld van forward chaining.
R1 - AlsENDan
vat inhoud is minder dan 10dm3
vat heeft hengselvat is een emmer
R2 - Dan vat inhoud is vat b~eedte maal vat lengte maal vat hoogte
Stel dat R1 en R2 ziJn gegeven om van een rechthoekig vat het typeen de inhoud te bepalen en dat aan de geb~uiker reeds is gevraagdwat de maten van het vat ziJn en of het een hengsel heeft.In figuur B is het forward chaining proces geschetst waarbiJ hettype en de inhoud van het vat wo~den afgeleid door de regels in devolgorde R1, R2 te evalueren. De regels worden in aIle ~onden
geevalueerd, maar ziJn geschetst in de ronde waarin ze geen onbekende feiten meer bevatten, zodat ze een feit kunnen afleiden. Alsde regels in de 1e ~onde worden geevalueerd bliJkt dat:- Rl ziJn doel niet kan afleiden, omdat de inhoud nog onbekend is.- R2 deze inhoud in dezelfde ronde bepaalt.Er is een nieuw bekend feit, zodat een tweede evaluatie nieuwefeiten kan opleveren. In de 2e ronde bliJkt dat:- R1 aIleen bekende feiten bevat en afleidt dat het vat een emmer is.- R2 ziJn doel heeft bepaald en overgeslagen kan worden.Er is weer een nieuw bekend feit, maar de regels hebben hun doelbepaald, zodat het proces stopt.
vatis eenonbekend
'"
'"'"'"'"
'"
'"
'"'"'"'"'"'"
'"'"'"'" Ronde3
.. '"
wvatheeft
vatheefthengsel hengsel
...... . ............
vatis een f--
emmer
· .· ....... ... ... ......... ..
· ~:T!."'): : '": : '" "- ---oJ
: vat vat : '"> inhoud inhoud w '"
onbekend minder '"10dm'3 '"
'"'"'"'"'"'"
'"'"'"'" Ronde2
R2. .. ... ... .. ....... .. '" :. ...... ..... ...... .. '" :
: '" :: '" :
vat vat : '" :breedte inhoud : '" :2dm is : '" :
vat : '" :vat breedte : '" :lengte maal I-- : '" :2dm vat : '" :
lengte : '" :vat maal : '" :hoogte vat : '" :2dm hoogte : '" :
. ... . .. ... ... .. .. ...... .....
Ronde1--------------------------"'------------------------------"'-----------R1 faalt '" Rl slaagtR2 slaagt '" R2 voldaanFiguur 8, voorbeeld van forward chaining.
'" Rl voldaan'" R2 voldaan
26
5.5. 5chematisch voorbeeld van forward chaining.
Beschouw voo~ een mee~ algemeen voo~beeld van de situaties die zichbij fo~wa~d chaining kunnen voo~doen, de denkbeeldige ~egels vanfiguu~ 9. Hie~in is R1 tim R6 de evaluatievolgo~de van de ~egels.
De BF's zijn Feiten die initieel Bekend zijn. De OF's zijn Feitendie initieel Onbekend zijn, maa~ in de volgo~de OF1 tim OF6 wo~den
afgeleid.De Legels wOLden in alle Londen geevalueeLd. 2e zijn echteL weeLgeschetst in de Londe waaLin de initieel Onbekende Feiten die deLegels bevatten afgeleid zijn, zodat ze hun doel kunnen afleiden.Als het doel van een Legel deel uitmaakt van een of meeL andaLe Legels, dan is het daaLin opgenomen. Dit geldt vooL OF1 tim OF~ endaaLvan is feit OF3 zelfs in twee Legels opgenomen.
Als de Legels vOOL de 1e maal geevalueeLd wOLden blijkt dat:- R1 onbekend feit OF3 bevat en zijn doel OFS niet kan afleiden.- R2 onbekend feit OF1 bevat en zijn doel OF3 niet kan afleiden.- R3 alleen bekende feiten bevat en zijn doel OF1 afleidt.- R~ alleen bekende feiten bevat en zijn doel OF2 afleidt.- RS onbekend feit OF~ bevat en zijn doel OF6 niet kan afleiden.- R6 onbekend feit OF3 bevat en zijn doel OF~ niet kan afleiden.
OF2 in deze Legel is in deze Londe al bepaald dooL R~.
In de vOLige Londe zijn de nieuwe bekende feiten OF1 en OF2 afgeleid die nieuwe afleidingen tot gevolg kunnen hebben. De Legelswo~den daaLom nogmaals geevalueeLd en in de 2e Londe blijkt dat:- R1 onbekend feit OF3 bevat en zijn doel OFS niet kan afleiden.- R2 nu alleen bekende feiten bevat en zijn doel OF3 afleidt.- R3 zijn doel heeft afgeleid en nu oveLgeslagen kan wOLden.- R~ zijn doel heeft afgeleid en nu oveLgeslagen kan wOLden.- RS onbekend feit OF~ bevat en zijn doel OF6 niet kan afleiden.- R6 nu alleen bekende feiten bevat en zijn doel OF~ afleidt.
OF3 in deze Legel is in deze Londe bepaald dooL R2.
In de vOLige Londe zijn de nieuwe bekende feiten OF3 en OF~ afgeleid die nieuwe afleidingen tot gevolg kunnen hebben. De ~egels
wOLden daaLom nogmaals geevalueeLd en in de 3e Londe blijkt dat:- Rl nu alleen bekende feiten bevat en zijn doel OFS afleidt.- R2 zijn doel heeft afgeleid en oveLgeslagen kan wo~den.
- R3 zijn doel heeft afgeleid en oveLgeslagen kan wOLden.- R~ zijn doel heeft afgeleid en oveLgeslagen kan wOLden.- RS nu alleen bekende feiten bevat en zijn doel OF6 afleidt.- R6 zijn doel heeft afgeleid en oveLgeslagen kan wOLden.
In de vOLige Londe zijn de nieuwe bekende feiten OFS en OF6 afgeleid die nieuwe afleidingen tot gevolg kunnen hebben. De Legelshebben echteL allen hun doel bepaald, zodat het pLoces stopt.
Tussen R1 tim R6 kunnen Legels zijn opgenomen die in ells ~ deLonden falen, omdat ze onbekende feiten bevatten die niet wOLdenafgeleid, of omdat ze vooLwaaLden bevatten die niet voldoen. DaaLomkan de geb~u1keL nu om de waaLde van een onbekend feit gevLaagdwOLden, waaLna nieuwe afleidingen kunnen volgen.
27
.......~:~tF2Iu61 w
f ~ : ~ BFIBFIV3 t w ~ : : ..."'------)
............
................
......
.. Rondelf
....
..
......
..
·. ..·. ... .. ...
OF3C9 ~
BF
RS
·....... .. ·. ..·......... ·. ..
: *: ..
BF : ..C10 - : ..
OFIf : ..:
..••.....~~~> IOFSj
EElw~ :..)
· .· ... .... ..... ..
· .· ..............
..
....
..
......
....
....
..........
..
..
..
..
............
.. Ronde3
v
OF3-C7~
BF
: ..OFl : ..
CS ~ : .. ·BF : .. :: .. :
· ...· ··· ·: .. :. ·...··· · ·: .. :.. :R2 .. :.. :
I .. :.· · ···.·. .. :
. .......... ..
....
......
..
....
..........
..
..
..
....
........
R3 ,...------>
mFVl w
BF
· .· ............
......... .. .. R6....BF ..~ Cif - ..BF ....
· . ..· ... ... ...... ....Rondel .. Ronde2----------------..-------------------- ..---------------------..---------_.Rl faalt .. Rl faalt .. Rl slaagt .. Rl voldaa!R2 faalt .. R2 slaagt .. R2 voldaan .. R2 voldaa!R3 slaagt .. R3 voldaan .. R3 voldaan .. R3 voldaa!Rif slaagt .. Rif voldaan .. Rif voldaan .. Rif voldaa!RS faalt .. RS faalt .. RS slaagt .. RS voldaa!R6 faalt .. R6 slaagt .. R6 voldaan .. R6 voldaa!
Figuur 9, voorbeeld van forward chaining.Rl R2 R3 Rif RS R6 - evaluatievolgorde van de Regels.OFl OF2 OF3 OFIf OFS OF6 = afleidingsvolgorde van de Onbekende Feiten.Vl C2 V3 Cif CS V6 C7 C8 - slaagvolgorde van de Voorwaarden en ConclusilBF - Bekend Feit.
28
5.6. lllustratief voorbeeld van backward chaining.
dealseen
en R1 isdaaromechter
Ueronderstel dat de regels die voor forward chaining waren gebruiktnu volgens de backward chaining strategie het type van het vatmoeten bepalen. Ueronderstel dat wel bekend is dat het vat eenhengsel heeft, maar dat de maten nog moeten worden gevraagd, dusnog niet bekend zijn.Het doel is dus het bepalen van het type van het vateerste regel met dit onbekende feit als doel en wordteerste regel geevalueerd. ZiJn 1e voorwaarde bevato~bekend feit:
Deze voorwaarde stelt dat de inhoud van het vat minder moet ziJndan 10dm3 zijn. De inhoud is echter nog onbekend en moet daaromals subdoel worden afgeleid en R2 de 1e regel met dit feit alsdoel wordt daarom geevalueerd:
De conclusie van R2 bevat drie onbekende feiten, de breedte,de lengte en de hoogte van het vat. Deze feiten moeten daaromeerst als subdoel worden afgeleid. Er zijn echter geen regelsmet deze feiten als doel. Ze mogen wel gevraagd worden.Op vragen UR1,2 en 3 geeft de gebruiker de maten van het vat.
R2 bevat nu alleen bekende feiten, zodat de inhoud hieruit volgt.R1 bevat nu alleen bekende feiten en aan zijn voorwaarden wordtvoldaan, zodat de conclusie getrokken kan worden en uit deze conclusie volgt dat het vat een emmer is.Daarmee is het doel bereikt en eindigt het proces.In tegenstelling tot forward chaining zijn beide regels nu slechtseenmaal geevalueerd. Wel zijn ze twee keer afgezocht, om te controleren of ze het gestelde doel of subdoel als doel hebben.
..
UR1< 2dm
UR2< 2dm
UR3< 2dm
: · . .. .................: : . ............ .......: :: :: : vat vat: : inhoud breedte: : is onbekend: : vat: : breedte vat: : --- maal lengte: : vat onbekend: : lengte: : maal vat: : vat hoogte: : hoogte onbekend:
vatheeft
hengsel hengsel
.... .... . ..... ... ..
vat~ is een
emmer
vatw heeft
~;::~:nd <l~·~~ ;: vat vat :
w inhoud inhoud < R2minder onbekend10dm 3
. .. . ..... ............ ..... · .· ........ ........... ....Figuur 10, voorbeeld van backward chaining.
29
5.7. Schematisch voorbeeld van backward chaining.
Beschouw voor een meer algemeen voorbeeld van de situaties die zichbij backward chaining kunnen voordoen, de denkbeeldige Legals vanfiguur 11. Hierin is R1 tim R8 de selectievolgorde van de regels.De BF's zijn initieel Bekende Feiten. De OF's zijn initieel Onbekende Feiten die in de volgorde OF1 tim OF7 worden afgeleid.
Het onbekende feit "DOEL" moet worden afgeleid en daarom wordt R3de 1e Legal met dit onbekende feit als doel geevalueerd:R3 bevat onbekende feiten in zijn voorwaarden en conclusie:
De 1e voorwaarde U1 van R3 bevat onbekend feit OF1. OF1daarom eerst als subdoel worden afgeleid en R1 de 1e LegalOF1 als doel wordt geevalueerd:R1 bevat onbekende feiten in zijn voorwaarden en conclusie:
moetmet
De 1e voorwaarde U2 van R1 bevat onbekend feit OF2.daarom eerst als subdoel worden afgeleid en R7 demet OF2 als doel wordt geevalueerd:R7 bevat een onbekend feit in zijn voorwaarde U3:
OF2 moet1e Legal
Dit feit is OF3. OF3 moet eerst als subdoel worden afgeleid en R~ de 1e Legal met OF3 als doel wordt geevalueerd:R~ bevat alleen bekende feiten en leidt subdoel OF3 af.
R7 bevat nu alleen bekende feiten en leidt subdoel OF2 af.Aan de voorwaarden van R1 is nu voldaan, maar de Legal bevat nogeen onbekend feit is zijn conclusie C7.
Dit feit is OF~. OF~ moet daarom eerst als subdoel wordenafgeleid, er is echter geen Legal met OF~ als doel, maar OF~
mag gevraagd worden.Op vraag UR1 geeft de gebruiker zelf een waarde voor OF~.
R1 bevat nu alleen bekende feiten en leidt subdoel OF1 af.Aan de voorwaarden van R3 is nu voldaan, maar de Legal bevat nogeen onbekend feit in zijn conclusie C9.
Dit feit is OFS. OFS moet daarom eerst als subdoel worden afgeleid en RS de 1e Legal met OFS als doel wordt geevalueerd:RS bevat een onbekend feit in zijn voorwaarde U10:
Dit feit is Or6. Or6 moet daarom eerst als subdoel worden afgeleid en R2 de 1e Legal met DrS als doel wordt geevalueerd:R2 bevat een onbekend feit in zijn voorwaarde U11.
Dit feit is OF7. OF7 moet daarom eerst als subdoel wordenafgeleid, er is echter geen Legal met OF7 als doel, maarOF7 mag wel gevraagd worden:Op vraag UR2 geeft de gebruiker zelf een waarde voor OF7.
R2 bevat nu alleen bekende feiten en leidt subdoel OFS af.De waarde voor DrS voldoet niet aan U10, zodat Legal RS faalt.l.p.v. RS wordt nu RS de 2e Legal met OFS als doel geevalueerd:RS bevat alleen bekende feiten en leidt subdoel DrS af.
R3 bevat nu alleen nog bekende feiten en leidt doel DOEL af.DOEL is nu bekend waarmee het proces eindigt.
30
. .• .. • .. .. • .. .. .. .. .. I ..
<-----GESRUIKERUR1
· .· . .. .. .. .. .. .. .. . .. .. .. ..
SF
.. .. . .. . .. .. ..
SF~ C7
OFlf
SF
.. . .. ... .. .. .
SF"'---i CS
OFS
. ".. . .. .. .. .. ... ... ..
Igl<l' ~: .........W : :L ;wlv1loFlI<n:.. ~~ ..........
: SF:: :
~ ~; ; w IV2IoFt~~~ ..SF :: SF ~ ~ I :
W UB ~ : : w 1U3 IOF3 J<-:----, Rlf
wERE" .. ::::::::::
· .· .. . . .. . .. .. .. .. .. .. .. ...
<-~~r········· ;i.1 ~~~~~~~~~~n;.. ~~ ..........: norr : : :
: : ~ W EEl<-:__U_R_2GESRUIKER
<----R6
· .· .. .. .. .. .. .. .. .. .. .. .. .. ....
· .· .. .. .. .. .. .. .. .. .. .. .. .. ...
Figuur 11, voorbeeld van backward chaining, met:R1-R6 - onderzoekvolgorde van Regels, UR1-UR2 - URagen.U1-C13 - evaluatievolgorde van Uoorwaarden en Conclusies.OF1-0F7 - evaluatievolgorde van Onbekende Feiten.SF - Sekend Feit.norr - niet onderzocht regelrestant na falen van een voorwaarde.
31
5.8. Snelheidsoverwegingen.
Bij Forward chaining bepaalt de volgorde waarin de regels onderzocht worden in grote mate de snelheid waarmee aIle feiten wordenafgeleid. Stel bijvoorbeeld dat de regels in de volgorde R3 R~ R2R6 R1 R5 geevalueerd worden, dan worden reeds in de eerste rondeaIle feiten OF1 tim OF6 afgeleid.Ook bij backward chaining bepaalt de volgorde waarin de regelsonderzocht worden de snelheid waarmee het doel bereikt wordt.Stel bijvoorbeeld dat R6 voor R5 wordt geevalueerd dan wordt hetdoel sneller bereikt en bovendien worden er minder subdoelenafgeleid. In dit geval is de schade beperkt, maar deze kan aanzienlijk oplopen.In beide gevallen bestaat er echter geen vaste optimale volgorde.De optimale volgorde is namelijk afhankelijk van de informatiedie in de knowledgebase is opgenomen en deze varieert per consultatie. De regels kunnen eventueel weI geselecteerd worden naar dewaarschijnlijkheid waarmee ze slagen.Deze waarschijnlijkheden kunnen door de knowledge engineer wordenbepaald die de regels daarna in de juiste volgorde invoert, maarze kunnen ook door het systeem worden bepaald afhankelijk van detoestand van de knowledgebase, zie verder lit (lJ, bIz 59.
Zowel bij forward als backward chaining kan ook een veranderingin de volgorde van de voorwaarden van een regel tijdwinst oplevereno Als bijvoorbeeld de ~e voorwaarde van een regel faalt, danzijn de eerste 3 voor niets onderzocht. Vooral bij backward chaining kan dit een hoop werk Kosten.De optimale volgorde is echter weer afhankelijk van de informatiein de knowledgebase. Een mogelijkheid om dit probleem bijbackward chaining gedeeltelijk te ondervangen is een previewmogelijkheid, waarbij gecontroleerd wordt of een der voorwaardenvan een regel direkt weerlegd kan worden.
5.S. Doelkeuze i.g.v. backward chaining.
De backward chaining strategie is niet volledig zonder eendoelkeuzemechanisme. Dit mechanisme is systeemafhankelijk, in hetalgemeen hangt het af van het doel waarvoor een ontwerper zijnsysteem ontwikkelt.In sommige systemen kiest het systeem zijn doelen geheel zelf, inandere kan de knowledge engineer de doelkeuze vooraf beinvloeden ..Hieronder worden enkele methoden toegelicht, deze kunnen soms ookdoor elkaar gebruikt worden:
- In het DELFT systeem wordt een aparte kategorie binnen deverzameling feiten gevormd door de hypothesen. Een hypothesekan zijn "de patient heeft roodvonk" of "de patient heeft deziekte van pfeifer". Het doel van het systeem is het bewijzenvan deze hypothesen.Voor elke hypothese is er een regel die de hypothese kan bevestigen. In de volgorde waarin deze regels in de rulebase zijnopgenomen wordt de conclusie (hypothese) van deze regels alsdoel gekozen en d.m.v. backward chaining bewezen of weerlegd.
32
in welkevolgorde
Het isvoor een
Naast de Legals die hypothesen kunnen bevestigen zijn er Legalsdie onbekende feiten kunnen afleiden. deze worden aIleen geselecteerd als tijdens de backward chaining de waarde van zo'nfeit nodig is. zie verder lit [lJ.
In het SAGE systeem kan de knowledge engineer aangevenvolgorde de feiten als doel gesteld moeten worden. Dekan hij afhankelijk maken van hetgeen al afgeleid is.daardoor mogelijk aIleen die feiten te onderzoeken diebepaald probleem van belang zijn.Nadeel is dat de knowledge engineer zich moet bezig houden metbesturingsstructuren. hierdoor is de vastlegging van kennisweer gedeeltelijk procedureel en lijkt veel op conventioneelprogrammeren. Niettemin blijft de kennis duidelijk onderscheidbaar van de besturingsstructuren. zie lit (2J.
In ACQUAINT worden de Legals geselecteerd door gebruik te makenvan een agenda. Na een forward chaining cyclus wordt met eenevaluatiefunktie de waarschijnlijkheid bepaald waarmee Legalsslagen. De Legals worden in volgorde van waarschijnlijkheid inde agenda geplaatst en de conclusie van de Legal met de hoogstewaarschijnlijkheid wordt geselecteerd als doel.
5.10. Ue~geliJking rD~wa~d en backwa~d chaining.
Bij forward chaining is het aantal Legals dat op een bepaaldmoment geevalueerd wordt nooit groter dan een. Bij backwardchaining daarentegen kan dit aantal flink oplopen en wordt infeite een deel van het kennisnetwerk gelijktijdig geevalueerd.Het deel van het netwerk van het doel naar de bekende feitenwaaruit het doel uiteindelijk wordt afgeleid, zoals geschetst infiguur 11. wordt ook weI "Goaltree" of "Doelboom" genoemd. Dezebenaming is niet geheel juist omdat een bepaald feit in meerdereLegals van de goa I tree mag worden gebruikt en er dan sprake isvan een graaf. Maar dat feit wordt weI hooguit eenmaal afgeleidin die graaf, daarna is het immers bekend.Er kunnen cirkelredeneringen ontstaan. als een onbekend feitterugkeert in het dee I van de goaltree waaruit het feit zelfafgeleid moet worden. Een feit kan immers niet uit zichzelfafgeleid worden. Het inferentiemechanisme moet dit kunnen detecteren en op een andere Legal overgaan.
Backward chaining leidt tot een doelgericht systeem. dat in hetalgemeen voor kleinere knowledgebases effektief toegepast kanworden. Het vereist echter nogal wat zoekwerk en lijkt daaromminder geschikt voor grotere knowledgebases.Forward chaining vereist veel minder zoekwerk en lijkt juistdaarom weI geschikt voor grotere knowledgebases.In ACQUAINT worden beide strategieen door elkaar gebruikt. Destrategie is om in een context eerst met forward chaining aIlefeiten af te leiden die uit de bekende feiten kunnen worden afgeleid. Daarna wordt met een agenda een doel gesteld wat met backward chaining wordt afgeleid. Als het doel bereikt is. zijn ervaak weer nieuwe bekende feiten en wordt daarom weer op forward
33
chaining overgegaan. De knowledge engineer kan bij de Legals aangeven of ze zowel forward als backward mogen worden geevalueerd.
5.11. Inexact reasoning.
De forward en backward chaining strategieen vormen slechts algoritmische zoekmethoden die met een set Legals waarden van feitenproberen af te leiden. Ze houden echter geen rekening met deonzekerheden van feiten en conclusies. Deze onzekerheden kunnenuit verschillende bronnen voortvloeien:
De knowledge engineer kan ervaringsregels definieren, waaraanhij een zekerheidsfactor verbindt. Zo'n factor bepaalt de zekerheid, waarmee de conclusie getrokken kan worden.
De gebruiker moet zijn probleem invoeren, door op vragen teantwoorden. Hij kan daarbij echter twijfelen aan zijn antwoorden en moet daarom een zekerheidsfactor voor zijn antwoordenkunnen specificeren.
Zowel de ervaringsregels als de onzekere antwoorden resulteren infeiten met een bepaalde onzekerheid. Uandaar dat aan de feiteneen zekerheidsfactor wordt verbonden.Deze zekerheidsfactor "cf" is meestal een waarde tussen -1 en 1,waarbij cf - -1, absolute-zekerheid-van-de-onjuistheid en cf - 1absolute-zekerheid-van-de-juistheid van een feit uitdrukt. Dewaarde cf - 0 drukt absolute-onzekerheid van de onjuistheid ofjUistheid uit.De verrekening van deze zekerheden wordt inexact reasoninggenoemd en moet worden gecombineerd met de inferentiestrategieen.Zo moet de doelkeuze afhankelijk worden gemaakt, van de zekerheden van de feiten. Dit om doelgericht zoeken mogelijk te maken.Omdat de afhankelijkheden van de feiten en Legals in het algemeenniet bekend zijn is het niet mogelijk om simpelweg de klassiekewaarschijnlijkheidsrekening te gebruiken. Niettemin zijn de ontwikkelde methoden hier weI mee verwant.Er zijn twee aspecten die van belang zijn voor de verwerking vanonzekerheden:
De zekerheidsfactor van een ervaringsregel is gebaseerd op hetabsoluut zeker voldoen van de voorwaarden van de Legal. Als devoorwaarden echter betrekking hebben op onzekere feiten, kanslechts met een bepaalde zekerheid worden geconstateerd of aa~
de voorwaarden is voldaan. Deze onzekerheid moet dan in deconclusie worden doorberekend.
Als een absolute regel een waarde voor een feit afleidt, dan isde zekerheidsfactor van dat feit gelijk aan de maximum zekerheid 1. Andere regels kunnen deze zekerheid niet vergroten,zodat ze ook niet bekeken hoeven te worden.Ervaringsregels resulteren echter in feiten met een beperktezekerheid en een andere regel met dezeIfde conclusie zou daaromde zekerheid van het geconcludeerde feit kunnen vergroten.Bovendien zou een andere conclusie weI eens tot een anderewaarde met een grotere zekerheid kunnen leiden.
Datvan
Het eerste aspect kan op verschillende wijzen worden verrekend,zo is in EMYCIN en SAGE een aanpak gekozen die op het volgendeneerkomt:Een voorwaarde vereist een waarde voor een bepaald feit. Dezekerheidsfactor voor een voorwaarde wordt gedefinieerd als:cf - cf~_~~ als de waarde van het feit aan de voorwaarde voldoeten cf - -cf~_~~ als het feit niet aan de voorwaarde voldoet. Decf kan alleen -1 of 1 worden, als de voorwaarde een absoluutzeker feit betreft.Afhankelijk van de gestelde EN- en OF-relaties tussen de voorwaarden worden de zekerheidsfactoren van de verschillende voorwaarden met de volgende twee "fuzzy-logic" regels gecombineerd:
Hieruit volgt een gecombineerde zekerheidsfactor. Als deze boveneen gestelde drempelwaarde uitkomt wordt de conclusie getrokken.Daarbij wordt de zekerheidsfactor van het geconcludeerde feitgelijk aan de gecombineerde zekerheidsfactor maal de zekerheidsfactor van de conclusie, ofwel:
De drempelwaarde van de voorwaarden moet groter/gelijk 0 zijn.Een negatieve zekerheidsfactor betekent de ontkenning van hetvoldoen van de voorwaarden. Deze ontkenning doorberekenen in deconclusie levert een a-logische redenering.De zekerheidsfactor van de conclusie mag kleiner dan 0 zijn.betekent de ontkenning van de conclusie. De zekerheidsfactorhet nieuwe feit kan dus negatief worden.
R1 -
R2 -
ALSOFOFDAN
ALSENDAN
1. de brandstofleiding is lek2. de brandstofslang is verstopt3. de benzinekraan is dicht
is er met een zekerheid van 0.8een storing in de brandstoftoevoer
1. de motor geen brandstof krijgt2. er geen storing in de brandstoftoevoer is
is met een zekerheid van O.~
de sproeier verstopt
Bijvoorbeeld: stel gegeven regels R1 en R2. Ueronderstel dat inR1 de feiten uit de voorwaarden een zekerheidsfactor van respectievelijk 0.9, 0.8, 0.7 hebben. Dan is de gecombineerde zekerheidsfactor gelijk aan 0.9. (Alleen OF-relaties tussen de voorwaarden) Dan concludeert R1 voor feit "er is een storing in debrandstoftoevoer" de zekerheidsfactor: 0.9· 0.8 - 0.72.Dit feit is onderdeel van de tweede voorwaarde van R2. Stel dathet feit in de eerste voorwaarde de zekerheidsfactor 1.0 heeft,dan is de gecombineerde zekerheidsfactor gelijk aan 0.72. (AlleenEN-relaties tussen de voorwaarden) Dan concludeert R2 voor feit"de sproeier is verstopt" de zekerheidsfactor: 0.72 • O.~ - 0.288.
3S
In sommige gevallen leidt een beperkt aantal voorwaarden via OFrelaties tot een zekerheidsractor van 1 or via EN-relaties toteen zekerheidsractor van -1, zonder dat de resterende voorwaardenvia OF-relaties de zekerheid nog kunnen vergroten or via ENrelaties nog kunnen verlagen. Deze voorwaarden kunnen dan buitenbeschouwing worden gelaten.
Om het tweede aspect te kunnen verrekenen moeten de inrerentiestrategieen enigzins worden aangepast. Uoor absolute regels wordteen reit als argeleid beschouwd, zodra een waarde voor het reitgevonden is. Het heert dan geen zin om nog andere regels te beschouwen omdat de zekerheid toch niet kan worden vergroot.Uoor de ervaringsregels is dit echter wel het geval. Als een reitmoet worden argeleid, moeten daarom alle regels die iets over ditreit concluderen worden geevalueerd, tenzij een combinatie vanregels een zekerheidsractor van 1.0 zou opleveren, dan heertverdere evaluatie geen zin meer.
De evaluatie van absolute regels versus de evaluatie van ervaringsregels wordt wel "single lines reasoning" versus "multiplelines reasoning" genoemd.In "multiple lines reasoning" moeten de zekerheden waarmee verschillende regels dezelrde waarde voor een reit concluderenworden gecombineerd. Uiteindelijk moet ook worden bepaald wat demeest zekere waarde is. Ook hiervoor bestaan weer verschillendemethoden. 20 maken MYCIN en ACQUAINT gebruik van de volgendecombinatierunctie, die in riguur 12 grarisch is weergegeven inhoogtelijnen. (Met dank aan Pror Kylstra voor deze representatie)
cr -
Als voor een reit al een zekerheidsractor crprev is berekend eneen nieuwe regel concludeert hetzelrde reit met de zekerheidsractor Crnew , dan wordt op grond van bovenstaande regels een gecombineerde zekerheidsractor bepaald die daarna dienst doet als denieuwe crpr• v • Deze regels hebben de volgende eigenschappen:
De totale zekerheid wordt nooit kleiner dan -lor groter dan 1.
- De volgorde waarin de zekerheidsractoren van de verschillenderegels worden verrekend heert geen invloed op het eindresultaat.
R3 = ALSENDAN
1. de brandstor in de carburator komt2. de brandstor niet in de motor komt
is met een zekerheid van 0.9de sproeier verstopt
Bijvoorbeeld: stel dat regel R3 aan R1 en R2 wordt toegevoegd endat R3 voor reit "de sproeier is verstopt" de zekerheidsractor0.9 concludeert. De totale zekerheidsractor van dit reit wordtdan op grond van R1, R2 en R3: 0.9 + 0.288 - 0.9 • 0.288 - 0.93.
36
1~f§~§~::::~===~C:{"l=='===---------:~l(=I
I
cl:: -,
Figuur 12. Hoogtelijnen van de MYCIN combinatiefunctie met:
1 cfp ) 0 cf ... ) 0 -) cf - cfp+cf ...-cfp·cfn0 cfp < 0 cf ... ) -cfp -) cf - Ccfp+cfn)/Cl+cfp )IIJ cf p < 0 cf ... < -cfp -) cf - Ccfp+cf... )/C1-cfn )m cfp < 0 cf ... < 0 -) cf cfp+cfn+cfp·cfnD cfp < -cf ... cf ... < 0 -) cf - Ccfp+cf... )/Cl-cfp )tlJ cfp ) -cf ... cf... < 0 -) cf - Ccfp+cf... )/C1+cf... )
Met deze twee methoden is inexact reasoning mogelijk gemaakt.Of deze methoden garant staan voor correct geconcludeerde feitenis moeilijk te bepalen mede doordat de correctheid afhangt van dezekerheden die de knowledge engineer en gebruiker invoeren. Inhet algemeen zal een uitgebreid validatieproces de correctheidvan methoden en zekerheden moeten bewijzen.Een belangriJk aspect is ook de doorzichtigheid van de methoden ,zo maakt SAGE gebruik van een complexe methode op basis van 3verschillende zekerheden die variabel kunnen zijn en waarvan ereen logaritmisch is. Ongetwijfeld bedoeld om de correctheid tevergroten. maar de vraag is of de knowledge engineer nog weIdoorziet wat er met de door hem gedefinieerde zekerheden gebeurt.HiJ zou daardoor de correctheid kunnen verminderen.
37
5.12. Instantieren en uni~iceren.
In sommige systemen mogen de onderwerpen en waarden van de feitendie in Legals worden gebruikt worden vervangen door variabelen.Dit is een krachtig hulpmiddel, dat de knowledge engineer eenhoop werk kan besparen. Veronderstel bijvoorbeeld dat de volgendefeiten afgeleid moeten worden:
Jola is moeder van onbekend
Anja is moeder van onbekend
Om voor alletwee de moeders af te leiden of Tom de onbekende is,zouden normaal minimaal twee Legals nodig zijn, bijvoorbeeld:
ALS Tom geboren uit JolaDAN Jola is moeder van Tom
ALS Tom geboren uit AnjaDAN Anja is moeder van Tom
Als voor de moeder een variabele X gebruikt wordt, kan wordenvolstaan met de volgende regel:
ALS Tom geboren uit XDAN X is moeder van Tom
Voor X zou dan om beurten Jola en Anja ingevuld moeten worden.Het vervangen van een variabele uit een Legal door een object(constante) wordt instantieren genoemd.In de backward chaining strategie kan het ook voorkomen dat verschillende variabelen uit verschillende regels als dezelfde variabele beschouwd moeten worden. Dit wordt unificatie genoemd.Veronderstel bijvoorbeeld dat afgeleid moet worden van wie Anjade moeder is en dat het volgende feit bekend is:
Tom gedragen door Anja
Verder moet met behulp van de volgende twee regels, met verschillende variabelen afgeleid worden van wie Anja de moeder is:
ALS Y geboren uit AnjaDAN Anja is moeder van Y
ALS Z gedragen door AnjaDAN Z geboren uit Anja
Uit de eerste Legal voIgt dat Anja de moeder is van variabele Y,mits Y geboren is uit Anja. Uit de tweede regel voIgt dat variabele Z uit Anja geboren is, mits Z gedragen is door Anja. Uit detwee regels en de unificatie van Z met Y voIgt dan dat Anja demoeder is van Y, mits Y gedragen is door Anja. Uit de instantiatie van Y tot Tom voIgt tenslotte dat Anja de moeder is van Tom.Een systeem dat variabelen in Legals toelaat, moet dus in staatzijn te instantieren en te unificeren tijdens de inferentie.
38
+
feitS - gebruikerswaarde
6. De gebruikersinterface met verklaringsfaciliteiten.
De gebruikersinterface is een belangrijke component van een expertsysteem. Het geeft de gebruiker de mogelijkheid om met hetsysteem te communiceren.De verklaringsfaciliteiten vormen een gewenst onderdeel van dezeinterface. 2e moeten het systeem in staat stellen om gebruiker enknowledge engineer te vertellen WAAROM vragen gesteld worden enHOE de resultaten verkregen zijn. Soms geven ze ook de mogelijkheid tegenvragen te stellen zoals WAT ALS ik dit of datantwoord.De verklaringsfaciliteiten zijn gebaseerd op de scheiding vankennis en het inferentiemechanisme. Bij de kennis kan informatieworden opgenomen over het gebruik van de kennis. 20 kan wordenbijgehouden met welke regelCs) een feit wordt afgeleid, of voorwelk hoger gelegen Csub)doel een feitwaarde wordt gevraagd.
Stel gegeven de doelboom van figuur 13. Wil de gebruiker deafleiding van de waarde van feit1 controleren, dan kan hij met devolgende vragenreeks navragen hoe feit1 wordt of is afgeleid:
Uraag: HOE feitl"? Antwoord: feit1 is bepaald met Rl.
Uraag: WAT R1"? Antwoord: feit1 - feit2 • feit"f.
Uraag: HOE feit2"? Antwoord: feit2 is bepaald met R2.
Uraag: WAT R2"? Antwoord: feit2 - feit3.
Uraag: HOE feit3"? Antwoord: Heb ik aan je gevraagd.
Uraag: HOE feit"f"? Antwoord: feit1 is bepaald met R3.
Uraag: WAT R3"? Antwoord: feit"f - feitS + feit6.
Uraag: HOE feitS"? Antwoord: Heb ik aan je gevraagd.
Uraag: HOE feitS"? Antwoord: Heb ik aan je gevraagd.
-feit2 - feit3 - gebruikerswaarde
Feitl - / •
\' feit"f -
feit6 - gebruikerswaarde
Figuur 13, doelboom van de regels:R1: feit1 - feit2 • feit"fR2: feit2 - feit3R3: feit"f - feitS + feit6
39
tediehet
heen
aanhijkan
In
Uraagt de gebruiker HOE een feit is afgeleid, dan krijgt hijzien met welke regel dat feit is afgeleid. Uraagt hij WATregel doet, dan krijgt hij te zien uit welke andere feitenfeit is afgeleid. Hij kan op deze wijze door een doelboomlopenoEen knowledge engineer kan de HOE en WAT faciliteiten gebruikenom zijn kennismodel te valideren. Hij kan daarmee immers decorrectheid van de afleidingen verifieren.
Ondanks dat expertsystemen zich op zich goed lenen voor goedeverklaringsfaciliteiten, worden deze vaak verwaarloosd en onvoldoende ontwikkeld. De taak die daarbij aan de knowledge engineerwordt toebedeeld verschilt per systeem.
20 is de taak van de knowledge engineer in het DELFI-systeem zeerbeperkt. De feiten in dit systeem worden beschreven in de vormvan zo natuurlijk mogelijke zinnen en de regels worden samengesteld uit deze zinnen. Bij ieder feit dat mag worden gevraagd,wordt bovendien een vragende vorm gespecificeerd. Het systeemmaakt gebruik van deze zinnen om zijn resultaten toe te lichtenen om aan de gebruiker vragen te stellen. De taak van de engineerbeperkt zich dus tot het vormen van correcte zinnen.Helaas wordt aan de regels geen extra identi~icatie verbonden.Als de gebruiker vraagt welke regels tot een feit hebben geleid,krijgt hij daardoor een wat onzinnig antwoord als Rl, R33, R~5.
Een identificatie zou de gebruiker kunnen helpen om snel tebepalen welke regel zinvol is om te bekijken.
In het SAGE-systeem heeft de knowledge engineer echter eenzienlijke taak. Gewapend met een aantal basiswerktuigen moetde faciliteiten bijna van de grond af opbouwen. Het resultaatvarieren van slecht tot redelijk georganiseerde faciliteiten.principe kan hij er zelfs een complete puinhoop van maken.Dit is het gevolg van het beschrijven van feiten in de vorm vanlogische en numerieke variabelen, waaraan verklaringen wordenverbonden. Via allerlei trucs wordt de logische of numeriekewaarde gecamoufleerd door een symbolische representatie.In dit systeem wordt weI aan de regels een identificatie verbonden zodat de gebruiker zich beter kan orienteren, zie lit [2J.
De verklaringsfaciliteiten vormen een gewenst maar geen noodzakelijk onderdeel van expertsystemen. 20 bestaan er expertsystemenzonder deze faciliteiten, zoals XCON/XSEL een van grootste systemen.Vaak blijken de HOE en WAT faciliteiten aIleen nuttig voor deknowledge engineer. Deze kan er zijn kennismodel mee valideren.Gebruikers daarentegen zijn vaak niet geinteresseerd in de achtergronden van adviezen en conclusies. Soms worden de verklaringsfaciliteiten op gebruikersniveau zelfs verwijderd omdat gebruikers ze verwarrend vinden.
~o
hijHij
de
De gebruikersinterface stelt de gebruiker in staat met hetsysteem en met name met de verklaringsfaciliteiten te communiceren. Belangrijke vereisten voor een gebruikersinterface zijn:
- Behulpzaamheid:Het systeem moet in staat zijn zijn werkwijzen duidelijk temaken aan de gebruiker, zodat deze weet wat hem te wachtenstaat. Daarnaast moet de gebruiker verteld worden hoe hij deverklaringsfaciliteiten kan gebruiken om informatie en toelichtingen van het systeem te verkrijgen.
Regelbaa~ n1veau van 1nFormat1eu1tw1ssel1ng:Het systeem heeft informatie van de gebruiker nodig, terwijleen gebruiker informatie van het systeem nodig heeft. De gebruiker moet de hoeveelheid informatie die hij krijgt naareigen behoefte kunnen regelen.De uitwisseling moet bij voorkeur zo natuurlijk mogelijk verlopen. Daarbij moet worden voorkomen dat er dubbelzinnighedenontstaan.
- Het initiatieF:Als een gebruiker vaker met een systeem werkt, weet hij naenige tijd wat het systeem van hem wil weten. Als de gebruikerhet initiatief kan overnemen kan hij het systeem van informatievoorzien, zonder op vragen te wachten.De gebruiker moet in kunnen grijpen in de consultatie alsmerkt dat de door hem ingevoerde gegevens onjuist zijn.moet deze dan kunnen corrigeren, waarna het systeemverandering moet doorvoeren in zijn conclusies.
- Co~~ectheids- en ~elevantiecontrole:
De gebruiker, maar vooral de knowledge engineer moet in staatzijn de oplossingen van het systeem op correctheid en relevantie te controleren. De verklaringsfaciliteiten moeten hem daarbij helpen.
- 6ebruiksv~iendeliJk:
De gebruiker krijgt een flinke portie informatie voorgeschoteld. Het is belangrijk dat dit op een gebruiksvriendelijkemanier gebeurt. Hulpmiddelen hierbij zijn windows, muizen enkeuzemenu·s.Een van de belangrijkste problemen ontstaat door het verdwijnenvan informatie van het videoscherm. De gebruiker moet op eeneenvoudige manier deze informatie kunnen terugroepen, zonder deconsultatie te verstoren.
Extra Faciliteiten voor de knowledge engineer:Een knowledge engineer zal dieper op verschillende aspecten vanhet systeem willen ingaan, dan een gebruiker. De engineer zalzijn systeem willen testen, daarbij maakt hij echter gebruikvan zijn kennis van de inhoud van het systeem.Een gebruiker heeft deze kennis niet en als hij wordt overspoeld met dezelfde informatie zal hij het overzicht verliezen.
~1
7. Koppeling van expertsustemen met conventionele programma's.
Ais een expertsysteem toelaat dat in de voorwaarden en conclusiesvan regels waarden van andere feiten verondersteld of geconcludeerd worden, dan kunnen op beperkt schaal numerieke berekeningen worden uitgevoerd, zoals:
temperatuur is c • druk • volume
Maar de volgende structuur die veel in conventionele talen wordtgebruikt, is niet mogelijk:
x is x • 2
De nieuwe waarde van x wordt bepaald uit de oude waarde van x.Deze conclusie kan pas getrokken wordt nadat al eerder een waardevoor x is afgeleid, anders zou een cirkelredenering ontstaan.Deze conclusie zal dan echter niet meer getrokken worden, omdatelk feit slechts eenmaal wordt afgeleid, waarna het als bekendwordt verondersteld.Daarnaast is het ook niet mogelijk om algoritmische berekeningenmet regels te beschrijven. Een groot aantal problemen kan viaallerlei omslachtige methoden vaak weI in regel-vorm worden geschreven. Dit lijkt echter niet zo zinvol. Expertsystemen zijndoor het vele zoekwerk vaak relatief traag en zullen dat voorlopig ook nog weI blijven. Het is praktischer en sneller om dezealgeritmen in conventionele programma's te verwezenliJken.
Een belangrijke ontwikkeling in de expertsystemen is dan oek demogeliJkheid om in expressies functieaanroepen op te nemen. Viaeen interface activeert het systeem dan een externe conventioneelgeschreven functie die een waarde berekent en via de interfacedoorgeeft aan het systeem.Heeft het systeem geen waarde nodig, maar moet een bepaaldeoperatie worden uitgevoerd, dan kan met een conclusie-actie viade interface een externe conventioneel geschreven procedure worden geactiveerd.
Een andere ontwikkeling in de koppeling van expertsystemen metconventionele programma's is "event-driven" forward chaining.Deze inferentietechniek wordt in procescomputersystemen toegepast. Het expertsysteem werkt dan parallel aan een conventioneelprogramma veer procesbesturing. Indien er Cproces)gegevens beschikbaar komen worden deze automatisch met forward chaining doorhet expertsysteem verwerkt.
B. P~og~ammee~talen.
In expertsystemen beschrijven feiten vaak symbolische eigenschappen van bepaalde objecten en hebben regels vaak betrekking opverbanden tussen symbolische objecten. Belangrijke operatiesvormen het vergelijken van eigenschappen, het zoeken naar de verbanden en het toevoegen van nieuwe eigenschappen aan objecten.Het gaat hierbij dus om symboolmanipulaties.
De meeste conventionele programmeertalen zijn hoofdzakelijk ontworpen voor het manipuleren van numerieke objecten. Desondanksblijken ze toch goed bruikbaar en met name Pascal is gebruikt omexpertsystemen te ontwerpen (DELFI en SAGE). Structureel zijn zeechter in het algemeen toch minder elegant toe te passen.
Lisp is een taal welke is ontworpen voor het beschrijven enmanipuleren van symbolische objecten en is tevens geschikt voorhet manipuleren van numerieke objecten. Daarom is Lisp zo geschikt voor het ontwerpen van expertsystemen en ook veelvuldigtoegepast (b.v. in MYCIN en ACQUAINT).De meeste Lisp-systemen bieden daarnaast goede interactie-faciliteiten, zoals de muis en windows, die gebruikt kunnen wordenter ondersteuning van de gebruikersinterface van expertsystemen.Maar Lisp heeft tevens een paar belangrijke nadelen. 20 kent Lispvele dialecten wat de overdraagbaarheid aanzienlijk verkleint.Bovendien is de leesbaarheid beperkt en vereist het op zijn minstflink wat oefening om programma's te lezen en ontwerpen. Hoewelde taal went ken men toch twijfelen aan de gebruikersvriendelijkheid van de taal.In appendix A wordt uitvoeriger op Lisp ingegaan.
Prolog is een non-procedurele taal gebaseerd op logisch programmeren en geschikt voor het beschrijven en manipuleren van symbolen. Deze taal is nog niet veel toegepast in het ontwerpen vanexpertsystemen, maar is vooral in Europa en Japan wel in opkomst(vijfde generatie computers).Net als in expertsystemen is de kennis gescheiden van het besturingsalgoritme. De programmeur levert uitsluitend logische regels(feiten worden beschreven als regels zonder condities, dus doorconclusies). De Prolog interpreter leidt zelf via een backwardchaining mechanisme nieuwe feiten af.In principe vormt Prolog daardoor een goede bouwsteen veer expertsystemen. Nadeel is echter dat Prolog nog niet ze geschikt isveor numerieke berekeningen. Bovendien wordt het realiseren vanforward chaining bemoeilijkt door de backward chaining standaard.Prolog zal hier verder niet behandeld worden, korte inleidingenkunnen eventueel gevonden worden in lit [1,~,5].
51otopmerk1ngen.
Op veel plaatsen in de we~eld wo~dt op dit moment onde~zoek
gedaan naa~ de a~chitectuu~ en toepassing van expe~tsystemen. Eeng~oot aantal aspecten sluit nauw aan bij de p~incipes van delogica. Denk bijvoo~beeld aan de ~edenee~p~ocessen en inexact~easoning. Het onde~zoek dat op het gebied van de logica isdaa~om van di~ect belang voo~ het onde~zoek op het gebied van deexpe~tsystemen.
De huidige expe~tsystemen zijn t~aag ve~geleken met conventionelep~og~amma's en e~ wo~dt daa~om onde~ mee~ onde~zoek gedaan naa~
technieken om de snelheid van deze systemen te ve~hogen.
Een deel van het onde~zoek ~icht zich op een ve~bete~ing van debestaande technieken. 20 wo~dt gezocht naa~ methoden om dedoelkeuze en de evaluatievolgo~de van ~egels af te stemmen op debeschikba~e gegevens in de knowledgebase.Ook is e~ onde~zoek gaande naa~ nieuwe technieken zoals pa~allele
~edenee~p~ocessen te~ ve~hoging van de ~edenee~snelheid. De coo~
dinatie tussen de ~edenee~p~ocessen vo~mt daa~bij een belang~ijk
p~obleem. 20 mogen de p~ocessen niet dezelfde feiten p~obe~en afte leiden en moeten ze hun ~esultaten geo~dend aan de geb~uike~
p~esente~en.
Of expe~tsystemen doo~ deze ontwikkelingen in de toekomst ookvoo~ g~ote~e p~oblemen inzetbaar zullen wo~den blijft ve~lopig dev~aag. Op het moment blijken ze in iede~ geval ~edelijk inzetbaa~
voo~ kleine~e taken.
Literatuur.
(1) Henk de Swaan Arons, Peter van Lith,EXPERT SYSTEMEN.Academic Service, Den Haag, 1e druk 198~.
(2) Rik Kerstens ,EXPERIMENT MET DE SABE-EXPERTSYSTEEMSHELL.Stageverslag, 1986.Afdeling der Natuurkunde, vakgroep meten en regelen.Technisch Hogeschool Eindhoven.Uakgroep Meten en Regelen.
(3) Bidi van Liempd,Remarks on a few concepts in artificial intelligence.Afstudeerverslag deel 1, 1985.Knowbode: a case study in knowledge engineering.Afstudeerverslag deel 2, 1985.Afdeling der Natuurkunde, vakgroep meten en regelen.Technisch Hogeschool Eindhoven.
(~) L.C. van de Baag, Uan Dale Lexicografie bv. Utrecht,Prolog and expert system design.Documentatie Zomercursus Expert Systemen.THDelft, 1985.
(5) drs P.J.F. Lucas en ir. L.C. van der Baag,Prolog en expertsystemen.Informatie Jaargang 28 nr. 1, 1986.
(6) A.M. Wortmann,Logische deductie algoritmen in LISPten behoeve van manipulatie van kennis.Stageverslag, 1985.Afdelingen der Werktuigbouw en Electrotechniek.Technische Hogeschool Twente.Rapportnummer Communicatietechniek: 075-85-18.
(7) H. de Swaan Arons,Expert Systems: past, present and future.Documentatie Zomercursus Expert Systemen.THDelft, 1985.
(8) L.A.M. Uerbeek,Expertsystemen: Een toepassing van kunstmatige intelligentie.Slimme Computer Cultuur.Knipselkrant cyclus, SB 1985.
(9) Clark Weissman,LISP 1.5 PRIMER.Dickenson Publishing Company, Inc,Belmont, California, 1967.
~5
(10) Edmund C. Berkeley,LISP - A Simple Introduction.Uit: The Programming Language LISP:Its Operation and Applications.Information International, Inc.The M.I.T. Press, 1967.
(11) F.E.J. Kruseman Aretz,The data space of LISP, an axiomatic approach.Philips Research Laboratories,Eindhoven, The Netherlands.
(12) F.E.J. Kruseman Aretz,Notes for a short course on functional programming in LISP.
(12) SAG02 SAGE expert system language specification.for SAGE version 1.3,Knowledge Engineering Group,Systems Programming International, 1982.
(1~) SAG03 SAGE user manualfor SAGE version 1.3.Knowledge Engineering Group,Systems Programming International, 1982.
(15) Acquaint,user manual forAcquaint and Acquaint-light.Release 2.~F.
Lithp Systems BU, The Netherlands.
(16) Frederick Hayes-Roth, Donald A. Waterman, Douglas B. Lenat,Building Expert Systems.ADDISON-WESLEY PUBLISHING COMPANY, INC.USA, 1983.
Register.
ACQUAINTabsolute regelsagendaalgoritmiekalgoritmische expertiseapplicatiesArtificiele Intelligentieassistent-niveauattribuut
Backward chainingbasisobjecten
Cirkelredeneringclausulescollega-niveauconceptenconditiesconclusiecontextencontextgraafconstanteconsultatie
Data-drivendeclaratief vastleggendeclaratieve kennisDELFIdemonsdoeldoelboomdoelkeuzedynamische feiten
Eigenschapeigenschapsdeclaratiesentiteitenervaringsregelsevaluatiefunctieevent-drivenexpertsysteemshellsexpressies
Feigenbaumfeitfeitdeclaratiesforward chainingframesfuzzy-logic
Gebruikersinterfacegestructureerde objectengoal-drivengoal tree
1f7
1f-22-23-3318-23-36336665712-22
20-23-25-29-30-32-31f12
33227222217-20-23-21f-26/e.v.212116-178-13-23-32
2522221f-8-32-1f02021f/2933-3932-31f13
11-12-2011f1218-23-31f-36331f23-916-17-1f2
58-11/e.v.11f23/28-32-31f18-19 .35
8-39122533
Heuristiekheuristische expertisehbjpothesen
Indicatorinexact reasoninginferentiemechanismeinstantieren"is-een" predicaat
Kenniscompilerkennismodelkennisnetwerkenklasse-overervingknowledge acquisitieknowledge-acquisitie-faciliteitenknowledgebaseknowledge engineerknowledge engineering
Multiple lines reasoningMYCINMYCIN combinatiefunctie
Numerieke constantennumerieke objecten
Onbekende feitenobjectdeclaratiesobjectenobjectframesobjectklassen
Predicaatpremissenpreview mogelijkheidprocedureel vastleggenprocedurele kennis
Regelregelmodelrule-editor
SAGEsemantische netwerkensimpele objectensingle lines reasoningspecialist-niveaustatische feitenstellingsubdoelsbjmbolische constantensbjmbolische obJecten
Truth maintainance
Lf8
6-186-1122-32
12-2218-3Lf-379-22-23-33-39381Lf
88-9-LfO18-331Lf-20Lf-9-1088-11-339-13-1Lf-21-32-3Lf-37-39-LfO5
363-Lf-8-33-3536-37
1611
13-16-23/e.v.1Lf8-11-18-20191Lf
12-20-2222322222
8-16/e.v.23-2Lf8
Lf-8-23-33-35-LfO15-1812367131Lf25-29-30-391611
23
Unificeren
Ualidatieverklaringsfaciliteitenvoorwaarde
XCON/XSEL
Zekerheidzekerheidsfactor
IfS
38
37-IfO8-10-3S-IfO17-20-23/e.v.
If0
6-18-31f/3720-31f/36
Appendix A.
Inhcud
A.A.l
A.2A.2.1A.2.1.1.A.2.1.2.A.2.1.3.A.2.2.A.2.2.1.A.2.3.A.2.1f.A.3.A.If.A.If.l.A.If.2.A.If.3A.If.If.
A.5.A.5.1.A.5.2.A.5.3.A.5.3.1.A.5.3.2.A.5.3.3.A.5.3.1f.A.5.3.5.A.5.3.6.A.5.1f.
A.6.
LISPS-expressies:
Lisp functies:Elementaire functies:car D -) Scdr D -) 5cons S x S -) DLambda-expressies:Formtypen:Pseudo-functie Define.Recursieve functies.Globale constanten.Lisp en expertsystemen.Feiten en de association-list.Feiten en de property-list.Representatie van regels.De knowledgebase.
Backtracking.Het missionarissen en kannibalen probleem.Afleiding oplossing:ImplementatieToestandsbeschrijving:Beschrijving van rijen:Beschrijving van hulpfuncties:Controlefunctie:Uitbreidingsfunctie:Initialisatie.Uergelijking met backward chaining
LISP-syntax
50
5151
52525253535351f5859606161626361f
61f65666868696971717272
73
A. LISP
In Lisp zijn rules, backward of forward chaining geen standaard,aIle faciliteiten moeten van de grond af worden opgebouwd, het isdan ook niet mogelijk om in deze inleiding te schetsen hoe eenexpertsysteem in Lisp geschreven kan worden. Daarom wordt aIleende algemene structuur van Lisp beschreven, waarbij in het kortwordt aangegeven welke aspecten van Lisp van bijzonder belangzijn. Tenslotte voIgt een voorbeeld van backtracking in Lisp.Uoor dit voorbeeld is gekozen, omdat backtracking zo nauw verwantis met backward chaining.Lisp is een taal die gebaseerd is op recursieve functie theorie,en hoewel Pascal-achtig programmeren beperkt mogelijk is zal hierde nadruk worden gelegd op de functionele aspecten van Lisp.
A.1 S-expressies:
In Lisp draait alles om S-expressies, deze beschrijven zowel aIleprogramma's als aIle data. Het gevolg hiervan is dat programma'sen data uitwisselbaar zijn, ofwe 1 programma's kunnen wordengebruikt als data en vice versa.Het domein van S-expressies wordt in het vervolg 5 genoemd,het bestaat uit de volgende twee verzamelingen:
atomen:Dit zijn ondeelbare numerieke of letter-symbolen zoals:
3lfS 66.77 a ab appel
Twee bijzondere atomen zijn "nil" voor false en "t" voor true.Het domein van atomen wordt in het vervolg A genoemd, dat vande numerieke atomen N en van de letter-atomen LA.
Punt-paren:Dit zijn deelbare S-expressies bestaande uit een linker (S~) enrechter (SR) S-expressie, gescheiden door een punt en omslotendoor haakjes, dus:
punt-paar - (5~ . 5~)
Bijvoorbeeld:
(a • b) ((a. b) . appel) (a . (b . (c . nil)))
Uoor bepaalde punt-paren is de meer eenvoudige list-notatie ingevoerd. Lists kunnen uit punt-paren worden gevormd volgens devolgende twee relaties, waarin 51 ... Sn S-expressies zijn:
(5:1. 52'" 5 n ) - (S :I. • (S2'" Sn ) )( ) - nil
Doordat de lege list ( ) per definitie gelijk is aan nil, heeftnil een bijzondere status, het is namelijk de enige S-expressie welke zowel tot de atomen als lists behoort.
Sl
Uolgens deze regels is de volgende S-expressie in punt-notatie:
(a . ((a.b) . (b . (appel . (peer. nil)))))
gelijk aan de volgende S-expressie in list-notatie:
(a (a.b) b appel peer)
De elementen van punt-paren en lists zijn S-expressies enkunnen dus ook weer bestaan uit atomen, punt-paren or lists.Elke list kan worden omgevormd tot een S-expressie in puntnotatie, maar het omgekeerde is niet waar.Het domein van aIle deelbare S-expressies (punt-paren en lists)wordt in het vervolg D genoemd, orwel D - S\A.Het domein van aIle lists wordt in het vervolg L genoemd.Opmerking: Een veel gemaakte beginnersrout is het verwarren vaneen atoom, met de list van het atoom.UergeliJk bijvoorbeeld: n en (n) - (n . nil).
A.2 Lisp Functies:
Lisp is een taal voor de manipulatie van S-expressies. Invoer ineen Lisp-systeem verloopt via de Lisp-supervisor, welke steeds 2S-expressies als input verwacht. Dit zogenaamde Lisp-paar bestaatuit een functie-expressie gevolgd door een list van argumenten :
Functie-expressie (argument 1 argument2 ••• argumentn )
De functie-expressie representeert een functie welke geevalueerdwordt met de argumenten als waarden voor zijn variabelen. Deresulterende waarde vormt de output van de supervisor.De functie-expressie bestaat uit:
De naam van een bekende functie (een letter-atoom), of
Een S-expressie welke zich gedraagt als een functie.
Een argument bestaat uit:
- Een S-expressie.
A.2.1 Elementaire Functies:
Lisp kent een groot aantal standaard functies, waarvanelementair zijn: car en cdr om S-expressies te splitsen enom S-expressies samen te voegen tot grotere S-expressies:
A.2.1.1. car D -> S
driecons
De car (spreek uit "car") van een niet-atomaire S-expressie ishet linker deel van de expressie, indien deze genoteerd is inpunt-notatie, of het eerste element, indien genoteerd in listnotatie. De car van een atoom is ongedefinieerd. In onderstaande
52
voorbeelden zijn (m . n), (m n) en (n) de argumenten en «m . n))«m n)) en «n)) dus de listen van argumenten:
car «m . n)) - m
A.2.1.2. cdr D -> S
car «m n)) - m car «n)) - n
De cdr (spreek uit "could-er") van een niet-atomaire S-expressieis het rechter deel van de expressie, indien deze genoteerd is inpunt-notatie, of de resterende list na verwijdering van heteerste element, indien genoteerd in list-notatie. De cdr van eenatoom is ongedefinieerd. Uoorbeelden:
cdr «m . n)) - n cdr «m n)) - (n) cdr «n)) - nil
A.2.1.3. cons 5 x S -> D
De functie cons ("the construct of") van 2 S-expressies is hetpunt-paar van deze expressies, met de eerste S-expressie als hetlinker en de ander als het rechter deel. Uoorbeelden:
cons (m n) - (m . n)
cons (m (n)) (m (n)) (m n)
cons en nil) (n nil) - (n)
Behalve de bovengenoemde elementaire functies kent Lisp nog veleandere standaard-functies (waaronder numerieke). Enkele daarvanzullen hieronder nog als hulp-functies aan bod komen. Met behulpvan de standaard-functies kunnen ook nieuwe functies gedefinieerdworden, hoe dat in zijn werk gaat wordt hieronder toegelicht.
A.2.2. Lambda-expressles:
Zoals gezegd mag de functie-expressie behalve door een functienaam ook vervangen worden door een S-expressie welke zich gedraagt als een functie. Deze klasse van functies bestaat uitzogenaamde lambda-expressies, van de vorm:
(lambda variabelen-list form)
Ofwel een lambda expressie bestaat uit een list van 3 elementen:
Het woord lambda.
- Een variabelen-list waarvan de elementen bestaan uit letteratomen. Deze atomen worden als variabelen (formele parameters)gebruikt in de zogenaamde "form".
- Een form die het evalueervoorschrift van de functie definieert.
53
De lambda-notatie definieert de relatie tussen de variabelen vande form en de argumenten van de functie. De argumenten representeren de waarden van de variabelen (actuele parameters) van defunctie. Een list van argumenten moet daarom evenveel elementenbevatten als de variabelen-list.De evaluatie van een lambda-expressie verloopt als voIgt:
- De form wordt geevalueerd, met de argumenten als waarden voorde variabelen van de form. De resulterende waarde is tevens dewaarde van de lambda-expressie.
A.2.2.1. Formtypen:
De form kan door vijf verschillende typen S-expressies wordengerepresenteerd, deze beschrijven dus verschillende evaluatievoorschriften.
1 Constanten en de quote-¥orm:De numerieke atemen zijn per definitie constant, verder wordenin de meeste implementaties ook "nil" en "t" als constantenbeschouwd. AIle overige S-expressies mogen als symbolischeconstanten gedefinieerd worden door ze te quoten met de quoteform. Ze worden dan niet geevalueerdj de waarde van de form isgelijk aan de waarde van de constante. Bijvoorbeeld:
(lambda ( ) 3~S) ()(lambda (x) (quote a))
- 3~S(y) - a
Uergelijk de laatste functie met de volgende functie:
(lambda (a) a) (y) = y
2 Uar1abelen u1t de variabelen-11st:Evaluatie bestaat nu uit simpelweg de form-waarde gelijklen aan het argument dat aan de variabele is verbonden.voorbeeld:
(lambda (x) x) (a) = a
3 Funct1e-toepass1ng:Deze heeft de volgende algemene vorm:
stelBij-
(¥unctie-express1e argument-¥orm 1 argument-¥ormz ... argument-¥ormn )
De functie-toepassing li,1k~ op een lisp-paar. Ook hier representeert de functie-expressie een functie welke bestaat uit:
De naam van een functie.
- Een S-expressie welke zich gedraagt als een functie, ofwe Iopnieuw een lambda-expressie.
Een argument-form bestaat uit:
- Een form.
S~
.• rgu~_Mt-~or·m_
In een Lisp-paar wordt de runctie-expressie geevalueerd met deargumenten als waarden voor de variabelen van de runctieexpressie.In een runctie-toepassing wordt de runctie-expressie geevalueerd met de waarden van de argument-forms als waarden voor devariabelen van de runctie-expressie. De argument-forms moetendaarom geevalueerd worden. voordat de runctie-expressie geevalueerd kan worden.Deze argument-rorms mogen op hun beurt ook weer bestaan uitfunctie-toepassingen. zodat runcties eindeloos genest kunnenworden. Daarbij geldt op ieder niveau dat de argument-formsgeevalueerd worden voordat de runctie-expressie geevalueerdwordt.Hieronder volgen enige voorbeelden van runctie-toepassingen ineen lambda-expressie. ~an j wordt steeds het argument (a b)verbonden:
(lambda (j) (car (cdr j))) ((a b)) - blI' ,(lambda (j) (cons (car j) (cdr j))) ((a b)) - (a b)L 'Merk op dat in de laatste twee voorbeelden de argument-formsook weer uit runctie-toepassingen bestaan. Hieronder volgen nogtwee voorbeelden van meer complexe geneste runctie-toepassingenin het eerste geval bestaat de eerste argument-rorm opnieuw uiteen lambda-expressie. in het tweede geval bestaat de functieexpressie zelr uit een lambda-expressie:
(lambda (j) (cons ((lambda (k) (car k)) j) (cdr j))) ((a b)) - (a b)
~ I '
(lambda (j) ((lambda (x ~) (cons x ~)) (car j) (cdr j))) ((a b)) =(a b), ] 'I
Opmerking: De laatste drie runcties realiseren hetzelrde: hetargument wordt op gelijke wijze gesplitst en weer samengevoegd.
In tegenstelling tot de argument-forms ~/an een functie-toepassing worden de argumenten van een Lisp-paar niet geevalueerd.Deze argumenten worden aIs constanten beschouwd. In een functie-toepassing worden de argument-forms aIs constanten be-
ss
schouwd als het quote-forms zijn, daarom zou het Lisp-paar:
functie-expressie (argument~ argument g )
als functie-toepassing worden geschreven als:
(functie-expressie (quote argument~) (quote argument.»
De meeste Lisp-supervisors zijn zogenaamde HevalquoteH supervisors, deze quoten de argumenten van het Lisp-paar. Net Lisppaar wordt daarbij gee~/alueerd tot een functie-toepassing welkenogmaals geevalueerd wordt met de functie HevalH. Zo wordt bijvoorbeeld het Lisp-paar:
cons (a b'>
eerst geevalueerd tot de functie-toepassing:
<cons (quote a.> (quote b'»
welke als argument-waarde wordt gebruiktIn feite is een HevalquoteH supervisorziening die het quoten van de argumentendit aan de programmeur over te laten.
~ Conditionals-form:Een conditionele form is van de vorm:
door de functie eval.een programmeer voor
zelf uitvoert, i.p.v.
(cond (predicaat 1 resultaat 1 ) ••••• (predicaatn resultBBtn ))
Conditionele-forms maken keuzes mogelijk.Een conditionele-form bestaat uit een onbeperkt aantal clausules welke bestaan uit predicaat-resultaat paren. De predicaten bestaan uit forms die naar nil of niet-nil kunnen evaluereno De resultaten bestaan eveneens uit forms.Bij evaluatie wordt de waarde van de conditionele-form gelijkaan de waarde van de resultaat-form van de eerste clausulewaarvoor de waarde van de predicaat-form ongelijk aan nil is,ofwel:
if waarde predicaat 1 # nil then cond :- waarde resultaat 1
else if waarde predicaat2 # nil then cond :- waarde resultaat 2
else if waarde predicaat n # nil then cond :- waarde resultaat n
In de meeste s~stemen blijft de waarde van de conditionele-formonbekend, indien geen enkel predicaat ongelijk Ban n11 is. Omdit te ondervangen wordt meestal predicaatn ge11jk gemaakt aan"t", zodat het laatste predicaat altijd ongelijk aan nil is.
56
Lisp kent een aantal standaard predicaat-functies, zoals:
(atom x) S -) {t, nil} 1s t als x atoom 1s, anders nil.(equal x y) S x S -) {t, nil} is t als x - y, anders nil.(null 1) L -) {t, nil} is t als 1 ( ) , anders nil.(lessp x y) N x N -) {t, nil} is t als x < y, anders nil.(numberp x) S -) {t, nil} is t als x N, anders nil.(zerop x) N -) {t, nil} is t als x - 0, anders nil.
Een voorbeeld van het gebruik van een conditionele-form is dan:
(lambda (1)(cond ((null 1) 0)
((null (cdr 1)) 1)((null (cdr (cdr 1))) 2)(t (quote veel))
) )
Deze functie telt het aantal elementen van de list I, als hetargument van de functie bijvoorbeeld gelijk is aan (a b) dan ishet resultaat 2, en voor (a b c d) is het resultaat veel.
5 Program-form:Deze laatste form maakt imperatief programmeren mogelijk enheeft de volgende vorm:
(prog variabelen-11st statement i statementz .....statementn )
De elementen van de variabelen-list bestaan weer uit letteratomen, welke gebruikt mogen worden als hulp-variabelen in destatements. Anders dan lambda-variabelen krijgen ze geen waardet.g.v. argumenten. 2e zijn initieel gelijk aan nil, totdat zeeen waarde kr1jgen t.g.v. een statement.Bij evaluatie worden de statements sequentieel uitgevoerd, inhet algemeen zijn het funct1es die worden geevalueerd voor huneffect t.p.v. voor hun waarde. Statements kunnen uit de volgende typen S-expressies bestaan:
Vi en Vz zijn forms en Vi moet evalueren tothet letter-atoom van een variabele (nietnoodzakelijk uit de variabelen-list). setmaakt de variabele waarnaar V1 evalueertgelijk aan de waarde van V2.
label
(go label)
Vi moet een letter-atoom van een variabelezijn. setq maakt V1 gelijk aan de waarde vande form V2. (equivalent aan set, maar V1wordt automatisch gequote).
atomaire statement welke een label definieert
veroorzaakt een sprong naar het genoemdelabel binnen de program-form.
S7
- (cond (predicaat-form1 statement 1 ) ••• (predicaat-formn statementn ))
de semantiek van dit statement is equivalentaan die van de eerder genoemde conditioneleform. De resultaat-forms zijn nu echter vervangen door statements, zodat evaluatie geenwaarde als resultaat heeft. Bovendien gaat deevaluatie verder bij de eerst volgende statement na de form als aIle predicaten falen.
devaneen
meer
program-form. De waarde vanwordt gelijk aan de waarde
de returnfunctie. Eindigtdoordat er geen statements
ziJn waarde gelijk aan nil.
beeindigt deprogram-formde form vanprogram-formzijn, dan is
- (return form)
Hieronder voIgt als voorbeeld van een program-form een iteratieve implementatie van de bepaling van de faculteit van n,waarin gebruik is gemaakt van de numerieke standaard-functies:
times (x y)
sub1 (x)
N x N -> NN -> N
is x· Yis x - 1
(lambda (n) (prog (y)
(setq y 1)labell (cond ((zerop n) (return y)))
(setq y (times n y))(setq n (subl n))(go labell)
) )
Het gebruik van deze form druist in tegen de aard van Lisp,maar het hangt in het algemeen van de programmeur af, of hij deprogram-form gebruikt, of aIleen functioneel programmeert.
A.2.3. Pseudo-functie Define.
Met de hierboven gedefinieerde lambda-expressies kunnen dusfuncties worden gedefinieerd. Het zou echter nogal omslachtigzijn om iedere keer als de functie nodig is, de hele lambdaexpressie als functie-expressie in te voeren. Lambda-expressieskunnen daarom van een naam worden voorzien met de pseudo-functiedefine, waarna de naam als functie-expressie mag worden gebruikt.Nieuwe functies worden als voIgt gedefinieerd:
define (( (name1 (lambda variabelen-list form))( name 2 (lambda variabelen-list form))
(namen (lambda variabelen-list form))))
58
A.2.~. Recursieve ~uncties.
Het is in Lisp toegestaan dat een functie-toepassing in de definitie van een functie refereert aan de naam van de functie zelf(gedefinieerd met define). Het is dus mogelijk am recursievefuncties te definieren.Stel dat een bepaalde operatie of test moet worden uitgevoerd opalle elementen van een list, dan kan de volgende algemene strategie gevolgd worden.Behandel in een conditionele-form:
Het triviale of eind geval. Typisch zijn atomen, nil en innumerieke lists 0 of 1.
- Het eerste element van een niet triviaal geval en behandel deresterende elementen recursief.
Uoorbeelden:
append (x y) L x L -) L als x een list is van n elementen en yeen list van m elementen, dan is append(x y) een list van n+m elementen bestaande uit de n elementen van x gevolgddoor de m elementen van y.
Ontwerpoverwegingen:Triviaal: als x de lege list is, dan is append(x y) gelijk aan y.Anders: als x een list is van n+1 elementen en bekend is hoe eenlist van n elementen aan y ge-append kan worden. Neem dan heteerste element van x apart, bepaal z = append ((cdr x) y) en voegcar (x) aan z toe als eerste element.
define ((( append(lambda (x y)
(cond ((null x) y)(t (cons (car x) (append (cdr x) y)))
))) ) )
reverse (x) L -) L als x een element is van n elementen,dan is reverse (x) een list met dezelfdeelementen in omgekeerde volgorde.
Ontwerpoverwegingen:Triviaal: als x de lege list is, dan is reverse (x) weer gelijkaan de lege list.Anders: als x een list is van n+1 elementen: veronderstel dan datbekend is hoe een list van n elementen omgekeerd kan worden. Neemdan het eerste element van x apart, reverse de resterende list enappend het resultaat aan een list met alleen het eerste element.
define (((reverse(lambda (x)
(cond ((null x) nil)(t (append (reverse (cdr x)) (cons (car x) nil)))
))) ) )
59
member (x y) als x een Lisp-waarde is en y een listwelke een begrensde verzameling repre
S x L -) {t, nil) senteert, dan is member (x y) - t als xeen element van de verzameling y is.
Dntwerpoverwegingen:x is een element van y, als x gelijk is aan een element van y.Triviaal: als y leeg is, kan x niet gelijk zijn aan een elementvan y.Anders: als y een list is met n+l elementen: veronderstel dan datbekend is hoe bepaald kan worden of x een member is van een listvan n elementen. Vergelijk x dan met het eerste element van y.Als ze ongelijk zijn bepaal dan of x gelijk is aan een van deresterende elementen van y.
define (((member(lambda (x y)
(cond ((null y) nil)((equal x (car y) t)(t (member x (cdr y)))
))) ) )
In het algemeen zullen alledrie de voorbeeldfuncties als standaardfuncties in het Lisp-systeem aanwezig zijn.
A.3. Globala constantan.
Behalve functies kunnen ook globale constanten worden gedefinieerd. Als globale constanten in de Lisp-functies worden gebruikt wordt bij evaluatie de waarde van de constante gesubstitueerd. De declaratie van deze constanten geschiedt met devolgende functies welke ook als statement mogen worden gebruikt:
v~ en Va zijn forms en v~ moet tot een letter-atoom evalueren. De constante waarnaar V1evalueert wordt gelijk aan de waarde van V2.
v 1 moet een letter atoom zijn. De constanteV1 wordt gelijk aan de waarde van de form V2.(identiek aan cset, maar V1 wordt automatischgequote, daarom mag deze functie niet alsLisp-paar worden gebruikt.
Als voorbeeld wordt hieronder de constanten pi en fruit gedefinieerd:
cset (pi 3.1~lS9)
cset (fruit (appels peren mandarijnen pruimen))
Tot zover de syntax en semantiek van Lisp. De resterende aspectenzoals in- en output en macro's zullen hier niet behandeld worden.Aan het eind van dit hoofdstuk voIgt nog een overzicht van deformele syntax-regels van hetgeen dat behandeld is.
60
Er is geen uniformiteit in Lisp-systemen~ er bestaan vele Lispdialecten.Zo zijn sommige Lisp-supervisors eval-supervisors. Het Lisp-paaris dan vervangen worden door een functie-toepassing~ waarbij alleargumenten geQuote moeten worden. In dit geval mag csetQ ook ophet hoogste niveau gebruikt worden.Ook kan het zijn dat de Quote-form door het leesteken ~ is vervangen~ bijvoorbeeld:
'appel i.p.~,. <"Quote appel'>
Soms mogen de functies set en setQ in plaats ~'an cset en csetQgebruikt worden.En tenslotte wordt de combinatie van define een naam en lambdasoms vervangen door alleen het atoom defun gevolgd door de naam~
zodat de functie automatisch gedefinieerd is~ zoals in de volgende recursieve definitie van de fakulteit van n:
(defun fakulteit (n)(cond «zerop n) 1)
<"t <"times n (fakulteit (sub1 n»») )
Dit ZlJn niet de enige verschillen~ maar geven toch al duideliJkde diversiteit aan.
A.~. Lisp en expertsystemen.
In Lisp worden alle objecten beschreven als S-expressies. 20kunnen ook rei ten en regels door S-expressies gerepresenteerdworden en zelfs de complete knowledgebase kan als een S-expressiegeimplementeerd worden. De wijze waarop kennis beschreven wordtis afhankelijk van de strategie die gevolgd wordt.Twee typen lists die voor expert systemen van belang zijn envaak toegepast worden, ziJn de association-list (a-list) en deproperty-list (p-list). Deze zullen hieronder nader worden toegelicht.
A.~.l. Feiten en de association-list.
Een association-list is een list van punt-paren van de vorm:
( (u 2. • V:L) ( U 2 • V2) • • • • (u,., • V,.,)
Hierin is Uk de naam van een variabele en Vk de waarde van Uk.De functie assoc kan gebruikt worden om een variabele in dea-list op te zoeken. Het resultaat van assoc is de bijbehorendewaarde (in sommige implementaties het totale punt-paar). assockan bijvoorbeeld als volgt gerealiseerd zijn:
61
(deFine (((assoc(lambda (u a)
(cond ((equal (car (car a)) u) (cdr (car a)))(t (assoc u (cdr a)))
) ) ) ) )
De a-list kan gebruikt worden om Feiten te beschrijven. Stelbijvoorbeeld dat jansen gelijk wordt gesteld aan de volgendea-list:
((straat . lagepad) (huisnr . 20) (stad . ede))
Dan kan de Functie assoc gebruikt worden om de waarden van deFeiten betreFfende jansen op te zoeken , bijvoorbeeld:
assoc (straat jansen) - lagepadassoc (huisnr jansen) - 20assoc (stad jansen) - ede
A.~.2. Feiten en de property-list.
De property-list geeft de mogelijkheid frames te representeren opeen manier die woordenboekachtig opzoeken mogelijk maakt.Een p-list is een gestructureerde list waarvan de elementenafwisselend indicatoren en waarden vormen. Op p-lists zijn inhet algemeen een aantal standaardfuncties gedefinieerd zoals:
put (x Y z) L~ x S x S -) S plaatst in de p-list x de indicatory gevolgd door de waarde z. Eenvoorgaande waarde van y gaat verloren. De waarde van put is gelijkaan y.
get (x y) L~ x S -) S zoekt de indicator y in de p-listX. ~ls y element is van x, dan isde waarde van get gelijk aan hetvolgende element van x, ofweI dewaarde behorend bij y, anders nil.
remprop (x y) L~ x S -) S verwijdert een eventuele indicatory met bijbehorende waarde van de.p-list X. De waarde van remprop isgelijk aan nil.
Stel bijvoorbeeld dat de p-list anja wordt gevormd m.b.v. defunctie put volgens:
put (anja (straat huisnr stad) (hogepad 21 ede))put (anja ouders (jan ine))put (anja geslacht vrouw)
dan is anja gelijk aan de p-list:
(geslacht vrouw ouders (jan ine) (straat huisnr stad) (hogepad 21 ede))
62
met geslacht, ouders en (straat huisnr en stad) als de indicatoren en vrouw, (jan ine) en (pad 21 ede) als de bijbehorendewaarden die kunnen worden teruggevonden met:
get (anja geslacht) - vrouwget (anja ouders) - (jan ine)get (anja (straat huisnr stad)) - Chogepad 21 ede)
A.~.3 Representatis van rBgsls.
Net als de representatie van feiten is de representatie vanregels strategie-afhankelijk, maar een regel kan bijvoorbeeldgerepresenteerd worden door een list van 2 sublists. De 1e metvoorwaarden, de 2e met conclusies:
(((voorwaardB 1 ) •••• (voorwaardsm )) ((conclusis 1 ) •••• (conclusiBp )))
Voorwaarden en conclusies kunnen bijvoorbeeld beschreven wordenals stellingen van de volgende vorm, waarin het predicaat derelatie tussen het onderwerp en de argumenten uitdrukt:
(onderwerp predicaat argumenten)
De volgorde is niet zo belangrijk, als ze maar consequent wordtaangehouden. Immers het inferentiemechanisme moet de verschillende onderdelen kunnen herkennen.Voorbeelden van stellingen zijn:
(iets zegt boe)(iets eet gras)(iets geeft melk)(iets is koe)
Daarmee kan onderstaande regel:
ALS iets boe zegtEN iets gras eetEN iets melk geeftDAN iets is koe.
als volgt worden beschreven:
(((iets zegt boe) (iets eet gras) (iets geeft melk)) ((iets is koe)))
Stel nu dat Klara in de vorm van een a-list gedefinieerd is als:
Klara CCzegt . boe) Ceet . gras) Cgeeft . melk))
en de variabele iets tot Klara wordt geinstantieerd, dan kan metdeze regel worden afgeleid dat Klara een koe is. En Klara kanworden uitgebreid tot:
Klara - CCis . koe) Czegt . boe) Ceet . gras) Cgeeft . melk))
63
A.~.~. De knowledgebase.
De knowledgebase kan als een globale constantenieerd. De lege knowledgebase kan dan als voIgtworden:
cset (knowledgebase nil)
worden gedefigeinitialiseerd
De knowledgebase moet daarna met feiten en regels worden uitgebreid. waarbij van ieder feit of regel gecontroleerd moet wordenof ze nieuw zijn. De volgende functie realiseert dit, de functiewaarde is t als een feit/regel al was opgenomen, anders nil:
define (((remember(lambda (x) prog ( )
(cond ((member x knowledgebase) (return t)))(csetq knowledgebase (cons x knowledgebase))
))) )
Hierboven is globaal aangegeven hoe feiten, regels en de knowledgebase geimplementeerd zouden kunnen worden. Na de keuze vande representatie van kennis, zal een passende inferencemechanismeontworpen moeten worden.Uanwege de complexiteit is het niet mogelijk om hier de implementatie van zo'n mechanisme te schetsen. Een beperkt mechanismewordt beschreven in lit [6J.Een belangrijk onderdeel van backward chaining is backtracking,om toch een indruk te geven van de opzet van backtracking in Lispwordt hieronder een simpel alternatief probleem m.b.v. backtracking opgelost.
A.S. Backtracking.
Hieronder voIgt de afleiding van een functionele implementatievan het missionarissen en kannibalen probleem in LISP. Er wordtdus geen gebruik gemaakt van de program optie.
A.5.l. Het missicnarissen en kannibalen prcbleem.
6egeven:
3 missionarissen, 3 kannibalen en 1 boot voor 1 a 2 personen.De missionarissen en kannibalen moeten een rivier overstekenm.b.v. de boot, door een aantal malen in verschillende combinaties van 1 or 2 personen heen en weer te varen.Als een overtocht tot gevolg heert dat op een van de oevers hetaantal kannibalen grater wordt dan het aantal missionarissen,zullen op die oever de kannibalen de missionarissen opeten.
Prcbleemstelling:
Als een overtocht beschreven wordt als de combinatie van missionarissen en kannibalen die met de overtocht meevaart, zoek danaIle rijen van overtochten die er toe leiden dat aIle missionarissen en kannibalen de overzijde van de rivier bereiken, zanderdat er een missionaris opgegeten wordt en zander dat tussentoestanden herhaald worden. CDeze laatste voorwaarde voorkomt eindelaos op en neer varen)
Fcrmaliseren van hat prcbleam:
De Qvertochtcombinaties kunnen worden beschreven met de volgenderichtingsonarhankelijke symbolen:
1 missionaris: M2 missionarissen: MM1 missionaris en 1 kannibaal: MK1 kannibaal: K
- 2 kannibalen: KK
Een rij van overtochten kan dan beschreven worden als een listmet als oneven elementen de symbolen van overtochten in degewenste richting en als even elementen de symbolen van overtochten in tegenstelde richting. Een mogelijke oplossingslist isdan:
CKK K KK K MM MK MM K KK KKK)
Een LISP functie heeft maar een waarde als resultaat, terwijl ermeerdere oplossingslisten bestaan. De verzameling U van aIle oplossingen kan in een waarde beschreven worden als een list metals elementen de oplossingslisten:
CCoplossingslist 1 ) (oplossingslist 2 ) •••• (oplossingslist n ))
Als C de volgende eindrelatie representeert:"AIle missionarissen en kannibalen worden overgevaren zanderdat een missionaris opgegeten wordt en zander dat toestandenherhaald worden",
dan is het probleem:"Genereer de list van oplossingslisten, die de verzameling Ubeschrijrt waarvan de elementen aan C voldoen".
65
A.S.2. A~leiding oplossing:
Als een eenvoudige omvattende verzameling (superset) R voor Ugegenereerd kan worden (V C R), waarbij op de elementen van R eenlexicografische volgorde gedefinieerd is die gebruikt kan wordenom selectief groepen van elementen van R uit te sluiten alselementen van V, dan kan het probleem opgelost worden volgens demethode van backtracking. Deze methode wordt hieronder gevolgd.
Stel Z is de volgende verzameling met arbitraire ordening:
Z - { M, MM, MK, K, KK : M < MM < MK < K < KK J
Stel max is gedefinieerd alsmissionarissen, 3 kannibalen,worden, definieer dan R als devoor geldt:
het aantal toestanden dat uit 32 oevers en 1 boot gevormd kan
begrensde verzameling rijen waar-
R - { X1X:z ... Xn I n t { 0 •• max J /I. V~C Xk E Z J
M.b.v. de ordening in de elementen van Z kan de volgende lexicografische ordening op de elementen van R gedefinieerd worden:- De rij met nul elementen is de kleinste rij.
Als X1X:z .. ,Xk (1 <- k <- max) en Y1Y:Z ... y~ (1 <- j <- max) tweerijen uit R zijn, dan is:
sls:
(X1 < Y1) V (X1 - Y1 /\ X:zX3 ... Xk < Y:ZY3 ... y~)
Volgens deze ordening geldt:De opvolger van rij X1X:z .. ,Xk (0 <- k < max) is de uitgebreiderij X1X:z",XkZ met z het kleinste element van S.De opvolger van de rij X1X:z. "Xm_ M met x m_ H , Xm_H-1",X~+1
gelijk aan het maximale element van Z terwijl X~ hieraan onge-lijk is, is X1X:z ... X~-1t, waarbij t de opvolger is van x~ in deordening van Z.
meteen
dieis
noodzakewat inmaximum
R bestaat uit alle rijen (inclusief de oplossingsrijen) ,o tot max elementen van Z gevormd kunnen worden en Rgeordende superset van V. (V C R)Bewijs uit ongerijmde:Stel de rij X1X:z ... Xm_x-1+k- (k >- 1) voldoet aan C.Er zijn slechts max toestanden, zodat bij uitvoeringlijkerwijs herhaling optreedt van 1 tot k toestandenconflict is met C. Voor de elementen van V geldt dus eenlengte gelijk aan max-1 en dus is R een superset van V.
Volgens het volgende backtrackmechanisme kan van alle rijen uit Rbepaald worden of ze element zijn van U:Controleer in lexicografische volgorde of de rijen uit R elementzijn van V. Bepaal daarbij tevens van iedere rij X1X:z ... X~(0 <~ j <- max) of uitbreiding van de rij met een X~+1 € Z nog
66
,kan leiden tot oplossingen. Als dit niet het geval is kies danals opvolger niet rij X1X2 ... x~z, met z het kleinste element vanZ, maar direkt X1X2. "X~-lt met t de opvolger van X~ in Z en alser geen opvolgers van x~ meer zijn, kies dan als opvolgerX1X2 .. ,x~-2r, met r de opvolger van X~-l in Z, enz.
Of de rij X1X2 ... X~ of zijn uitbreidingen tot een oplossingkunnen leiden kan bepaald worden door te controleren tot welketoestand uitvoering van de rij leidt.Voor elke rij X1X2 ... Xn geldt dat de rij aIleen geselecteerd kanworden, als rij X1X2 .. ,Xn -l al geselecteerd is en door uitbreiding nog kan leiden tot een oplossing. Daarom kan rij X1X2 ... X~aIleen worden geselecteerd als de rijen Xl, X1X2, ... , X1X2 .. ,X~-l
door uitbreiding nog kunnen leiden tot oplossingen. Dp grond vande eindrelatie C moet uitvoering van rij X1X2 ... X~ daarom leidentot een van de volgende 5 mogelijkheden (voor 0 <-j <- max):
1 De rij leidt tot de gewenste eindtoestand, voldoet daarmee aanC, is element van V en verdere uitbreidingen kunnen geen oplossingen meer opleveren (dan zou minstens de eindtoestand herhaald worden).
2 De rij leidt tot een ongeoorloofde toestand waarin missionarissen opgegeten worden. Dit maken verdere uitbreidingen nietmeer ongedaan en die kunnen dus geen oplossing opleveren.
3 De rij leidt tot een herhaling van een toestand. Dit makenverdere uitbreidingen niet meer ongedaan en die kunnen dus geenoplossing opleveren.
~ X~ is niet uitvoerbaar, doordat er onvoldoende missionarissenof kannibalen aanwezig zijn om de combinatie uit te voeren.Verdere uitbreidingen zijn daarom ook niet uitvoerbaar en kunnen dus geen oplossing opleveren.
5 Voldoet de rij niet aan de vorige ~ mogelijkheden dan kan uitbreiding met een X~+l £ Z nog oplossingen opleveren. Controleerdaarom de rijen {X 1X2. "X~X~+l I X~+l€ Z} in lexicografischevolgorde. Aangezien j willekeurig is, kunnen deze rijen opdezelfde wijze gecontroleerd worden.
Een belangrijk aspect in dit backtrackmechanisme is nog hoe degevonden oplossingen kunnen worden samengevoegd tot een list vanoplossingen.Stel dat de oplossingen die ontstaan vanuit de rij X1X2 ... X~worden samengevoegd in een list, dan blijkt uit het bovenstaandedat deze list gelijk is aan:
een list met aIleen de rij voor mogelijkheid 1,- de lege list nil voor mogelijkheid 2,3 en ~,
- de vereniging van de listen van oplossingen welke ontstaan uitde rijen {X1 X2 .. ,X~X~.l I X~+l €Z) voor mogeliJkheid 5.
Omdat dit geldt voor elke j en bovendien elke 11St welke ont-staat uit een rij met J - max geliJk is aan nil, voIgt daaruitdat de totale list van oplossingen gelijk is aan de list welkeontstaat uit j - 0, ofweI de lege rij.
67
A.5.3. Implementatie.
A.5.3.1. Toestandsbesch~iJving:
De taestand waartae een rij leidt, is aIleen afhankelijk van hetaantal missianarissen en kannibalen ap beide aevers na uitvaeringvan die rij. Bavendien zijn het aantal missianarissen enkannibalen ap de twee aevers gerelateerd valgens:
missianarissen(ene aever) kannibalen(ene aever)
3 - missianarissen(andere oever)3 kannibalen(andere oever)
De taestand kan daaram beschreven warden m.b.v. de lagischevariabele "end" en de twee numerieke variabelen "mis" en "kan",waarbij de eerste variabele aangeeft ap welke aever de baat ligt(nil vaar de aever van de begintaestand, anders t) en waarbij deandere twee aangeven haeveel missianarissen en kannibalen zich apdie aever bevinden.De taestand na uitbreiding van een rij met X~+1 kan bepaald warden daar deze avertacht uit te vaeren vanuit de taestand die bereikt is na uitvaering van de rij zelf. Daarbij gaat de baat naarde andere aever dus na de avertacht maeten de mis en kan vaar deandere aever bepaald warden, daarvaar zargen de valgende functies
newmis:
newkan:
LA x N -) N
LA x N -) N
newmis (z aldmis) - de nieuwe mis nauitvaering van avertacht z vanuit deaude taestand mis - aldmis. (z € 2).
newkan (z aldkan) - de nieuwe kan nauitvaering van avertacht z vanuit deaude taestand kan - aldkan. (z € 2).
define (((newmis (lambda (z aldmis)(cand ((equal z (quate M)) (inv (subl oldmis)))
((equal z (quate MM)) (inv (subl (subl aldmis):((equal z (quate MK)) (inv (subl aldmis)))(t (inv aldmis))
) ))
(newkan (lambda (z oldkan)(cand ((equal z (quate K)) (inv (subl aldkan)))
((equal z (quate KK)) (inv (subl (subl aldkan))((equal z (quate MK)) (inv (subl aldkan)))(t (inv aldkan))
))) ))
inv kan warden gedefinieerd als:
define (((inv (lambda (x)
(difference 3 x)) ) ) )
waarin de valgende standaard-functie is gebruikt:
difference (x y) N x N -) N
68
is x - y
Bij elke overtocht moet ook nog de variabele "end" geinverteerdworden, dat kan met de volgende functie:
invert: {t,nil} -) {t,nil} invert (x) - nil als x is t anders t.
define (((invert (lambda (x)(cond (x nil) (t t)
))) ))
~.S.3.2. BeschrlJvlng van rlJen:
Rijen worden gerepresenteerd door lists van symbol en uit Z, alsde uitbreiding van een rij bepaald moet worden zou de list aan derechterzijde uitgebreid moeten worden. Dat is echter niet zomaarmogelijk, doordat een list slechts een andere representatie isvoor een aantal geneste punt-paren.Het is eenvoudiger om de list aan de voorzijde uit te breiden metde functie cons en de list te inverteren met de eerder gedefinieerde functie inverse als het een oplossing blijkt te zijn.Daarom wordt de geselecteerde rij X1X2 .•. X~ gerepresenteerd doorde list (x~ ... X2 X1), totdat de rij een oplossing blijkt te zijn.De geselecteerde rij wordt beschreven met de variabele seq, welkeinitieel gelijk is aan nil voor de lege rij.
A.S.3.3. BeschriJving van hulpfuncties:
Als de rij X1X2 •.• X~ (0 <- j <- max) gecontroleerd moet worden,dan moet worden bepaald tot welke van de 5 mogelijke gevallen derij leidt. De volgende ~ hulpfuncties controleren de eerste ~
mogelijkheden. De 5e mogelijkheid voIgt uit de ontkenning van deeerste vier en vereist daarom geen hulp-functie.In de hulp-functies worden twee standaard-functie~gebruikt:
and (x y) {t,nil} x {t,nil} -) {t,nil}or (x y) {t,nil} x {t,nil} -) {t,nil}
1 Controle op de elndtoestand:
is t als xII. y anders nil.is t als x V y anders nil.
final: {t, nil} x N x N-) {t, nil}
final (end mis kan) - t als de rijtot de eindtoestand leidt anders nil.
Voor de begin- en eindtoestand geldt dat mis = kan = 3, voor debegintoestand is end - nil, en voor de eindtoestand is end - t.final kan daarom als voIgt geimplementeerd worden:
define (((final (lambda (end mis kan)(and end (and (equal mis 3) (equal kan 3)))
))) )
2 Controle op een ongeoorloofde toestand:
illegal: N x N -) {t, nil} illegal (mis kan) - t als de rij toteen ongeoorloofde toestand leidt,anders nil.
69
In aIle toestanden waarvoor geldt dat mis - kan, tenzij mis - 0of mis - 3 overtreft op geen van beide oevers het aantal kannibalen het aantal missionarissen. Voor aIle andere toestanden isdit weI het geval.
Bewijs uit het ongerijmde:Stel er is een mis <> kan met mis <> 0 en mis <> 3, waarbij geenmissionarissen verslonden kunnen worden.Omdat mis <> 0 moet mis > kan zijn anders worden op de oever waarde boot ligt missionarissen verslonden, maar dan geldt op deandere oever: 3 - mis < 3 - kan ofwe 1 daar worden missionarissenopgegeten, want 3 - mis <> 0 omdat mis <> 3. Dit is in strijdmet de veronderstelling, dus de veronderstelling is onjuist. HIB.
define (((illegal (lambda (mis kan)(cond ((or (equal mis kan)
(or (equal mis 0) (equal mis 3))) nil)(t t)
))) ) )
3 Cont~ole op he~haling van toestanden:
Om te kunnen controleren welke toestandenworden tijdens de generatie van de rij ingepasseerde combinaties van "end", "mis"Hierbij wordt de functie list gebruikt.
een rij doorloopt,de list "states" deen "kan" genoteerd.
list: S x S x S -> S list (x Y z) - de list van x y en z.
define (((list (lambda (x y z)(cons x (cons y (cons z nil)))
))) )
Een toestand t.g.v. een rij hoeft pas onthouden te worden als derij wordt uitgebreid. Om te controleren of een toestand al gepasseerd is wordt de eerder gedefinieerde functie member gebruikt.
~ Controle op uitvoerbaarheid:
impossible: N x N -> {t, nil} impossible (mis kan) - t als derij onuitvoerbaar is anders nil."
De functies newmis en newkan maken mis en kan gelijk aan ~ of 5,als de oude mis en/of kan te klein zijn om een combinatie uit tevoeren. (Ie klein aan een kant betekent achteraf te groot aan deandere kant!) Daarom kunnen ook deze combinaties achteraf gecontroleerd worden. Impossible kan dus als voIgt geimplementeerdworden:
define (((impossible (lambda (mis kan)(cond ((and (lessp mis ~) (lessp kan ~)) nil)
(t t)))) ) )
70
A.S.3.~. Controlefunctie:
Als van de rij X1X2 ..• X~ (0 <- j <- max) bepaald is tot welke vande 5 mogelijkheden de rij leidt, moet de list van oplossingen dieuit de rij ontstaat nog bepaald worden. De volgende functiecontroleert de rij en bepaalt deze list van oplossingen.
solutions: L x {t, nil) xN x N x L -) L
solutions (seq end mis kan states) de list van oplossingen die ontstaatuit rij seq.
De list van oplossingen omvat als mogelijkheid:1 de list met aIleen de rij zelf: ((x 1 X2 ... x~))2 de lege list, nil.3 nil'f nil5 de vereniging van de lists van oplossingen die ontstaan uit de
rijen {X1X2 •.. X~X_i+1 I X~+1 E:" 2).Solutions controleert de rij met behulp van de 'f hulpfuncties enbepaalt daarbij de bijbehorende list van oplossingen. Om devereniging van de lists van oplossingen van de uitbreidingen tebepalen, maakt de functie gebruik van de functie extendseq,waarvan de argumenten volgen uit zijn definitie hieronder!
define (((solutions(lambda (seq end mis kan states)
(cond ((final end mis kan) (cons (reverse seq) nil))((illegal mis kan) nil)((member (list end mis kan) states) nil)((impossible mis kan) nil)(t (extendseq (quote (M MM MK KKK))
seq end mis kan states))))) ) )
A.S.3.S. Uitbreidingsfunctie:
De volgende functie bepaalt de vereniging van de lists vanoplossingen die ontstaan uit de rijen {X1X2 .•. X~XJ+1 I X~+1€ 2).Deze rijen moeten bovendien in lexicografische volgorde gecontroleerd worden, de elementen X~+1 € 2 moeten daarom vol gens orde-'ning om beurten gesubstitueerd en gecontroleerd worden.
extendseq: L x L X {t, nil)x N x N x L -) L
extendseq(z seq end mis kan states)- de vereniging van de lists vanoplossingen die ontstaan uit deuitbreidingen van de rij seq.
Stel dat voor X~+1 niet de elementen van 2 - {M MM MK KKK), maarde elementen van 2~+1 - {Z1 Z2 ... Zn) gesubstitueerd mogen worden.Als n-O voor 2~+1, dan bevat 2~+1 geen elementen en dus is devereniging leeg, want er zijn geen uitbreidingen mogelijk.Stel nu dat 2~+1 n+1 elementen bevat en dat bekend is hoe devereniging van de lists van oplossingen bepaald kan worden a1s delist 2~+1 slechts n elementen zou bevatten.
71
Voeg dan het eerste element Z1 van 2 J + 1 aan de rij toe en bepaalde list van oplossingen van de nieuwe rij X1X2 ... XJZl met behulpvan de functie solutions.Bepaal vervolgens de vereniging van de lists van oplossingen,welke ontstaat uit de uitbreidingen met XJ+1 € 2 J +1\ZI met nogslechts n elementen en append deze twee lists tot de totale listvan de rij X1X2. "XJ.Initieel moet voor 2J + 1 de totale verzameling 2 ingevuld worden,deze kan door de list 2 - (M MM MK KKK) gerepresenteerd worden.Als deze list als argument-form wordt ingevoerd moet hij gequoteworden, om evaluatie te voorkomen, zie de functie solutions.De onderstaande functie implementeert het voorgaande verhaal.
define (((extendseq(lambda (z seq end mis kan states)
(cond ((null z) nil)(t (append (solutions (cons (car z) seq)
(invert end)(newmis (car z) mis)(newkan (car z) kan)(cons (list end mis kan) states:
(extendseq (cdr z) seq end mis kan states):)))))
De nieuwe rij X1 X2 ... XJZl moet door solutions gecontroleerd worden, daarom vormen de nieuwe seq, end, mis, kan en states deargumenten van solutions maar blijven hun oude waarden voorextendseq gelden.
A.5.3.6. InitiBlisBtie.
Uitgaande van de begintoestand (end - nil, mis - kan - 3) moet delege rij (seq - nil), als eerste gecontroleerd worden. Er zijndan nog geen toestanden gepasseerd (states - nil) daarom kan detotale list van oplossingen verkregen worden door het volgendeLisp-paar in te voeren:
solutions (nil nil 3 3 nil)
A.5.~. VergeliJking met backward chaining.
Het principe van het bovenstaande backtrackalgoritme kan algemeenop dergelijke zoekproblemen worden toegepast.20 ook voor het backward chaining mechanisme. De xJ's bestaandaarbij echter uit (sub)doelen en de verzameling 2 bestaat uit deregels waarmee een bepaald (sub)doel afgeleid kan worden. Dezeverzameling is dus variabel, en moet voor elk (sub)doel apart bepaald worden. De quote-form voor 2 kan daarbij vervangen wordendoor een functie die deze regels in de knowledgebase opzoekt.Verder moeten er onder meer andere controlecriteria bepaald worden, variabelen moeten geunificeerd of geinstantieerd kunnen worden en de inexact reasoning moet verwerkt worden. Een uitgewerktbackward chaining mechanisme in Lisp is te vinden in lit [6J.
72
LISP-syntax.
1. forms:
form: constante : quote-form : variabeleconditionele-form program-form:
functie-toepassing
constante: nummer : "t" "nil" I "(" ")"
variabele: identifier-behalve-t-en-nil
functie-toepassing: "(" functie-expressie {argument-form) ")"
argument-form: form
conditionele-form: "(" "cond" { "(" predicaat resultaat ")" ) ")"
predicaat: form
resultaat: form
program-form: "(" "prog" variabelen-list {statement) ")"
statement: "(" "set" form form ")" : "(" "setq" variabele form ")"label: conditionele-form : "(" "return" form ")"
2. functie-expressies:
functie-expressie: functie-identifier I lambda-expressie
functie-identifier: standaard-functie-identifier :gedefinieerde-functie-identifier
standaa["d-functie-identifie[": "atom""cons"
"numbe["p" I "equal""car" : "cd[" " : "1essp"
gedefinieerde-functie-identifie[": ande["e-identifier-behalve-define
lambda-exp["essie: "(" "lambda" variabelen-list fo["m ")"
va["iabelen-list: "(" {va["iabele) ")"
3. LISP sessies:
LISP-sessie: {LISP-paar)
LISP-paa[": functie-exp["essie "(" {a["gument) ")""define" "(" "(" {functie-definitie) ")" ")"
argument: rep["esentatie-van-LISP-waarde
functie-definitie:"(" nieuwe-functie-identifie[" functie-expressie ")"
73
AFDELING DER ELEKTROTECHNIEKTECHNISCHE HOGESCHOOLEINDHOVENvakgroep meten en regelen
EXPERTSYSTEMEN
DEEL 2Richtlijnen
voorkno~ledge acquisitie
Rik Kerstens
18 augustus 86Verslag van a~studeerwerk.
Onder verantweerdelijkheid van: Pre~. ir. F.J. Kylstra.Onder begeleiding van: Drs. A. Middendorp, Hoogovens.
De a~deling der elektrotechniek van de Technische HogeschoolEindhoven aanvaardt geen verantwoerdelijkheid veer de inheud vanstage- en a~studeerverslagen.
Inhcud
1.1.1.1. 2.1.3.1. If •
2.2.1.3.3.1.3.2.3.3.3.1f.3.5.
If.1f.1.
5.
6.6.1.6.2.6.3.6.1f.
Inleiding
Knowledge acquisitie.Wat is knowledge acquisitie?De noodzaak van een gedegen analyse.De noodzaak van goede interviewtechnieken.Rapid-prototyping versus modeldriven-prototyping.
Modeldriven-prototyping.Een scenario voor modeldriven-prototyping.De verkenningsfase.De verkenningsfase van het storingsdiagnoseproject.De functie van ISOUDe configuratie van ISOUSpecificaties en restricties voor het expertsysteem.De deelnemers.
De verzamelfase.De verzamelfase van het storingsdiagnoseproject.
De identificatiefase.
De modelleringsfase.Inleiding.Terreinafbakening.Kennis over domeinkennis als basis voor het model.De structuur van het functioneel model.
3
IfIf567
99
1012121311f15
1718
19
2020212223
7.7.1.7.1.1.7.2.7.2.1.7.2.1.1.7.2.2.7.2.2.1.7.2.3.7.2.3.1.7.2.1f.7.2.1f.1.7.2.1f.2.7.2.1f.3.7.2.5.7.2.6.7.2.6.1.7.2.7.7.2.7.1.
8.8.1.
Het afleiden van een functioneel model. 28Het onderscheiden van objectklassen. 28Taxonomi voor beeldschermstoringen. 28Het onderscheiden van KC-klassen. 33Het protocol/strategie diagram. 33Korte beschrijving van het protocol. 33Codering van de KC's in een protocol. 37Codering van het beeldschermprotocol. 38Interpretatie van de volgorde van de KC's. 39Interpretatie van het beeldschermprotocol. If0De constructie van het protocol/strategie diagram. 1f1Het diagram van het beeldschermprotocol. 1f1Korte beschrijving van het tweede beeldschermprotocol. 1f3Het diagram van het tweede beeldschermprotocol. 1f3Indicaties over de correctheid van een diagram. 1f5Het samenstellen van een functioneel model. 1f5Het functioneel model voor beeldschermstoringen. 1f6Theoretische overweging. 1f6Uoorbeeld uit de storingsdiagnose. 1f6
De ordeningsfase. 1f8De ordeningsfase voor beeldschermstoringen. 1f9
1
9.9.1.
De implementatiefase. S2Implementatie van een systeem voo~ beeldsche~msto~ingen. S2
Nawoo~d.
Lite~atuu~.
Appendices.
2
S3
51f
5S
Inleiding.
Hoogovens IJmuiden verricht onderzoek naar de betekenis dieexperts~stemen voor Hoogovens kunnen hebben. Hiervoor is een pilotproject opgestart waarin wordt getracht expertise in de storingsdiagnose van een logistiek computers~steem in de experts~steemshell ACQUAINT vast te leggen.Het experts~steem heeft tot doel de ervaring van een gespecialiseerde storingsdienstman ter beschikking te stellen aan onervarenstoringsdienstmensen.
In het kader van mijn afstudeerproject heb ik als knowledgeengineer aan dit project meegewerkt. Mijn hoofdtaak lag in hetonderzoek naar de ontwikkeling van een gestructureerde knowledgeacquisitie methode.Dit verslag geeft een overzicht van de resultaten van ditonderzoek. Deze zijn gebaseerd op:
literatuur. Clanc~ [lJ, Wielinga [2J, Ha~es-Roth [3J enDittmar [~J.
de ervaring van de ontwerper van ACQUAINT, Peter van Lith. VanLith wordt in het project als consultant gebruikt. Aan de handvan de in ontwikkeling zijnde methode heb ik zijn werkwijze geanal~seerd. Dit vormt een integraal onderdeel van de hiernabeschreven methode.eigen exploraties.
Al eerder bij het werken met SAGE [5J en ook tijdens deze opdracht werd ik gesterkt in de overtuiging dat het werken met expertsystemen beter gestructureerd en georganiseerd kan worden.Bij de ontwikkeling van expertsystemen wordt rapid-prototypinggebruikt om snel een ogend resultaat te presenteren. Daarna laathet de knowledge engineer in de steek.Modeldriven-protot~ping biedt voor het modelleren, ordenen enimplementeren van kennis een gestructureerde aanpak. In de literatuur was geen uitgewerkte methode voor modeldriven-prototypingte vinden.Voor een enkel domein dat in de storingsdiagnose naar voren kwamheb ik zo'n methode ontwikkeld en beschreven. De bruikbaarheidvoor andere domeinen zal bij verder onderzoek moeten blijken.
Met dank aan miJn hoogleraren:Prof. ir. F.J. K~lstra
Prof. ir. O. Rademaker
de directie en het personeel van Hoogovens. Met name:Arjan Middendorp, mijn begeleiderHenk vd Vijgh, Jan vd Pluim, Cor Fatels, Henk v Altena, de expertsAnnemiek vd Kru~s voor het uittypen van enkele interviews
De ontwerper van ACQUAINT, Peter van Lith
3
Het identiFicerenDe in de verba IeJecten, feiten,geidentificeerdden. De relaties
1. Knowledge acquistie.
1.1. Wat is knowledge acquisitie?
De expertise van experts is vaak gebaseerd op kennis die formeelin literatuur is vastgelegd. Het volstaat echter niet om aan dehand van die literatuur een expertsysteem te ontwikkelen. In depraktijk blijken experts door hun ervaring C-skennis) aanzienlijkefficienter met kennis om te gaan dan uit literatuur is af teleiden. Formeel vastgelegde kennis kan zelfs onvoldoende grondstof voor een expertsysteem bieden.Om een efficient expertsysteem te ontwikkelen zal Ctevens) kennisaan experts moeten worden ontleend. Experts hebben vaak onvoldoende inzicht in hun kennis en de manier waarop ze deze hanteren om een systeem te ontwikkelen dat hun eigen expertise bevat.De huidige hulpmiddelen als expertsysteemshells zijn ontoereikendom ze daarbij afdoende te assisteren.De knowledge engineer is de schakel tussen de experts en eenexpertsysteem. Het is zijn taak om de domeinkennis van experts teverzamelen, te analyseren en in een expertsysteem vast te leggen,een taak die knowledge acquisitie wordt genoemd.Knowledge acquisitie is een jong vakgebied, waarin de volgendecomplexe functies een fundamentele rol spelen: Zie Wielinga [2]en Hayes-Roth [3J.
Het verzamelen van verbale gegevens:In interviews moeten experts worden gestimuleerd om hun kenniste onthullen. De in literatuur beschreven kennis kan daarbijals grondslag voor de interviews dienen.Uit de interviews rollen verbale gegevens. De kennis in dezegegevens is incompleet en ongestructureerd en kan zelfs onbetrouwbaar en tegenstrijdig zijn.
van kennis in verbale gegevens:gegevens voorkomende kenniselementen als obregels, acties, procedures etc. moeten worden
en van de overige gegevens worden onderscheien het gebruik zijn daarmee nog niet expliciet.
Het interpreteren van verbals gegevens:De relaties en het gebruik van de kenniselementen moeten wordenonderkend. Hiervoor is een diepgaande interpretatie van deverbale gegevens noodzakelijk. Bij deze studie van de verbalegegevens speelt het doel van het te ontwerpen systeem eenbelangrijke rol.
Het Formaliseren van kennis:Er moet een keuze worden gemaakt hoe de domeinkennis zal wordenvastgelegd. Wordt een expertsysteemshell gekozen dan moetenformele regels voor de vertaling van deze kennis naar de modeltaal van de gekozen shell worden bepaald. Kan er geen geschikte shell worden gevonden dan moeten specificaties voor een zelfte ontwerpen systeem worden opgesteld.CEen derde mogelijkheid is het gebruik van "toolkits" als KEEof ART, deze bieden meer vrijheid dan shells!)
Implementat1e van hat expertsysteem:Uiteindelijk moet het expertsysteem worden geimplementeerd. Ditvarieert van een codering van de gevonden kennis in de modeltaal van een shell, tot de implementatie van een compleet systeem.
1.2. De noodzaak van Ben gedegen analyse.
De van experts afkomstige domeinkennis wordt uiteindelijk in deknowledgebase van een expertsysteem gestopt. Het is niet verstandig deze kennis als een grote ongeorganiseerde verzameling regelste beschrijven.Ueel expertsystemen kunnen daar wel inferenties mee doen (zoalshet agenda-based-system ~QU~INT), maar door het gebrek aan organisatie kunnen problemen ontstaan die nijpender worden naarmatede knowledgebase groeit. 20 kunnen ondermeer de volgende problemen ontstaan:
Prestat1eproblemen.De compleetheid en consistentie van de vastgelegde kennis wordtoncontroleerbaar. Het systeem kan daardoor onjuiste conclusiestrekken zonder dat dit kan worden onderkend of verklaard.
Acceptat1eproblemen.De consultaties worden warrig en ongecoordineerd. Het verbandtussen de vragen en de conclusies wordt onduidelijk. Het sys-.teem kan hierdoor als onbruikbaar worden verklaard.
U1tbre1d1ngsproblemen.Het wordt steeds onduidelijker waar uitbreidingen moeten wordengemaakt. Het toevoegen van een simpele regel kan daardoor aleen inconsistentie tot gevolg hebben.
Dnderhoudsproblemen.Uaak moeten anderen dan de initiele ontwerper de knowledgebaseonderhouden. Uoor hen zal het onduidelijk zijn waar aanpassingen moeten worden gemaakt.
Een expertsysteem is geen "Deus ex machina", zo van "Gooi dekennis maar in de knowledgebase en het systeem zorgt wel dat deproblemen efficient worden opgelost". Uan deze "Karel ~ppel"
methode valt niet veel te verwachten.
Met technieken als klasse-overerving en contextindeling kan eenknowledgebase overzichtelijker worden georganiseerd, en kan hetgebruik van de erin opgenomen kennis worden gestuurd. 2ie deel 1.am geen onoverkomelijke prestatie-, acceptatie-, uitbreidings- enonderhoudsproblemen te creeren moeten deze technieken efficientworden gebruikt.Uoor het flexibel en overzichtelijk organiseren van de knowledgebase is een goede grondslag nodig. Een gedegen analyse van de vanexperts afkomstige kennis is dan ook vereist.
5
1.3. De noodzaak van goede interviewtechnieken.
De Knowledge Engineer begint in het algemeen zonder enige kennisvan het probleemdomein. Via interviews kan hij kennis van expertsverzamelen. De in literatuur beschreven kennis kan daarbij alsgrondslag voor de interviews dienen.Het is verstandig om van deze interviews bandopnamen te maken.Tijdens de interactie vormen de gesprekspartners een beeld vanwat er gaande is. Achteraf blijkt dit beeld vaak niet te kloppenof incompleet te zijn. Zonder opnamen kan veel informatie verloLen gaan, waardoor bijstelling wordt bemoeilijkt. Om de interviews te kunnen analyseren moeten woordelijke of samenvattendetranscripties worden gemaakt.Het volstaat dus niet om aantekeningen te maken. Deze zijn echterweI nuttig voor een direkte controle op hetgeen wordt gezegd. Hetgesprek kan dan beter worden gestuurd.
Uit deze interviews rollen verbale gegevens waarin de gewenstekennis is opgenomen. Deze gegevens moeten worden geanalyseerd.Dat is echter niet zo eenvoudig. Temeer omdat de verschafte gegevens vaak incompleet zijn. Dit kan verschillende oorzakenhebben:
Een expert kan een gebrek Ban motivatie hebben.Als hij niet voldoende overtuigd is van het nut van het teontwikkelen systeem zal hij niet altijd bereidwillig meewerkenaan de ontwikkeling ervan.
De verbale vaardigheden van een expert kunnen te gering ziJn.Een expert kan het moeilijk vinden om zijn gedachten onderwoorden te brengen.
Sommige aspecten kunnen moeiliJk te belichten ziJn.Het kan voorkomen dat een expert zich niet dUidelijk bewust isvan hetgeen hij precies doet. Er ontstaan dan beweringen als"Dat doe ik gewoon".
Een expert kan relevante aspecten vergeten op te noemen.Een expert denkt voortdurend, terwijl hij hiervan maar een deelvertelt. Wat de expert als vanzelfsprekend beschouwt zal hijzander dat erom gevraagd wordt uiteraard niet noemen.
H1J kan relevante aspecten 8ls nlet relevant beschouwen.De expert heeft een beeld van wat het systeem moet kunnen. Ditkan onjuist zijn, waardoor hij aspecten ten onrechte als irrelevant kan afdoen.
Er kunnen communicatieproblemen ontstaan.Experts gebruiken vaktermen die voor hen veelzeggend zijn, maarwaaraan de knowledge engineer weinig, geen, of een verkeerdebetekenis hecht.
6
De engineer kan relevante aspecten over het hoofd zien.In het algemeen is de domeinkennis van de knowledge engineeronvoldoende om alle relevante vragen te stellen. Hij kan deexperts ook vervelen met irrelevante of onduidelijke vragen.
Om zoveel mogelijk relevante aspecten te onthullen zijn een goedeverbale vaardigheid van de knowledge engineer en het gebruik vangoede interviewtechnieken vereist.
1.~. Rapid-prototuping versus modeldriven-prototuping.
De voorgaande aspecten verlangen knowledge acquisitiemethodengebaseerd op gedegen interview- en analysetechnieken. Uolledigeuitwerking van de interviewtechnieken valt buiten het kader vandit verslag.
Op grond van analysetechnieken kunnen de volgende twee gangbareknowledge acquisitiemethoden worden onderscheiden:
Rap1d-prototyp1ng:In deze niet zo systematische methode wordt tot implementatieovergegaan voordat de verzamelde kennis grondig is geanalyseerd. Aan de hand van een beperkt aantal interviews wordt minof meer door "trial and error" een prototype gebouwd dat daarnadoor iteratie incrementeel wordt uitgebreid en verfijnd. Degedachte hierachter is dat het bouwen van expertsystemen inherent experimenteel is. 2ie Hayes-Roth [3J.
Modeldriven-prototuping:In deze methode wordt de verzamelde kennis eerst uitvoeriggeanalyseerd en gemodelleerd. Het model dat hieruit volgt dientals functioneel ontwerp voor de knowledgebase.De gevonden kennis wordt aan de hand van dit model georganiseerd en gecodeerd. Uoldoet het prototype dat hierdoor ontstaatniet, dan worden of de regels of het model aangepast. 2ieClancy [lJ en Wielinga [2J.
Voor goed afgebakende probleemdomeinen waarin de kennis niet tecomplex was leverde rapid-prototyping goede systemen op. Bijvoorbeeld MYCIN. Het aantal operationele systemen is echter kleinvergeleken bij het aantal ontwikkelde systemen.In rapid-prototyping voert de knowledge engineer allerlei takensemi-parallel uit. Hij voert oplossingen Cimplementaties) invoordat hij het probleemdomein grondig heeft geanalyseerd. Eventuele bottlenecks zijn daardoor niet of nauwelijks te voorspellenen de kosten en inspanning zijn moeilijk in te schatten.Deze onwetenschappelijk aandoende aanpak kan resulteren in eenondoorzichtige en organisatiearme knowledgebase, met alle prestatie-, acceptatie-, uitbreidings- en onderhoudsproblemen van dien.De vraag lijkt terecht of deze aanpak niet de oorzaak is van hetgeringe aantal operationele systemen dat volgens deze methode1s ontwikkeld. 2ie Wielinga [2J, Hayes-Roth [3J.
7
Of modeldriven-prototyping de oplossing kan bieden zal nog moetenworden aangetoond. Het gebruik is te beperkt om daar een oordeelover te vormen.In Clancy [lJ wordt beschreven dat MYCIN door een gebrekkiggeorganiseerde knowledgebase ongeschikt is voor educatieve doeleinden. Door organisatie van de knowledgebase op basis van een"strategy, structure, support framework" onstond NEOMYCIN dat diegeschiktheid weI blijkt te hebben.In Wielinga [2J worden "interpretatiemodellen" beschreven. Dezezijn gebaseerd op het "strategy, structure, support framework".Zo'n model moet de organisatie van een knowledgebase vereenvoudigen.
Bij de constructie van conventionele programma's is het gemeengoed dat een probleem eerst grondig wordt geanalyseerd voordat erook maar een regel programma wordt geschreven. De oplossingenmoeten uit analyse volgen en niet uit "trial and error". Modelvorming vormt hierin een belangrijke hUlpmiddel. Het ontwikkelenvan modellen in modeldriven-prototyping lijkt dan ook een stap inde goede richting van een gefundeerde aanpak die aan wetenschappelijke normen voldoet en commercieel interessant is.
In het storingsdiagnoseproject is de noodzaak van modelvormingduidelijk naar voren gekomen. Door de complexiteit van de aangeboden informatie bleek modeldriven-prototyping een meer geeigendemethode om voortgang te boeken.
8
2. Modeldriven-prototuping.
Omdat de knowledge engineer het probleemdomein niet kan overzien,hij is immers geen domeinexpert, kan hij niet volstaan met eensimpele one-pass techniek. Het systeem moet geleidelijk wordenopgebouwd, maar wel zodanig dat dit niet steeds tot rigoreuzereorganisaties van tussenresultaten leidt.Dit vereist een goede voorbereiding en een zorgvuldige analyse.Dit kost tijd, vooral in de beginfase. De eerste resultaten kunnen enige tijd op zich laten wachten. De deelnemers en opdrachtgevers moeten daar goed van op de hoogte zijn.Indien mogelijk is het verstandig am met een klein subdomein tebeginnen. De eerste resultaten zijn dan sneller te behalen. Ditkan helpen am de geschiktheid van het domein aan te tonen. Maaroak am demotivering en irritatie van opdrachtgevers en experts tevoorkomen. Expertsystemen zijn tamelijk nieuw. Opdrachtgeversmoeten er veel geld insteken en experts moeten hun kennis beschikbaar stellen, terwijl ze vaak niet echt weten wat ze kunnenverwachten.
2.1. Een scenario veer madaldrlven-pratatuping.
Knowledge acquisitie is gericht op het verzamelen, analyseren envastleggen van heuristische expertise. Het is voor een belangrijkdeel zelf (nag) gebaseerd op heuristische expertise, namelijk vande knowledge engineer.In principe moet knowledge acquisitie kunnen worden gebruikt amde expertise van een knowledge engineer te bestuderen. Uanuit ditpostulaat heb ik Peter van Lith uitvoerig geinterviewd en gadegeslagen in het storingsdiagnoseproject.Een grondige analyse van zijn werkwijze, literatuur [l,2,3,~J eneigen exploraties hebben geleid tot een scenario voor modeldriven-prototyping. Dit scenario bestaat uit suggesties en richtlijnen verdeeld over een aantal iteratieve ontwikkelingsfasen. Debruikbaarheid zal per probleemdomein moeten worden bepaald.In het scenario voor modeldriven-prototyping worden de volgendeontwikkelingsfasen onderscheiden:
1~ vBrkenningsfase
2~ verzamel~ase
3 De identificatiefase
~ De modelleringsfasB
5~ ordeningsfasB
6~ implementatiefase
In de volgende hoofdstukken worden deze ontwikkelingsfasen beschreven. Aan het eind van iedere fase volgt een voorbeeld uithet storingsdiagnoseproject.
9
3. De verkenningsCase.
In de verkenningsfase orienteert de knowledge engineer zich zobreed mogelijk in het probleemdomein. In literatuur en in ongestructureerde interviews verzamelt hij daartoe algemene informatie over de aard van de problemen. In deze ongestructureerdeinterviews laat hij zich leiden door de verhalen van de experts.Hij weet immers nog niet wat belangrijk is.
Literatuur vormt de basis voor deze orientering. Het gaat daarbijvooral om de terminologie van het probleemdomein. Interviewen enhet uitwerken van interviews kost veel tijd, daarom moet wordenvoorkomen dat de expert nodeloos allerlei basisbegrippen moetuitleggen.De te lezen literatuur kan varieren van bedrijfsdocumentatie totgepubliceerd materiaal. De knowledge engineer kan in dit stadiumnog niet goed overzien wat relevant is. Het 15 daarom verstandigom die literatuur op advies van de experts te selecteren.
Heeft de knowledge engineer zich een beeld van het probleemdomeingevormd dan kan hij dit aanvullen in gerichte interviews waarinhij vragen stelt over aspecten waarvan hij vermoedt dat ze belangrijk zijn.
In de verkenningsfase moet de knowledge engineer zich in iedergeval richten op de identificatie van:
het doel van het expertsysteem:De opdrachtgevers bepalen het doel van het expertsysteem. Deknowledge engineer krijgt een opdracht voor de constructie vaneen expertsysteem, bestaande uit een aantal specificaties enrestricties:
Wat moet het systeem kunnen,wie zijn de gebruikers,
- welke tools mogen worden gebruikt,wie mag aan de constructie deelnemen,
- wat mag het kosten,- etc.De knowledge engineer bepaalt hoe dit doel ken worden bereikt.In overleg met de experts bepaalt de knowledge engineer welketaken het systeem daartoe moet kunnen uitvoeren. Vervolgensstelt hij vast of dat mogelijk is, gegeven:- de specificaties en restricties van de opdrachtgevers en- de mogelijkheden van expertsystemen.Zo niet, dan moeten, in overleg met de opdrachtgevers, beperkingen worden gesteld.Dit lijkt triviaal, maar door de nieuwigheid van expertsystemenbeweren knowledge engineers soms dat ze het doel van het systeem moeten bepalen, of proberen opdrachtgevers voor te schrijven hoe dit doel moet worden bereikt. Deze rolverwisseling moetworden uitgesloten.
de gebruikers van het expertsysteem:Om het systeem acceptabel te maken moet het kennisniveau van detoekomstige gebruikers worden bestudeerd. Zal het systeem voor
10
de gebruiker op collega- of assistentniveau opereren. Dan hebben de gebruikers mogelijk aan een half woord genoeg. Of zalhet op specialistniveau opereren. Dan zullen de gebruikersmogelijk veel uitleg verlangen.Naarmate meer uitleg vereist is zal meer achtergrondinformatiemoeten worden verzameld.
da daalnamers an hun rel:De deelnemende experts moet terdege worden verteld wat expertsystemen zijn, wat het doel van het te ontwerpen systeem is, enwat hun rol in de ontwikkeling is.In principe is het mogelijk om het systeem op de domeinkennisvan meerdere experts te baseren. Verschillende mensen hanterenechter verschillende kennis en methoden. Voor de knowledgeengineer die zelf geen expert is kan dit verwarring opleveren.In het algemeen bestaat er een voorkeur om slechts een expertte bestuderen en anderen ter verificatie te gebruiken.Indien veer een enkele expert wordt gekozen zal de knowledgeengineer in overleg met de experts moeten bepalen wie de meestaangewezen expert is. Hierbij kan op de ervaring, de verbalevaardigheden, de beschikbaarheid en de motivatie van de expertsworden gelet.
11
T- en W-hal. Boven inde inname en een voor decontroleert de volgende
3.1. De verkenningsfase van het storingsdiagnoseproJect.
In het storingsdiagnoseproject wordt een expertsysteem ontwikkelddat storingsdienstmensen moet assisteren bij het oplossen vanstoringen aan het systeem ISOV.In de verkenningsfase van dit project is bestudeerd hoe ISOV inelkaar steekt en welke functie het vervult. Hieronder een kortebeschrijving van de resultaten van deze studie.
Opmerking: De onderstaande informatie is afkomstig uit de ISOVgebruikerscursus en de opdracht voor het expertsysteem. Omdat hethier om bedrijfsgegevens gaat is de beschrijving van ISOV algemeen gehouden.
3.2. De Functie van ISOV.
ISOV (Informatie Systeem Opslag en Verzending) is een magazijnbesturingssysteem voor de opslag van rollen, stroken en platenmetaal (colli).Het magazijn beslaat 3 hallen: de 0-,iedere hal rijden twee kranen. Een voorverlading van colli. ISOV bestuurt enactiviteiten in de hallen:
De inname van colli:Blj de inname komen de colli de hal binnen. Ze worden gewogenen door ISOV als "ingenomen" geregistreerd. Aan de hand vaningevoerde of reeds bekende gegevens print ISOV voor aIle collildentiflcatielabels en bepaalt tevens een plaats in het magazljn.Wachtend op transport naar hun plaats, worden de rollen tijdelijk in een opvangvak geplaatst, terwijl de stroken en platenop een afvoerbaan worden geplaatst. De plaats in een opvangvakof op een afvoerbaan wordt door ISOV bepaald.
De opslag van colli:In het opslaggebied worden de colli opgeslagen totdat ze kunnenworden verzonden. Aan de hand van de gegevens over colll steltISOV kraanopdrachten samen. De kraandrijver/ster van de innamekraan brengt ze van een opvangvak of afvoerbaan naar hun plaatsin het opslaggebied.
De verzending van colli:In het verzendingsgebied worden de colli op een transportmiddelgeladen. Dit kan een auto, een Hoogoven-wagon, of een NS-wagonzljn. Deze rijden daarvoor in een auto- of wagon-put.Bij het verladen worden aIle nog niet bekend zijnde gegevensdoor een verzendcoordinator aan ISOV kenbaar gemaakt, zoalsauto- of wagonkenmerk, laadinstructienummer en de plaats waarde auto of wagon geladen moet worden.ISOV zoekt aIle bij een verlading horende colll op en steltkraanopdrachten samen. De kraandrijver/ster van de verladingskraan voert deze opdrachten uit.Tevens print ISOV klantlabels en een verlaadlijst.
12
3.3. De configurBtie van ISOU.
ISOV is een complex compute~systeem. Het bevat 8 compute~s: deISOV-compute~, een f~ontend en 6 k~aancompute~s. De k~aanbood
schappen die ISOV p~oducee~t wo~den via de f~ontend naa~ dek~aancompute~s gezonden. Ve~de~ ope~e~en de k~aancompute~s v~ij
weI onafhankelijk van ISOV.Aan de ISOV-compute~ hangen de volgende componenten, zie fig 1:
Consoleprinter:Via deze p~inte~ kan ISOV wo~den opgesta~t en geboot.
Susteembeeldbuis:De systeembeeldbuis is bedoeld voo~ onde~houdswe~kzaamheden
doo~ de systeembehee~de~.
SysteemliJnprinter:De systeemlijnp~inte~ wo~dt geb~uikt voo~ ala~men en c~ashes
uit applicaties vast te leggen.
Winchesters:De Wincheste~s dienen voo~ het opslaan van gegevens ove~ colli.M.a.w. zo vo~men de database van het systeem.
Diskcontroller:Aan de diskcont~olle~ hangen de systeemdisks.
UDC-controller:De UDC-cont~olle~ ve~zo~gt de 110 van meet- en cont~olesignalen
van en naa~ het magazijn, zoals weegsignalen en senso~signalen.
Multiplexer:De multiplexe~ ve~zo~gt de data-communicatie van en naa~ de inhet magazijn opgestelde te~minals. Deze te~minals bestaan uit:labelp~inte~s, linep~inte~s en I/O-beeldsche~men
Ve~de~ is de ISOV-compute~ via een datanet ve~bonden met ande~e
compute~systemen. Van deze systemen k~ijgt ISOV o~de~post- encollogegevens en het stuu~t gegevens ove~ de inname, opslag enve~ladingen van colli te~ug.
De softwa~e van ISOV wo~dt onde~scheiden in een aantal taken diede inname, opslag en ve~lading van colli ~egelen en cont~ole~en.
Tevens zijn e~ taken voo~ het behee~ van mate~iaal en magazijn envoo~ meldingen, zoals ala~men en ~appo~tage.
13
consolelijnprinter
s!:,Jsteembeeldbuis
I/OS!:,JSbeh
I/O
.-----.Ikranen1
kraancomputers
Winchesters
DiskISOU- ~+-~controller
computer metSbJsteemdisks
takendat
UDCcontroller
multiplexer
meetsignalen
controlesignalen
beeldschermen
printers
labelprinters
I/O
Fig 1, De configuratie van ISOU.
3.~. SpeciFicaties en restricties veer het expertsysteem:
Het ISOU s!:,Jsteem is omvangrijk en complex. De componenten zijnverdeeld over de grote magazijnhallen.De storingsdienst moet in eerste instantie de storingen aan het's!:,Jsteem oplossen. De storingsdienst mag in principe aIleen storingen aan de randapparaten van ISOU oplossen. Hieronder vallende kraans!:,Jstemen en alle sUbs!:,Jstemen die aan de multiplexer enUDC-controller hangen.Met gaat daarbij om aIle componenten vanaf de multiplexer of deUDC-controller tot en met de randapparaten. Ze mogen de componenten aIleen vervangen, niet openen.De overige storingen, zoals problemen met de computer-, metsoftwaretaken of met gegevensstromen moeten door een s!:,Jsteembeheerder of een hardwarespecialist worden opgelost. Dit zijn ledenvan de bedrijfscomputerdienst (BCD).
llf
enen
hebben vaak onvoldoende materieleom storingen aan randapparaten snel
De storingsdienstmensensysteemkennis in huisadequaat op te lossen.Het gevolg is dat deze storingen vaak door de BCD moeten wordenopgelost. De tijd van BCDers is schaars en in principe zijn zealleen overdag aanwezig.'s Avonds draaien ze consignatiedienst, wat wil zeggen dat ze biJeen storing kunnen worden geroepen. Door het gebrek aan kennisvan storingsdienstmensen worden de geconsigneerden vaak onnodiguit hun bed gebeld.
Het expertsysteem moet een hulpmiddel voor de storingsdienstworden. Het moet kunnen aangeven of het gaat om problemen in eenrandapparaat, in de computer, of in de software. Bovendien moethet assisteren bij het oplossen van problemen aan randapparaten.
Als restrictie werd gesteld dat de storingsdienst en dus ook hetsysteem wel softwaretools mag gebruiken waarmee de werking vansysteemfuncties gecontroleerd kunnen worden, maar geen toolswaarmee wijzigingen in de database of in de systeemfunctieskunnen worden aangebracht.
Kraansystemen opereren vrijwel onafhankelijk van de ISDUcomputer.Gezien vanuit ISDU kan een kraansysteem als een intelligenteterminal worden beschouwd. Dmdat de storingdienst de problemenaan kraansystemen meestal zelfstandig kan oplossen is besloten dekraansystemen voorlopig buiten beschouwing te laten.
3.5. De deelneme~s.
Door het ontbreken van schriftelijk materiaal over storingsdiagnose waren we volledig op de experts aangewezen. De ISDUgebruikerscursus verschafte hierover geen bruikbaar materiaal.Door het ontbreken van deze informatie werd de heuristische bronbelangrijker.
Het expertsysteem moet dezelfde storingen kunnen oplossen die eenervaren storingsdienstman kan oplossen. Het zou logisch zijn geweest om een ervaren storingsdienstman te raadplegen. Deze bestand wel maar was in het beginstadium afwezig.
Daarom zijn als experts gebruikt:
de hardwarespecialist Henk van der Uijgh.
- de systeembeheerder Jan van der Pluim.
en in een later stadium ook:
- de ervaren storingsdienstman Cor Fatels.
de hardwarespecialist Henk van Altena.
lS
aanop.Dit
De oorspronkelijk als expert aangewezen specialist van der Vijghgaf te kennen dat hij onvoldoende van de systeemfuncties en software van ISDV af wist terwijl deze kennis belangrijk zou zijn.Na twee gesprekken met hem werd daarom besloten ook de systeembeheerder Jan van der Pluim bij het project te betrekken. Aanvankelijk leek het erop dat van der Pluim voldoende van het systeem afwist om als ervaren storingdienstman te fungeren, maar naderhandgaf hij te kennen onvoldoende van hardware-aspecten op de hoogtete zijn.
De kennis van een ervaren storingsdienstman was blijkbaar eendeelverzameling van de vereniging van de kennis van deze tweeexperts.Daarom werd besloten om met beide experts verder te werken. Ditleverde een complicatie op. Een storingsdienstman mag namelijkmaar een deel van de activiteiten van beide specialisten uitvoereno Voortdurend kwamen er ook andere activiteiten aan de orde,zoals storingen aan de computer en aan de software.Dit is begrijpelijk, maar het bemoeilijkte weI de identificatievan de problemem die de storingsdienst mag oplossen.
8 Uren aan interviews leverden verspreid over 125 bladzijdentranscripties slechts 8 bladzijden aan objecten en regelsDaarvan was slechts een deel relevant voor het project.resultaat is in appendix A weergegeven.In het algemeen kan worden gesteld dat het volledig uittypen vande interviews in deze fase nog geen zin heeft. Korte samenvattingen zijn in dit verband voldoende.
16
~. De verzamel~ase.
In de verzamelfase worden verbale gegevens over het probleemdomein verzameld. Aan de hand van deze gegevens moet in de volgendefase de strategie welke de expert bij het oplossen van problemenvoIgt kunnen worden afgeleid.
Het volstaat niet om de expert aan de hand van voorbeelden uit telaten leggen volgens welke strategie hij te werk gaat. Doordathij erover nadenkt kan hij de strategie verstoren. Bovendien ishet risico groot dat hij aIleen het pad vertelt dat direkt tot deoplossing leidt.Voor hem zijn de zijpaden die hij al nadenkend aftast niet altijdrelevant en hij kan daardoor geneigd zijn ze te verzwijgen. Voorde knowledge engineer kunnen ze echter aanknopingspunten opleveLen voor een diepgaande analyse.
Het is efficienter om de expert problemen daadwerkelijk op telaten lossen en hem daarbij te laten vertellen wat hij denkt. Indeze hBrdop-denk-protocollen moet de engineer de expert stimuleLen te zeggen wat hij denkt, zonder hem te vragen om zijn conclusies te verklaren.Als de knowledge engineer een protocol achteraf bestudeert kanhij om uitleg vragen. Doet hij dit tijdens het oplossen dan kanhij daarmee de strategie verstoren.
Het werken met hardop-denk-protocollen is tijdrovend. Indienmogelijk kan gewerkt worden met problemen die daadwerkelijkoptreden. Meelopen met de expert is dan noodzakelijk. De expertscheelt dat tijd. De problemen moeten toch worden opgelost.Voor weinig voorkomende problemen kan dit meestal niet. In datgeval kan simulatie helpen. Door statistische analyse of inover leg met andere experts kan worden bepaald wat representatievestoringen zijn. Deze kunnen vervolgens worden ingebracht.Het heeft geen zin om het bepalen van wat representatieveproblemen zijn aan de expert over te laten. Hij kan bevooroordeeld zijn. de eigen waarderingsschaal als maatstaf hanteren, enz.
Uit de verbale gegevens die in de hardop-denk-protocollen naarvoren komt moet de knowledge engineer:
in de modelleringsfase een model van de gevolgde strategie ziente distillereni
- in de ordeningsfase de kennis die hij heeft geidentificeerd aande hand van dit model ordeneniin de implementatiefase deze geordende kennis tenslotte coderen.
In deze fasen kan blijken dat er onvoldoende informatie is verzameld. Dan zal met nieuwe interviews meer kennis moeten wordenverzameld. Deze moet dan eveneens worden gemodelleerd, geordenden geimplementeerd.Daarvoor kunnen dan weer hardop-denk-protocollen worden gebruiktmaar dat zal niet altijd nodig zijn. De knowledge engineer heeftinmiddels meer inzicht verkregen. Hij kan nu een gericht interview voorbereiden en aan de hand daarvan te werk gaan.
17
~.1. De ve~zamelfase van het sto~ingsdiagnosep~oJect.
In het storingsdiagnose project was het om praktische redenenenniet mogelijk om een hardop-denk-protocol van een echte storingte maken. Met de systeembeheerder of hardwarespecialist meelopentotdat er een storing aan ISOV zou optreden zou te veel tijdkosten, omdat er te weinig storingen voorkomen. Daarom werdbesloten storingen te introduceren.
Er was een lijst met beschrijvingen van storingen beschikbaar. Delijst was echter van 198~, de begintijd van ISOV. Deze lijst wasdoor Henk van der Uijgh aan de hand van storingsbonnen gemaakt.Op korte termijn konden geen recentere bonnen worden verkregen.Uit de beschrijvingen kon weinig worden afgelezen. De werkwijzebij het oplossen en de oorzaken waren niet of nauwelijks aangegeven.Om enig inzicht te kriJgen in de aard van de storingen heb ik destoringsbeschrijvingen van 198~ op basis van overeenkomstengegroepeerd. Dit gaf een summiere indicatie over de aard van destoringen, zie appendix B. Eigenlijk niet meer dan na de verkenningsfase al bekend was. En onvoldoende om een representatievestoring te identificeren.
Om toch een aantal hardop-denk-protocollen te krijgen werd aan deoorspronkelijke ontwerpers van het systeem gevraagd enkele storingen te introduceren. Gevraagd werd die storingen te kiezenwaarvan ziJ dachten dat ze representatief waren.
Problemen genereren problemen. Door de introductie van een storing aan een beeldscherm ontstond een softwareprobleem dat onmiddellijk werd opgemerkt en werd aangepakt. Het bleek achterafsoftware te betreffen waarmee de storingsdienst zich niet magbemoeien. Pas toen de beeldschermstoring werd onderkend kwamnuttige informatie naar boven.
Het tweede experiment verliep beter. De experts waren nauwkeuriger geinstrueerd aIleen handelingen uit te voeren die de storingsdienst ook mag uitvoeren. In dit experiment werden eenkraan-, een beeldscherm- en een printerstoring opgelost. Alledrieuitvoerbaar door de storingsdienst.
Het resultaat van de experimenten bestond uit:
- een hardop-denk protocol over een softwareprobleem.
twee protocollen over beeldschermproblemen.
- een protocol over een printerprobleem.
een protocol over een kraanprobleem.
Het eerste en laatste protocol betroffen problemen die buiten deopdracht lagen. Dus het werkelijke resultaat bestond uit driehardop-denk-protocollen.
18
5. De ldentlFlcatleFase.
Uit de interviews met de expert rollen verbale gegevens. De indeze verbale gegevens aanwezige kenniselementen moeten wordengeidentificeerd. Daarbij kunnen de volgende twee elementairegroepen van kenniselementen worden onderscheiden:
ObJecten.De objecten beschrijven wat de expert reeds weet, welke informatiebronnen hij gebruikt en wat hij nog wil afleiden.Onder de objecten vallen aIle elementen, zoals woorden, combinaties van woorden, begrippen, vaktermen, locaties, acties,zaken, waarden, variabelen en constanten, waarmee het probleemdomein door de expert wordt beschreven.Merk op dat het begrip object hier in zeer ruime zin wordtgebruikt.
Kennlscomponenten.Kenniscomponenten beschrijven (voorwaardelijke) relaties tussenobjecten. Een expert gebruikt ze am conclusies, adviezen enacties af te leiden.Onder de kenniscomponenten vallen aIle elementen, zoals regels,associaties en procedures, waarmee de expert uit objecten andere objecten afleidt. De term kenniscomponent zal in het vervolg als KC worden afgekort.
De verbale gegevens waarom het draait zijn opgenomen in aantekeningen en transcripties van interviews. Het volstaat niet om dekenniselementen hier uit te lichten en in volgorde van verschijning op te sommen. Om de interpretatie te vergemakkelijken moetende geidentificeerde kenniselementen eenvoudig in de tekst zijnterug te vinden.Hiervoor kan gebruik worden gemaakt van de "gekleurde hagelslag"methode (Een naam die bijna elke passant hieraan meent te moetenverbinden). In deze methode worden met markers:
ObJecten
KC's
OpmerkellJke gebeurtenlssen/opmerkingen
verschillend gekleurd. De elementen zijn daarmee duidelijk teonderscheiden.Het nadeel van deze methode is dat het inkleuren niet ongedaankan worden gemaakt en dat copieen steeds opnieuw moeten wordeningekleurd. Een geavanceerde tekstverwerker en een kleurenprinterkunnen hier wellicht uitkomst bieden. Dan zou het tevens mogeliJkzijn am al tiJdens het uittypen van de interviews kenniselementente identificeren. Het ontbreken van deze laatste mogelijkheidwerd door mijzelf als zeer hinderlijk ervaren.
Uanwege het copieren van dit verslag kan hiervan geen voorbeeldworden gegeven.
19
6. De modelleringsrase.
6.1. Inleiding.
De knowledge engineer zal de kennis die hij aan het licht brengtmoeten organiseren CDe redenen zijn reeds in hoofdstuk 1 genoemd)Hij doet dit door de domeinkennis te modelleren en aan de handvan het ontstane model te ordenen. Het model moet een gestructureerde transformatie van verbale gegevens naar formele kennisstructuren mogelijk maken.
Clancy [1J en Wielinga [2J gebruiken hiervoor respectievelijk het"strategy/structure/support framework" en het "interpretatiemodel". Noch Clancy [1J noch Wielinga [2J geven aan hoe hun framework/model kan worden afgeleid dan weI zinvol bij de ordening vande domeinkennis kan worden gebruikt.Peter van Lith maakte in het storingsdiagnoseproject op heuristische wijze gebruik van een algemeen diagnostisch interpretatiemodel van Wielinga [2J. Interviews hierover verschaften niet meerinzicht dan lit [1,2J. Om vorderingen in het storingsdiagnoseproJect te kunnen boeken was een gedegen inzicht in dergelijkemodelleringstechnieken vereist.
Na overleg ben ik dit gebied daarom zelf gaan exploreren. Ditheeft geleid tot een nieuw model. Het functioneel model.
De geidentificeerde kenniselementen zijn vaak niet compleet. 20bevBtten de KC's niet BltiJd aIle voorwaarden waaronder ze mogenworden gebruikt. Worden KC's uit hun verband gehaald zoals in appC dan kunnen aspecten verloren gaan die tot het gebruik van deKC's hebben geleid. Dit kan tot inconsistenties leiden.
Om deze aspecten te onderkennen moet de knowledge engineerinzicht verkrijgen in de structurele, functionele en strategischeBspecten van de kenniselementen. Met andere woorden hij moetinzicht krijgen in de:
relaties tussen de objecten en KC's.functies die de objecten en KC's in het oplossingsproces vervullen.strategie of het plan vol gens welk de expert de objecten enKC's gebruikt om oplossingen af te leiden.
Om deze aspecten te onderkennen moeten de verbale gegevens wordengeinterpreteerd. De uit hun verband gehaalde KC's van app C zijnhiervoor niet bruikbaar, omdat:
los van het oplossingsproces waarin de KC's zijn gebruikt hunfunctie in het oplossingsproces moeilijk te bepalen is.
- uit een losse verzameling KC's moeilijk een strategie kanworden afgeleid.
Het gebruik van een functioneel model maakt het mogelijk om eenkennisverzameling als in app C te ordenen en op incompleetheid eninconsistenties te onderzoeken.
20
Een functioneel model is een rationele reconstructie van de domeinkennis van een expert en van de manier waarop hij functioneert. In de volgende ontwikkelingsfasen dient het als functioneel ontwerp voor de organisatie van de knowledgebase en van demanier waarop het expertsysteem moet gaan functioneren.
Hieronder wordt verteld:- waarop een functioneel model is gebaseerd,- wat een functioneel model is,
In de volgende hoofdstukken wordt verteld:hoe zo'n model kan worden afgeleid en
- hoe het kan worden gebruikt.
6.2. Terreinafbakening.
Om mijn onderzoek te ondersteunen heb ik eerst gezocht naar eenafgebakend subdomein in het storingsdiagnoseproject waarop ikeventuele ideeen zou kunnen uittesten.In de hardop-denk-protocollen bleek dat de experts zich bij deverschillende storingen steeds concentreerden op een beperkt deelvan het omvangrijke en complexe ISOV-systeem. Leverde dit geenresultaat op dan werd een ander deel onderzocht. Op zich is ditniet verwonderlijk. Verdeel en heers is tenslotte een gebruikelijke praktijk in het oplossen van problemen.Om een subdomein te kunnen afbakenen heb ik naar aanwijzingengezocht die een afbakening rechtvaardigden. Hierbij stootte ikondermeer op de volgende aanwijzingen:
Als er sterretjes op het beeldscherm staan en dit is de enigemonitor die dat heeft en alle beeldbuizen hier staan op dezelfde multiplexer dan is er aan 1 lijn iets stuk.
Als het beeldscherm zwart is dan staat er geen spanning op hetapparaat of het apparaat zelf is stuk.
Als op alle beeldschermen sterretjes staan dan is er eenprobleem met de computer.
Als een scherm vaststaat ga dan eerst na of het hardwarestoringbetreft.
Voor beeldschermstoringen bestonden de meeste aanwijzingen dat zeeen afgebakend subdomein van de storingsdiagnose vormen. Henk vande Vijgh bevestigde dat. Daarom heb ik besloten om beeldschermstoringen als subdomein te kiezen.
Eerst heb ik zoveel mogelijk informatie over beeldschermstoringenverzameld. In gerichte interviews heb ik aan de experts gevraagd:
21
het2ie
Deze
- welke beeldschermstoringen kunnen voorkomen;
- waardoor ze kunnen worden veroorzaakt;
hoe de mogelijke oorzaak van storingen kan worden vastgesteld.
In totaal heb ik 71 KC's over beeldschermstoringen geidentificeerd (in de transcripties gemarkeerd) en onder elkaar opgesomd.2ie app C. Ter identificatie heb ik bij iedere opmerking:- de datum van het gesprek,- de bIz of het bandnummer van een transcriptie,- de spreker en- een beschrijving van de transcriptiegeplaatst om de oorsprong van de opmerkingen terug te kunnenvinden.
Objecten had ik in dit stadium aIleen in de transcripties gemarkeerd.
Uit deze brij van opmerkingen bleek nog duidelijker dat er eengeschikte analysemethode moest worden ontwikkeld. Hoe kan orde inzo'n verzameling worden aangebracht, zonder dat je daarvoor expert hoeft te worden?
6.3. Kennis over domeinkennis als basis voor het model.
20wel Clancy [lJ als Wielinga [2J introduceren een algemeenkennisniveau boven de domeinkennis. Dit kennisnlveau wordt gebruikt om domeinkennis te classificeren, te interpreteren en temodelleren. Beide onderscheiden in dit kennisniveau verschillendesoorten van kennis over domeinkennis.Naar mijn mening zijn deze soorten, vooral van Wielinga [2J, teabstract gesteld om ze te kunnen hanteren. Daarom heb ik devolgende drie gedeeltelijk afwijkende soorten van kennis overdomeinkennis ingevoerd:
Structurele kennis:20wel tussen de objecten als tussen de KC's bestaan relatieszeals "sub/superclass" , "part/whole", "set/subset", "general/specific". Kennis over deze relaties wordt structurele kennisgenoemd, zie Clancy [lJ en Wielinga [2J.Het onderkennen van deze relaties maakt bijvoorbeeldreallseren van inferentie via klasse-overerving mogelijk.deel 1. Ik heb hier verder geen onderzoek naar gedaan.kennis is dan ook niet opgenomen in een functioneel model.
Functionele kennis:Functionele kennis is kennis over de functie van de objecten enKC's. Functionele kennis ontstaat door de kenniselementen opgrond van hun functie in functionele kennisklassen in te delen.De objecten of KC's met een soortgelijke functie moeten daarbij
22
in dezelfde klasse worden ingedeeld.Het onderkennen van deze functies kan worden gebaseerd op dealgemene functies die aan soortgelijke objecten en KC's informeel vastgelegde oplossingsmethoden worden toegeschreven.Het is ook mogelijk dat de expert hiervoor aanwijzingen geeft.De functionele kennisklassen worden opgedeeld in:
Functionele obJectklassen.Dit zijn klassen van objecten die een soortgelijke functie inhet oplossingsproces hebben. Uoorbeelden hiervan zijn: klachten, symptomen, storingen, problemen, oorzaken, therapieen,oplossingen etc.
Functionele KC-klassen.Dit zijn klassen van KC'soplossingsproces hebben.mee de expert: symptomenoorzaken identificeert,activiteiten plant etc.
die een soortgelijke functie in hetUoorbeelden hiervan zijn KC's waarof klachten waarneemt, problemen ofproblemen of oorzaken verifieert,
Welke functionele kennisklassen kunnen worden onderscheiden isdomeinafhankelijk. 20 zullen storingen geen rol spelen in medische diagnose maar wel in storingsdiagnose. Terwijl klachtenin beide een rol kunnen spelen.
Functionele kennis omvat Clancy's [1] support knowledge. Dit iskennis die alleen ter rechtvaardiging van de oplossingsmethodewordt gebruikt. Immers de functie van deze kennis is derechtvaardiging.
Strategische kennis:Strategische kennis ontstaat door de strategie of het plan, datde expert volgt bij het oplossen van problemen, te identificeren en te veralgemeniseren. Dit is pas mogelijk nadat de functionele kennisklassen zijn onderscheiden.Strategische kennis is gelijkwaardig met Clancy's [1] strategicknowledge.
6.1l. De structuur van hat FunctionBel Madel.
Een functioneel model is een rationelemanier waarop een expert problemen oplost.beschrijft:
reconstructie van deEen functioneel model
de deelprocessen/Functies die de expert uitvoert.
de input en output van elk deelproces/functie.
de volgorde ~aarin de expert ze uitvoert.
23
De functionele en strategische kennis vormen de grondslag vooreen functioneel model:
- De functionele KC-klassen moeten specifiek genoeg zijn om deelprocessen/functies in het oplossingsproces te vertegenwoordigen.
- De objectklassen- moeten specifiek genoeg zijn om deoutput-objecten van deze deelprocessen/functies tewoordigen.
input- envertegen-
De strategische kennis bepaalt de volgorde waarin de expertdeelprocessen/functies uitvoert. M.a.w. hoe de functionele KCen objectklassen moeten worden gekoppeld.
Symptomen
1Diagnose
fig 2, een zeer algemeen diagnostisch model.
Parameters
fig 2 geeft een algemeen voorbeeld van een functioneel model.Hierin zijn ~ functionele objectenklassen opgenomen:
Klachten, symptomen, parameters en diagnoses.
Uerder is er slechts een functionele KC-klasse in opgenomen:
Diagnosen stellen.
Een soortgelijke indeling bracht de hardwarespecialist Henk vander Vijgh van zijn activiteiten naar voren. Een dergelijk modelis weI correct, maar biedt geen perspectieven voor meer inzichtin zijn kennis en ook niet voor een georganiseerde knowledgebase.AIle KC's worden in een blok geconcentreerd en dat is juistwaarvoor in hoofdstuk 1 werd gewaarschuuwd. M.a.w. het functionele model moet gedetailleerd genoeg zijn om de KC's logisch enoverzichtelijk in subprocessen te ordenen. Dit betekent dat deKC- en de objectklassen gedetailleerd genoeg moeten zijn.
Om functionele modellen te schetsen heb ik gekozen voor een methode die analoog is aan data-flow-diagrams uit de databasetheo-
rie. Ais voorbeeld toont fig 3 een functioneel model van dediagnose van beeldschermproblemen CDit model zal nog worden afgeleid). Hiervoor gelden de volgende regels:
De deelprocessen/functies worden in ovalen weergegeven. Devolgorde van uitvoering is van boven naar beneden.
De objectklassen worden langs de verbindingslijntjes tussen dedeelprocessen weergegeven. Een klasse wordt echter aIleen weergegeven onder het deelproces dat de elementen uit de klasseafleidt.Objecten die in hoger gelegen processen zijn afgeleid kunnenook een rol in lager gelegen processen spelen.
Objectklassen kunnen een externe bron hebben. In die gevallenwordt in een vierkant blokje de bron weergegeven.Een dergelijke klasse wordt weergegeven langs een lijntje vanzijn bron naar het proces waarin de elementen van de klasse eenrol spelen.
2S
gebruikers
klachten
eeldscherm
symptomen
klachtenverifieren
geverifieerdeklachten
storingocaliseren
symptomen
Schaduwscherm
test egevens
storingslocatiehypothesen
problemendentificeren
othesen
probleemhypothesen
oorzakendentificeren
oorzaakhypothesen
oor-zaak
'.
storingoplossen
lOPloss1ng
fig 3, functioneel model van diagnose van beeldscher-mstoringen.
26
De expert leidt uit klachten van gebruikers en de symptomen van het beeldscherm eerst de locatie van de storingaf. Uervolgens identificeert hij een aantal probleemhypothesen en verifieert deze hypothesen met behulp van eenzogenaamd schaduwscherm.Uan de resterende probleemhypothesen identificeert hij demogelijke oorzaken. Hij verifieert deze oorzaakhypothesenen lost tenslotte de storing op.
27
7. Het aFleiden van een Functioneel model.
Uoordat een functioneel model kan worden samengesteld moet eerstnaar functionele object- en KC-klassen worden gezocht.
Welke functionele object- en KC-klassen kunnen worden onderscheiden hangt af van het probleemdomein. Om een globale indruk tekrijgen van de klassen die voorkomen kan worden bepaald tot welkeprobleemcategorie het domein hoort, zie deel 1, bIz 7.ledere categorie kent formeel vastgelegde oplossingsmethoden. Dekennis van de expert is daar oorspronkelijk op gebaseerd. Literatuur kan daarom behulpzaam zijn in het identificeren van functionele kennisklassen. Daarnaast zijn in de verbale gegevens vaakaanwijzingen te vinden voor functionele kennisklassen.
7.1. Het onderscheiden van obJectklassen.
De objectklassen kunnen worden gevonden door een taxenomie vanaIle geidentificeerde objecten te maken. Een taxonomie is eenclassificatie van aIle objecten. In dit geval op basis van hunfunctie in het oplossingsproces. Hieronder voIgt als voorbeeldeen taxonomie voor beeldschermstoringen:
7.1.1. Taxanamie vear beeldschermsteringen.
In de opmerkingen van app C heb ik aIle objecten gemarkeerd.Daarna heb ik ze opgesomd en op basis van hun functie geclassificeerd. Dit heeft tot de volgende taxonomi geleid:
Systeemcomponenten.Het te ontwikkelen expertsysteem hoeft aIleen storingen aan decomponenten van en naar randapparaten te kunnen oplossen. Uoorterminals wordt het samenstel van componenten van multiplexertot en met randapparaat een "lijn" genoemd. Uoor beeldschermenis zo'n lijn in fig ~ (bIz 32) schematisch weergegeven.Hieronder worden aIle componenten die met beeldschermstoringente maken hebben opgesomd. Het inspringen van de elementen geeftde structurele verbanden weer:
computer;online lampje;
de ISOU-computer.lampje dat aangeeft of de computer inbedrijf is.
beeldschermtaak; softwaretaak die aIleaanstuurt.
beeldschermen
eneen
WTRmul-
Samenstel van de componenten vannaar een terminal, bestaande uitterminal, een modemkastje, eenprintje, kabels een modemrek en detiplexer.
lijnj
terminal; beeldscherm, labelprinter of printer.
28
beeldschermjregent LfO;regent 100;UT131;
netstekker;toetsenbord;keyboardj
transmit/receivejno-scroll toets;
set-up mode;switches;
bautratejEIA currentloopj
plaatjej
modemkastje;EIA driverj
netstekkerjspanningslampjej
WTR-printjej
modemrekj
multiplexerj
kabelj
connectorj
schaduwscherm;
een terminal.een beeldschermtype, vast toetsenbord.een beeldschermtype, los toetsenbord.een beeldschermtype.netstekker van het beeldscherm.toetsenbord van een terminal.ander woord voor toetsenbord.Ctrl-S/Ctrl-Q.Ctrl-S/Crtl-Q in een toets.set-up mogelijkheid via het toetsenbord.schakelaartjes voor de set-up van eenbeeldscherm.schakelaartje voor bautrate-instelling.schakelaartje voor communicatiesignaal.een plaatje van een softwaretaak.
een modem aan een beeldscherm.onderdeel van een modem.netstekker van een modemkastje.lampje dat aangeeft dat er spanning ophet modemkastje staat.
een modem in het modemrek aan de multiplexer in de ISOU-computer.
rek met WTR-printjes.
de multiplexer van de ISOU-computer.
communicatiekabels tussen systeemelementen. Bijvoorbeeld tussen modemkastjeen terminal of tussen modemkastje enWTR-printje.
verbinding tussen kabels, of tussenkabel en systeemcomponent.
Beeldscherm dat aan elke terminal hardware parallel kan worden geschakeld.Door het schaduwscherm parallel teschakelen aan een gestoorde terminalkan worden geconstateerd of er sprakeis van:- computerproblemen of een probleem met
de multiplexer.- softwareproblemen.- lijnproblemen exclusief de multiple-
xer.
Klachten.Dit zijn uitingen van de gebruikers van het systeem over storingen aan het systeem.De klachten over beeldschermenstoringen wijken nauwelijks afvan de symptomen van deze storingen. 2e worden daarom nietapart vermeld.
29
Symptomen.Een kenmerkend verschijnsel bij een storing aan het systeem:CVaktermen!)
Beeldscherm met sterretjes Casteriks).Beeldscherm met rare tekens/vreemde karakters.Beeldscherm met stippeltjes.Beeldscherm staat vast.Beeldscherm is zwart.Beeldscherm met strepen.Beeldscherm staat te roken.Beeldscherm geeft geen respons.Gewichten komen niet binnen op het scherm.
Indicators.Aanwijzingen in het systeem over de toestand van het systeem:
Spanningslampje op een modemkastje.
Foutmeldlngen.Meldingen van het systeem dat het een onvolkomenheid heeftopgemerkt. Een beeldscherm kan ten gevolge van het crashen vaneen softwaretaak vast komen te staan. Er kan dan een foutmelding op de printer komen. Dit is niet onderzocht omdat hetbuiten de specificaties van het expertsysteem valt.
testgegevens.6egevens afkomstig uit testprocedures. Bij de beeldschermstoringen wordt met het schaduwscherm getest. Op het schaduwschermis de volgende testgegevens waar te nemen:
schaduwscherm werkt goed.schaduwscherm met sterretjes.schaduwscherm staat vast.schaduwschermgeeft geen respons.
Locaties.Afgebakende fysieke of functionele onderdelen van het systeemwaarop de expert zich bij storingen concentreert:
lijnjcomputer;software;
Problemen/Storingen.Algemene bronnen waardoor storingen kunnen worden veroorzaakt.De woorden storing en probleem worden door elkaar gebruikt:
computerprobleemjsoftwareprobleemj
lijnprobleemjmultiplexerprobleemj
storingen in de computerhardware.storingen t.g.v. softwarefouten en database-inconsistenties.storingen in een lijn.storing in de multiplexer.
30
Oorzaken:Specifieke bronnen waardoor storingen kunnen worden veroorzaakt:
netstekker van beeldscherm is los.kabel van modemkastje naar beeldscherm is los.kabel van modemkastje naar beeldscherm is defekt.beeldscherm is defekt.switches zijn verkeerd ingesteld.toetsenbord is defekt.toetsenbord is los.netstekker van modemkastje is los.modemkastje is defekt.WTR-printje is defekt.WTR-printje is verplaatst.kabel van WTR-printje naar modemkastje is los.kabel van WTR-printje naar modemkastje is defekt.
31
multiplexer
Imodemrek -- WTR-printje -7 1- schaduwscherm
IWTR-printje
Iconnector
kabel
connector
Ikabel
Ispanningslampje ---- modemkastje ---- kabel ---- netstekker
Ikabel
connector
switches ---- beeldscherm ---- kabel ---- netstekker
toetsenbord
Fig ~, schematische voorstelling van een lijn.Het schaduwscherm zit aan een identieke lijn als de andereschermen. Dit scherm kan door verdraaiing van een duimwielschakelaar op de multiplexer parallel aan een anderscherm worden geschakeld.In principe moet op beide schermen hetzelfde beeld te zienzijn. Is er een storing in de lijn naar een scherm dankunnen de beelden verschillen.
32
te vinden kunnen de KC's in een taxonomie wordenDaarvoor moeten de KC's op basis van hun functie
Dat is echter niet zo eenvoudig als voor objec-
de verzendcoordinator, aan het eind van hetsterretjes. Op het moment dat de klacht
bij de computer in het midden van het maga-
7.2. Net onderscheiden van KC-klassen.
Om de KC-klassengeclassificeerd.worden geordend.ten.Een functioneel model is bedoeld om de KC's makkeIijker te kunnenordenen, maar een functioneel model kan pas worden geconstrueerdals de functionele KC-klassen bekend zijn.Dit is een kip-en-ei dilemma. Wat moet er nu eerst gebeuren?
Om dit probleem te omzeilen heb ik naar een andere methode voorhet onderkennen van KC-klassen gezocht. Deze heb ik gevonden inhet protocol/strategie diagram. Dit diagram is geinspireerd dooreen diagram uit een handboek van de socio-linguistiek, zieDittmar [~J, bIz 305.
7.2.1. Het protocol/strategie diagram.
Een protocol/strategie diagram wordt ontwikkeld op basis van eenhardop-denk-protocol. Uit het diagram kunnen KC-klassen wordenafgeleid en tevens blijkt uit het diagram welke strategie deexpert tijdens het protocol heeft gevolgd.Door meerdere diagrammen van verschillende protocol len te vergeIijken kan een functioneel model worden afgeleid.
Een protocol/strategie diagram wordt in drie stappen ontwikkeld:
Codering van de KC's in een protocol.
- Interpretatie van de volgorde van de KC's.
Constructie van een protocol/strategie diagram.
Op de volgende bladzijden is een protocol opgenomen van een gesimuleerde beeldschermstoring. Aan de hand van dit protocol zal deafleiding van een protocol/strategie diagram worden toegelicht.
7.2.1.1. Korte beschriJving van het protocol.
Een beeldscherm bijmagazijn, vertoontbinnenkomt zijn wezijn.Uanwege de afstand wordt de klacht niet geverifieerd. De expertsJan van der Pluim CE1) en Henk van der Uijgh CE2) besluiten omeerst het schaduwscherm parallel te schakelen. Dit blijkt alparallel te staan en vertoont een normaal beeld. Hieruit wordtgeconcludeerd dat er een lijnprobleem Cexcl. multiplexer) is.De mogelijke oorzaken worden genoemd en vervolgens geverifieerd.Daarvoor moeten we naar de verzendcoordinator. Uiteindelijk moeten we weer terug naar de computer waar een WTR-printje Cmodem)blijkt te zijn verplaatst.
33
Hoogovens - storingsdiagnose - 28-5-86 - Beeldscherm heeft sterretjes______________________________________________________---------------------- 1
[We zijn in de computerruimteJ
303 E1.Ik heb geen idee? Ik zal eerst eens gaan overleggen.[Belt met VCJScherm 8 gruisjes. Dat is interessant. Er zijn blijkbaar twee storingen geweest: BUFMoN crashte en scherm8 ligt er uit. Ik heb het buffervak nagekeken. Daarblijkt niets mee aan de hand te zijn. Waarom BUFMONcrasht dat weet ik op dit moment nog niet. Maar omdatBUFMoN niet meer crasht, ligt het voor de hand om tegaan kijken wat er met scherm 8 aan de hand kan zijn.
314 E1.Eerst maar een deze display parallel zetten met scherm8. Dat staat hij volgens mij al. Hij staat op 7, maardat is een kwestie van telling:7 hier beneden betekent 8 daar. We kunnen hier nogsteeds werken. WeI ligt het voor de hand dat het geensoftware is. 8 staat hardware parallel aan deze terminal. Deze terminal draait. 8 doet het niet.Konklusie: software werkt, hardware werkt niet. Dus ikdraag het hierbij over aan
327 E2.Bekijk het even.
[Lopen naar de VC naar het beeldscherm met sterretjesJ
KW
PV
1-KW-10
2-PV-20
347 E2.Dit is hem. Als er sterretjes op het beeld staan endit is de enige monitor die dat heeft en aIle beeldbuizen hier staan op dezelfde multiplexer (groep 0 tim7 zoals we zagen in de computerruimte) dan betekentdat er aan 1 lijn iets stuk is.De multiplexer is goed.Dat kan aIleen:- in de modem daar ter plekke zijn,- de modem hier of- de terminal zelf. In dit geval is het niet het ter-
minal zelf wegens de sterretjes op het beeld.Dat wil zeggen dat er een open lijn is. Dus hetkan aIleen maar:- een stekker zijn die er uit ligt,- modem kan defekt zijn daar of- de modem hier of er moet
een kabelbreuk zijn. Dat neem ik niet aan want anders moet ik in het beton gaan .••
SLt 3-SL-15PI. 4-PI-17
01 5-01-3001 6-01-40
PIt 7-PI-18
01 8-01-5001. 9-01-3001. 10-01-4001 11-01-60
357 E2.Ik inspekteer of de stekker er op zit. Die zit er hierweI in. Ik kijk of de stekker van de modem er inzitdoor het volgen van draden. Het kan de modem zijn.
377 E2.Ik vermoed dus het modem. Het modem is stuk of hijmaakt geen kontakt. De kabel verdenk ik niet, want datgaat niet altijd en dan moet ik echt gaan schroeven en
34
oV
oV
12-oV-70
13-01-40
14-oV-80
gaan kijken of er ergens een kontakt loszit. Dus ikwil even weten of het modem goed is. Die kan ik testendoor hem tussen een andere terminal te zetten.[SleutelenJ
385 E2.Het zou de modem kunnen zijn. Ik haal even een modemkastje en wissel hem even om. Ik ga er nu even vanuitdat er geen reserve is en dat die man denkt: ik moethet zeker weten.
390 E2.Het werkt. Het modem is dus goed.
413 E2.In normale situaties had hij ook geen modem bij zichgehad, had hij het ook niet even opgehaald, maar hadhij die twee omgestoken. Dan even gekeken: ja, diedoet het. Dan is het dus ergens anders.
430 E2.Het probleem blijft.kijk nou even naar schakelaartjes of toevallig nietiemand ze omgezet heeft. Dat is ook een mogelijkheid.De Baudrate die is goed: 9600 Baud. EIA en current op.Switches 5 en 6 is 0 1. Is 0 rs232 is EIA. Dat is dusgoed. Het zal dus vermoedelijk zijn de modem aan deandere kant.
OV
OV
OV
15-0V-90
16-0V-100
17-0V-11018-01-65
19-0V-120
450 E2.Het parallelbedrijf van een terminal op de multiplexergaat via een andere modem als de modems die het bedrijf, het veld ingaan. Het EIA-signaal van de multiplexer wordt omgezet via een modem naar de terminalsin de fabriek. Maar het andere modem-interface, hetprintje dat erin zit, zorgt voor het parallel-bedrijf.Dus de multiplexer zelf, het kanaal is goed tot en metde RS232 interface. En als er dan een modem achterzit,is het een ander printje dan we nu hebben. Dan is hetdus mogelijk dat hij het daar weI doet en zou hij hetzelf niet doen.lou het dezelfde modem zijn, zou ik parallel gaanzitten op het PTT-signaal dan zou ie boven ook foutgaan. Dus die splitsing zit net daarvoor.
467 E2.Dat terminal boven is ook met een modem verbonden. Ookvoor die korte afstand.
468 V. lijn het echte modems of nul-modems?
E2.Het zijn basement-drivers, simpele modems.
PV+ 20-PV-25
474 E2.Wij kijken in het rek zelf.Dan staat in de lijst op welknator zit.[Geteld: er ontbreekt er eenJ
Normaal is er een lijst.kanaal de verzendcoordi-
OV 21-0V-130
523 V. Dit is natuurlijk een hele rare storing: print ontbreekt.
35
OI~ 22-01-67
546 E2.Die verwarring komt natuurlijk ook voor. Iemand haalter een uit en vervolgens komt z'n kollega erbij en diezegt: hier moet er een in.En die steekt hem in het verkeerde slot. En dan is deverwarring helemaal kompleet. Daarom moet alles gedocumenteerd zijn. Dan kan je controleren of alles opz'n plaats zit. Het verplaatsen van printjes kan eengevolg zijn bij het oplossen van een storing.
[Printje wordt op de juiste plaats gestokenJ
591 E2.[Belt met VCJ
598 E2.Hij doet het. Dus dat was het.
36
so
DC
23-50-140
24-0C-150
7.2.2. Ccde~ing van de KC's in een p~ctccci.
De functie van de KC's in een protocol moet worden geidentificeerd en beschreven. In de functiebeschrijvingen van de KC'skunnen de functionele objectklassen worden opgenomen van de objecten waarop ze betrekking hebben. Hiermee wordt voorkomen datde beschrijving te algemeen wordt.
De functiebeschrijvingen moeten in gecodeerde vorm naast hetprotocol worden geschreven.Stel bijvoorbeeld dat de expert een "Symptoom Waarneemt" , of een"Oorzaak Identificeert" dan kan dat met "SW" respectievelijk"01" worden gecodeerd.
Op KC's kunnen ondermeer de volgende algemene functiebeschrijvingen van toepassing zijn. Object staat voor de naam van eenfunctionele objectklasse:
Object lccalise~en.
De locatie van een object vaststellen. Bijvoorbeeld eenstoring localiseren.
Object ldentlflce~en.
Op basis van de eigenschappenvan het object vaststellen.een oorzaak identif1ceren.
van een object de identiteitBijvoorbeeld een probleem of
Object ve~iFie~en.
De juistheid van een object onderzoeken. Bijvoorbeeld vaneen probleemhypothese of een oorzaakhypothese.
Object classlflce~en.
Het object op basis van zijn eigenschappen in een klasseindelen.
Object speciflceren.Toekomstige eigenschappen van een object bepalen.
Object samenstellen.Een object uit andere objecten samenstellen.
Object aFb~eken.
Een object in subobjecten scheiden.
Object t~ansFc~me~en.
Een object omvormen tot een ander object. Bijvoorbeeldverbale gegevens naar een funct10neel model.
Actlvltelten plannen:Ordenen van toekomst1ge activiteiten op basis van specificaties en restricties.
37
7.2.2.1. Codering van het beeldschermprotocol.
In het beeldschermprotocol was het inkleuren van objecten en KC'sniet mogelijk vanwege het copieren van dit verslag. Uandaar datin het protocol aIleen de codes zijn terug te vinden. In ditstadium zijn aIleen de codes in de linker kolom van belang.Hieronder wordt de betekenis verklaard. Daarbij worden de in hetprotocol voorkomende elementen van de vermelde objectklassengespecificeerd:
Klacht Waarnemen. (KW)De expert neemt een klacht waar.- Het scherm vertoont sterretjes/gruisjes
Storing Localiseren. (SL)De expert bepaalt de mogelijke locatie van een storing. HieruitvoIgt een storingslocatiehypothese.- De lijn
Probleem Identificeren. (PI)De expert identificeert een mogelijk probleem. Hieruit voIgteen probleemhypothese.- Softwareprobleem
Multiplexerprobleem (hardware)Lijnprobleem (hardware)
Oorzaak Identificeren. (01)De expert identificeert een mogelijke oorzaak van een probleem.Hieruit voIgt een oorzaakhypothese.
Een stekker die eruit ligt.Een defekt modemkastje. (aangegeven met: modem daar)Een defekt WTR-printje. (aangegeven met: modem hier)Een kabelbreuk.Uerkeerd ingestelde switches.Een verplaatst WTR-printje.
Probleem Uerifieren. (PU)De expert verifieert een probleemhypothese.
Met het schaduwscherm wordt geverifieerd dat er een lijnprobleem is. De andere problemen worden weerlegd.
Oorzaak Verifieren. (OU)De expert verifieert een oorzaakhypothese.
Het WTR-printje blijkt verplaatst te zijn. De andere oorzakenworden weerlegd.
Storing Oplossen. (SO)Als de expert de oorzaak heeft gevonden lost hij de storing op.- Het WTR-printje wordt op de juiste plaats teruggestoken.
Oplossing Controleren. (DC)Als de expert de storing heeft opgelost controleert hij dat.- Aan de verzendcoordinator wordt gevraagd of het scherm weer
goed is.
38
zien.moge
hadden
7.2.3. Interpretatie van de volgorde van de KC's.
De KC's in een hardop-denk-protocol kunnen in een verkeerdevolgorde staan, ze kunnen onjuist zijn en er kunnen KC's ontbreken. Deze onvolkomenheden moeten worden onderkend.Er zijn verschillende oorzaken waarom protocollen onvolkomenhedenbevatten. Hieronder wordt er een aantal opgesomd. Ieder kan delijst aanvullen. Bij iedere oorzaak zijn de mogelijke gevolgenvoor een expertsysteem aangegeven:
Denk/vertel-verdraaiing.Een expert kan vergeten dat hij moet vertellen wat hij denkten doet. Op aandringen van de knowledge engineer of op eigeninitiatief kan hij niet vertelde aspecten naderhand alsnogvertellen. De KC's die hieruit volgen staan op een verkeerdeplaats in het protocol.• Verdraaiing kan tot merkwaardige en onjuiste consultaties
leiden.
Uergeet/herinner-verdraaiing.Een expert kan mogelijkheden vergeten of over het hoofdIndien hij zich dat naderhand realiseert zal hij dezelijkheden alsnog nagaan. De KC's die hieruit volgeneerder genoemd kunnen worden.• Vergeten is een willekeurig proces. Het kan tot onsystema
tisch gedrag leiden.
Herhaald vertellen.Soms herhaalt de expert wat hij reeds heeft gezegd. Bijvoorbeeld om zijn afleidingen nog eens te controleren, of om zetoe te lichten. Dit leidt tot herhaling van KC's.• Herhaling heeft geen zin. Afgeleid is afgeleid als het maar
goed is afgeleid.
Weglating.Waarom een expert aspect en weglaat is reeds in hoofdstuk 1.3.aan de orde gekomen. Het leidt tot het ontbreken van KC's.• Weglatingen leiden tot onvolledigheid van de knowledgebase
en daarom tot gebreken van het expertsysteem.
Uergissingen.Een expert kan zich vergissen en dingen afleiden die onjuistzijn. Hierdoor ontstaan onjuiste KC's.• Vergissingen kunnen tot inconsistenties in de knowledgebase
en dus tot gebreken van het expertsysteem leiden.
Of er KC's ontbreken of onjuist zijn is moeilijk te bepalen. Deknowledge engineer is immers geen expert. Om te bepalen of hiervan sprake is, is het verstandig om de protocol len met de expertte evalueren. In overleg met de expert kunnen dan eventuele correcties in het protocol worden aangebracht.
Om de strategie die de expert heeft gevolgd te kunnen bepalenmoet de jUiste volgorde van de KC's zo goed mogelijk wordenbenaderd. Daarvoor moe ten de verdraaiingen en herhalingen worden
39
hersteld respectievelijk verwijderd.
De verdraaiingen van KC's kunnen worden gevonden door voor iedereKC vragen te stellen als:
- Moet de expert de KC al eerder hebben "geweten" om de KC's tekunnen gebruiken die hij reeds heeft verteld?
- Is de KC vergeten en herinnert de expert zich de KC?
- Had de expert de KC eerder kunnen gebruiken zonder dat hetprotocol daar wezenlijk door verandert?
De herhalingen van KC's kunnen worden gevonden door bij iedere KCeen vraag te stellen als:
- Uertelt/doet de expert iets wat hij reeds heeft verteld/gedaan?
Wordt voor een KC zo'n vraag met "ja" beantwoord dan moet wordenaangegeven dat de betreffende KC meer naar boven in het protocolthuishoort.
Opmerking: Bovenstaande vragen kwamen bij beeldschermprotocollennaar voren. Het is mogelijk dat in andere domeinen andere of meervragen dienen te worden gesteld.
7.2.3.1. Interpretatie van het beeldschermprotocol.
Door de bovenstaande vragen te stellen bij de KC's in het beeldschermprotocol kwam ik tot de conclusie dat de volgende verdraaiingen in het protocol voorkwamen: (Deze zijn met een pijltjein het protocol weergegeven)
Problemen worden door El met het schaduwscherm geverifieerdvoordat hij vertelt welke problemen hij heeft geidentificeerd.E2 vertelt dat er een multiplexer- of een lijnprobleem kanzijn.
- Het probleem blijkt door E2 in eerste instantie tot de lijn tezijn gelocaliseerd. Uandaar dat er een multiplexer- of eenlijnprobleem (excl. multiplexer) kan zijn. Aan de hand van hetschaduwscherm weet hij dat er een lijnprobleem is.
Er worden mogelijke oorzaken vergeten en later herinnerd.
- Mogelijke oorzaken worden meer malen genoemd. In eerste instantie om ze te identificeren en later om ze te verifieren.Er worden ook oorzaken dubbel geidentificeerd.
Opmerking: de aanwezigheid van twee experts maakt het protocolmoeilijker te interpreteren. 2e hebben duidelijk hun eigen visie.
~o
het diagram van het beeldschermprotocol weergegeven.PU's, OI's en OU's ruim vertegenwoordigd. De aanwePI-. PU-, 01- en OU-klassen lijkt daarmee gerecht-
7.2.~. De constructie van het protocol/strategie diagram.
Om een protocol/strategie diagram te construeren moeten de KC'sin volgorde van verschijning worden genummerd.2ijn de verdraaiingen en herhalingen onderkend dan moeten de KC'sin de "juiste" volgorde worden gerangschikt. Daarna moeten deKC's opnieuw worden genummerd. Nu in rangschikkingsvolgorde.Herhaalde KC's moeten hetzelfde nummer krijgen.Het is verstandig am beide nummeringen bij de KC's naast hetprotocol op te nemen zodat ze makkelijk kunnen worden teruggevonden. In het beeldschermprotocol is dat in de 2e kolom gebeurd metlinks van de code de verschijningsnummering en rechts de rangschikkingsnummering.
De jUiste plaats van de KC's kan worden bepaald door de KC's inverschijningsvolgorde te evalueren en door bij iedere KC die naarboven moet terug te redeneren naar de plaats waar een KC thuishoort.Door de rangschikkingsnummering handig te kiezen kunnen de KC'sgelijktijdig worden gerangschikt en genummerd zander dat ze uithet protocol hoeven te worden gehaald.Door de KC's stapsgewijs te nummeren wordt ervoor gezorgd dat ersteeds KC's kunnen worden tussengevoegd. De stappen moeten daarvoor groat genoeg worden gekozen. De 2e kolom in het beeldschermprotocol is op deze wijze samengesteld.
Het protocol/strategie diagram heeft een protocol-as en een strategie-as. Langs de protocol-as moet de verschijningsnummering enlangs de strategie-as de rangschikkingsnummering worden uitgezet.Het diagram wordt vervolgens geconstrueerd door de KC-codes tegendeze twee nummeringen uit te zetten. 2ie fig 5.
Uan boven naar beneden staat uit in welke volgorde een expert deKC's heeft verteld. Uan links naar rechts staat een Bfspiegelingvan de volgorde waarin hij ze werkelijk heeft gebruikt.
Door de KC-codes op basis van gelijkheid in groepen te verdelenwordt zichtbaar welke functionele KC-klassen de expert heeftgebruikt en in welke volgorde hij ze heeft gebruikt. Deze volgorde is de afspiegeling van de strategie die hij heeft gevolgd.
7.2.~.1. Het diagram van het beeldschermprotocol.
In fig 5 isHierin zijnzigheid vanvaardigd.Het diagram bevat echter maar een KW en een SL. De aanwezigheidvan KW- en SL-klassen is daarmee nauwelijks aangetoond. 2e kunnendoor onjuiste interpretatie van KC's zijn ontstaan. (Uoor KW's isdat minder waarschijnlijk!)
~1
II
+II
+II
+
+
II
+
II
+
II
+
+
+
II
+
+
II
+
+
II
+
+
+
II
+
+
+
+
+
+
II
+
+
+
+
+
+
II
+
+
II
+
+
II
+ +:50 :+ +
:oe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +OV :
+ +
+
+
+
+
+
+
+
+
+ +OV
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +OV
+ + + + +OV
+ + + + +OV
+ + + + +OV
+ + + + +
+
+
+
+
II
+
+
II
+
+
II
+
+
II
+II
II
+
+
+
+ +:OV+ +
+
+II
+II
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+01
+
+
+
+
+
+
+
+
+
+
+
+
+01
+
+
+
+
+
+
+
+01
+
+
+
+
+
+
+
+
+
+
+
+
+01
+
+
+
+
+
+
+
+01
+
+
+01
+
+01
+
+
+
+
+
II
+
+
+
II
+:01+
+
+
+
+ +PV :
+ +
+
+
++
+
+
+
+,I
+
II
+II
\ STRATE61E --)\ --------------------------------------------------------------------------------------
p : \ :10 l15 :17 :18 :20 :25 :30 :40 :50 :60 :65 :67 :70 :80 :90 :100:110:120:130:140:150:R :---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---'o : 1 :KN:: :: : : :T :---+ + + + + + + + + + + + + + + + + + + + +o : 2 : :PV: : :e l---+ + + + + + + + + + + + + + + + + + + + +o : 3; :SL: :l :---+ + + + + + + + + + + + + + + + + + + + +
: 4 : IPI :1---+ + + + + + + + + + + + + + + + + + + + +
v : 5:: : :011--+ + + + + + +: 6 : ::---+ + + + + + +: 7: : : PI ::---+ + + + + + + +: 8: : :l---+ + + + + +: 9 : ::---+ + + + + +:10 ::---+ + + + + + +:11 : ::---+ + + + + + + + +:12 :: ::---+ + + + + + +:13 ::---+:14 ::---+ + + + + + + + + + + + +:15: ::--+ +:16 ::---+ +:17 : ::---+ + + + + + + + + +:18: :: : ::---+ + + + + + + + + +:19: :: ::---+ + + + +:20: ::---+ + + + +:21::---+ + + + + + + + + + +:22 ::---+ + + + + + + + + + +:23::---+ + + + + + + + + + + + + + + + + + +:24 ::---------------------------------------------------------------------------------------
Beeldscher. let sterretjes
Fig 5, Protocol versus Strategie.
KWSLPIPV01OVSOOC
= Klacht= Storing= Probleem= Probleem= Oorzaak= Oorzaak= Storing= Oplossing
WaarnemenLocaliserenIdentificerenVerifierenIdentificerenVerifierenOplossenControleren
42
Uit het diagram blijkt dat de experts de volgende strategiehebben gevolgd:
een klacht waarnemen,- de storing localiseren,
problemen identificeren,- problemen verifieren,
oorzaken identificeren,oorzaken verifieren,de storing oplossen,en de oplossing controleren.
Deze strategie is slechts op een storing gebaseerd en hoeft nietzonder meer op elk probleem van toepassing te zijn. Daarom heb ikook het tweede beeldschermprotocol geanalyseerd.
7.2.~.2. Korte beschriJving van het tweede beeldschermprotocol.
In app D is een beeldschermprotocol van een dubbele storingopgenomen. In eerste instantie is het beeldscherm zwart. Dezestoring wordt snel verholpen. De netstekker van het beeldschermblijkt los te liggen. Deze wordt in het stopkontakt gestoken.Daarna verschijnen er puntjes op het scherm. Hiervan blijkt denetstekker van een modemkastje de oorzaak te zijn. ~ls de stekkerin het stopkontakt is gestoken is de storing verholpen.
7.2.~.3. Het diagram yan het tweede beeldschermprotocol.
In fig 6 is het diagram van deze storing getekend. Omdat hetduidelijk om twee storingen ging is de tweede reeks van oorzaakidentificaties en verificaties niet onder de eerste geplaatst.Uit het diagram blijkt dat de experts in de eerste helft van dediagnose de volgende strategie hebben gevolgd:
een klacht waarnemenjde klacht verifierenjoorzaken identificerenjoorzaken verifierenjde storing oplossenjde oplossing controlerenj
Dit leek me een onwaarschijnlijk verloop. Er worden oorzakengeidentificeerd zonder dat er een probleem is geidentificeerd.Bij navraag bleek dat de eerste storing maar twee oorzaken konhebben. Bij het noemen van de oorzaken werd het probleem impliciet ook gelocaliseerd en geidentificeerd.
In het tweede deel van deze storing werd de volgende strategiegevolgd:
- symptoom waarnemenjoorzaken identificerenjoorzaken verifierenjde storing oplossenjde oplossing controlerenj
+
+
+II
+,,
+
+
+I,
+,,+
+
,I
+I,+,I
+
+
I,+I,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
,I
+,,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+01
+
+
+I,
+II
+,,
+
+
,,+101+
+
+II
++
+
+
+
+01
+
+:01+
\ STRATE61E --)\ -------------------------------------------------------------------------------
p : \ :10 :20 :30 :40 :50 :60 :70 :80 :90 ::95 :100:110:115:117:120:130:140:150:160:R :---+---+---+---+---+---+---+---+---+---"---+---+---+---+---+---+---+---+---+---'o : 1 :KN ; :::: : ::T :---+ + + + + + + + + + + + + + + + + +o : 2: :KV I: : :C :---+ + + + + + + + + + + + + + + + + +o : 3: : KV : :: :L :---+ + + + + + + + + + + + + + + + + +
: 4 : KV : ::---+ + + + + + + + + + + + + + + + + +
v I 5 : KV : : ::---+ + + + + + + + + + + + + + + + + +: 6 :KW : :: ::---+ + + + + + + + + + + + + + + + + +: 7 : KV:: ::---+ + + + + + + + +: 8:: KV:---+ + + + +: 9 ::---+ + + + +:10: ::---+ + + + + +:11 : :011---+ + + + + + + + +:12 : : ISO ::---+ + + + + + + + +:13 I : I :oe1---+ + + + + + + + +:14: I :: ::---+ + + + + + + + +:15 : : :1---+ + + + + + + + + +:16: : : :01:---+ + + + + + + + + + + + + + + + + +:l7 : : SW : ::---+ + + + + + + + + + + + + + + + + +:18: : :::: :OV: ::---+ + + + + + + + + + + + + + + + + +:19 : : : 01: ::---+ + + + + + + + + + + + + + + + + +120: : :::: OV::---+ + + + + + + + + + + + + + + + + +:21: I I : 01 : :::---+ + + + + + + + + + + + + + + + + +:22: : :: : : OV:::---+ + + + + + + + + + + + + + + + + +123 : :: : 01 :1---+ + + + + + + + + + + + + + + + + +:24 : : 101 ::---+ + + + + + + + + + + + + + + + + +:25 : :: 101 : ::---+ + + + + + + + + + + + + + + + + +126 : ISO ::---+ + + + + + + + + + + + + + + + + +:27: : :: : 10C:--------------------------------------- .. ---------------------------------------:: Beeldscherl is zwart :: Beeldscherl heeft puntjes--------------------------------------------------------------------------------
Fig 6~ Protocol versus Strategie.
KWKV01OVSODC
= Klacht= Klacht= Oorzaak= Oorzaak= Storing= Oplossing
WaarnemenVerifieren1dentificerenVerifierenOplossenControleren
44
Het stippeltjes-symptoom bleek achteraf zowel door een softwareals door een lijnprobleem te kunnen worden veroorzaakt. Om loopwerk te voorkomen hadden de experts direkt de mogelijke oorzakenin de lijn onderzocht. Met het schaduwscherm hadden ze kunnenverifieren of er inderdaad een lijnprobleem was.
1.2.5. Indicaties over de correctheid van een diagram.
De KC-codes moeten globaal langs de diagonaal van het protocol/strategie diagram liggen. De diagonaal is onder meer een graadmeter voor:
De systemat1ek 1n de strateg1e van de expert.Indien de expert conclusies trekt zonder een probleem grondigte analyseren kunnen probleem-/oorzaak-identificaties en -verificaties om en om verschijnen. De diagonaal wordt dan diffuus.Dit gebeurt 1n de tweede helft van het tweede protocol. Deexperts bleken oorzaken te onderzoeken die niet mogelijk zijn.
niet aangeeft zullen zealsnog moet gebruiken. Ookband ontstaan.
De protocol-vaardigheid van de expert.De expert moet zijn overwegingen kenbaar maken envoor een zoekrichtig de alternatieven aangeven.engineer kan hem daarbij stimuleren.Indien de expert de alternatievenverschijnen op het moment dat hij zehierdoor kan een brede, onduidelijke
bij een keuzeDe knowledge
De Juistheid van de interpretat1e en rangschikking.Indien KC's ver van de diagonaal afwijken is er sprake van eenverlate verklaring of een foutieve interpretatie cq. rangschikking. Zo komt er in het eerste protocol een verlate verklaringvan een PU voor.
7.2.6. Hat samenstellen van Ben funct10neel model.
U1t een protocol/strategie diagram van een protocol kunnen KCklassen worden afgeleid en tevens blijkt uit zo'n diagram welkestrategie de expert in het protocol heeft gevolgd.Deze KC-klassen en de strategie hoeven niet zonder meer op elkprobleem van toepassing te zijn. Een functioneel model kan daaromniet op een enkel diagram worden gebaseerd.
Door meerdere diagrammen van verschillende protocol len te vergelijken kunnen meer KC-klassen worden onderkend en kan naar eenterugkerend patroon in de strategie worden gezocht. Dit patroonkan worden gegeneraliseerd tot een algemene strategie. Hierdoorontstaat strategische kennis, zie bIz 23.
Door de onderkende functionele en strategische kenn1s te combineren kan het functioneel model worden samengesteld.
Uerdere waardevolle richtlijnen voor de afleiding van een functioneel model kunnen hier niet worden gegeven. Ik had onvoldoende
~5
protocol len en tijd tot mijn beschikking om hier diepgaanderonderzoek naar te doen.
7.2.6.1. Het Functioneel model voor beeldschermstoringen.
Door de factoren van de beeldschermprotocollen te combineren ishet functioneel model van fig ~ op bIz 26 samengesteld. Mede opgrond van onderstaande overweging heb ik besloten dit model nietverder met behulp van nieuwe protocollen te veralgemeniseren.Ik heb het model met van der Vijgh doorgesproken. Die kon er zichwat beeldschermstoringen betreft in vinden. Voor andere storingenmoesten er volgens hem meer factoren inhaken.
7.2.7. Theoretische overweging.
Deor het model op een groot aantal uiteenlopende protocol len tebaseren wordt het gedetailleerder en complexer. Steeds meerdeelprocessen kunnen een rol spelen en steeds meer parameterskunnen in het model aangrijpen. Door de object- en KC-klassen teveralgemeniseren kan de complexiteit weer worden teruggebracht.Cornplexe en algemene modellen zijn echter moeilijk te hanterenbij het ordenen van KC·s. Daarom lijkt rnij deze aanpak nietzinvol.
Het lijkt mij verstandiger om voor dUidelijk onderscheidbaresubdomeinen specifieke functionele modellen te ontwikkelen. Subdomeinen zijn minder complex en beter te overzien. Het iseenvoudiger om specifieke modellen af te leiden en deze modellenziJn beter te hanteren bij de ordening van KC·s. Bovendien kanmet een specifiek model de aandacht van een expert beter op eenbepaald onderwerp worden gericht.
Voer subdomeinen kunnen subsystemen worden gebouwd. Het uiteindeliJke model kan worden geconstrueerd door de subsystemen op basisvan een algemeen model te koppelen.Een verdeling in subdomeinen maakt een taakverdeling mogelijkzodat meer mensen aan de ontwikkeling kunnen werken. Eengefundeerde keuze van subdomeinen is uiteraard noodzakeliJk.
Hier wordt dus duideliJk gekozen voor een analytisch-synthetischemethode tegenover een globale methode.
De praktische bruikbaarheid van deze theoretische overweging zaldoor verdere analyse van toepassingsgebieden moeten worden betwist.
7.2.7.1. Voorbeeld uit de storingsdiagnose.
Het oplossen van diagnostische problemen kan worden voorgesteldmet de piramide van fig 7. Deze piramide geeft aIleen weer hoeeen expert een probleem steeds verder probeert af te bakenen. Deverbanden zijn willekeurig en de piramide hoeft niet die mooiingevulde vorm te hebben.
probleemafbakening
probleemafbakening
probleemafbakening
probleem probleem probleem probleem probleem
afbaj[ning afbajlning afbakening afbakening afbakening
1 1 'VDorzaken oorzaken oorzaken oorzaken oorzaken
Fig 7, oplossings-piramide met willekeurige verbanden.
In eerste instantie probeert een expert op basis van klachten ensymptomen het probleem grofweg te localiseren en te identificereno Dit is de eerste afbakening. Vervolgens zal hij het meestwaarschijnlijke pad naar een oplossing kiezen.Hij komt dan in de volgende laag van de piramide. Daar zal hijeventueel op basis van nieuwe gegevens Cbijvoorbeeld uit testen)het probleem verder proberen af te bakenen. Zijn er meer mogelijkheden dan zal hij weer het meest waarschijnlijke pad naar eenoplossing kiezen.De expert herhaalt dit totdat hij bij de mogelijke oorzaken vaneen probleem uitkomt. Indien hij het juiste pad heeft gekozen kanhij het probleem oplossen. Anders moet hij terug naar een hogergelegen laag om een andere afbakening te onderzoeken.
Kunnen in de piramide onafhankelijke subdomeinen worden onderscheiden dan kunnen deze als subdomeinen worden afgebakend.Van de meeste beeldschermstoringen is gebleken dat ze inderdaadzo'n subdomein vormen. Het ontwikkelen van een specifiekfunctioneel model lijkt dan ook terecht. Omdat andere subdomeinennog niet zijn onderzocht kan later blijken dat het subdomein tescherp is afgebakend.
Opmerking: Het functioneel model voor beeldschermstoringenonderscheidt afbakeningsprocessen in de piramide. Omdat andereprobleemdomeinen een ander karakter kunnen hebben kan dit onderscheid niet worden gegeneraliseerd. M.a.w. in andere probleemdomeinen kan het functioneel model totaal andere processen onderscheiden.
~7
B. De ordenings~ase.
In de ordeningsfase moeten de KC's worden geordend. Tevens moetde compleetheid en consistentie van de KC's worden onderkend.
Het functioneel model dient als functioneel ontwerp voor deknowledgebase. Het is de basis voor een contextindeling. Door deKC's aan de hand van het model te ordenen kunnen contexten ensubcontexten worden onderscheiden en kunnen KC's tot regels ofprocedures worden gegroepeerd.
Een handige methode hiervoor is het labelen van de KC's. Door metlabels vast te leggen hoe KC's zijn geinterpreteerd kan de vergelijking en ordening van KC's worden vergemakkelijkt. Bij elke KCkunnen labels worden opgenomen voor:
de ~unct1onele KC-klasse;Bij het KC-klasselabel kan de KC-klasse van een KC worden genoteerd.
de ~unct1onele object-Klassen.Bij de object-klasselabels kunnen de objecten wordendie door de KC worden gebruikt, dan weI afgeleid.uiteraard bij het juiste klasselabel.
20 kan bijvoorbeeld de onderstaande KC:
genoteerdElk object
Als een beeldscherm sterretjes vertoont dan kan het modemkastjedefekt zijn.
gelabeld worden tot:
modemkastje is defekt
Oorzaak Identificatiescherm met sterretjesscherm met sterretjes
KC-klasse:Symptoom:Klacht:Locatie:Probleem:Oorzaak:Oplossing:
Als een beeldschermdefekt zijn.
sterretjes vertoont dan kan het modemkastje
Voor de KC's van de lager in het model gelegen KC-klassen kanworden teruggeredeneerd welke objecten, die door hoger gelegenKC-klassen worden afgeleid, reeds bekend moeten zijn.
In het voorbeeld wordt als oorzaak een defekt modemkastje genoemd. Volgens het model kan de KC pas worden gebruikt indien eenstoringslocatie en een probleem zijn afgeleid. Omdat een modemkastje deel uitmaakt van een lijn kan als locatie de lijn en alsprobleem een lijnprobleem worden afgeleid.De KC uit het voorbeeld gaat daarmee over in:
Oorzaak Identificatiescherm met sterretjesscherm met sterretjeslijnlijnprobleemmodemkastje is defekt
KC-klasse:Symptoom:Klacht:Locatie:Probleem:Oorzaak:Oplossing:
Als een beeldschermdefekt zijn.
sterretjes vertoont dan kan het modemkastje
De KC's kunnen aan de hand van de KC-klasselabels inklassen van het functioneel model worden ingedeeld.indeling kan de contextindeling worden gebaseerd.
deOp
KCdeze
Binnen de KC-klassen kunnen de KC's op basis van de objectlabelsverder worden geordend. De KC's kunnen worden gegroepeerd zodatze tot regels of procedures kunnen worden gecodeerd.Het is ook mogelijk om de contexten op basis van de objectlabelsin subcontexten te splitsen. Hierbij is het aan te raden met dehoogste KC-klassen van het model te beginnen omdat een splitsingop basis van objectklassen naar lagere KC-klassen kan doorwerken.
Is de verzameling KC's uiteindelijk naar bevrediging geordend dankan worden onderzocht of er KC's ontbreken of dat er tegenstrijdige KC's zijn.Aan de hand van de labels kan worden beredeneerd of KC's bereikbaar zijn. Door labels van gelijksoortige KC's te vergelijken kanworden onderzocht of ze elkaar tegenspreken.
2iJn de KC's geordend dan kan het resultaat met de expert wordengeevalueerd. Ontbrekende KC's kunnen aan de expert worden gevraagd en inconsistenties kunnen worden doorgesproken.Lijken de KC's compleet en consistent dan kan tot implementatieworden overgegaan.
Opmerking: Het gebruik van labels vertoont gelijkenisgebruik van meta-data in databasedefinities. Het ismogelijk om voor de ordening een database gekoppeldtekstverwerker te gebruiken.
B.l. De erden1ngsfase veer beeldschermster1ngen.
met hetwellichtaan een
Aan de hand van een vergelijkbare methode heb ik de KC's uit appC geordend. 2e bleken incompleet en soms inconsistent te zijn.Dit is gedeeltelijk met de experts doorgesproken en verholpen. Deordening is nog niet volledig en er ontbreekt nog een flinkaantal KC·s. Tijdens de ordening moest ik het onderzoek afbreken.
In appendix E zijn de verlopige resultaten weergegeven. De KCklasselabels zijn hierin niet opgenomen. De ordeningsmethode isgelijktijdig met de modelleringsmethode ontstaan. Ik heb de KC'sop basis van een globaal model ingedeeld. Hierin waren onvoldoende KC-klassen onderscheiden.De storingslocatie- en probleemidentificatie zijn daardoor met de
probleemverificatie verweven. Om het subdomein van beeldschermstoringen aan andere subdomeinen te kunnen koppelen is het noodzakelijk dat ze alsnog expliciet worden onderscheiden.
Bij de ordening van de KC's zijn de KC's met betrekking totstoringen aan meer beeldschermen buiten beschouwing gelaten. Dezestoringen vallen buiten de specificaties van het systeem, omdatze blijkbaar altijd door de computer of door software wordenveroorzaakt.
Afgezien hiervan zijn de KC's eerst geordend in KC-klassen. Metuitzondering van de probleemverificatie KC's heb ik daarna aIleKC's met betrekking tot computer- en softwareproblemen afgesplitst. Dit is een indeling in subcontexten op basis van objectlabels.De resterende KC's hebben betrekking op lijnproblemen. Deze zijnop basis van de objectlabels gegroepeerd om codering mogelijk temaken.In fig 8 is deze voorlopige ordening schematisch weergegeven.
so
Schaduwscherm
beeldschermsymptomen
1probleem
localisatietestgegevens identificatie-------> en
verificatieKC's
KC's m.b.t.computer- en
----------> softwareproblemen
lijnproblemenv
oorzaakidentificatie
KC's
Ivoorzaak
verificatieKC's
Fig 8, voorlopige ordening van de beeldscherm-KC's
51
9. De implementatiefase.
Tenslotte moet het expertsysteem worden geimplementeerd. Dit kanvarieren van het coderen van de KC's in de elementen van demodeltaal, tot het implementeren van een compleet systeem.
In de ordeningsfase is reeds aangegeven hoe KC's in contextenkunnen worden ingedeeld en hoe ze kunnen worden gegroepeerd zodatcodering in regels of procedures mogelijk is.De implementatie van een expertsysteem wordt in dit verband nietverder uitgewerkt. Implementatie is shell- en tool-afhankelijk.Men doet er verstandiger aan op de handleidingen van een shell oftool goed te bestuderen en met simpele niet-heuristische testcases uit te proberen. De opbouw van ACQUAINT zal in dit verbanddan ook niet worden uitgewerkt.
Door implementatie ontstaat een prototype. Dit prototype moetdoor de knowledge engineer uitvoerig worden getest. In eersteinstantie kan worden bekeken of het systeem de problemen kanoplossen die de expert reeds in de protocol len heeft opgelost.Daarna kan samen met de expert worden bekeken of het systeem ookandere problemen aankan.Komen tijdens deze tests onvolkomenheden aan het licht dan zalhet systeem moeten worden verbeterd. Voldoet het systeem dan kanhet worden uitgebreid.
Voor verbetering of uitbreiding van het systeem moet nieuwegegevens worden verzameld. Deze moeten in nieuwe identificatie-,modellerings-, ordenings- en implementatiefasen worden verwerkt.uiteindelijk moet dit tot een systeem leiden dat aan de gesteldeisen voldoet.
9.1. Implementat1e van een systeem veer beeldschermster1ngen.
Omdat de KC's nog niet volledig zijn geordend en omdat er nogKC's ontbreken was het niet mogelijk om een werkend systeem tecreeren.De geordenden delen zijn echter reeds in de modeltaal van AQUAINTgecodeerd. Dit verliep zonder verdere moeilijkheden. Het resultaat is eveneens in app E opgenomen.
S2
factorenmoet er
omdat ze
er ookInfetijd-
Nawoord.
Expertsystemen zijn een hulpmiddel om problemen aan te pakkenwaarvoor conventionele programma's ongeschikt zijn.Tijdens het werken met SAGE [5] en in het storingsdiagnoseprojectheb ik ervaren dat een globale aanpak met vage opdrachten nietnoodzakelijk tot goede resultaten leidt. WeI tot frustraties.Langzamerhand groeide het idee dat een andere aanpak gekozen moetworden om expertsystemen tot hun recht te laten komen. Daarbijkwam ik tot de meer analytisch-synthetische methode. Dit leiddein ieder geval sneller tot resultaten.
Het vergaren van kennis kan negatief door menselijkeworden beinvloed. Wie de beschreven methode gebruiktrekening mee houden dat deze factoren een rol spelen,anders tot in de resultaten kunnen doorwerken.De knowledge engineer kan bevoorbeeld te maken krijgen met eenmuur van medewerking van experts (met dank aan Urij Nederland).
De taak van de knowledge engineer moet niet worden onderschat.Naast technische kennis moet hij inzicht hebben in interviewtechnieken, organisatiestructuren, psychologie, filosofie en diplomatie.Tijdens het analyseren van domeinkennis zal de knowledge engineerkennis over het probleemdomein opdoen. Hij moet echter terughoudend zijn in gevoelens van eigen deskundigheid. De experts hebbener vaak jaren over gedaan om deze kennis te vergaren en het isonwaarschijnlijk dat de knowlegde engineer dat in een kort tijdsbestek kan. Hij moet erop bedacht zijn dat de vergaarde kennisonvolledig is.
Uoordat de knowledge engineer aan het werk gaat moetenandere voorzieningen dan shells of tools worden geregeld.rieure opname- en uitwerkingsapparaten leiden tot onnodigverlies.
Ter aanvulling van de methode kan onderzoek worden verricht naar:- automatisering en verbetering van de constructie van protocol
Istrategie diagrammen;technieken om uit meerdere diagrammen een functioneel model tedistilleren;het modelleren van structurele verbanden;de mogelijkheden van databases voor het ordenen van KC's;het inbouwen van waarschijnlijkheden in doelbomen en in strategische keuzeknooppunten in het kennismodel. Dit om het expertsysteem te optimaliseren;gebruikersanalyse;de bruikbaarheid van de methode in complexere domeinen.
53
Literatuur.
(1) W.J. Clancy,The epistemology of rule-based expert systems:a framework for explanation.Artificial Intelligence, 1983, 215-251.
(2) Dr. B. Wielinga, J. Breuker,USE OF MODELS IN THE INTERPRETATION OF UERBAL DATAUniversity of AmsterdamTo appear in: A. Kidd (ed) Knowledge Elicitationfor Expert Systems: a practical handbookPlenum Press, New York.
(3) Frederick Hayes-Roth, Donald A. Waterman, Douglas B. Lenat,BUilding Expert Systems, hfst 5.ADDISON-WESLEY PUBLISHING COMPANY, INC.USA, 1983.
(~) Norbert Dittmar,Handboek van de socio-linguistiek, 299-305.Uitgeverij Het Spectrum, 1978.
(5) Rik Kerstens,EXPERIMENT MET DE SAGE-EXPERTSYSTEEMSHELL.Stageverslag, 1986.Afdeling der Natuurkunde,vakgroep Systeem- en RegeltechniekTechnisch Hogeschool Eindhoven.
AppentliJ( A.-----------------------------------------------------------------COMPONENTEN
COMPUTER:computer: PDPll/44computerbakfrontend: PDPll/03I ussenft~ontend
SCHERM:terminalcor.so I et erm i ria IVT131 DEC-terminalbeeldbuisschrijversdisplays
PRINTER:pt~inter
I ijr.printerlabeldrukkerinktlinten OKI labelprinter
DATABASE:databasewinchesterCDC wiy,chester
HAL:O-halT-halW-hal
KRAAN:terminal-kraansysteemkraancomputerflat-displaybedieningstableauopnemerTU58mainDEC
COMMUNICATIE:interfaceModemModernkastjemult iplexet~Multiplexerkanaaltelecornbuslijn1 i r,kkanaalcommunicat iel ijr.communicatielussentweedraadsverbindingHDN knooppuntverbinding met het HDNconnector DP252
VOEDING:
\\
KRAAN:
ALGEMEEN:hardwarecomputerhardwarerandapparatuurperiferiesingellijnsperiferie
SOFTWARE EN FUNCTIES
SOFTWARE:cluster softwaresoftwarefunctiesysteemfuY'.ct ieoperating systeemtaaklopende takeY'.taak die multiplexer bestuurtdriver
INFORMATIESTROOM:'datatraY'.sportplaY'.wachtrapportverzend-transportplannencommunicatieluscommunicatiekraancommunicatieiY'.put doenX-on X-off protocoltransmit gedeeltereceive gedeelte
STORINGEN
SYSTEEM:braY'.d I uchtrookontwikkelinggeurtemperatuur conputerruimtesysteem is tt"aag
COMPUTER:adressering van niet bestaande delen.programma is eruit geknaldcomputet" gehaltsysteem blokkeertklok gestoptMulti-Function-Model klok defectparity-errormemory-errortime-outerror
SCHERM:termi na 1st or i rigscherm staat vastdisplay staat vastplaatje wordt niet hersteldherstel scherm werkt niet
PRINTER:papier opLA34 defectRegerlt defectOKI defectOKI vastOKI op feed geprongeninktlint vervangen
DATABASE:database storingeninconsistenties in de database
SPANNING:spanrli ngsd i p220V netspanningsdip
COMMUNICATIE:cOMMunicatieproblemenHDN ligt eruitstekkertje eruit
VUILE INFORMATIE:rol zonder haspelgatrol past niet op een kraanverkeerd geplaatste rolplak te breedplak te smalfoute checksum na foute berichten
BUFFER:bufferoverflow
ALGEMEEN:bedieningsfoutenbedieningsinstallatiefouteni nterfacefouterl50ftwarefoutengeheugerlfo~'t
corosieverouderirlgverkeerde diagnose
TESTMIDDELEN
TESTEN:t est f ac i lit e itentoolsd i agrlosetoolstroubleshootingtoolstroubleshootinglijstMassastoringsdevice
57
VERIFIEREN:normfunctionele specificaties
METEN:redirectplugkOt~tslui t pI ugrootbackfeatures
INDICATOREN:hardwareindicatorenstatusstatus van een applicatielogboekcrash-dumperrorloggingparametersindrukkensysteemperformancerunlampjebautrateregisters.memorymanagmentregisterverzendcodeverzendcoordinatenaccesstijdenkraanpositioneringprint-outuitdraaikarakter echogrootte van een rolpuIs
HERSTELLEN:taken stoppentaken starteYIconfig u rereYIset-up mode
OVERIGE
magazijnsbesturingssysteemrollenplatenrecall-rate = het aantal malen dat de STD gebeld wordt.Maxintdc.wY,t ijd
REGELS:
Het configureren van de terminal hangt af van de instelling vande interface in de computer.
Ais taakterminalszijn.
nog loopt en hele multiplexer doet het niet en aIledoen het dus niet dan zal er weI wat met de mutiplexer
Ais printer blijft printen en het is tijd voor een wachtrapport,maar over een uur staat de printer nog te printen dan roepstoringsdienst opnieuw.
Ais de gebruiker zegt dat het systeem niet aan de norm voldoetdan is dat voor een expert een fout, maar dat wil niet zeggen datin het computersysteem een fout zit.
Een parity-error is hardware.
Ais het runlampje niet brandt, dan is de processor gestopt.
Als de computer niet meer loopt dan kun de STDman stoppen.
Voor een kraan: Als de computer stil staat, niet meer runt dan ishet symptoom hetzelfde als dat de communicatielijn eruit ligt.Vanuit het grondsysteem is de kraan dan niet meer te benaderen.
Een memory-error is zichtbaar op de printer
Als een driver niet werkt is de eerste vraag of de andere drivershet ook niet werken.
De STDman mag een redirect maken naar een andere terminal om tekijken of die het weI doet.
Als het een link is en niet de computer hardware dan kan het demodem of de lijn of de terminal zijn.
Als de terminals het niet doen dan is het iets gemeenschappelijksals een multiplexer, dan kan de STDman via een andere kanaal determinal aansturen.
Als dit werkt dan is het vermoedelijk de multiplexer of dedriver.
Als de printer blijft printen en de STDman weet dat het eenwachtrapport is dan weet het dat het prima is.
Als je met de kraan rijdt moet er elke tien meten iets uitgeprintwordeY'l.
Bij de verzeY'ldcoordiY'laten wot"dt gept'iY'lt "coc.rdinaten niet goed"
Aan Met gedrag van het operating systeern is te zien of er eenspanningsdip is geweest.
AlsYliet
de- de
de multiplexer het nietdan zijn er twee dingensoftware is gestopt,multiplexer is stuk.
doet, of andere terminals doenrnogelijk:
Sj
het
Ais de computer gehalt is moet de BCD kemen.
Ais een taak actief is en de status is ze (?!) dan is die taakneg actief.
Ais meerdereIU5comfl1unicatie.
plaatjes blokkeren dan ligt het aanAan de hele hal die deed is of stil ligt.
de
Ais ikprinterhet is.
een tooltje intik dan verschijnt er informatie op deen als op een bepaalde plek een 4 staat weet ik hoe laat
Ais de verbinding met het HDN verbroken is kan het hele systeemopgehangen worden.
Vanuit ISOV hoeft hooguit de communicatie tussen de kraan en defront end gecheckt worden.
Als de stekker eruit ligt dan heb je geen in- of output.
Ais een taak, een lussenfrontend verstopt is dat is eengrondsysteem, maar dan staan aile kranen stil.
60
ALGEMEEN:
De eerste keuze van de STDman is welk deel van de installatiestuk is.
Testfaciliteitenbenutten.
toepassen of meten op troubleshootingtools
Configureren van componenten.
Configuratie van een terminal:haal hem op,pak docuMentatieboek,kijk naar installatieprocedure op biz xxx.
90~ randapparatuur, 10~ computer.
Er zijn uitwisselbare componenten
SysteeM is zo geconfigureerd dat er 3 terminals aan zitten. Inwerkelijkheid zijn dat er 30 of 40.
Verschillende uitwisselbare component en vereisen andere aanpakvan diagnose
Top-down benadering:kraan versus grondsysteem,als gro~dsysteem dan bepaal in welk deel van de installatie destoring zit,of is het de hele installatie,of staat de COMputer stile
Het Magazijnsbesturingssysteem is eenterMinals en een verzendcoordinator bij derolletjes in te nemen.
procescomputerinpaklijnen om
metde
De verzendcoordinator valt op dat een systeemfunctie het nietdoet en belt de storingsdienst Ope
Je begint met een interview met de man die klaagt.
Eerste stap: is bepalen of het systeem aan de functionelespecificaties voldoet. Het meten tegen de norm.
We stellen eerst een algemene diagnose en verwachten bepaaldereakties van het systeem. Daannee wordt een test gedraaid en alser iets uitkomt dat we niet verwachten weten we meer en gebruikendeze kennis voor de volgende stap.
Er is een logboek waarin de softwarefuncties en -fouten wordenbijgehouden.
Als Henk Moet testen dat heeft hij graag een plaatje.hij snel wat het is.
Dan ziet
De functie van het kraansysteem is het bepalen van de positionering van de kraan.
80~ zijn softwarestoringen.
vuile informatie. Deontvanger. Daardoor
Het is moeilijk om te zeggen nou is het hardware. Voor determinals is het duidelijk. Voor de computer duidt het erop.
Je maakt een verwachting als je een diagnosetool gebruikt.
Het probleem is om te kunnen bepalen is het hardware of is hetsoftware of is het die taak of die terminal.
Voor de kranen een plan meegeven om een aantal aan te bevelenpunten nader te bekijken.
Een kraandrijver kijkt niet in de computer.
In complexere storingen zal de STOman informatie putten uitboeken, lijsten die toevallig in de kast hangen.
Je kunt vanuit de computer redeneren.Je kunt uitgaan van de klacht, deze vertalen en gaan zoekey.
STOman verricht 10 a 20% verkeerde acties.
De software biedt mogelijkheden om uit te maken of een deel vande installatie weI of niet functioneert.
Geen Engels en geen afkortingen gebruiken.
Bij het oplossen van storingen wordt soms het operating systemgebruikt, om de werking van een deel van het systeem teverifieren.
Slimme diagnose door:enerzijds weten hoe de donfiguratie is,
- anderzijds wat de software te bieden heeft.
Het zijn de informatiestromen waaraan gesleuteld wordt.
Na het opstarten kunnen er diagnosegegevens uit het systeemkomen.
ISOV is onvoldoende afgeschermd tegenverzending checkt de gegevens en niet dekunnen informatiestromen fout zijn.
Een bedieningsfout kan het hele systeem ophouden.
Het kraansysteem kan vanuit ISOV worden gezien als eenintelligente terminal met een tweedraads verbinding via het LSCen allerlei ingewikkelde apparatuur.
Een storingsdienstman mag niet aan een winchester komen.
Je stuurt data en je krijgt bufferoverflow. Er komt geen X-offterug en na een kwartier staat ie vast. Oat ene pulsje dat eenkeer in het uur komt is net weg.
Expert krijgt nu informatie van de STOman die moet hij straks vanhet expertsysteem krijgen, opdat hij niet opnieuw hoeft tebeginnen.
Met kraansysteem wordt het terminal-kraansysteem bedoeld.
Appendix B. Sortering van storingsbeschriJvingen.
Op de volgende bladzijden is het resultaat van de sortering vande storingsbeschrijvingen weergegeven. De beschrijving van dekolommen is als voIgt:
1 De datum waarop de storing optrad.
2 RD, GR, GL of BL betekent dat storingsdienst bij de storinggeweest.
3 STD betekent eveneens dat de storingsdienst bij de storing isgeweest.
If BCD betekent dat de bedrijfscomputerdienst bij de storing isgeweest.
5 UBUK betekent Uastlopen Berichten UerKeer.
6 UUBU betekent UitUaIIen Berichten Uerkeer.
7 De tijd waarin een storing is opgelost.
8 De omschriJving van de storing.
S Eventuele opmerkingen over de storing.
Uit deze sortering kunnen ondermeer de volgende storingen wordenafgeleid:
ISOU traag
ISOU vast
Scherm uitgevaIIen/vast
CLabel)printer weigert
Weegschaal defekt/doet niets
UerIadingsproblemen
Transportproblemen
Problemen met de verbinding met andere computers
UDC probleem
!§g~ 1!:ss9l.
121 11 841GR ISTDI IUVBV 60 ISOV t t~aag; bel> Bmi Y, ??I I I 1 I aute.stat~t 30 miYI123 11 841BL I 1 1 ISOV tt~aag
127 11 841BL I I IUVBV ?? schet~r'l 7 valt uit1 I 1 1 I ISOV zeer traag I128 11 841 ISTDI ?? systeerll traag; corllmuYlica-11 I I I tie met TRAKSI liep Yliet 1I 1 1 1 goed; verr.l. oorzaak I
!§g~ Y~~1l.
112 11 841GR 1 I 1 IUVBV 1165 ISOV i Yl geheel vast.112 11 841 ISTDIBCDI 1 systeerll zit vast;I 1 1 1 1 1 database vast.124 11 841 ISTDIBCDI I ?? systeem zit vast; YlaI I I I I 1 i y,bt~ey,gen VaYI col losI I I 1 I I buiteYI ISOV door W5.
!§g~ !!1s!:1~!:!l.
105 11 841GL IBCD 30 opYlieuw starten ISOV.107 11 84 RD I 30 systeem gestat~t•107 11 84 BL I IBCD 20 systeem opYlieuw gest.07 11 84 ISTDIBCD 90 put noot~d-hal bli,jft
bezet. teveY,s set PUY,t -vervoer v transp. middelnaar opste 1PllYlt aaYlwezigL. I. ' s konden niet afge-meld wordeYI in T-hal.Buffervak a-hal gaf geenplaats aaYI; weegschaalW-hal gat de geest; sys-teerll crashde steeds.Oorzaak: opnieuw opstat~t-
eYI vay, systeelll.12 11 84 GR BCD 30 laden ISOV30 11 84 BL BCD 30 ISOV gestart
§~tl!!!:!!U
106 11 841RD IVBVK I I ?? schet'lll VC uitgevalleY,.106 11 841RD IVBVK I I ?? scherrll VC vast.112 11 841GR I 1270 VC schet'm 7.114 11 841RD 1 ?? 3>< VC scherm vast.114 11 841BL I ?? VC scherr'l vast.115 11 841RD I ?? scherm 8 vast.115 11 841RD I 70 schet~rll 7 vast.120 11 841GL STD I 75 kt~aneY, iY,Ylame VC schet~meYI DBas,I I I vol?125 11 841 STD 300 VTXVCA beeldscherm vast1 I VerholpeY, DataBaseI I gewi.jzigd -) oke.129 11 841 STD ?? SChet~lll 7 V. C. doet yliet sI I pat~allel wel oke;I I UIT/AAN -) oke.101 12 841 STD ?? schet~rll VTXVCA vast;I I schaduw werkte wel;I I UIT/AAN -) eoke.
6"
.1b!!Q~!le!:!Di~!:.!
101 11 841 ISTDI 1 I ?? I a-hal label printer modem1 1 1 1 1 1 1 kastje vervarlgerl i. v. m.1 1 1 1 1 1 I vet~mirlkte label s.101 11 841 ISTDI I I I a-hal labelprinter nieuw1 I 1 I 1 I I irlkt 1 ir.t geplaatst.121 11 841 ISTDI I I ?? I labelprinter T-halI I I I I 1 I i r.kt 1 i rlt geplaatst.129 11 841 ISTDI 1 I ?? I pt~inter ir. W-hal weigertI 1 I 1 I I I r.ieuw i r.~(t 1 i rlt geplaatst 1I I I I 1 1 1 wil geer. papier afsrdjderllI I I I I 1 I zit ergerls iets los. 1
~~~g!!£b.!!!!!.!
107 11 841GL I I I 90 I weegschaal W-hal 1107 11 841GL I 1 1 15 I weegschall a-hal 1 I115 11 841BL I I I I ?? 1 weegschaal a-hal def. IETAdrukl115 11 841 ISTDI I 1 ?? I weegschaal a doet niets; 1 I1 I I I I I I weegschaal oke; I II I I 1 I I 1 waarschijnlijk DataBase. 1 1115 11 841 ISTDI I I ?? I weegschaal a-hal stuk; I II I 1 I 1 I I werd niet gelezen door 1 1I I I I I I I cornputer; K2 kwam weI. I 1
~!!!:!!!£tiD9.!
101 11 841BL I 1 1 ?? totaal 18 BND gestartI I I I 1 verI. 1ijst print 15:I 1 I I I verI. 1 ijst gewijzigd107 11 841BL 1 I I ?? a-hal autoput blijftI I I I I 1 bezet na verladerl.107 11 841GL ISTDIBCD 1 1165 T-hal autoput bezet DBaseI I I 1 I 1 idern zuid. fout107 11 841GL ISTDI I 1135 i rid i kat ie buffer a-hal125 11 841GL I IBCD 1 1300 niet doors t ror.,erl vanI 1 1 1 I 1 beladingsscherna's.125 11 841 ISTDI I ?? diverse L.I.'s niet te1 I I I 1 storten/af te melden;1 I 1 1 1 teverls V. C. scherrn vast1 1 1 I 1 loadet~ blijven hangen na1 1 1 1 1 INIVDU div verladingen.I I I I 1 Bel/transportplanI I I I 1 aarlgepast waarrla oke.128 11 841 ISTDI I ?? autoput O-hal was bezet1 I 1 erl niet leeg te krijgerlI I I dc,or V. C. taak VTXVCAI 1 I gect~ashed ;I 1 I vet~h 0 1perl in DataBase.128 11 841 ISTD ?? VTXVCA gect~ashedI 1 1 error 6505 waarna geen1 I 1 verI. irl O-hal; DataBase1 I I tet~uggedr + ver 1ad i rlgerl;I 1 I c'prdeuw procedure -) oke.129 11 841GL ISTD IUVBV 45 ria koppelen op menu DBaseI I I I alltc.put bezet. fout101 12 841 ISTD 120 L. I. xxx rliet uitvoerbaar1 1 I t. g. v. div. rdet ge-1 I I plaatste cc.llos.1 I 1 Deze disconnected.
6~
?? UDC taak terminated;deze gestart.
?? op V.C. kantoor bekabeling intercom verlegdi. v. m. i rldel i rig.
01 11 841GR
15 11 84 STD
25 11 84 STD
29 11 84 STD BCD
29 11 84 STD
30 11 84 STD BCD
!:IR~ ~~!:Bingina.!
108 11 841GL ISTDI I108 11 84' ISTD1BCDII I I I IJ I I I I108 12 841 ISTDIBCDII I I I II I J I I
!nl~!:£2m.!
108 11 841 ISTDIBCDII I I I II I I I I
- YRg.!
116 11 841GLI I
zie ookverladir,g
IUVBV
??
??
??
90
??
??
1120I ??IIIII
ISDV plant rollen naar BCDbezette lokaties. beketransportplan 420 instatus 4; collo nietgeplanned; na koppelentransp.plan/collo status-) oke.Yrdman gecrashed op collonot planned in transp.plan 1720 waarna tr. pl.in status 4 en rest in 3.zowel 06 als W6 kregenwerkplar, 2867status4/plan 2995status 3 verandert in 4.haspelgat van een colloin DataBase aangepast.1 collo niet bekend inDatabase; in verladingwas deze weI bekend;deze disconnected uitlaag geplaatst. VC moetplan afmaken. Yrdman wasook gecrashed.
I HDN verbinding verbr. HDNI op V.C. kantoor bekabe-I ling intercom verlegdI Lv.m. indeling. II HDN verbinding verbroken;1I rekencentrum ingelicht; II HDN lost dit op. I
66
~ppelld";( C15- j uli -S6.
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Hieronder volgen regels die iete met terminals te maken hebben. ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••2S-05-S6, 314, Henk van der Vijgh. VCS scherm heeft sterretjes.VCS staat hardware parallel aan deze terminal. Deze terminal draaitVCS doet het niet. Konklusie software werkt hardware niet.
2S-05-S6, 347, Henk van der Vijgh. VCS scherm heeft sterretjes.Als er sterretjes op het beeld staan en dit is de enige monitor diedat heeft en aIle beeldbuizen hier staan op dezelfde multiplexer(groep 0 tIm 7 zoals we zagen in de computerruimte) dan betekent datdat er aan een lijn iets stuk is.
2S-05-S6, 347, Henk van der Vijgh. VCS scherm heeft sterretjes.De multiplexer is goed. Dat kan aIleen in de modem daar ter plekke zijn,de modem hier of de terminal zelf.
2S-05-S5, 347, Henk van der Vijgh. VCS scherm heeft sterretjes. .~In dit geval i£ het niet d~ terminal zelf wegens d~ sterretjes op hetbeeld. Dat wil zeggen dat er een open lijn is. Dus dat kan aIleen eenstekker zijn die eruit ligt, de modem kan defekt zijn hier of de modemdaar of er moet een kabelbreuK zijn. Dat neem ik niet aan want andersmoet ik in het beton gaan.
2S-05-S6, 357, Henk van der Vijgh. VCS scherm heeft~ sterretjes.Ik inspecteer of de stekker erop zit.Ik kijk of de stekker van de modem er inzit door het volgen van draden.
2S-05-S6, 377, Henk van der Vijgh. VCS scherm heeft sterretjes.Het modem is stuk of hij maakt geen kontakt.De kabel verdenk ik niet, want dat gaat niet altijd en dan moet ik echtgaan schroeven en gaan kijken of er ergens een kontakt loszit. Dus ikwil weten of het modem goed is. Die kan ik testen door hem tussen eenandere terminal te zetten.
2S-05-S6, 3S5, Henk van der Vijgh. VCS scherm heeft sterretjes.Het zou de modem kunnen zijn. Ik haal even een modemkastje en wisselhem even om. Ik ga er nu even vanuit dat er geen reserve is en datdie man denkt: Ik moet het zeker weten.
2S-05-S6, 430, Henk van der Vijgh. VCS scherm heeft sterretjes.Ik kijk nou ~ve~ naar schakelaartjes (switches) of toevallig niet iemanddie omgezet heeft. 8audrate EJA en Current.
2S-05-S6, 430, Henk van der Vijgh. VCS scherm heeft sterretjes.Dat is dus goed. Het zal dus vermoedelijk de modem aan de anderekant :djn.
2S-05-S6, 450, Henk van der Vijgh. VCS scherm heeft sterretjes.Het parallel-bedrijf van een terminal op de multiplexer gaat via eenandere modem als de modems die het bedrijf, het veld ingaan. HetEJA-signaal van de mutiplexer wordt omgezet via een modem naar determinals in de fabriek. "aar het andere modeminterface, het printjedat erin zit, zorgt voor het parallel-bedrijf. Dus de multiplexer zelf,het kanaal is goed tot en met de RS232 interface. En als er dan eenmodem achter zit, is het een ander printje dan we nu hebben. Dan is hetdus modelijk dat hij det daar weI doet en zou hij het zelf niet doen.
2S-05-S6, 474, Henk van der Vijgh. VCS scherm heeft sterretjes.Het zijn basement-drivers, simpele modems. We kijken in het rek zelf.Normaal is er een lijst. Dan staat in de lijst op welk kanaal deverzendcoordinator zit.
.,
·,
2S-05-S6, 546, Henk van der Vijgh. VCS scherm heeft sterretjes.Het verplaatsen van printjes kan een gevolg zijn bij het oplossen vaneen storing. Dit geeft hetzelfde beeld als de modem stuk is.
09-06-S6, 249, Henk van der Vijgh. De inpakkerij in de W-hal verkt niet.Nou hoort er dus wat te versch!jnen. Kennelijk is er geen spanningop het apparaat. Of het apparaat zelf is stuk of er komt geenspanning op het apparaat.
09-06-S6, 249, Henk van der Vijgh. De in~akkerij in de W-hal werkt niet.Nou het ene is de stekker, dan gaan we etfe kijken.
15-ju!i-86
09-06-86, 353, Henk van der Vijgh. De inpakkerij in de V-hal verkt niet.Als het lampje brandt dat er spanning op staat, dus er staat kennelijkgeen spanning op. Dan lijkt het het modemkastje of lampje.
09-06-86, 256, Henk van der Vijgh. De inpakkerij in de V-hal verkt niet.Dit is de stekker van de terminal. Dan kan ik net zo goed errechtstreeks inprikken. (Er verschijnt nu een scherm met puntjes)
09-06-86, 259, Henk van der Vijgh. De ~.npakkerij in de V-hal verkt niet.Dan kan ik nu kijken of misschien de stekker van het modem eruit ligt.
09-06-86, 272, Henk van der Vijgh. De inpakkerij in de V-hal verkt niet.Hij zit in een currentloopingang. Dh EIA currentloop dat is goed.
09-06-86, 272, Henk van der Vijgh. De inpakkerij in de V-hal verkt niet.Ik controleer even de svitches.
09-06-86, 303, Henk van der Vijgh. De inpakkerij in de W-hal verkt niet.We kunnen hem op local zetten en kijken of de beeldbuis zelf goed is.~~at is control local.
09-06-86, 308, Henk van der Vijgh. De inpakkerij in de W-hal verkt niet.Het lijkt dat de terminal zelf goed is. Het zou dan hoogstens nogde driver kunnen zijn, de EIA dirver die hierachter zit.
09-06-86, 308, Henk van der Vijgh. De inpakkerij in~de W-hal verkt niet.'·Het zijn tyee problemen vant er komt kennelijk geen spanning uit het "modemkastje. Hij lijkt vel of de modem helemaal niet onder spanningstaat.
09-06-86, 329, Henk van der Vijgh. De inpakkerij in de W-hal verkt niet. -.Als transmit en receive data verder doet dan is het vat mij betreftvoor elkaar.
20-06-86, bIz 3, Henk van der Vijgh. Bespreking inpakkerij.Afhankelijk van de klacht qa je eerst kijken of er vat op het beeldverschijnt. Als de produkt1e zegt ik krijg geen respons of mijn schermis zvart dan gaat ie aan en uit zetten of de netstekker is eruit.
20-06-86, bIz 3 Henk van der Vijgh. Bespreking inpakkerij.Als hij de klacht over de inpakkerij hoort gaat ie eerst naar deinpakkerij en die man zegt daar van kijk dit is mijn plaatje:- daar staan of sterretjes- of hij krijgt een plaatje maar geen respons- hij vertoont strepen- vel input maar geen output, of andersomplus:- bedieningsfouten- configuratiefouten.
20-06-86 bIz 3, Henk van der Vijgh. Bespreking inpakkerij.De inpakkerij terminals zijn ADDS (regent) 40 of 100 termInals. Deeen met een vast de ander met een los keyboard.
20-06-86, bIz 3, Henk van der Vijgh. Bespreking inpakkerij.Strepen op het Bcherm zijn typisch voor een regent 40 en 100. Dan isje beeldbuis bijna kapot. Dan moet ie gevoon vervangen vorden.
20-06-86, bIz 3, Henk van der Vijgh. Bespreking inpakkerij.De VT131 heeft een aparte setup mode. De instelling van de regent 40en 100 is iets anders. Dat moet ter plekke zijn aangegeven.
20-06-86, bIz 4, Henk van der Vijgh. Bespreking inpakkerij.Als beide terminals het niet doen dan kijk je naar het onlinelampje of de computer nog in bedrijf is.
~0-06-86, bIz 5, Henk van der Vijgh. Bespreking inpakkerij.Hij heeft op de terminal de mogelijkheid een plaatje op te vragen.Nou dat probeert ie, dan zegt ie van plaatje kan ik vel opvragen endan zegt ie de gevichten komen niet binnen. Dan zijn de terminalen multiplexer gevoon goed.
20-06-86, bIz 6, Henk van der Vijgh. Bespreking inpakkerij.Hij moet toch nagaan in zijn diagnose van vat deed die man dat het foutging. Hij kan iets gedaan nebben vaardoor hij de zaak vastzet.
15-juli-86
20-06-86, bIz 9, Henk van der Vijgh. Bespreking inpakkerij.Als ie staat te roken dan ga je niet meer naar de software kijken. Dieindicators zijn makkelijk.
04-07-86, bIz 2, Cor Faatels. Bespreking storingshandleiding.Als er een taak crasht kan je dat heel snel zien. Het is een vrijregelmatig patroon dat op de printer staat. Met een blik kan je zienof er het laatste half uur wat vreemds is gebeurd. Of er takengecrasht zijn.
04-07-86, bIz 2, Cor Faatels. Bespreking storingshandleiding.Als ik denk dat het aan de terminal kan liggen dan test ik de teminaleffe uit.
04-07-86, blz 2, Cor Faatels. Bespreking storingshandleiding.Als ik sterretjes heb dan zet ik hem ter plekke op local. Dan kan ikhet toetsenbord met het beeldscherm apart testen.
04-07-86, bIz 2, Cor Faatels. Bespreking storingshandleiding. ,~Als d~ verzending naar de computer niet goed is. Dan echoot de computerde karakters die h1j verkeerd binnen krijgt op dezelfde manier terug.
04-07-86, blz 2, Cor Faatels. Bespreking storingshandleiding.Als de verbinding met de terminal niet goed is dan kunnen er evengoedsterretjes verschijnen. ~
04-07-86, bIz 2, Cor Faatels. Bespreking storingshandleiding.Ik kan niet zomaar zeggen als je alleen maar sterretjes kriJgt hetligt aan de terminal of aan de verbinding.
04-07-86, bIz 2, Cor Faatels. Bespreking storingshandleiding.als ik local heb gezet en geconstateerd heb dat dat deel van dieterminal functioneel goed werkt. Dan zou je de bautrate kunnencontroleren. Maar die verspringen niet zomaar.
04-07-86, blz 3, Cor Faatels. Bespreking storingshandleiding.Als je weet dat ie net gewisseld is ga Je daar naar kijken, maarals je weet dat ie niet gewi.seld is ga je daar in eerste instantieniet aan.
04-07-86, bIz 3, Cor Faatels, Bespreking storingshandleiding.Mensen kunnen storingen vreemd doorgeven:- Hij doet het niet- of hij geeft vreemde tekens
04-07-86, bIz 3, Cor Faatels. Bespreking storingshandleiding.Als aIle schermen gewoon niet werken dan 11gt voor hun het systeemplat. Of het systeem staat vast.
04-07-86, bIz 4, Cor Faatels. Bespreking storingshandleiding.Via zijn beeldschermen via procedures start ie andere taakjes Ope Alsdat taakje afgelopen is dan krijgt dat beeldschermtaakje een b~richtje
dat ie verder mag gaan of de volgende actie mag verrichten.
04-07-86, blz 4, Cor Faatels. Bespreking storingshandleiding.Dus vaak is het zo dat zijn beeldschermtaak een ander taakje Ope Alsdie taak nou uitvalt dan krijgt die beeldschermtaak vaststaan. Dan blijftie wachten op die gereedmelding.
04-07-86, blz 4, Cor Faatels. Bespreking storingshandleiding.Als aIle schermeR dan is het bijna altiJd software. Dan zie je dat gelijkop de consoleprinter dan zie je zo dat een taak vastgelopen is oferuit gegooid is.
04-07-86, bIz 5, Cor Faatels. Bespreking storingshandleiding.Deze beeldbuis (systeembeeldbuis) zit niet op die mux aangeslotenmaar op een apart IOboard. ten aparte print in de computer. Met is weIzo dat je deze niet schaduw kunt draaien. Je kunt hem ofline zettenen ofline testen. Je kan hem aan en uitzetten of via die resetfunctiedie hier beschreven staat.
04-07-86, blz 6, Cor Faatels. Bespreking storingshandleiding.Er moet een lampje branden online en nog wat van die dingen. Online
Imoet als enige branden. Je kunt hem (systeembeeldbuis) reset ten.
-.
.,
lS-juli-86
04-07-86, blz 6, Cor Faatels. Bespreking storingshandleiding.De ctrl S je hebt geen echte noscroll toets (op de regents I Ha een ctrl Smoet ik ctrl Q geven dat is de enige manier (geen resetmogelijkheid).Uitzetten helpt niet. Beeldschermtaken opnieuv starten helpt niet.
04-07-86, blz 7, Cor Faatels. Bespreking storingshandleiding.Als je verminkte karakters krijgt dan is het meestal een van demodemkastjes.
04-07-86, blz 7, Cor Faatels. Bespreking storingshandleiding.Het vil vel eens gebeuren dat die vitte balk verdvijnt.Dan is er invendig in de terminal vat loos en staat ie ook vast.Dan moet je een andere terminal neer zetten. Heestal is het velover als je hem aan en uit zet maar dan komt•••
04-07-86, bIz 1, Cor Faatels. Bespreking storingshandleiding.Als een scherm net niet doet zetten ze hem effe uit en aan. Werkthet dan nog niet en kom je daar en staan er allemaal stippeltjesop het scherm. Oat betekent dat ie uit is geveest. ~
04-07-86, blz 7, Cor Faatels. Bespreking storingshandleiding.Door de selftest procedure komen er op ledere plaats op het schermeen stippeltje.
04-07-86, blz 7, Cor Faatels. Bespreking storingshandleiding.Ais je de computer uitzet spanningsloos. Beginnen a1 de beelschermensterretjes te schrijven.
04-07-86,bIz 8, Cor Faatels. Bespreking storingshandleiding.als ik een klacht heb van een printer of beeldbuis dan zou ik kunnenconcluderen of die taak er vat mee te maken heeft. Oaarnaast als iknaar RMD zit te kijken en ik zie taaknamen verschijnen dan veet ikniet of de terminal vaarbij het probleem zich voordoet of daar nou.et die betreffende taak vat aan de hand is.
04-07-86, bIz 8, Cor Faatels. Bespreking storingshandleiding.Ais allerlei dingen nou keurig verken tervijl een terminal vaststaatdan kan ik naar RHD kijken.
04-07-86, bIz 8, Cor, Bespreking storingshandieiding.er staat een kolomnummer met rare tekens erin. Waar een cijferhoort te staan staat een letter. Oat zijn echte modemfouten.
04-07-86, bIz 9, Cor Faatels. Bespreking storingshandleiding.als de schaduv ook niet verkt Je kan kijken of er een taak gecrasht is.
04-07-86, bIz 9, Cor Faatels, Bespreking storingshandleiding.als ze een verlading starten dan vordt er via dlt scherm een boodschapgestuurd naar een taak die heet loader. Die berekent allerleiverladingen etc. Als die loader nou uitvalt. Die loopt tegen een foutsan. Die taak stopt er spontaan mee. Yaak doet ie een roll-back. Enhij geeft geen bericht terug nsar die beeldschermtaak. Dan zal diebeeldschermtaak vaststaan, vant die blijft vachten of de terugmeldingvan die loadertsak.Oat het enige beeldscherm dat vaststaat en je schaduvscherm doet hetook niet.
04-07-86, blz 10, Cor Faatels. Bespreking storingshandleiding.Een taak YRDHAN of LOADER of veet ik veel. Als die taak eruit gaat.Ous je moet eerst veten vat heeft die YC gedaan. Welke actie heeftie gestart en dan gaan kijken of de taak die op dat moment gecrashtis met die sctie te maken heeft. Die conclusie is vaak vat moeilijkte trekken.
04-07-86, blz 10, Cor Faatels. Besprekin~ storingshandieiding.dan is het zaak dat beeldscherm dat op d1e taak staat te vachtenvrij~emaakt vordt. Daar hebben ze een procedure voor. Die staathier1n beschreven. WHerstarten van de beeldschermtaken w•Dan kun je deze procedure volgen. Start een commandfile vsarin jeeen helehoop taken stopt en opnieuv opstart.
04-07-86, bIz 10, Cor Faatels. Bespreking storingshandleiding.Als je dsn een probleem hebt bij de VC dan start ie ook allebeeldschermen op van de innames en de andere VC's.
.;
lS-juli-86
04-07-86, blz 11, Cor Faatels. Bespreking storingshandleiding.Als het scherm vaststaat is dat meestal het gevolg dat een van detaken hier gecrasht is.
04-07-86, blz 11, Cor Faatels. Bespreking storingshandleiding.Als het systeem echt traag is omdat ie het echt druk heeft. Haartegen de tijd dat ik hier ben dan heeft ie vel veer vat gedaan. Alsdat scherm echt een aantal minuten geen respons heeft dan is er echtvel vat anders aan de hand.
04-07-86, blz 11, Cor Faatelu. Bespreking storingshandleiding.Als ze echt roepen dat het scherm vast~taat dan kan het niet deoorzaak zijn dat het systeem traag is. Als ze een functie aanvragenals ze binnen een minuut niets gehad hebben is het al erg lang.
04-07-86, blz 12, Cor Faatels. Bespreking storingshandleiding.Als het systeem traag is of het scherm staat vast is die klachtook daarnaar. Als er echt iets functioneel aan het scherm mankeertdan hebben ze verminkte karakters en dat soort dingen. Of ze krijgen.~stippeltjes en dat soort dingen. uat zijn toch hele andere zaken alsecht softvarematige zaken als die functie vil niet of ik krijg dierollen niet in. Of ik kan die rollen niet in. Ik kan niet innemen opdie orderpost.
04-07-86, blz 12, Cor Faatels. Bespreking storingshandleiding.Als de computer niet verkt of er is een spanningsdip geveest dan isde melding het systeem staat vast. Je kan niet gelijk zien dat heteen spanningsdip is geveest, maar je kunt vel zien dat de computervan run af is.
27-06-86, hfst 3, Jan van der pluim, Storingshandleiding.Als een scherm vaststaat ga dan eerst na of het een hardvarestoringbetreft. Zet de Bchaduvbeeldbuis hardvare parallel aan de beeldbuis.Als dat scherm normaal verkt is er een hardvareprobleem.
18-04-86, blz 4, Henk van der Vijgh. Ie verkenningsgesprek.Bet configureren van de terminal hangt af van de instelling van deinterface in de computer.
18-04-86, blz 31, Henk van der Vijgh. Ie verkenningsgesprek.Als het runlampje niet brand dan is de computer gestopt.
02-05-86, blz 13, Henk van der Vijgh. Ie verkenningsgesprek.Als de multiplexer het niet doet, of andere terminals doen het nietdan zijn er tvee dingen mogelijk:- de softvare is gestopt,- de multiplexer is stuk.
02-05-86, blz 38, Henk van der Vijgh. Ie verkenningsgesprek.Ala de stekker eruit 11gt heb je geen in- of output.
Appendi~ D
Hoogovens - storingsdiagnose - 9-6-86 - Beeldscherm is zwart I heeft puntjes :--------------------------------------------------------------------------------:
[We zijn bij de VerzendCoordinatorl
200 El. Maar nu is dus de klacht dat de inpakkerij in deWillemhal niet werkt.Hier kunnen we daar niets aan zien.
[We gaan nu op naar de Willemhal.l
204 El. Nou die inpakkerij is een systeem, een subsysteempjeeigenlijk, met een eigen computer. Het is uiteraarddezelfde computer als ISOV, maar er zijn een paarprogramma's die special voor de inpakkerij zijngebouwd, recentelijk.Het bestaat uit twee terminals, een paar labelprinters. Dat wordt dan gerund door een paar programma's. Het kan van alles zijn in principe, dat weetik niet.
V. Het feit dat het aIleen in de Willemhal optreedt hebje daar iets aan?
El. Nog niet over nagedacht. We zullen eerst denk ikeven naar die installatie toelopen. Dan hebbenjullie ook een beeld van wat het is.
227 El. Het kan ook zijn dat ie de inpakkerij in engere zinbedoelde. Dat is aIleen het scherm wat helemaalachteraan staat.
El. Dit zou dus het scherm in de Willemhal moeten zijn.Dat doet dus inderdaad helemaal niets.
E2. Nou hij staat uit. In het ene geval ••• maar ik weetniet of dit het probleem is. Wat was precies deklacht?
El. De inpakkerrij in de W-hal werkt niet.
E2. Inpakkerij, de beeldbuis of de ••• ?
El. Nou dat is dit geheel hier.Het zou kunnen zijn dat er ook nog schermen daarzijn, die het niet doen, maar ••••
E2. Niet specifiek de print~r of de •••
El. Nee, de inpakkerij.
E2. Nou hij staat uit en hij ligt eruit, dus ••••
(2
KW
KV
KV
KV
KV
KWt
KV
KV
1-KW-l0
2-KV-l0
3-KV-30
4-KV-40
5-KV-40
6-KW-l0
7-KV-50
8-KV-40
249 E2. Nou hoort er dus wat te verschijnen. Kennelijk is ergeen spanning op het apparaat. Of het apparaat zelfis stuk of er komt geen spanning op het apparaat.Nou het ene is de stekker, dan gaan we effe onderkijken.
253 E2. De modemkastjes, dat is een modemkastje van de linker terminal van de printer. En het lapje brand dater spanning op staat, dus er staat kennelijk geenspanning op. Dan lijkt het het modemkastje, of lampje. [Wat hier wordt bedoeld is onduidelijkJ
256 E2. Nou dit is de stekker van de terminal. Dan kan iknet zo goed er rechtstreeks inprikken. Nou hoor ikhem al piepen, nou komt er weI spanning op.
[Er treedt een wijziging in de storing opJ
El. Zit die stekker van het modemkastje weI goed?
E2. Nou laat ik zo zeggen er stond dus geen spanning opde terminal. Nou is aIleen nog de vraag is hetmodemkastje zelf stuk. Want ik heb nou aIleen denetstekker omgestoken. Ais ie dat doet •••• Hij doetdus niks. Hij doet niks.Dan kan ik nu kijken of misschien de stekker van demodem eruit ligt. Dat is ook een mogelijkheid. Hijgeeft helemaal geen signaal he. Je kan een functietoets proberen of een plaatje opvragen. Maar datwerkt allemaal niet.
[Er is inmiddels een beeldscherm met puntjesJ
0101014'
SO
OC
01
01
Olt'
SWt
9-01-6010-01-7011-01-60
12-S0-BO
13-0C-90
14-01-100
15-01-110
16-01-100
17-SW-95
272 E2. Hij zit in een currentloopingang. Oh EIA currentloopdat is goed. Ze prikken hem nog weI eens in deverkeerde, tenminste ik dacht dat ie daar in moestzitten. Ik controleer even de bautrate. Dat staathier achter op de schakelaartjes. Dat is omhoog is1, omlaag is o. Er staat 1 0 1 0, dat is 9600 baut,dus dat zou goed moeten zijn.Hij doet helemaal niets.Hij moet op EIA staan. Het is een EIA terminal.
OV lB-OV-120Olt 19-01-115
OV 20-01-130
303 E2. We kunnen hem local zetten en kijken of de beeldbuiszelf goed is. Dat is control local. Ja dat werktdus, dat is allemaal goed.
OltOV
21-01-11722-01-140
30B E2. Het zou hoogstens dan nog driver kunnen zlJn, de EIAdriver die hier achter zitten. [Zit in de modem!!JHet zijn twee problemen en dat is een beetje vreemdnatuurlijk want er komt kennelijk geen spanning uithet modemkastje. Het lijkt weI of de modem helemaalniet onder spanning staat.
Olot 23-01-110
OIot 24-01-100
314 E2. Dat is vreemd... Kijk de stekker zit er niet goed Olot 25-01-100
in. Oat is het probleem. Oat klopte, ik doe destekker er weer goed in. Oan kan deze ook weer hierin.En kijken of ie het nou doet. Nou hij moet evenkomen. Nou doet ie nog niets •• het lampje brandt •••Oh er komt wat, ja nee hij komt ale Wat duurt datlang.Nou doet ie het dus weer. Oat was het.
329 E1. Het lijkt erop dat deze storing opgelost is. Wezullen even boven checken.
E2. Nou als transmit en receive data verder doet dan ishet wat dat betreft voor mekaar.
331 E1. Maar ik bedenk nou dat als de VC een klacht heeftdan hoef ik daar verder niets te checken, dat kloptmeestal weI. Terwijl een van de innemers of dewegers een klacht hebben dan loop ik altijd eerstnaar die innemer of weger toe om even te checken ofdie klacht die erachter klopt.
so
DC
26-50-150
27-01-160
Nppeno'''x E.(DefVal YES/NO VAL: (JA 90)
(NEE -90]
; .;. Hieronder volgen regels die iets met beeldschermen te maken hebben. •; .(DefContext STORINGSDIAGNOSE]
(DefContext SCHADUW_DRAAIENIN: STORINGSDIAGNOSEIF: SOR Beeldschermsymptoom = '*Beeldscherm heeft sterretjes*
Beeldschermsymptoom = '*Beeldscherm heeft rare tekens*Beeldschermsymptoom = '*Beeldscherm heeft stippeltjes*Beeldschermsymptoom = '*Beeldscherm staat vast*]
'HET AFLEIDEN VAN PROBLEKEN UIT SYKPTOKEN:• De volgende symptomen voor een beeldscherm zijn mogelijk:• 1 Beeldscherm heeft sterretjes.• 2 Beeldscherm heeft rare tekens.• 3 Beeldscherm heeft stippeltjes.• 4 Beeldscherm staat vast.• 5 Beeldscherm is zvart.• 6 Beeldscherm heeft strepen.• 1 Rokend beeldscherm.•• Bij deze symptomen zijn drie storingsklassen mogelijk, te veten:• - softvarestoringen.• - hardvarestoringen in de computer.• - hardvarestoringen in de beeldschermlijn.• Daarnaast kunnen sommige symptomen vorden veroorzaakt doordat• ~ er ctrl-S is ingetypt.•• Voor de eerste 4 symptomen zijn er aanwijzingen dat ze kunnen worden• veroorzaakt door zowel software- als hardvarestoringen. De laatste• 3 symptomen worden blijkbaar altijd door hardwarestoringen in• de beeldschermlijn veroorzaakt.• Door een tweede beeldscherm schaduv te draaien kan voor de eerste• 4 symptomen worden bepaald, om welke storingsklasse het gaat.
(DefConcept BeeldschermsymptoomPROP:PROMPT: Wat is er mis met het Beeldscherm?COMMENT:EXPECT: VALUE
*Beeldscherm heeft sterretjes**Beeldscherm heeft rare tekens**Beeldscherm heeft stippeltjes**Beeldscherm staat vast**Beeldscherm is zwart**Beeldscherm heeft strepen**Rokend beeldscherm*]
(DefConcept SchaduwschermtestPROP:PROMPT: Wat ziet u op het schaduwscherm?EXPECT: VALUE
*Schaduwscherm werkt goed**Schaduwscherm heeft sterretjes**Schaduwscherm heeft rare tekens**Schaduwscherm staat vast*
75
(DefConcept
(DefConcept
StoringPROP:EXPECT:
OorzaakPROP:EXPECT:
WSchaduwscherm heeft strepenW]
ASKNOTGROUP]
ASK NOTGROUP]
(DefConcept Uitleg_schaduw_draaienPROMPT: Veet u hoe je het schaduwscherm parallel moet zetten1COMNENT: - Zo ja, zet dan het schaduwscherm parallell
- Zo nee, dan vertel ik je hoe dat moet.EXPECT: YIN]
draaischakelaar op het juiste cijferl Wnaar: WDan staat het schaduwscherm parallel I
WDe weger in de O-hal)WDe inname in de O-hal)WDe weger in de T-hal)WDe bundelbeeldbuis in de O-hal)WDe weger in de V-hal)WDe inname in de V-hal)WDe VC aan magazijnkant)WDe VC Ban raamkant]
(DefRule
(DefRule
RSOOlaIF: SFIRST
SHOT Uitleg_schaduw_draaienTHEN: SPRT-NSG wOpen beneden in de computerruimte de 3e computerkastl
SCLR-INFO (- Links zie je een nikkelen schakelaartje. )SMSG-VAIT (- Rechts zie je een draaischakelaar met cijfers.)SPRT-MSG WZet het nikkelen schakelaartje omlaagl WSNSG-VAIT ()SPRT-NSG wZet deSCLR-INFO (WDraaiSMSG-INFO (W 0SNSG-IHFO (W 1SMSG-IHFO (W 2SMSG-IHFO (W 3SNSG-IHFO (W 4SNSG-INFO (W 5SMSG-INFO (W 6SMSG-VAIT i W 7
RSOOlbIF: SFIRST
SHOT Uitleg_schaduw_draaienTHEN: SPRT-NSG WZet het nikkelen schakelaartje omhoogl W
SMSG-VAIT ()SPRT-NSG WGa naar boven naar het schaduwscherml wSNSG-VAIT (]
;-----------------------------------------------------------------JSCHERN HEEFT STERRETJESI RARE TEKEHS:J. Er zijn aanwijzingen dat sterretjes en rare tekens door dezelfdeJW storingen kunnen worden veroozaakt.J. Er zijn bovendien aanvijzingen dat:J. - als de schaduv verkt er altijd een hardvarestoring in de lijn is.;. - als de schaduw ook rare tekens toont er geen uitsluiting mogelijk isJ~ en er zelfs een of meer elementen in de lijn de oorzaak kunnen zijn.JJExperiment 2S-05-S6, 450, Henk van der Vijgh.JSymptoom: VCS scherm heeft sterretjes.JTest: Schaduv verkt goed.JStoring: Hardvarestoring in beeldschermlijn.
Het parallel-bedrijf van een terminal op de multiplexer gaat via eenandere modem als de modems die het bedrijf, het veld ingaan. HetEIA-signaal van de mutiplexer vordt omgezet via een modem naar determinals in de fabriek. Naar het andere modeminterface, het printjedat erin zit, zorgt voor het parallel-bedrijf. Dus de multiplexer zelf,
)6
; het kanaal is goed tot en met de RS232 interface. En als er dan eenmodem schter zit, is het een snder printje dan we nu hebben. Dan is hetdus mogelijk dat hij het daar weI doet en zou hij het zelf niet doen.
;;Experiment 2S-05-S6, 314, Henk van der Vijgh.;Symptoom: VCS scherm heeft sterretjes.;Test: Schaduw werkt goed.;Storing: Hardwsrestoring in beeldschermlijn.; VCS staat hardware parallel aan deze terminal. Deze terminal draait; VCS doet het niet. Konklusie software werkt hardware niet.;;Experiment 2S-05-S6, 347, Henk van der Vijgh.;Symptoom: VCS scherm heeft sterretjes.;Test: Schaduw werkt goed.;Storing: Hardwarestoring in beeldschermlijn.; Ais er sterretjes op het beeld staan en dit is de enige monitor die; dst heeft en aIle beeldbuizen hier staan op dezelfde multiplexer; (groep 0 tIm 7 zoals we zagen in de computerruimte) dan betekent dat
dat er aan een beeldschermlijn iets stuk is.
(DefRule
(DefRule
RS002_sterretjesIF: Beeldschermsymptoom = '·Beeldscherm heeft sterretjes·
Schaduwschermtest = '·Schaduwscherm werkt goed-THEN: 90 (Storing Storing in beeldschermlijnl
RS002_rare_tekensIF: Beeldschermsymptoom = '·Beeldscherm heeft rare tekens·
Schaduwschermtest = '·Schaduwscherm werkt goed·THEN: 90 (Storing Storing in beeldschermlijnl
;Gesprek 15-07-S6, 8antekening, Henk Altena.;Symptoom: Scherm h~eft rare tekens.;Test: Schaduw heeft eveneens rare tekens.;Storing: Hardwarestoring in beeldschermlijn.;Oorz8ak: Toetsenbord is defekt.
Een toetsenbord van een scherm zou spontaan rare tekens kunnen zenden.; Dan verschijnen de tekens op het scherm en ook op het schaduwscherm.;;Gesprek 15-07-S6, santekening, Henk Alten8. (1);Symptoom: Scherm heeft rare tekens.;Test: Schaduw heeft ~veneens rare tekens.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Switch~s zijn verkeerd ingesteld. (bautrate)
Ais de bautrate verkeerd staat krijg je rijtjes van rare tekens opje scherm in plaatst van de karakters die je intypt of die decomputer zendt.
;;Gesprek 15-07-S6, aantekening, Henk Altena.;Symptoom: Scherm heeft rare tekens.;Test: Schaduw heeft meestal ook rare tekens.;Storing: Hardwarestoring in computer.; Het is mogelijk dat rare tekens op een scherm ontstaan door een kapotte
transistor in een mux of door een printje in de computer. In het eerstegeval hoeft de storing niet op het parallel scherm zichtbaar te zijn.
(DefRule RS003_sterretjesIF: Beeldschermsymptoom = '·Beeldscherm heeft sterretjes·
Schaduwschermtest = '·Schaduwscherm heeft sterretjes·THEN: 90 (Oorzaak Toetsenbord is defekt)
SO (Oorzaak Switches zijn verkeerd ingesteld)90 (Storing Storing in beeldschermlijn)
(DefRule
80 (Storing Storing in computer]
RS003_rare_tekensIF: Beeldschermsymptoom = '·Beeldscherm heeft rare tekens·
Schaduvschermtect = '·Schaduvscherm heeft rare tekens·THEN: 90 (Oorzaak Toetsenbord is deiekt)
80 (Oorzaak Svitches zijn verkeerd ingesteld)90 (Storing Storing in beeldschermlijn)80 (Storing Storing in computer]
;Gesprek 04-07-86, blz 2, Cor Faatels.;Symptoom: Scherm heeft sterretjes.;Test: Schaduv 111;Storing: Hardvarestoring in beeldschermlijn.
Hardvarestoring in computer.; Ik kan niet zomaar zeggen als je alleen maar sterretjes krijgt het
ligt Ban de terminal of aan de verbinding.;;Gesprek 04-07-86, blz 2, Cor Faatels.;Symptoom: Scher. heeft sterretjes.;Test: Schaduv 111;Storing: Hardvarestoring in beeldschermlijn.; Als de verbinding met de terminal niet goed is dan kunnen er evengoed
sterretjes verschijnen•.,;Gesprek 04-07-86, blz 2, Cor Faatels.;Symptoo.: Scher. heeft sterretjes.;Test: Schaduv heeft ook sterretjes.;Storing: Hardvarestoring in beeldschermlijn.
Als de verzending naar de computer niet goed is. Dan echoot de computerde karakters die hij verkeerd binnen krijgt op dezelfde manier "terug.
;;-----------------------------------------------------------------;SCHERK STAAT VASTI GEEFT GEEN RESPONS:;;Storingshandleiding 27-06-86, hfst 3, Jan van der pluim.;Symptoom: Scherm staat vast.;Test: Schaduv werkt goed;Storing: Hardwarestoring in beeldschermlijn.
Als een scherm vaststaat ga dan eerst na of het een hardwarestoringbetreft. Zet de schaduwbeeldbuis hardware parallel Ban de beeldbuis.Als dat scherm normaal werkt is er een hardwareprobleem.
(DefRule RS104_staat_vastIF: Beeldschermsymptoom = '·Beeldscherm staat vast·
Schaduwschermtest = '·Schaduwscherm werkt goed·THEN: 90 (Storing Storing in beeldschermlijn]
;Gesprek 15-07-86, aantekening, Henk Altena.;Symptoom: Scherm staat vast.;Test: Schaduw heeft rare tekens.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Netstekker modemkastje is los.; Als het modem Ban een scherm spanningsloos is, zal het scher. waar
schijnlijk vaststaan. Het VTR printje in de terminal krijgt echtergeen signaal, daarom zullen op het schaduwscherm waarschijnlijkvreemde karakters te zien zijn.
(DefRule RS105_staat_vastIF: Beeldschermsymptoom = '·Beeldscherm staat vast·
Schaduvschermtest = 'wSchaduwscherm heeft sterretjes W
(DefRule
THEN: 90 (Oorzaak Netstekker modemkastje is los]
RSI06_staat_vastIF: Beeldschermsymptoom = '-Beeldscherm staat vast-
Schaduvschermtest = '·Schaduvscherm heeft rare tekensTHEN: 90 (Oorzaak Netstekker modemkastje is los)
;Gesprek 04-07-86, bIz 9, Cor Faatels.;Symptoo.: Scherm staat vast.;Test: Schaduv staat vast.;Storing: Softvarestoring.
als de schaduv ook niet verkt kan je kijken of er een taak gecrasht is•.,;Gesprek 04-07-86, bIz 6, Cor Faatels.;Symptoom: Scherm staat vast.;Test: Schaduv staat vast.;Dorzaak: Ctrl S is ingetypt.;Actie: Ctrl Q, voordat softvarestoringen vorden bekekenl
De ctrl S je hebt geen echte noscroll toets (op de regents) Na een ctrl Smoet ik ctrl Q geven dat is de enige Manier (geen resetmogelijkheid).Uitzetten helpt niet. Beeldschermtaken opnieuv starten helpt niet.
(DefRule RSI07_staat_vastIF: Beeldschermsymptoom = '·Beeldscherm staat vast-
Schaduvschermtest = '·Schaduvscherm staat vastTHEN: 90 (Oorzaak Er is ctrl S ingetypt)
90 (Storing Softvarestoring]
;-----------------------------------------------------------------;SCHERK REEFT STIPPELTJES:;. Als een scher. uit en aan vordt gezet verschijnen er stippeltjes van;- de zelftest. Vordt het scherm aan en uit gezet tervijl het scher.;- vaststaat dan blijven de stippeltjes staan•.,;Gesprek 04-07-86, bIz 7, Cor Faatels.;Symptoom: Scherm heeft stippeltjes.;Storing: Scherm staat vast.
Door de selftest procedure komen er op iedere plaats op het scher.een stippeltje•.,
;Gesprek 04-07-86, bIz 7, Cor Faatels.;Symptoom: Scherm heeft stippeltjes.;Storing: Scherm staat vast.
Als een scherm het niet doet zetten ze hem effe uit en aan. Verkthet dan nog nlet en kom je daar en staan er allemaal stippeltjes
; op het scher.. Oat betekent dat ie uit is geveest.
(DefRule
(DefRule
(DefRule
RSI04_stippeltjesIF: Beeldschermsymptoom = '·Beeldscherm stippeltjes-
Schaduvschermtest = '·Schaduvscherm verkt goedTHEN: 90 (Storing Storing in beeldschermlijn)
aS10S_stippeltjesIF: Beeldschermsymptoom = '-Beeldscherm stippeltjes-
Schaduvschermtest = '-Schaduvscherm heeft sterretjesTHEN: 90 (Oorzaak Netstekker modemkastje is los]
RSI06_stippeltjesIF: Beeldschermsymptoom = '·Beeldscherm stippeltjes-
Schaduvschermtest = '·Schaduvscherm heeft rare tekens·THEN: 90 (Oorzaak Netstekker modemkastje is los]
(DefRule RSI07_stippeltjesIF: Beeldschermsymptoom = ··Beeldscher. stippeltjes·
Schaduwschermtest = '·Schaduwscherm staat vast·THEN: 90 (Oorzaak Er is ctrl S ingetypt)
90 (Storing Softwarestoring]
; .(DefContext OORZAKEN_LIJNSTORING
IN: STORINGSDIAGNOSEIF: $OR (Storing Storing in beeldschermlijn)
Beeldschermsymptoom = ··Beeldscherm is zwart·Beeldschermsymptoom = '·Beeldscherm heeft strepen·Beeldschermsy.ptoom = '·Rokend beeldscher.·]
;AFLEIDEN VAN OORZAKEN "ITS HARDWARESTORING IN LIJN:;. Als de eerste diagnose na schaduw draaien in de richting van;. een hardwarestoring in de lijn naar een terminal wijst zijn de;. volgende diagnosen .ogelijk:;. 1 Netstekker van beeldscher. is los.;. 2 Datalijn van modemkastje naar beeldscher. is los.;. 3 Datalijn van .odemkastje naar beeldscherm is defekt.;. 2 Beeldscherm is defekt.;. 3 Switches zijn verkeerd ingesteld. (bautrate).;. 4 Toetsenbord is defekt.;. 5 Toetsenbord is los.;. 6 Netstekker van .ode.kastje is los.;. 7 "odemkastje is defekt.;. 8 VTR printje is verplaatst.;. 9 VTR printje is defekt.;. 10 Datalijn van VTR printje naar .odemkastje is los.;. 11 Datalijn van VTR printje naar .odemkastje i. defekt.
;. Hieronder worden per symptoom de opmerkingen opgesomd die .oeten leiden;. tot het stellen van de juiste diagnose bij iedere storing.
j-----------------------------------------------------------------·SCHER" IS ZWART:• In het geval van een zwart scher. kunnen de volgende diagnoses• worden gesteld:• 1 Netstekker van beeldscherm is los.• 2 Beeldscher. is stuk.• 3 Netstekker van .ode.kastje is los. (Kans dat het scher. dan vaststaat)
,;Experiment 09-06-86, 249, Henk van der Vijgh.;Symptoom: Inpakkerijscher. is zwart.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Netstekker van beeldscherm is los.i Beeldscherm is defekt.
Nou hoort er dus wat te verschijnen. Kennelijk is er geen spanning; op het apparaat. Of het apparaat zelf is stuk of er komt geen; spanning op het apparaat.; Of het apparaat zelf is stuk of er komt geen spanning op het apparaat.
Nou het ene is de stekker, dan gaan we effe kijken.; Dit is de stekker van de terminal. Dan kan ik net zo goed er; rechtstreeks inprikken. Nou komt er wel spanning Ope
(Er verschijnt nu een scherm met puntjes waarvan de oorzaak is dat denetstekker van het modemkastje los is. )
(DefRule
IF:THEN:
Beeldschermsymptoom = '·Beeldscherm is zwart·90 (Oorzaak Netstekker van beeldscherm is los)90 (Oorzaak Beeldscherm is defektl
;Experiment 09-06-86, 253, Henk van der Yijgh.;Sy.ptoom: Inpakkerijscherm is zwart.; Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Netstekker van modemkastje is los.
Als het lampje (op de modem) brandt dat er spanning op staat, dus er; staat kennelijk geen spanning Ope Dan lijkt het het mode.kastje of lampje.;;Gesprek 20-06-86, blz 3, Henk van der Yijgh.;Symptoom: Scherm is zwart of geen responSe;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: 111
Afhankelijk van de klacht ga je eerst kijken of er wat op het beeldverschijnt. Als de produktie zegt ik krijg geen respons of mijn scherm
; is zwart dan gaat ie Ban en uit zetten of de netstekker is eruit.
J-----------------------------------------------------------------'SCHER" HEEFT STREPEN:* In het geval dat er strepen op een scher. verschijnen is alleen de* volgende diagnose mogelijk:* 1 Beeldscherm is stuk.
Gesprek 20-06-86, blz 3, Henk van der Yijgh.Symptoom: Beeldscherm heeft strepen.
,Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Beeldscherm is defekt.
Strepen op het scherm zijn typisch voor een regent 40 en 100. Dan is; je beeldbuis bijna kapot. Dan moet ie gewoon vervangen worden.
(DefRule RD202_strepenIF: Beeldschermsymptoom = '·Beeldscherm heeft strepen·THEN: 90 (Oorzaak Beeldsch~rm is defektl
;-----------------------------------------------------------------;ROKEND BEELDSCHER":;* In het geval van een rokend beeldscherm is alleen de volgende diagnose;* mogelijk:;* 1 Beeldscher. is stuk.
;Gesprek 20-06-86, blz 9, Henk van der Yijgh.;Symptoom: Rokend beeldscherm.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Beeldscherm is stuk.; Als ie staat te roken dan ga je niet meer naar de software kijken. Die; indicators zijn makkelijk.
(DefRule RD203_rokendIF: Beeldschermsymptoom = '·Rokende beeldscherm·THEN: 90 (Oorzaak Beeldscherm is defektl
;-----------------------------------------------------------------;SCHER" HEEFT STERRETJESI RARE TEKENS:;* In het geval dat er sterretjes of rare tekens op het scherm verschijnen;* zijn de volgende diagnoses mogelijk:;* 1 Netstekker van modemkastje is los. (Kans dat dan het scherm vaststaat);* 2 "odemkastje is defekt.;* 3 Datalijn van VTR printje naar modemkastje is los.;* 4 Datalijn van VTR printje naar modemkastje is defekt.
;9 5 VTR printje is verplaatst.;9 6 VTR printje is defekt.;9 7 Switches zijn verkeerd ingesteld. CRijtjes van rare tekens);9 S Toetsenbord is defekt.,,Experiment 2S-05-S5, 347, Henk van der Vijgh.·Symptoom: VCS scherm heeft sterretjes.Storing: Hardwarestoring in beeldschermlijn.Oorzaak: Netstekker van modemkastje is los.
nodemkastje is defekt.Datalijn van VTR printje naar modemkastje is los.Datalijn van VTR printje naar modemkastje is defekt.VTR printje is verplaatst.VTR printje is defekt.
In dit geval is het niet de terminal zelf wegens de sterretjes op het; beeld. Oat wil zeggen dat er een open lijn is. Dus dat kan aIleen een
stekker zijn die eruit ligt, de modem kan defekt zijn hier of de modemdaar of er moet een kabelbreuk zijn. Dat neem ik niet aan want andersmoet ik in het beton gaan.De multiplexer is goed. Dat kan aIleen in de modem daar ter plekke zijn,de modem hier of de terminal zelf.,
,Experiment 2S-05-S6, 377, Henk van der Vijgh.,Symptoom: VCS scherm heeft sterretjes.;Storing: Hardwarestoring in beeldschermlijn.,Oorzaak: Netstekker van modemkastje is los.
nodemkastje is defekt.Datalijn van VTR printje naar modemkastje is los.Oatalijn van VTR printje naar modemkastje is defekt.
Het modem is stuk of hij maakt geen kontakt.De kabel verdenk ik niet, want dat gaat niet altijd en dan moet ik echtgaan schroeven en gaan kijken of er ergens een kontakt loszit. Dus ikwil weten of het modem goed is. Die kan ik testen door hem tussen eenandere terminal te zetten.Het zou de modem kunnen zijn. Ik haal even een modemkastje en wisselhem even om. Ik ga er nu even vanuit dat er geen reserve is en datdie man denkt: Ik moet het zeker weten.
,,uesprek 04-07-S6, bIz 7, Cor Faatels.;Symptoom: Scherm heeft verminkte karakters.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: nodemkastje is defekt.
Als je verminkte karakters krijgt dan is het meestal een van demodemkastjes.,
;uesprek 15-07-S6, aantekening, Henk Altena.;Symptoom: Scherm heeft sterretjes/ rare tekens.;Storing: Hardwarestoring in beeldschermlijn.,Oorzaak: VTR printje is verplaatst.
VTR printje is defekt.Datalijn van VTR printje naar modemkastje is defekt.Datalijn van VRT printje naar modemkastje is los.
Als de lijn naar het modemkastje stuk is, of het VTR printje aan decomputer is spanningsloos, weg of stuk dan zullen er w8arschijnlijkvreemde tekens, meestal sterretjes, op het scherm verschijnen.,
;Experiment 2S-05-S6, 546, Henk van der Vijgh.,Symptoom: VCS scherm heeft sterretjes.,Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: VTR printje is verplaatst.
Het verplaatsen van printjes kan een gevolg zijn bij het oplossen van
een storing. Dit geeft hetzelfde beeld als de modem stuk is.;;Gesprek 15-07-86, aantekening, Henk Altena. (2);Symptoom: Scherm heeft rare tekens.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Switches zijn verkeerd ingesteld. (bautrate).; Als de bautrate verkeerd staat krijg je rijtjes van rare tekens op
je scherm in plaatst van de karakters die je intypt of die decomputer zendt.
;;Gesprek 04-07-86, bIz 8, Cor Faatels.;Symptoom: Scherm heeft rare tekens.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Kodemkastje is stuk.
er staat een kolomnummer met rare tekens erin. Waar een cijferhoort te staan staat een letter. Dat zijn echte modemfouten.
(DefRule RD204_sterretjesIF: eOR Beeldschermsymptoom = '·Beeldscherm heeft sterretjes·
Beeldschermsymptoom = '·Beeldscherm heeft rare tekens·THEN: 90 (Oorzaak Kodemkastje is defekt)
90 (Oorzaak Datalijn van VTR printje naar modemkastje is los)90 (Oorzaak Datalijn van VTR printje naar modemkastje is defekt)90 (Oorzaak VTR printje is verplaatst)90 (Oorzaak VTR printje is defekt)50 {Oorzaak Switches zijn verkeerd ingesteldl
;-----------------------------------------------------------------·SCHERK STAAT VASTI HEEFT PUNTJES:• Als het scherm vast staat of er staan puntjes op het scher. dan• zijn de volgende diagnoses .ogelijk:• 1 Toetsenbord is los.• 2 Beeldscherm is defekt.• 3 Datalijn van modemkastje naar terminal is los.• 4 Netstekker van modemkastje is los.• 5 Switches zijn verkeerd ingesteld. (Kans op rijtjes van rare tekens)
,;Gesprek 20-06-86, bIz 3, Henk van der Vijgh.;Symptoom: Kogelijk bij geen responSe;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Toetsenbord is los.; De inpakkerij terminals zijn ADDS (regent) 40 of 100 terminals. De; een met een vast de ander .et een los keyboard.;;Experiment 09-06-86, 303, Henk van der Vijgh.;Sympto011l: Inpakkerijscherm heeft puntjes.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Beeldscherm is defekt.; We kunnen hem op local zetten en kijken of de beeldbuis zelf goed is.
Dat is control local.;;Gesprek 04-07-86, bIz 7, Cor Faatels.;Symptoom: Scherm staat vast.; Witte balk is weg.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Beeldscherm is defect.
Het wil weI eens gebeuren dat die witte balk verdwijnt.; Dan is er inwendig in de terminal wat loos en staat ie ook vast.; Dan moet je een andere terminal neer zetten. Keestal is het weI; over als je hem Ban en uit zet maar dan komt•••
~Gesprek 02-05-86, blz 38, Henk van der Vijgh.~Sy.ptoom: Scher. staat vast.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Datalijn van modemkastje naar terminal is los.; Als de stekker eruit ligt heb je geen in- of output.;;Experi.ent 09-06-86, 308, Henk van der Vijgh.;Sy.ptoom: Inpakkerijscher. heeft puntjes.,Storing: Hardwarestoring in beeldscher.lijn.,Oorzaak: Netstekker van .ode.kastje is los., Het lijkt dat de terminal zelf goed is. Het zou dan hoogstens nog, de driver kunnen zijn, de EIA driver die hierachter zit.;,Experi.ent 09-06-86, 308, Henk van der Vijgh.,Sy.ptoo.: Inpakkerijscher. heeft puntjes.,Storing: Hardwarestoring in beeldscher.lijn.,Oorzaak: Netstekker van .odemkastje is los., Het zijn twee problemen want er komt kennelijk geen spanning uit het, .ode.kastje. Hij lijkt wel of de .ode. hele.aal niet onder spanning, staat.,,Experi.ent 09-06-86, 259, Henk van der Vijgh.,Syaptoo.: Inpakkerijscher. heeft puntjes.,Storing: Hardwarestoring in beeldscher.lijn.,Oorzaak: Netstekker van .odemkastje is los., Dan kan ik nu kijken of .isschien de stekker van het .ode. eruit ligt.,,Experi.ent 09-06-86, 272, Henk van der Vijgh.;Sy.ptoo.: Inpakkerijscher. heeft puntjes.;Storing: Hardwarestoring in beeldschermlijn.;Oorzaak: Switch.s zijn verkeerd ingesteld.
Ik controleer even de switches.
(DefRule
(DefRule
RD205_staat_vastIF: Beeldscher.symptoom = '·Beeldscher. staat vast·THEN: 90 (Oorzaak Toetsenbord is los)
90 (Oorzaak Beeldscher. is defekt)90 (Oorzaak Datalijn van .odeakastje naar ter.inal is los)90 (Oorzaak Netstekker van .odeakastje is los)90 (Oorzaak Switches zijn verkeerd ingesteldl
RD205_stippeltjesIF: Beeldscher.syaptoo. = '·Beeldscher. heeft stippeltjes·THEN: 90 (Oorzaak Toetsenbord is los)
90 (Oorzaak 8eeldschera is defekt)90 (Oorzaak Datalijn van modemkastje naar ter.inal is los)90 (Oorzaak Netstekker van .odeakastje is los)90 (Oorzaak Switches zijn verkeerd ingesteldl
;Experiment 09-06-86, 329, Henk van der Vijgh.;Symptoom: Inpakkerijscherm heeft puntjes.;Storing: Hardwarestoring in beeldscher.lijn.;Oorzaak: "", Als trans.it en receive data verder doet dan is het wat .ij betreft, voor elkaar.
; .
(DefContext ACTIES_LIJNSTORINGIN: STORINGSDIAGNOSEl
(DefConcept Lijnstoring_opgelostPRO"PT: Is de storing aan het beeldscher. opgelost?CO""ENT: Type functietoets F1 in. Als er dan wat op het
scher. verschijnt is de storing opgelost.EXPECT: Y/Nl
(DefRule RA001_beeindig_consultatieIF: $FORWARD
Lijnstoring_opgelostTHEN: $GO-CONT endl
(DefRule RA102IF: (Oorzaak Netstekker van beeldscher. is los)THEN: $PRT-"SG 'Controleer of er spanning op het beeldscher. staat.'
$CLR-INFO (- Ligt de netstekker los, steek he. danin het stopcontact.)
$"SG-INFO (- Zit de netstekker in het stopcontact,druk he. dan aan. )
$"SG-WAIT ()$RCLEAR Lijnstoring_opgelost$ASK Lijnstoring_opgelostl
;Gesprek 24-7-86, aantekening, Henk Altena.;Oorzaak: Netstekker van het .ode.kastje is los.;Actie: Netstekker van .ode.kastje in het stopcontact steken.;Oorzaak: Datalijn van .ode.kastje naar beeldscher. is los.;Actie: Connector van .ode.kastje goed in beeldscher. steken.; Verbinding van .ode.kastje .et de ter.inal controleren.;Oorzaak: Datalijn van VTR printje naar .ode.kastje is los.;Actie: Aansluiting op PTT-lijn controleren.a Uit het oude .ode.kastje, het kastje .et alleen een spanningsla.pje
ko.en drie draden. Een voor de spanning, een naar de ter.inal en een; naar de PTT-lijn (lijn naar de computer). Aan de eerste zit eena stekker o. in het stopcontact te steken. De tweede heeft eena connector o. in de ter.inal te steken. De derde o. de PTT-lijn te
verbinden.
(DefRule RA103IF: (Oorzaak Datalijn van .ode_kastje naar beeldscher. is los)THEN: $PRT-"SG 'Controleer de verbinding tUBsen .0d••kaBtje en beeldsch.r.1
$eLR-INFO (Uit het .od~.kastje onder de tafel .et hetbeeldscher. ko_en drie draden:)
$"SG-INFO (1 Een voor de verbinding .et het beeldscher•• )$"SG-INFO (2 Een voor de netspanning. )$"SG-INFO (3 Een voor de verbinding .et de co.puter.)$"SG-INFO ()$"SG-INFO (Zorg dat de stekker van de 1e lijn goed in het
beeldscherm steekt:)$"SG-INFO (- Zit de stekker erin, druk he. dan goed aanl)$"SG-WAIT (- Ligt de stekker los, steek he. er dan goed inl)$RCLEAR Lijnstoring_opgelost$ASK Lijnstoring_opgelostl
(DefRule
(DefRule
RAI04IF:THEN:
RAIOS
(Oorzaak Datalijn van .ode.kastje naar beeldscher. is defekt)]
(DefRule
(DefRule
(DefRule
(DefRule
(DefRule
(DefRule
(DefRule
(DefRule
IF: (Oorzaak Beeldscherm is defekt)THEN: ]
RU06IF: (Oorzaak Switches zijn verkeerd ingesteld)THEN: ]
RU07IF: (Oorzaak Toetsenbord is defekt)THEN: ]
RUOSIF: (Oorzaak Toetsenbord is los)THEN: ]
RU09IF: (Oorzaak Netstekker van .ode.kastje is los)THEN: ]
RAUOIF: (Oorzaak ftodemkastje is defekt)THEN: ]
RAUlIF: (Oorzaak VTR printje is verplaatst)THEN: ]
RAU2IF: (Oorzaak VTR printje is defekt)THEN: ]
RAU3IF: (Oorzaak Datalijn van VTR printje naar .ode.kastje is los)THEN: ]
(DefRule RAU4IF:THEN:
(Oorzaak Datalijn van VTR printje naar .ode.kastje is defekt)]
,Experiment 2S-05-S6, 357, Henk van der Vijgh.;Symptoom: VCS scher. heeft sterretjes.;Oorzaak: Netstekker van .odemkastje is los., Ik inspecteer of de .tekker erop zit.
Ik kijk of de stekker van de .ode. er inzit door het volgen van draden.;fExper1.ent 2S-05-S6, 430, Henk van der Vijgh.;Symptoom: VCS scherm heeft sterretjes.;Oorzaak: Switches zijn verkeerd ingesteld.;Actie: Switches goed instellen.; Ik kijk nou even naar schakelaartjes (switches) of toevallig niet iemand: die o.gezet heeft. Baudrate EIA en Current.
:Experiment 2S-05-S6, 474, Henk van der Vijgh.;Symptoo.: ves scherm heeft sterretjes.;Oorzaak: VTR printje is verplaatst.: VTR printje is defekt.;Actie: Op lijst het juiste printje zoeken.: Het zijn basement-drivers, simpele modems. We kijken in het rek zelf.
Normaal is er een lijst. Dan staat in de lijst op welk kanaal de; verzendcoordinator zit.;
86
;Gesprek 20-06-86, blz 3, Henk van der Yijgh.;Symptoom: 7711;Oorzaak: Switches zijn verkeerd ingesteld.;Actie: Switches goed instellen., De YT131 heeft een aparte setup mode. De instelling van de regent 40; en 100 is iets enders. Dat moet ter plekke zijn aangegeven.;;Gesprek 04-07-86, blz 2, Cor Faatels.;Symptoom: Scher. heeft sterretjes.,Oorzaak: Toetsenbord is defekt.;Actie: Beeldscherm lokaal testen.
Als ik sterretjes heb dan zet ik hem ter plekke op local. Dan kan ik, het toetsenbord met het beeldscherm apart testen•.,;Gesprek 04-07-86, blz 2, Cor Faatels.,Symptoom: Scherm is/heeft 7111;Oorzaak: Beeldscherm is defect.;Actie: Beeldscherm lokaal testen., als ik local heb gezet en geconstateerd heb dat dat deel van die
terminal functioneel goed werkt. Dan zou je de bautrate kunnen; controleren. "aar die verspringen niet zomaar.;; .(DefContext end
IN: STORINGSDIAGNOSEDO: $"SG-COND (KNONN Diagnose]
; .;ALGE"E£N:;Gesprek 20-06-86, blz 3, Henk van der Yijgh., Als hij de klacht over de inpakkerij hoort gaat ie eerst naar de; inpakkerij en die man zegt daar van kijk dit is mijn plaatjeaI - daar staan of sterretjesI - of hij krijgt een plaatje maar geen responsI - hij vertoont strepenI - wel input maar geen output, of andersomI plus:, - bedieningsfouten, - configuratiefouten•.,IGesprek 04-07-86, blz 3, Cor Faatels.;Symptoom: Scherm is/heeft 1111; Als je weet dat ie net gewisseld is ga je daar naar kijken, maar, als je weet dat ie niet gewi.seld is ga je daar in eerste instant1e
niet Ban•.,,Gesprek 04-07-86, blz 2, Cor Faatels.,Symptoom: Scherm is/heeft 11111, Als ik denk dat het aan de terminal kan liggen dan test ik de terminal; effe uit.;,Gesprek 04-07-86, blz 3, Cor Faatels.ISymptoom: Scherm is/heeft 1711; "ensen kunnen storingen vreemd doorgeven:
- H1j doet het nietI - of hij geeft vreeade tekensI;Gesprek 04-07-86, blz 12, Cor Faatels.;Symptooa: Beeldscherm heeft rare tekens.
Als het systeem traag is of het scherm staat vast is die klachtook daarnaar. Ais er echt iets functioneel Ban het scherm .ankeertdan hebben ze verminkte karakters en dat soort dingen. Of ze krijgenstippeltjes en dat soort dingen. Oat zijn toch heIe andere zaken alsecht softwarematige zaken als die functie wil niet of ik krijg dierollen niet in. Of ik kan die rollen niet in. Ik kan niet inne.en opdie orderpost.
Gesprek 18-04-86, bIz 4, Henk van der Vijgh.Symptoom: Scher. is/heeft 1111
,Oorzaak: 1111; Het configureren van de terminal hangt af van de instelling van de; interface in de computer.;; .(DefContext SOFTWARESTORINGEN
IN: ]
;AFLEIDEH VAN OORZAKEH "ITS SOFTWARESTORIHG:;;Gesprek 20-06-86, bIz 6, Henk van der Vijgh.;Symptoom: Scherm geeft geen responSe;Storing: Softwarestoring.; Hij .oet toch nagaan in zijn diagnose van wat deed die .an dat het fout
ging. Hij kan iets gedaan hebben waardoor hij de zaak vastzet.;;Gesprek 04-07-86, bIz 2, Cor Faatels.;Symptoom: Scher. heeft geen responSe·Storing: Softwarestoring.
Als er een taak crasht kan je dat heel snel zien. Het is een vrijregel.atig patroon dat op de printer staat. Met een blik kan je zienof er het laatste half uur wat vreemds is gebeurd. Of er takengecrasht zijn.
Gesprek 04-07-86, bIz 4, Cor Faatels.,Symptoo.: Scher. staat vast.·Storing: Softwarestoring.
Via zijn beeldschermen via procedures start ie andere taakjes Ope Alsdat taakje afgelopen is dan krijgt dat beeldschermtaakje een berichtjedat ie verder .ag gaan of de volgende actie .ag verrichten.Dus vaak is het zo dat zijn beeldschermtaak een ander taakje Ope Alsdie taak nou uitvalt dan krijgt die beeldschermtaak vaststaan. Dan blijftie wachten op die gereedmelding.
,Gesprek 04-07-86,blz 8, Cor Faatels.;Symptoom: Scherm staat vast.;Storing: Softwarestoring.
als ik een klacht heb van een printer of beeldbuis dan zou ik kunnenconcluderen of die taak er wat mee te maken heeft. Daarnaast als ik
; naar RHD zit te kijken en ik zie taaknamen verschijnen dan weet ikniet of de terminal waarbij het probleem zich voordoet of daar nou
; met die betreffende taak wat Ban de hand is.;;Gesprek 04-07-86, bIz 8, Cor Faatels.;Symptoom: Scherm staat vast.;Storing: Softwarestoring.
Als allerlei dingen nou keurig werken terwijl een terminal vaststaatdan kan ik naar RHO kijken•.,
;Gesprek 04-07-86, bIz 9, Cor Faatels.
;Symptoom: Scherm staat vast.;Storing: Softwarestoring.
als ze een verlading starten dan wordt er via dit scher. een boodschapgestuurd naar een taak die heet loader. Die berekent allerlei
; verladingen etc•. Als die loader nou uitvalt. Die loopt tegen een fout; aan. Die taak stopt er spontaan mee. Yaak doet ie een roll-back. En; hij geeft geen bericht terug naar die beeldscher.taak. Dan zal die; beeldscher.taak vaststaan, want die blijft wachten of de terugmelding; van die loadertaak.
Dat het enige beeldscher. dat vaststaat en je schaduwscher. doet het; ook niet.;;Gesprek 04-07-86, bIz 10, Cor Faatels.;Symptoo.: Scher. staat vast.;Storing: Softwarestoring.; Een taak YRDKAN of LOADER of weet ik veel. Als die taak eruit gaat.; Dus je .oet eerst weten wat heeft die YC gedaan. Welke actie heeft; ie gestart en dan gaan kijken of de taak die op dat moment gecrasht; is .et die actie te .aken heeft. Die conclusie is vaak wat .oeilijk; te trekken•.,;Gesprek 04-07-86, bIz 11, Cor Faatels.;Symptooa: Scherm staat vast.;Storing: Softwarestoring., Als het scher. vaststaat is dat .eestal het gevolg dat een van de, taken hier gecrasht is.;,Gesprek 04-07-86, bIz 11, Cor Faatels.;Sy.ptoo.: Scher. staat vast.;Storing: Softwarestoring.; Als het systee. echt traag is o.dat ie het echt druk heeft. Maar
tegen de tijd dat ik hier ben dan heeft ie weI weer wat gedaan. Als; dat scher. echt een aantal .inuten geen respons heeft dan is er echt; weI wat anders aan de hand.; Als ze echt roepen dat het schera vaststaat dan kan het niet de
oorzaak zijn dat het systee. traag is. Als ze een functie aanvragenals ze binnen een .inuut niets gehad hebben is het al erg lang•
•,,Gesprek 04-07-86, bIz 10, Cor Faatels.,Sy.ptoom: Scher. staat vast.;Storing: Softwarestoring.; dan is het zaak dat beeldscher. dat op die taak staat te wachten
vrijge.aakt wordt. Daar hebben ze een procedure voor. Die staat; hierin beschreven. ·Herstarten van de beeldscher.taken·.; Dan kun je deze procedure volgen. Start een co••andfile waarin je
een helehoop taken stopt en opnieuw opstart.; Als je dan een problee. hebt bij de YC dan start ie ook aIle; beeldscher.en op van de innaaes en de andere YC's.
; .;OYERIGE:;Gesprek 04-07-86, bIz 5, Cor Faatels.;Symptoom: Systee.beeldbuis is/heeft 1171; Deze beeldbuis (systeembeeldbuis) zit niet op die .ux aangesloten; maar op een apart IOboard. Een aparte print in de computer. Ret is weI
zo dat je deze niet schaduw kunt draaien. Je kunt hem ofline zetten; en ofline testen. Je kan hem aan en uitzetten of via die resetfunctie; die hier beschreven staat•.,;Gesprek 04-07-86, bIz 6, Cor Faatels.
JSymptoom: Systeembeeldbuis is/heeft ????Er moet een lampje branden online en nog wat van die dingen. Onlinemoet als enige branden. Je kunt hem (systeembeeldbuis) resetten.
J••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
(DefContext CTRL_SIN: STORINGSDIAGNOSEIF: (Oorzaak Er is ctrl S ingetyptl
JACTIECONTEXT ALS SCHER" STAAT VAST T.G.V. CTRL S:
(DefConcept Beeldschermstoring_opgelostPRO"PT: Is de storing van het beeldscherm hiermee opgelost?CO""ENT: Dan moet als u Fl intypt een menu op het scherm
verschijnen.EXPECT: Y/Nl
(DefRule
(DefRule
RAOOO_beeindig_consultatieIF: $FORWARD
Beeldschermstoring_opgelostTHEN: $GO-CONT endl
RA001_type_ctrl_QIF: Beeldschermsymptoom = '·Beeldscherm staat vast·
Schaduwschermtest = '·Schaduwscherm staat vast·THEN: $PRT-"SG ·Type ctrl Q.
$CLR-INFO (Er is mogelijk ctrl S ingetypt. U kuntdit met ctrl Q opheffen. )
$"SG-WAIT (Dit mag u zowel op het beeldscherm als ophet schaduwscherm intypen)
$CLEAR Beeldschermstoring_opgelost$ASK Beeldschermstoring_opgelostl
, .,. Hieronder volgen opmerkingen over storingen betreffende meerdere,. beeldschermen.,,Gesprek 20-06-86, bIz 5, Henk van der Vijgh.,Symptoom: Gewichten komen niet binnen., Hij heeft op de terminal de mogelijkheid een plaatje op te vragen., Nou dat probeert ie, dan zegt ie van plaatje kan ik weI opvragen en
dan zegt ie de gewichten komen niet binnen. Dan zijn de terminal, en multiplexer gewoon goed•.,,Gesprek 20-06-86, bIz 4, Henk van der Vijgh.,Symptoom: "eerdere beeldschermen werken niet., Als beide terminals het niet doen dan kijk je naar het online lampje, of de computer nog in bedrijf is.,;Gesprek 04-07-86, bIz 3, Cor Faatels.,Symptoom: AIle beeldschermen werken niet., Als aIle schermen gewoon niet werken dan ligt voor hun het sy.teem, plat. Of het systeem staat vast•.,,Gesprek 04-07-86, bIz 4, Cor Faatels.;Symptoom: AIle beeldschermen staan vast., Als aIle schermen dan is het bijna altijd software. Dan zie je dat gelijk, op de consoleprinter dan zie je zo dat een taak vastgelopen is of
eruit gegooid is•.,
;Gesprek 02-05-86, bIz 13, Henk van der Vijgh.;Symptoo.: AIle scher.en doen het niet.
Als de .ultiplexer het niet doet, of andere terminals doen het nietdan zijn er twee dingen mogelijk:- de software is gestopt,- de .ultiplexer is stuk.
;;Gesprek 04-07-86, bIz 7, Cor Faatels.;Symptoo.: AIle beeldschermen hebben sterretjes.
Als je de computer uitzet spanningsloos. Beginnen al de beelschermensterretjes te schrijven•.,
;Gesprek 18-04-86, bIz 31, Henk van der Vijgh.;Symptoom: Systeem ligt plat.; Als het runlampje niet brand dan is de computer gestopt.;;Gesprek 04-07-86, bIz 12, Cor Faatels.;Symptoo.: Systeell staat vast.
Als de computer niet werkt of er is een spanningsdip geweest dan isde .elding het systeem staat vast. Je kan niet gelijk zien dat heteen spanningsdip is geweest, .aar je kunt weI zien dat de co.putervan run af 1s•.,
;-----------------------------------------------------------------,Gesprek 15-07-86, aantekening, Henk Altena.;Symptooll: Scherm is/heeft 1111; Je .oet zeer voorzichtig zijn .et het uitsluiten van .ogelijkheden.; Storingen kunnen door een groot aantal oorzaken worden veroorzaakt.
CRDS)
3'