Ngôn ngữ đặc tả cho mô hình COKB

Một phần của tài liệu Nghiên cứu mô hình COKB thu hẹp và giải quyết vấn đề trên thành phần tri thức hàm (Trang 26)

Ngôn ngữ đặc tả cho mô hình COKB được xây dựng từ các thành phần sau:

-Tập các ký tự: chữ, số và ký tự đặc biệt

-Từ vựng: từ khóa, tên

-Các kiểu dữ liệu: kiểu cơ sở và các kiểu cấu trúc.

-Biểu thức và câu, các câu lệnh

-Cú pháp đặc tả các thành phần của mô hình COKB

Dưới đây, là một số cấu trúc định nghĩa cho các biểu thức, các đối tượng tính toán, các quan hệ tính toán, các sự kiện, và các hàm.

Đặc tả định nghĩa của các biểu thức: Expr ::= expr | rel-expr | logic-expr Expr ::= expr add-operator term | term Term ::= term mul-operator factor | factor factor ::= - factor | element A factor | element element ::= ( expr ) | name | number | function-call rel-expr ::= expr rel-operator expr

logic-expr ::= logic-expr OR logic-term | logic-expr IMPLIES logic-term | NOT logic-term |logic-term

24

logic-primary ::= expr | rel-expr |function-call | quantify-expr |TRUE | FALSE

quantify-expr ::= FORALL(name <, name>*), logic-expr | EXISTS(name), logic- expr Đặc tả định nghĩa loại đối tượng tính toán:

cobject-type ::= COBJECT name; [hasa] [constructs] [attributes] [constraints] [crelations] [facts] [rules] ENDCOBJECT; Đặc tả định nghĩa các quan hệ tính toán:

crelations ::= CRELATION: crelation-def+ ENDCRELATION; crelation-def ::= CR name; MF: name <, name>*; MFEXP: equation; ENDCR;

equation ::= expr = expr Đặc tả định nghĩa các quan hệ đặc biệt:

Isa ::= ISA: name <, name>*; hasa ::= HASA: [fact-def] Đặc tả định nghĩa các sự kiện:

facts ::= FACT: fact-def+

fact-def ::= object-type | attribute | name | equation | relation | expression object-type ::= cobject-type (name) | cobject-type (name <, name>* ) relation ::= relation ( name <, name>+ )

Đặc tả định nghĩa các quan hệ cơ sở trên các sự kiện: relation-def ::= RELATION name;

ARGUMENT: argument-def+ [facts]

ENDRELATION; argument- ::= name <, name>*: type;

25

Đặc tả định nghĩa các hàm (dạng 1): function-def ::= FUNCTION name;

ARGUMENT: argument-def+ RETURN: return-def;

[constraint] [facts]

ENDFUNCTION; return-def ::= name: type;

Đặc tả định nghĩa các hàm (dạng 2): function-def ::= FUNCTION name;

ARGUMENT: argument-def+ RETURN: return-def; [constraint] [variables] [statements] ENDFUNCTION; statements ::= statement-def+

statement- ::= assign-stmt |if-stmt | for-stmt asign-stmt ::= name := expr;

if-stmt ::= IF logic-expr THEN statements+ ENDIF; |

IF logic-expr THEN statements+ ELSE statements+ ENDIF; for-stmt ::= FOR name IN [range] DO statements+ ENDFOR; (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Nghiên cứu mô hình COKB thu hẹp và giải quyết vấn đề trên thành phần tri thức hàm (Trang 26)