프로그래밍 언어 Jess(Java Expert System Shell) 6.1p4 버전을 설치하고 잠시 테스트.

Jess는 Java 플랫폼 상에서 가동되기에 Java가 설치되어 있어야 된다.
이름처럼 전문가 시스템 구성에 적합한 언어로 써보니 형태나 사용법 등이 괄호괄호 언어인 CLISP(Common LISP(LISt Processing))과 비슷하단 생각이 들었는데 설명을 보니 C언어로 쓰여졌던 전문가 시스템 용 프로그래밍 언어인 CLIPS(C Language Integrated Production System) 규칙엔진의 개념을 이어받았단다.

첫 인상은 별로 안좋았다. 제법 까다로워 보이는 다운로드 규칙, 전반적인 사용인구 부족에 따른 레퍼런스 부족, 오픈소스가 아닌 점, 교육용만 무료인 점 등으로 이걸 정말 설치하고 배울 필요가 있는 걸까란 회의가 들었다. 공식홈에 가보니 현재 8.0a1까지 나오고 7.1p2가 안정된 버전으로 되어 있는데 내키지 않아 웹 서핑하여 찾은 과거 버전인 6.1버전을 받았다.

애초에 이 언어를 알게된 계기가 '인공지능 언어 Jess와 자바로 구현한 인공지능 퀘스트' 책 때문인데 2008년에 나온 이 책에서 설명하고 있는 Jess의 버전이 6.1이기 때문.

15/4/8 수

참고 블로그: http://m.blog.daum.net/ontologicallearning/6460560
Jess 공식 홈: http://www.jessrules.com/
위키(영문): http://en.wikipedia.org/wiki/Jess_(programming_language)

설치과정:

http://www.manning.com/friedman-hill/ 에서 Jess Engine (special edition) 를 클릭해 'friedman-hill_src_1_jess_se.zip'를 다운받다.
압축을 푸니 Jess61p4란 폴더가 나온다.
이 폴더를 Program Files 폴더로 이동시켜 두고.

내컴퓨터에 마우스 우클릭-속성 선택,
뜨는 시스템 등록정보 창에서 고급탭 선택, 환경변수 버튼 클릭.
뜨는 환경변수 창의 밑쪽 시스템 변수 중 새로 만들기 버튼 클릭.
뜨는 새 시스템 변수 창에
변수이름: ClassPath,
변수값: .;C:Program Files\Jess61p4\jess.jar;
를 입력, 확인 클릭.


도스 cmd 창에 java jess.Main을 입력하면 Jess 코드를 입력할 수 있는 전용 모드로 전환된다.
간단한 Hello World 테스팅 성공.
Ctrl-Z를 누르면 현재 입력모드의 종료가 되고
Ctrl-C를 누르면 원래의 dos 모드로 돌아온다.
java jess.Main 불러올파일명.clp 로 바로 미리 작성된 코드를 실행할 수도 있고 Jess 코드 입력 모드 상태에서는
(batch 불러올파일명.clp)로 실행할 수 있다.


도스 cmd 창에 java jess.Console을 입력하면 뜨는 Jess Console 창.
jess.Main에 비해 인터페이스가 좀 편한 편. 간단한 내용들을 실행해 봤다. 잘된다.

[Jess 간단 문법]

; 한 줄 주석문
변수: ?var, 글로벌 변수: ?*var*
함수: (deffunction 함수명 (변수명) ["설명"] 처리내용 [반환값])
ex) 함수 정의: (deffunction max (?a ?b) "큰 수 반환하는 함수" (if (> ?a ?b) then (return ?a) else (return ?b)))
함수 호출: (printout t "3과 8 중에 큰 수는 " (max 3 8) " 이다." crlf)
결과: 3과 8 중에 큰 수는 8 이다.