pure.tue.nl · samenvatting. expertsystemen zijn ontstaan uit de behoefte om bepaalde proble men....

167
Eindhoven University of Technology MASTER Expertsystemen Kerstens, F.A.M. Award date: 1986 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and 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

Upload: phungbao

Post on 06-Aug-2019

213 views

Category:

Documents


0 download

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 proble­men. 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 leg­gen.

Expertsystemen worden ontwikkeld door knowledge engineers. Deknowledge engineer is de schake1 tussen experts en een expertsys­teem. 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 acqui­sitie. 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 be­schreven.

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 ratio­neel gereconstrueerd.Het functioneel model dat ontstaat wordt gebruikt om ervarings­kennis 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 proble­men, die moeilijk te beschrijven zijn met conventionele program­meertalen, 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 plan­ningsproblemen.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 conventio­nele programmeertaal geschreven, zoals MYCIN, een systeem dat ad­vies 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 oplossingsmetho­den 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 ontwikke­len, zo zijn expertsystemen immers ontstaan. 20'n programma vol­doet 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 expertsys­teem. 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 know­ledge 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 Intelligen­tie (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 computer­programma's die intelligent gedrag vertonen. Intelligentie hangtnauw samen met begrippen als kennis, redeneren, deductie, induc­tie, 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 (- niet­numerieke) zaken, zoals in natuurlijke taalverwerking. Een be­langrijk deel van het AI-onderzoek bestaat uit de studie en ont­wikkeling 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 programmeer­technieken 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 programmeer­technieken 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 ont­wikkeling van dergelijke computersystemen.

Uorderingen in de ontwikkeling van AI-technieken werden pas ge­boekt na de komst van krachtigere computersystemen. Met uitzonde­ring 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 door­braak tot gevolg had. Uolgens hem moesten de AI-technieken ini­tieel 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 expertsys­temen. 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 afgeba­kend probleemdomein. Dit kan betrekking hebben op:

- eenduidig omschreven problemen die met een berekening of algo­ritme worden opgelost. Deze manier van oplossen wordt algorit­miek genoemd. Voorbeelden zijn sorteer en numerieke problemen.De resulterende oplossingen zijn absoluut-zeker-correct of bij­benadering-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 waar­schijnlijkheden. De oplossingen zijn zelden absoluut-zeker­correct.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 werke­lijke 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 toe­nemende complexiteit van probleemdomeinen, de schaarste aanexpertise en het verloren gaan van expertise door o.a. pensione­Ling 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 ex­pertise wordt vastgelegd. 2e vormen de eerste commerciele af­splitsing van AI. De oplossingsmethoden zijn gebaseerd op AI­technieken. 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 Expert­systemen 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 effi­cient in een expertsysteem worden vastgelegd, maar weI in conven­tionele 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 ana­lyses 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 des­specia-

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 know­de syntax,regels en

legd. 20 zijn systemen opererend op assistent-niveau veelal be­perkt tot vaak voorkomende problemen en systemen op specialist­niveau 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 af­geleid. 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 redeneerver­mogen. 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 lich­ten. Ook de gebruiker van een expertsysteem kan toelichtingverlangen. De verklaringsfaciliteiten bieden hem de mogelijk­heid 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 veran­derde omstandigheden. De knowledge-acquisitie-faciliteiten as­sisteren bij het vullen, testen en wijzigen van de knowledge­base. 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 knowledge­base. 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 syste­men. Bij de ontwikkeling van een exper-tsysteem wor-den onafhanke­lijk van het pr-obleemdomein een of meer- infer-entiemechanismengeimplementeer-d. Aan deze mechanismen wor-dt pr-obleemdomein-af­hankelijke 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 ontwik­keling van commer-ciele exper-tsystemen met een initieel lege know­ledgebase.Deze systemen wor-den exper-tsysteemshells genoemd. Door- toevoegingvan een kennismodel wor-dt een shell tot een oper-ationeel exper-t­systeem omgevor-md. Een shell kan in ver-schillende pr-obleemdomei­nen wor-den ingezet door- de knowledgebase met ver-schillende ken­nismodellen te vullen.Aangezien de ontwikkeling van een exper-tsysteem 2 a 3 manjaar­kost 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-tsys­teem 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 analyse­ren 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 pro­bleemdomein 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 pro­bleem 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 inferentiemechanis­me wordt gewijzigd.

