Kunskapsmodellering
Kunskapsmodellering är en process för att skapa en datortolkbar kunskapsmodell eller standardspecifikationer om en slags process och/eller om en sorts anläggning eller produkt. Den resulterande kunskapsmodellen kan endast vara datortolkbar när den uttrycks i något kunskapsrepresentationsspråk eller datastruktur som gör att kunskapen kan tolkas av programvara och lagras i en databas eller datautbytesfil. Kunskapsbaserad ingenjörskonst eller kunskapsstödd design är en process för datorstödd användning av sådana kunskapsmodeller för design av produkter, anläggningar eller processer. Designen av produkter eller anläggningar använder sedan kunskapsmodellen för att styra skapandet av den anläggning eller produkt som behöver designas. Med andra ord använde den kunskap om ett slags objekt för att skapa en produktmodell av ett (imaginärt) enskilt objekt. På liknande sätt innebär designen av en viss process skapandet av en processmodell, vilken designaktivitet kan styras av den kunskap som finns i en kunskapsmodell om en sådan typ av process. Den resulterande processmodellen, produktmodellen eller anläggningsmodellen lagras vanligtvis också i en databas.
Vanligtvis tillåter kunskapsrepresentationsspråket bara att representera kunskap (om olika saker), medan ett annat språk eller datastruktur krävs för att representera och lagra informationsmodellerna om enskilda saker. Om kunskapsrepresentationsspråket möjliggör att uttrycka båda, så kan kunskapsmodellen och informationsmodellen uttryckas i samma språk (eller datastruktur). Ett exempel på ett språk som möjliggör såväl kunskapsuttryck som information om enskilda saker är gellisk engelska .
Grunden för en kunskapsmodell av ett sammansättningsfysiskt objekt är en nedbrytningsstruktur som specificerar sammansättningens komponenter och eventuella delkomponenter till komponenterna. Till exempel inkluderar kunskap om ett kompressorsystem att ett kompressorsystem består av en kompressor, ett smörjsystem etc., medan ett smörjsystem består av ett pumpsystem etc. Antag att denna kunskap uttrycks i ett kunskapsrepresentationsspråk som uttrycker kunskap som en samling av relationer mellan två slags saker, medan i det språket definieras en relationstyp som kallas . Då kommer en del av en kunskapsmodell om ett kompressorsystem att bestå av följande uttryck för kunskapsfakta:
- kompressorsystem ska som del ha en kompressor
- kompressorsystem ska som del ha ett smörjsystem
- smörjsystem ska som del ha ett pumpsystem
- pumpsystemet ska som del ha en pump
En sådan kunskapsmodell kommer att utökas ytterligare med kunskap och specifikationer om komponenternas egenskaper, deras tillverkning och eventuellt krav på provning och underhåll.
På liknande sätt är en kunskapsmodell av en process i grunden en specifikation av sekvensen av processsteg. Denna sekvens bestäms av det faktum att en sorts ström matas ut från ett slags processsteg, medan samma typ av ström inmatas i nästa processsteg. Så de definierade strömmarna har roller som indata till processsteg, medan samma strömmar är utdata från andra processsteg. Till exempel:
- vatten ska matas in i en panna
- ånga ska matas ut från en panna
- ånga ska matas in i en värmare
- kondensat ska matas ut från en värmare
- etc.
Explicitation av dokumentinnehåll
Kunskapsmodellering innefattar explicitering av kunskap och krav som finns tillgängliga i dokument, såsom designmanualer, (internationella) standardspecifikationer och standarddatablad. För att göra sådan kunskap datortolkbar måste den uttryckas i ett formellt kunskapsrepresentationsspråk och därmed omvandlas till en datortolkbar form. Till exempel i form av ett uttryck gellisk engelska. Detta gör att kunskapen och kraven relateras till objekten i kunskapsmodellen, medan hela modellen återigen lagras i en databas. Kunskapen som finns i dokument kan modelleras på olika nivåer av explicitation. En låg explicitationsnivå behåller stora delar av specifikationerna i form av naturlig språktext. Det betyder att texten endast är mänskligt tolkbar, men ändå relaterad till objekten i kunskapsmodellen. Således kan programvara fortfarande presentera informationen för användarna när kunskap om det objektet efterfrågas. Den andra ytterligheten är att innehållet i varje mening i ett dokument omvandlas till det formella kunskapsrepresentationsspråket och därmed blir objekten som nämns i dessa meningar en integrerad del av den datortolkbara kunskapsmodellen. Till exempel kan kunskapen om att API 617-standarden innehåller en standardspecifikation för kompressorer kopplas till konceptet kompressor i kunskapsmodellen för ett kompressorsystem. Detta kan uttryckas i ett kunskapsrepresentationsspråk (med hjälp av relationstypen ⟨ specificeras i⟩ enligt följande:
- kompressor ⟨specificeras i⟩ API 617
En högre explicitationsnivå innebär att stycken eller meningar i naturligt språk relateras till komponenter i kunskapsmodellen. En fullständig explicit modell innebär att meningarna i naturligt språk omvandlas fullständigt till data i en databasstruktur. Till exempel kan en specifikation av en minsta axeldiameter inkluderas i kunskapsmodellen enligt följande:
- axeldiameter ⟨ska på skalan ha ett värde större än ⟩ 20 mm
Den ovan beskrivna explicitationsprocessen resulterar i kunskapsmodeller och standardspecifikationsmodeller som möjliggör användning av dem för datorstödd kunskapsstödd design såväl som för automatiserad verifiering av design.