Háttér
A rendszerfejlesztés fázisai
A KADS modellezésének absztrakciós szintjei
A CommonKADS általános modellei
Az életciklus modell
Példa KADS alapú modellezésre
Linkek
KADS
Knowledge Analysis and Design
System (Tudás elemző és tervező rendszer)
Egy módszertan a tudásalapú rendszerek fejlesztésére.
A KADS –ban a modelleknek központi szerepe
van. Fontos a jövőbeni rendszernek, a felhasználóinak, és a környezetének
a modellezése, és annak finomítása.
Háttér
Egy ESPRIT által szponzorált 4 európai ország össefogásável
megvalósult 8 éves fejlesztés eredménye.
1985-ben egy kis projektnek
indult. Nagyban épített egy korábbi eredményre, amit az Amszterdami
egyetemen valósított meg szakértelem modellezésével kapcsolatban [Wielinga
86] [Schreiber 86]. A lényege ennek a KADS-I –nek a szakértelem, ill
tudás négyszintű modellje, és a legismertebb
tulajdonsága egy kockázatra épülő spirális életciklus modell.
1990 – ben továbfejlesztették
az ESPRIT-II keretében és ebből születtett a KADS-II, amiből a CommonKADS
bontakozott ki.
A KADS hasonlít a hagyományos programfejlesztési módszertanokra,
mivel szintén előír különféle fázisokat,
állapotokat, eseményeket, aktivitásokat.
A rendszerfejlesztés
fázisai:
A rendszertervezés összes
állomását lefedi. A KADS által definiált fázisok a következőek:
-
Analízis:
Az adott tudáalapú rendszer funkcionális követelményeinek
a felmérése. Célok és problémák meghatározása.
Az eredmény a követelmények dokumentációja.
-
Tervezés:
A terv leírásának a folyamata,
ami 3 részből áll: funkcionális, viselkedési, és fizikai leírás.
Ezen fázis eredménye egy olyan struktúra, ami már leírja a végső
rendszerszerkezetet, de még implementációfüggetlen.
-
Implementáció:
Kiválasztjuk az implementáció
módját. Választhatunk egy hagyományos programnyelvet (ekkor az alapoktól
nekünk kell felépíteni a dolgokat), egy fejlesztőkörnyezetet, amelyben
már néhány dolog előre adott(komponensek, rutinok), illetve választhatunk
egy kész keretprogramot egy alapvetően üres tudásbázissal.
-
Installálás:
Ide tartozik a tesztelés is figyelembe véve a környezetet
(felhaszn., operátor, adminisztrátor, más rendszerek)
-
Használat:
Kezdet: A felhasználók megismertetése a rendszerrel
-
Karbantartás:
Nem csak a tudásbázisnak,
hanem a következtető rendszernek a karbantartását is jelenti, ha a
felhasználó nem elégedett az eredményekkel.
-
Tudásfinomítás:
Erre akkor van szükség,
ha az analízis során a szakértői tudás túl költséges volt, vagy
nem volt praktikus, vagy pedig ha teljesebbé akarjuk tenni a rendszert,
egy kis plussz tudással.
A KADS modellezésének
absztrakciós szintjei:
A CommonKADS modellekkel, és technikákkal támogatja
a fejlesztést. Sok modell-mintát nyújt, amiket a fejlesztés alatt kitölthetünk
és finomíthatunk. A mintákhoz modell-állapotok vannak rendelve, amelyek
a modell fejlesztésének a fordulópontjait jellemzik. A KADS nem egy
receptet ad a tudásalapú rendszerek fejlesztésére, hanem a KADS csak
technikákat javasol, amelyeket az olvasó a saját igényeihez
igazíthat. Azon tevékenységek definiálásával, amelyek egy bizonyos
modellt egy állapotból egy másik állapotba juttatnak, a projekt menedzselés
és a fejlesztés ugyanavval a mintahalmazzal dolgozik. A modellek kapcsolatban
vannak egymással (hivatkozhatnak a másik modell objektumaira), és függhetnek
is egymástól(amíg az egyik nem ért el egy bizonyos állapotot, addig
a másik sem léphet tovább).
Különböző absztrakciós
szintjei vannak a modellezésnek. Három szintet különböztetünk meg:
-
Folyamat szint:
Process modell azonosítja
a különböző feladatokat(taskokat), amelyek előfordulhatnak a domain-ben,
az
adatfolyamokban, és tárolókban.
Ezen a szinten modellezi a feladatok birtoklásának a hozzárendelését,
és az adattárolóknak az ügynökökhöz való hozzárendelését.
-
Rendszer szint:
Ezen a szinten az Együttműködési
modell írja le részletesen a rendszer és a külső ügynökök kölcsönhatását,
illetve hogy a belső ügynökök, azaz a rendszer komponensei hogyan
hatnak egymásra.
(Megkülönböztethetünk Felhasználói feladat modellt,
és Rendszer feladat modellt is)
-
Szakértői szint:
Ehhez a szinthez a Szakértői
modell, ami a rendszer szakértői szintjének leírását rétegekre osztja
(Ez a szint modellezi,
hogy hogyan kezeli a rendszer a tudást):
- Domain layer:
Statikus tudás, ami leírja az elveket, kapcsolatokat
és struktúrákat.
– Inference layer (következtetési réteg):
A domain layer annak a figyelembevételével van leírva,
hogy különböző típusú következtetések
lehetségesek.
- Task layer(feladat
réteg):
A domainben a problémamegoldó tevékenység során,
hogyan alkalmazzuk a tudást a legalsó két szinten.
– Strategic layer (Stratégiai réteg):
Egy terv végrehajtása során, hogyan válasszuk
ki a problémák megoldására a megfelelő
feladatokat.
A KADS nagy előnye az ún.
generic task models (általános feladat modellek), amelyek részlegesen
megvalósított modellvázak tipikus feladatokra, ill. feladat részekre.Ezeket
generic task library-kben tárolják. Ezekből kell kiválasztani mindig
a tudásmérnököknek a tudásszerzés során a megfelelőt, egy új rendszer
esetében.
KADS Gyengéi:
-
Nehéz értelmezni illetve összekapcsolni a rétegek között
-
Senki sem használja az összes réteget, mivel legtöbben
a diagramokat használják, amik viszont nem
elég kifjezőek..(nincs rekurzió)
-
A KADS-vel fejlesztett rendszereknek nagy a dokumentációja
és nehéz változtatni.
CommonKADS modellek:
-
Szervezési modell:
A használó szervezet feltérképezése.
-
Task model (feladat model):
Azon feladatok modellje, amelyeket a használó szervezetnek
el kell végeznie( ahol fel lesz installálva).
A task model hatóköre:
Azokat a feladatokat tartalmazza, amelyek kapcsolatban
vannak egy szervezetbeli funkció megvalósításával (azok a kommunikációs
feladatok, amelyek a COmmonKADS-es megvalósítás miatt vannak ott nem
részei ennek modellnek), és a feladatok az őket megvalósító ügynököktől
függetlenül vannak leírva.
(Modell létrehozás: Adatfolyam
diagram, ill ER-diagram (Entity-relationship, egyed-kapcsolat modell)
-
Agent model (Ügynök
modell)
Itt minden számottevő
jellemzője le van írva azon ügynököknek, amelyek végrehajthatnak
ill. végrehajtanak a feladat modell által azonosított feladatokat (az
ügynökök problémamegoldó képességei a kiosztott feladatok megoldására,
a szakértő modellben vannak modellezve összekapcsolva a szóban forgó
ügynökkel)
Modell létrehozás: DFD,
ER-diagram
-
Expertise model (szakértelem
modell):
A szakértő rendszer tudását
írja le, amelyet felhasznál afeladatának végrehajtására. A különlegessége
a CommonKADS modellnek az általános modellező könyvtár használata,
például feladatspecifikus probléma megoldó módszerek, domain ontologies)
Egy szakértelem modell
egy ügynökhöz tartozik, és azt írja le, hogy milyen képességei
vannak egy ügynöknek
pontosabban a tudásalapú problémamegoldó képességeket
írja le a modell.
Modell leírása: DML
-
Communication model(Kommunikációs modell):
Az ügynökök kapcsolatát írja le a feladatuk végrehajtása
során.
A kommunikációs modell a kommunikáló ügynökök
szakértelmén, képességein alapuló kommunikációs elvet és mechanizmust
ad. Technikák a modell létrehozására: State Transition Diagram (Állapotátmenet
diagram), Jackson structure diagram
-
Design model (Tervezési modell)
Leírja az architektúráját
és a részletes működését az implementálandó rendszernek.(Az implementálást
a KADS nem támogatja) A modell a végső tudásalapú rendszer technikai
terve.
A KADS általános modell elve:
A rendszer
létrehozása, az életciklus modell:
A KADS életciklusos megközelítést
alkalmaz. Minden rendszer fejlesztése olyan ciklusokból áll, amelyek
fázisokra oszlanak. Négy fázist különböztet meg, amelyeken belül
nem kötelező lépések vannak.
Review (Áttekintés)
A célok meghatározása, a klienssel egyeztetett célok
alapján. Eredmének meghatározása (konkrétan mit akarunk)
Lépések:
-
Következő ciklus terve
-
célok finomítása
-
alternatív megközelítések generálása
-
korlátozások meghatározása
-
tarthatatlan megközelítések kidobása
Kockázatvizsgálat(Risk)
A célok megvalósításának, az eredmének megvalósításának
a kockázatát vizsgálja
Lépések:
-
Kockázatok meghat. és dokumentálása
-
Következő megközelítési
lépés kiválasztása
A végén az eredmények prioritásokat kapnak.
Plan (Terv)
Az eredmények megvalósítása.
Mivel aktivitások vannak definiálva, így erőforrásokat foglal le és
meghatározza az időskálát. Az aktivitásokat végrehajtja. Meghatározza,
hogy mikor felel meg a végeredmény a céloknak.
Monitor (Ellenőrzés)
Ellenőrzi, hogy az eredmények
(termékek), megfelelnek-e a hozzájuk definiált kritériumoknak. Vagy
elfogadás az eredmény vagy újrafeldolgozás.
A projekt managment központi szerepet kapott a módszertanban.
A ciklusos felfogásból adódóan nagy szerepe
van a projekt tervezésének. Az előbbiek alapján integrált minőség-ellenőrzés
is van.
5 fő elv:
-
projekt kockázatok és célok meghatározása
-
a célok és kockázatok összekapcsolása a modell állapotokkal
-
kockázatok között prioritások meghatározása
-
tevékenységek (aktivitások)
meghatározása, amelyek a megfelelő modell állapotokhoz vezetnek
-
a tevékenységek végrehajtásához
szükséges erőfeszítések mértékének becslése
A KADS módszerben az eredmények a modellek, illetve a leírásaik.
Ezeket a modelleket addig finomítják, amíg ki nem elégítik a célokat.
A modellekhez mindig hozzá lehet kapcsolni, hogy milyen állapotban vannak.
Ezek az állapotok így azonosíthatóak a finomítási lépésekkel.
Modell állapotának definíciója:
-
Modell neve
-
állapotváltozó
-
a változó értéke
-
szerep
-
állapotfüggőségek
-
minőségi mértékek
Eszközök, amelyek a KADS-re épülnek:
VITAL
Open KADS – tudás modellező
eszköz
Common KADS Workbench
ML – KADS II project eredménye
Szakértelem modellezés
KADS segítségével, példa
A KADS tudás modellje:
A stratégiák irányítják a feladatokat, amelyek felhasználják
a következtetéseket, amelyek a rendszer tudását (domain knowledge)
használják.
KADS módszertan alkalmazása Audio rendszer diagnosztizáló
rendszerben.
Alapvetően a tudás egy
bizonyos domainben objektumokba, és azokat manipuláló "process"-kbe
csoportosítható.
A KADS modell úgy különbözteti meg ezeket, mint "control"
és "domain theory" (theory – elképzelés, elmélet),
A "control" pedig "stratégiák"-ra, "feladatokra", és
"következtetésekre" osztható.
Control tudás.( Irányító tudás):
Feladat dekompozíció:
Az audio rendszer fő feladatát
systematic_diagnosis-nek hívják és az a feladata, hogy a felhasználóktól
érkezett panaszok alapjána megtalálja a hibásan működő alrendszereket.
Ezt a következőképpen teszi: Hipotéziseket generál, ez a hipotézishalmaz
lesz a differential, majd minden egyes differential-beli
hipotézishez tesztet generál. Ezt a két lépést addig
ismétli, amíg egy olyan nem dekomponálható alrendszert talál, ami
a hipotézisben várttól eltérő viselkedést mutat a hipotézis tesztelése
során.
A levelekben vannak a primitív feladatok. Ezek összefüggéseinek
a meghatározása a következő lépés.
( Findings – hozzávalók)
Task interdependencies ( Feladatok öszefüggései..)
Itt az a feladat, hogy meghatározzuk,
hogy a levelekben levő primitív feladatoknak mi a ki- és a bemenete,
illetve milyen objektumokat használnak, manipulálnak. Természetesen
ez egy sorrendet is meghatározhat, ha az egyik kimenete a másik bemenete.
Jelen feladat esetén az eredmény:
Feladat elosztás
Ez előbbiel után meg kell
határozni azokat az ügynököket, akik felelősek az előzőekben meghatározott
feladatok elvégzéséért. Itt kettő van a system és a user. De amíg
a system alkalmazkodik a következtetési tudásbeli tudás forráshoz,
addig a user feladatai átvivő feladatokként (transfer tasks) vannak
osztályozva.
Eredmény:
Következtetési struktúra:
A következő lépés kapcsolatban
van a primitív feladatok összefüggésével. Egy következtetési struktúrának
a kialakítása a primitív fealadatok be- és kimenetein alapszik. A be-
és kimeneteknek adott nevek tükrözik az információnak a következtetésben
játszott szerepét: ők a következtetési tudás metaosztályai. A primitív
feladatokat tudásforrásoknak feleltetjük meg. Az audio rendszer következtetési
struktúrása a képen látható. A négyszögek a metaosztályok,
és az ellipszisek a tudásforrások.
Linkek:
Modelling
Expertise using KADS and MODEL-ECS
CommonKADS
and KADS II at SICS
CommonKADS
KADS
II
KADS