- Uerklaringsfaciliteiten zijn in het algemeen standaard aanwe­zig. 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 verschil­lende 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 objec­ten, feiten, ~egels en contexten en opgeslagen in de knowledge­base. 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 be­schouwing is gebasee~d op DELFI, ACQUAINT, SAGE, PROLOG en LISP,zie lit [1,2,S,6,12,l~,lSJ. De implementatie ve~schilt pe~ sys­teem. 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 mogelijkhe­den 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 symbo­lische objecten, waa~tussen symbolische verbanden bestaan. Bij­voorbeeld in de medische diagnose, waar lichaamsdelen en ziekte­beelden geen numerieke maar symbolische objecten zijn.De symbolische objecten en hun symbolische ~elaties vormen eenveel complexere structuur dan de numerieke objecten. Een be­sch~ijving in de vorm van eenvoudige variabelen zal in het alge­meen 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 waar­den. 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 (predi­caat, 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 eigenschap­pen waarmee objecten worden gedefinieerd, kunnen ze in de volgen­de 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 basis­objecten, 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, zo­als 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 indivi­duele 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 ob­ject met attribuut van een statisch feit een constante. Uoor­beelden 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 beschrij­ven 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 wor­den. 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 stelling­vorm. 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 ge­meenschappelijke 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 klasse­overerving (class inheritance).In deze methode worden de objecten op basis van de gemeenschappe­lijke eigenschappen in objectklassen ingedeeld. De gemeenschappe­lijke 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 eigenschap­pen van het klasse-object. 20 erft het element vogel de eigen­schappen van het klasse-object dier.Op zich kan een klasse-object weer aan een ander klasse-objectrefereren. Objectklassen kunnen dus in subklassen worden ver­deeld. Dit is in figuur 2 weergegeven.

1~

{

plant

wezen < <{dier

reptiel

adelaar

uil

Figuur 2, indeling van objecten in klassen en subklassen. Ade­laar en uil zijn van de klasse vogel. Uogels en rep­tielen 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 be­paald. Zowel numerieke als symbolische expressies worden ge­bruikt. In numerieke expressies ziJn operanden en operatorennumeriek, in symbolische expressies ziJn ze symbolisch.Een expressle kan bestaan ult een numerieke of symbollsche con­stante, 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 gesub­stitueerd. 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 know­ledge 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 voorwaar­de 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 onbe­kend) 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 conclu­deren 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 voorwaar­den, 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 er­varing 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 conclu­voor 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 waarschijnlijk­heidsrekening. Hoe dit in zijn werk gaat zal nog worden toege­licht.

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 Expert­systemen 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 combina­tie 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 iden­tificatieslot 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 be­schrijven. 20 kan het attribuut "a Is winter" met de actie "moetslapen" in het frame van een beer als een demon worden geimple­menteerd. 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 "af­leiden". 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 gereali­seerd. 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 obJec­ten 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 knowled­ge 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 beinvloe­den 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 deel­domeinen 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 deeldo­mein 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 over­zicht zou kunnen verliezen.

Afhankelijk van de implementatie kunnen contexten via een con­textgraaf worden geselecteerd, zie figuur 5. Het systeem werktdan de contextgraaf bijvoorbeeld "depth first" af. Door condi­tionele 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 afhande­ling 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 hier­boven 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. fei­ten. regels en contexten die dUidelijk herkenbaar zijn. Hetvolgens deze methode beschrijven van kennis wordt vaak het decla­ratief 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 conditio­nele 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 verschil­lende 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~ premis­sen~ 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 pro­blemen 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 uitge­gaan. De verandering voor ervaringsregels wordt apart beschreven.

5.1. Regelmodel.

In de modelregel, zie figuur 6, worden de voorwaarden en conclu­sie 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 ver­vangen 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 boven­staande 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 kun­nen 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 onbe­kende 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 volg­orde 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 onbe­kende 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 Le­gels, 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 afge­leid 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~ afge­leid 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 afge­leid 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 con­clusie 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 contro­leren 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 Onbe­kende 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 afge­leid 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 afge­leid 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 af­geleid 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 onder­zocht 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 aan­zienlijk 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 consul­tatie. 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 opleve­reno Als bijvoorbeeld de ~e voorwaarde van een regel faalt, danzijn de eerste 3 voor niets onderzocht. Vooral bij backward chai­ning 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 beves­tigen. 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 gese­lecteerd 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 onderscheid­baar 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 detec­teren 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 afge­leid. Daarna wordt met een agenda een doel gesteld wat met back­ward 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 aan­geven of ze zowel forward als backward mogen worden geevalueerd.

5.11. Inexact reasoning.

De forward en backward chaining strategieen vormen slechts algo­ritmische 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 ze­kerheid, waarmee de conclusie getrokken kan worden.

De gebruiker moet zijn probleem invoeren, door op vragen teantwoorden. Hij kan daarbij echter twijfelen aan zijn antwoor­den 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 zekerhe­den 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 ont­wikkelde 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 zeker­heid 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 voor­waarden worden de zekerheidsfactoren van de verschillende voor­waarden 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 zekerheids­factor 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 respec­tievelijk 0.9, 0.8, 0.7 hebben. Dan is de gecombineerde zeker­heidsfactor gelijk aan 0.9. (Alleen OF-relaties tussen de voor­waarden) 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 OF­relaties 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 EN­relaties nog kunnen verlagen. Deze voorwaarden kunnen dan buitenbeschouwing worden gelaten.

Om het tweede aspect te kunnen verrekenen moeten de inrerentie­strategieen 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 be­schouwen 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 erva­ringsregels wordt wel "single lines reasoning" versus "multiplelines reasoning" genoemd.In "multiple lines reasoning" moeten de zekerheden waarmee ver­schillende 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 zekerheidsrac­tor Crnew , dan wordt op grond van bovenstaande regels een gecom­bineerde 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 ver­schillende variabelen uit verschillende regels als dezelfde va­riabele 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 verschil­lende 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 varia­bele 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 instantia­tie 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 ex­pertsysteem. 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 moge­lijkheid 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

aan­hijkan

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 onvol­doende 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 samenge­steld 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 verbon­den zodat de gebruiker zich beter kan orienteren, zie lit [2J.

De verklaringsfaciliteiten vormen een gewenst maar geen noodzake­lijk onderdeel van expertsystemen. 20 bestaan er expertsystemenzonder deze faciliteiten, zoals XCON/XSEL een van grootste sys­temen.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 ach­tergronden van adviezen en conclusies. Soms worden de verkla­ringsfaciliteiten op gebruikersniveau zelfs verwijderd omdat ge­bruikers ze verwarrend vinden.

~o

hijHij

de

De gebruikersinterface stelt de gebruiker in staat met hetsysteem en met name met de verklaringsfaciliteiten te communice­ren. 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 toelich­tingen 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 ge­bruiker moet de hoeveelheid informatie die hij krijgt naareigen behoefte kunnen regelen.De uitwisseling moet bij voorkeur zo natuurlijk mogelijk verlo­pen. 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 relevan­tie te controleren. De verklaringsfaciliteiten moeten hem daar­bij helpen.

- 6ebruiksv~iendeliJk:

De gebruiker krijgt een flinke portie informatie voorgescho­teld. 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 over­spoeld 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 gecon­cludeerd worden, dan kunnen op beperkt schaal numerieke bereke­ningen 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 ge­schreven. Dit lijkt echter niet zo zinvol. Expertsystemen zijndoor het vele zoekwerk vaak relatief traag en zullen dat voorlo­pig 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 wor­den geactiveerd.

Een andere ontwikkeling in de koppeling van expertsystemen metconventionele programma's is "event-driven" forward chaining.Deze inferentietechniek wordt in procescomputersystemen toege­past. Het expertsysteem werkt dan parallel aan een conventioneelprogramma veer procesbesturing. Indien er Cproces)gegevens be­schikbaar komen worden deze automatisch met forward chaining doorhet expertsysteem verwerkt.

B. P~og~ammee~talen.

In expertsystemen beschrijven feiten vaak symbolische eigenschap­pen van bepaalde objecten en hebben regels vaak betrekking opverbanden tussen symbolische objecten. Belangrijke operatiesvormen het vergelijken van eigenschappen, het zoeken naar de ver­banden en het toevoegen van nieuwe eigenschappen aan objecten.Het gaat hierbij dus om symboolmanipulaties.

De meeste conventionele programmeertalen zijn hoofdzakelijk ont­worpen 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 ge­schikt voor het ontwerpen van expertsystemen en ook veelvuldigtoegepast (b.v. in MYCIN en ACQUAINT).De meeste Lisp-systemen bieden daarnaast goede interactie-faci­liteiten, 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 gebruikersvriendelijk­heid van de taal.In appendix A wordt uitvoeriger op Lisp ingegaan.

Prolog is een non-procedurele taal gebaseerd op logisch program­meren en geschikt voor het beschrijven en manipuleren van symbo­len. 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 bestu­ringsalgoritme. 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 ex­pertsystemen. 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 in­gevoerd. 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-expres­sie 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 punt­notatie, 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 list­notatie. 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 functie­naam ook vervangen worden door een S-expressie welke zich ge­draagt 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 represen­teren 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 evaluatie­voorschriften.

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 quote­form. 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:

stel­Bij-

(¥unctie-express1e argument-¥orm 1 argument-¥ormz ... argument-¥ormn )

De functie-toepassing li,1k~ op een lisp-paar. Ook hier repre­senteert 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 runctie­expressie.In een runctie-toepassing wordt de runctie-expressie geeva­lueerd 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 geeva­lueerd 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 functie­expressie 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-toepas­sing worden de argumenten van een Lisp-paar niet geevalueerd.Deze argumenten worden aIs constanten beschouwd. In een func­tie-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 supervi­sors, deze quoten de argumenten van het Lisp-paar. Net Lisp­paar wordt daarbij gee~/alueerd tot een functie-toepassing welkenogmaals geevalueerd wordt met de functie HevalH. Zo wordt bij­voorbeeld 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 clau­sules welke bestaan uit predicaat-resultaat paren. De predica­ten bestaan uit forms die naar nil of niet-nil kunnen evalue­reno 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 letter­atomen, 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 volgen­de 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 conditionele­form. De resultaat-forms zijn nu echter ver­vangen door statements, zodat evaluatie geenwaarde als resultaat heeft. Bovendien gaat deevaluatie verder bij de eerst volgende state­ment 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 itera­tieve 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 lambda­expressie 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 defi­nitie 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 strate­gie 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 be­staande 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 stan­daardfuncties in het Lisp-systeem aanwezig zijn.

A.3. Globala constantan.

Behalve functies kunnen ook globale constanten worden gedefi­nieerd. Als globale constanten in de Lisp-functies worden ge­bruikt wordt bij evaluatie de waarde van de constante gesubsti­tueerd. 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 let­ter-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 gedefi­nieerd:

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 Lisp­dialecten.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 ver­vangen~ 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 volgen­de 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 toege­licht.

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 verlo­ren. 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 indicato­ren 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 verschil­lende 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 gedefi­geinitialiseerd

De knowledgebase moet daarna met feiten en regels worden uitge­breid. 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 know­ledgebase 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 implemen­tatie 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. back­tracking 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 combina­ties 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 missio­narissen en kannibalen die met de overtocht meevaart, zoek danaIle rijen van overtochten die er toe leiden dat aIle missiona­rissen en kannibalen de overzijde van de rivier bereiken, zanderdat er een missionaris opgegeten wordt en zander dat tussentoe­standen herhaald worden. CDeze laatste voorwaarde voorkomt einde­laos 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 over­tochten 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 op­lossingen 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 lexico­grafische 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

noodzake­wat 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 uitbrei­ding 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 oplos­singen meer opleveren (dan zou minstens de eindtoestand her­haald worden).

2 De rij leidt tot een ongeoorloofde toestand waarin missio­narissen 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 kun­nen dus geen oplossing opleveren.

5 Voldoet de rij niet aan de vorige ~ mogelijkheden dan kan uit­breiding 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 war­den daar deze avertacht uit te vaeren vanuit de taestand die be­reikt 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 gedefi­nieerde 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 kanniba­len 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 gepas­seerd 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 gecon­troleerd 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 gecontro­leerd 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 wor­den, 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 be­paald 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 wor­den, variabelen moeten geunificeerd of geinstantieerd kunnen wor­den 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 pi­lotproject opgestart waarin wordt getracht expertise in de sto­ringsdiagnose van een logistiek computers~steem in de expert­s~steemshell ACQUAINT vast te leggen.Het experts~steem heeft tot doel de ervaring van een gespeciali­seerde 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 ge­anal~seerd. Dit vormt een integraal onderdeel van de hiernabeschreven methode.eigen exploraties.

Al eerder bij het werken met SAGE [5J en ook tijdens deze op­dracht werd ik gesterkt in de overtuiging dat het werken met ex­pertsystemen 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 lite­ratuur 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 grond­stof voor een expertsysteem bieden.Om een efficient expertsysteem te ontwikkelen zal Ctevens) kennisaan experts moeten worden ontleend. Experts hebben vaak onvol­doende inzicht in hun kennis en de manier waarop ze deze hante­ren 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 onbe­trouwbaar en tegenstrijdig zijn.

van kennis in verbale gegevens:gegevens voorkomende kenniselementen als ob­regels, acties, procedures etc. moeten worden

en van de overige gegevens worden onderschei­en 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 model­taal van de gekozen shell worden bepaald. Kan er geen geschik­te 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 model­taal van een shell, tot de implementatie van een compleet sys­teem.

1.2. De noodzaak van Ben gedegen analyse.

De van experts afkomstige domeinkennis wordt uiteindelijk in deknowledgebase van een expertsysteem gestopt. Het is niet verstan­dig 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 orga­nisatie kunnen problemen ontstaan die nijpender worden naarmatede knowledgebase groeit. 20 kunnen ondermeer de volgende proble­men 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 aanpassing­en 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 knowledge­base 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 verlo­Len gaan, waardoor bijstelling wordt bemoeilijkt. Om de inter­views 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 ge­gevens 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 irre­levant 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 geanaly­seerd. 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 inhe­rent 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 georgani­seerd 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. Bijvoor­beeld 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. Even­tuele 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 presta­tie-, 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 doel­einden. 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 vereenvoudi­gen.

Bij de constructie van conventionele programma's is het gemeen­goed 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". Model­vorming 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 weten­schappelijke normen voldoet en commercieel interessant is.

In het storingsdiagnoseproject is de noodzaak van modelvormingduidelijk naar voren gekomen. Door de complexiteit van de aange­boden 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 kun­nen enige tijd op zich laten wachten. De deelnemers en opdracht­gevers 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 be­schikbaar 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 gadege­slagen in het storingsdiagnoseproject.Een grondige analyse van zijn werkwijze, literatuur [l,2,3,~J eneigen exploraties hebben geleid tot een scenario voor modeldri­ven-prototyping. Dit scenario bestaat uit suggesties en richtlij­nen 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 be­schreven. 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 onge­structureerde interviews verzamelt hij daartoe algemene informa­tie 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 be­langrijk 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, beper­kingen worden gesteld.Dit lijkt triviaal, maar door de nieuwigheid van expertsystemenbeweren knowledge engineers soms dat ze het doel van het sys­teem moeten bepalen, of proberen opdrachtgevers voor te schrij­ven 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 heb­ben 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 expert­systemen 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 ISOV­gebruikerscursus en de opdracht voor het expertsysteem. Omdat hethier om bedrijfsgegevens gaat is de beschrijving van ISOV alge­meen gehouden.

3.2. De Functie van ISOV.

ISOV (Informatie Systeem Opslag en Verzending) is een magazijnbe­sturingssysteem 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 maga­zljn.Wachtend op transport naar hun plaats, worden de rollen tijde­lijk 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 inname­kraan 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 verladings­kraan 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

console­lijnprinter

s!:,Jsteem­beeldbuis

I/OS!:,JSbeh

I/O

.-----.Ikranen1

kraancomputers

Winchesters

Disk­ISOU- ~+-~controller

computer metSbJsteemdisks

takendat

UDC­controller

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 sto­ringen 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 componen­ten aIleen vervangen, niet openen.De overige storingen, zoals problemen met de computer-, metsoftwaretaken of met gegevensstromen moeten door een s!:,Jsteembe­heerder 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 storingsdiag­nose waren we volledig op de experts aangewezen. De ISDU­gebruikerscursus 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 ge­weest om een ervaren storingsdienstman te raadplegen. Deze be­stand 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 soft­ware van ISDV af wist terwijl deze kennis belangrijk zou zijn.Na twee gesprekken met hem werd daarom besloten ook de systeembe­heerder Jan van der Pluim bij het project te betrekken. Aanvanke­lijk 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 uitvoe­reno 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 samenvat­tingen zijn in dit verband voldoende.

16

~. De verzamel~ase.

In de verzamelfase worden verbale gegevens over het probleemdo­mein 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 opleve­Len 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 stimule­Len te zeggen wat hij denkt, zonder hem te vragen om zijn conclu­sies 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 bevooroor­deeld 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 code­ren.

In deze fasen kan blijken dat er onvoldoende informatie is verza­meld. 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 inter­view 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 aangege­ven.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 verken­ningsfase 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 sto­ringen te introduceren. Gevraagd werd die storingen te kiezenwaarvan ziJ dachten dat ze representatief waren.

Problemen genereren problemen. Door de introductie van een sto­ring aan een beeldscherm ontstond een softwareprobleem dat onmid­dellijk 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 nauwkeuri­ger geinstrueerd aIleen handelingen uit te voeren die de sto­ringsdienst 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 infor­matiebronnen hij gebruikt en wat hij nog wil afleiden.Onder de objecten vallen aIle elementen, zoals woorden, combi­naties van woorden, begrippen, vaktermen, locaties, acties,zaken, waarden, variabelen en constanten, waarmee het probleem­domein 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 an­dere objecten afleidt. De term kenniscomponent zal in het ver­volg als KC worden afgekort.

De verbale gegevens waarom het draait zijn opgenomen in aanteke­ningen en transcripties van interviews. Het volstaat niet om dekenniselementen hier uit te lichten en in volgorde van verschij­ning 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 gestructu­reerde transformatie van verbale gegevens naar formele kennis­structuren mogelijk maken.

Clancy [1J en Wielinga [2J gebruiken hiervoor respectievelijk het"strategy/structure/support framework" en het "interpretatiemo­del". Noch Clancy [1J noch Wielinga [2J geven aan hoe hun frame­work/model kan worden afgeleid dan weI zinvol bij de ordening vande domeinkennis kan worden gebruikt.Peter van Lith maakte in het storingsdiagnoseproject op heuristi­sche wijze gebruik van een algemeen diagnostisch interpretatiemo­del van Wielinga [2J. Interviews hierover verschaften niet meerinzicht dan lit [1,2J. Om vorderingen in het storingsdiagnosepro­Ject 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 ver­vullen.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 do­meinkennis van een expert en van de manier waarop hij functio­neert. In de volgende ontwikkelingsfasen dient het als functio­neel 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 gebruike­lijke 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 dezelf­de 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 beeldscherm­storingen 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 geidentifi­ceerd (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 gemar­keerd.

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 ex­pert 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 ge­bruikt 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: klach­ten, 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 waar­of klachten waarneemt, problemen ofproblemen of oorzaken verifieert,

Welke functionele kennisklassen kunnen worden onderscheiden isdomeinafhankelijk. 20 zullen storingen geen rol spelen in me­dische 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 identifice­ren en te veralgemeniseren. Dit is pas mogelijk nadat de func­tionele 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 deel­processen/functies in het oplossingsproces te vertegenwoordi­gen.

- 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 KC­en 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 knowledge­base.AIle KC's worden in een blok geconcentreerd en dat is juistwaarvoor in hoofdstuk 1 werd gewaarschuuwd. M.a.w. het functio­nele 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 me­thode 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 afge­leid). 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 weer­gegeven 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 sympto­men van het beeldscherm eerst de locatie van de storingaf. Uervolgens identificeert hij een aantal probleemhypo­thesen 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 onderschei­den 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. Litera­tuur kan daarom behulpzaam zijn in het identificeren van functio­nele 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 geclassifi­ceerd. 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

WTR­mul-

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 multi­plexer in de ISOU-computer.

rek met WTR-printjes.

de multiplexer van de ISOU-computer.

communicatiekabels tussen systeemele­menten. Bijvoorbeeld tussen modemkastjeen terminal of tussen modemkastje enWTR-printje.

verbinding tussen kabels, of tussenkabel en systeemcomponent.

Beeldscherm dat aan elke terminal hard­ware 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 sto­ringen 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 foutmel­ding op de printer komen. Dit is niet onderzocht omdat hetbuiten de specificaties van het expertsysteem valt.

testgegevens.6egevens afkomstig uit testprocedures. Bij de beeldschermsto­ringen 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 da­tabase-inconsistenties.storingen in een lijn.storing in de multiplexer.

30

Oorzaken:Specifieke bronnen waardoor storingen kunnen worden veroor­zaakt:

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 duim­wielschakelaar 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 verge­Iijken 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 gesi­muleerde 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 moe­ten 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 blijk­baar 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 termi­nal. 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 beeld­buizen 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 an­ders 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 modem­kastje 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 be­drijf, het veld ingaan. Het EIA-signaal van de multi­plexer 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 ont­breekt.

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 gedo­cumenteerd 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 geidentifi­ceerd en beschreven. In de functiebeschrijvingen van de KC'skunnen de functionele objectklassen worden opgenomen van de ob­jecten 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 functiebeschrij­vingen 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 specifica­ties 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 lijnpro­bleem 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 ontbre­ken. 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. Bijvoor­beeld 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 hier­van sprake is, is het verstandig om de protocol len met de expertte evalueren. In overleg met de expert kunnen dan eventuele cor­recties 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 beeld­schermprotocol kwam ik tot de conclusie dat de volgende ver­draaiingen 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 instan­tie 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 aanwe­PI-. 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 teruggevon­den. In het beeldschermprotocol is dat in de 2e kolom gebeurd metlinks van de code de verschijningsnummering en rechts de rang­schikkingsnummering.

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 thuis­hoort.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 daar­voor groat genoeg worden gekozen. De 2e kolom in het beeldscherm­protocol is op deze wijze samengesteld.

Het protocol/strategie diagram heeft een protocol-as en een stra­tegie-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 volgor­de 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 oorzaak­identificaties 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 impli­ciet 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 software­als door een lijnprobleem te kunnen worden veroorzaakt. Om loop­werk 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 graad­meter voor:

De systemat1ek 1n de strateg1e van de expert.Indien de expert conclusies trekt zonder een probleem grondigte analyseren kunnen probleem-/oorzaak-identificaties en -veri­ficaties 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. rangschik­king. 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 KC­klassen 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 verge­lijken 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 combine­ren kan het functioneel model worden samengesteld.

Uerdere waardevolle richtlijnen voor de afleiding van een func­tioneel 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. Sub­domeinen 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 uiteinde­liJke 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 be­twist.

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 identifice­reno 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 moge­lijkheden 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 onder­scheiden 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 onder­scheid niet worden gegeneraliseerd. M.a.w. in andere probleemdo­meinen kan het functioneel model totaal andere processen onder­scheiden.

~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 verge­lijking 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 geno­teerd.

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 ge­noemd. Volgens het model kan de KC pas worden gebruikt indien eenstoringslocatie en een probleem zijn afgeleid. Omdat een modem­kastje 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

KC­deze

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 tegen­strijdige KC's zijn.Aan de hand van de labels kan worden beredeneerd of KC's bereik­baar 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 ge­vraagd 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 KC­klasselabels zijn hierin niet opgenomen. De ordeningsmethode isgelijktijdig met de modelleringsmethode ontstaan. Ik heb de KC'sop basis van een globaal model ingedeeld. Hierin waren onvoldoen­de KC-klassen onderscheiden.De storingslocatie- en probleemidentificatie zijn daardoor met de

probleemverificatie verweven. Om het subdomein van beeldscherm­storingen aan andere subdomeinen te kunnen koppelen is het nood­zakelijk 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 afge­splitst. Dit is een indeling in subcontexten op basis van object­labels.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

Schaduw­scherm

beeldschermsymptomen

1probleem

localisatietestgegevens identificatie-------> en

verificatieKC's

KC's m.b.t.computer- en

----------> software­problemen

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 test­cases 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 resul­taat is eveneens in app E opgenomen.

S2

factorenmoet er

omdat ze

er ookInfe­tijd-

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 interviewtech­nieken, organisatiestructuren, psychologie, filosofie en diploma­tie.Tijdens het analyseren van domeinkennis zal de knowledge engineerkennis over het probleemdomein opdoen. Hij moet echter terughou­dend 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 tijds­bestek 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 strate­gische keuzeknooppunten in het kennismodel. Dit om het expert­systeem 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 positione­ring 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 bekabe­ling 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 labelprin­ters. Dat wordt dan gerund door een paar program­ma'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 lin­ker terminal van de printer. En het lapje brand dater spanning op staat, dus er staat kennelijk geenspanning op. Dan lijkt het het modemkastje, of lamp­je. [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 functie­toets 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 tekens­THEN: 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 vast­THEN: 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 goed­THEN: 90 (Storing Storing in beeldschermlijn)

aS10S_stippeltjesIF: Beeldschermsymptoom = '-Beeldscherm stippeltjes-

Schaduvschermtest = '-Schaduvscherm heeft sterretjes­THEN: 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'