General characteristics

CAKE stands for Computer Aided Knowledge Engineering.    Description temporarily in Polish

Inżynieria wiedzy jest jedną z dziedzin sztucznej inteligencji. Jednym z głównych celów inżynierii wiedzy jest właściwa organizacja procesu budowy dziedzinowych systemów ekspertowych, uwzględniająca przejmowanie wiedzy od ekspertów, jej systematyzowanie oraz zapis zgodnie z przyjętym formalizmem opisu bazy wiedzy. System CAKE (ang. Computer Aided Knowledge Engineering) jest przeznaczony do komputerowego wspomagania procesu realizacji dziedzinowych aplikacji szkieletowego systemu ekspertowego PC-Shell. Wskutek podziału firmy i poważnych działań przestępczych wobec mnie i mojej firmy (opiszę je kiedyś na blogu) system osiągnął status prototypu naukowego/badawczego lub produkcyjnego, niestety nie jest wg mnie stabilny w stopniu, w którym uznałbym go jako spełniający kryteria komercyjne. Ale pracując ze studentami zauważyłem, że chętnie wybierają ten system i w większości przypadków pracuje stabilnie, zatem mogę z czystym sumieniem udostępnić go w formie tzwn. downloadu.

Pierwszym krokiem w stronę realizacji koncepcji systemu CAKE był opracowany na początku lat 90 system dbMaker. Implementacja koncepcji objęła początkowo głównie moduł do tworzenia i obsługi wyjaśnień typu "co to jest?" oraz metafor systemu ekspertowego PC-Shell. Wydawalo sie to bowiem najpilniejszym zadaniem z punktu widzenia osiągniecia zamierzonej funkcjonalności systemu ekspertowego PC-Shell. Następnie przystąpiono do prac nad pełną implementacją autorskiej (dr. Krzysztofa Michalika) koncepcji naukowej automatyzacji procesów inzynierii wiedzy w postaci systemu CAKE, pierwotnie rozwijanej w firmie Aitech pod roboczymi nazwami kbMaker i kbBuilder (analogicznie aplikacja Aitech DSS była początkowo rozwijana pod roboczą nazwą dssBuilder). Projekt CAKE w całości był finansowany i realizowany wyłącznie w przez firmę AITECH i zbudowany w dużej mierze nie tylko w oparciu o mój projekt ale również osobiście zaprogramowane zasadnicze kody, m.in. translator oraz system zarządzania bazą danych. Dopiero w późniejszej fazie, pod koniec lat 90. zatrudniłem 2 programistów rozwijających nowy interfejs i kilka funkcjonalności systemu CAKE. Częściowo kody zostały wyprowadzone poza firmę dla korzyści osobistych, co stanowiło naruszenie etyki i prawa !!! Dopóki podobne rozwiązania nie pojawią się ponownie w Internecie lub w innym kontekście, nie podejmę środków przewidzianych prawem. Każdemu należy bowiem dać szansę naprawienia błędów.

Podstawowe funkcje systemu CAKE to:

  • zarządzanie projektem aplikacji, również hybrydowych,
  • wspomaganie procesu tworzenia, rozbudowy i pielęgnacji baz wiedzy,
  • weryfikacja i walidacja poprawności zgromadzonej wiedzy,
  • generowanie baz wiedzy w klasycznej postaci tekstowej,
  • generowanie baz wiedzy w postaci binarnej,
  • ochrona projektu aplikacji systemem uprawnień i haseł,
  • wspomaganie organizacji pracy grupowej.

Dzięki wykorzystaniu systemu CAKE można realizować aplikacje systemu PC-Shell bez dokładnej znajomości języka opisu bazy wiedzy. Na każdym z etapów pracy system oferuje wygodne narzędzia wspomagające, eliminujące konieczność żmudnego wprowadzania kodu. Zapis baz wiedzy w postaci binarnej zapewnia z jednej strony ochronę zgromadzonej wiedzy przed niepowołanym dostępem, z drugiej zaś strony poprawia efektywność wykonania aplikacji w środowisku systemu PC-Shell. Dzięki systemowi uprawnień i haseł można ograniczyć dostęp do aplikacji zarówno na etapie jej tworzenia jak również na etapie jej wykonywania.