II. Hệ SảN XUấT OPS5
a. Thănh phần bín trâi luậ t: left-member
Lă một danh sâch mô tả bộ lọc trín câc sự kiện của cơ sở sự kiện fb, gồm :
• Tín một lớp đối tượng lă một nguyín tử nằm đầu danh sâch.
• Câc thuộc tính mă mỗi thuộc tính lă một ký hiệu được bắt đầu bởi dấu ↑.
• Câc biến, mỗi lă một ký hiệu nằm giữa câc cặp < >.
• Câc quan hệđại số giữa câc thuộc tính : = bằng nhau,
<> khâc nhau,
vă câc phĩp tuyển or, hay phĩp hội and của những quan hệ năy. Ví dụ, khai bâo sau đđy :
( tool ↑ name <tool-name> ↑ position settled )
cho phĩp lọc tất cả sự kiện của lớp tool mă vị trí position (thănh phần đầu tiín của thuộc tính vectơ năy) có giâ trị lă settled. Biến <tool-name> được gân giâ trị cho thuộc tính name. Khai bâo sau đđy :
( tool ↑ name englishkey ↑ size >= 12 ↑ position <place> )
lọc câc sự kiện của lớp tool, có tín englishkey, có kích thước nhỏ hơn hoặc bằng 12. Biến
<place> được gân giâ trị lă thănh phần đầu tiín của thuộc tính position. Khai bâo :
( tool ↑ name << eyekey pipekey flat key >> ↑ size { <= 9 >=13 } )
lọc tất cả công cụ có tín eyekey, hay pipekey, hay flat key (phĩp tuyển), có kích thước nằm giữa 9 vă 13 (phĩp hội).
108 Hệ chuyín gia
Một phĩp tuyển chỉ có thể tâc động lín câc hằng số, hoặc hằng ký hiệu, trong khi đó, một phĩp hội lại có thể tâc động lín biến, chẳng hạn khai bâo :
( tool ↑ size { <dim> >= 9 <= <weight> } )
cho phĩp gân cho <dim> giâ trị của ↑ size vă thõa mên điều kiện nằm giữa 9 vă giâ trị của biến <weight>. Phĩp lọc năy lă hợp lệ nếu biến <weight> có mặt trước quan hệ năy trong thănh phần bín trâi luật.
OPS quan niệm một điều kiện lă chắc chắn (positive) : điều kiện đó lă hợp lệ (valid) nếu tồn tại một sự kiện trong fbđược thừa nhận qua phĩp lọc. Người ta có thể khai bâo một điều
phủđịnh (negative) bằng câch đặt một dấu trước danh sâch, chẳng hạn :
- ( crowbar ↑ hold <object> )
lă một điều kiện hợp lệ nếu không tồn tại một sự kiện năo của lớp crowbar mă thuộc tính giữ
một giâ trị khâc nil.
Người ta có thể kết hợp một tín với một điều kiện chắc chắn : đó lă một biến cho phĩp tham khảo đến thănh phần bín phải luật một sự kiện được lọc bởi điều kiện năy. Cú phâp để
kết hợp một tín với một điều kiện chắc chắn như sau :
{ <key1> ( tool ↑ name englishkey ↑ position settled ) }
hay :
{ ( tool ↑ name englishkey ↑ position settled ) <key1> }
Tóm lại, những hạn chế chính trín thănh phần bín trâi luật như sau
Tín biến xuất hiện đầu tiín (từ trâi qua phải) không thểđặt sau bất kỳ phĩp toân năo.
Những phĩp toân hợp lệ lă : =, <> (khâc nhau), vă so sânh nguyín tử số. OPS5 không cho phĩp thực hiện câc phĩp toân đại số hay tính giâ trị một hăm ngoại vi trong thănh phần bín trâi.
Một biến có thể nhận giâ trị lă một sự kiện được lọc bởi một điều kiện, hoặc một giâ trị
của một thuộc tính vô hướng (scalar attribute) hay chỉ một thănh phần của một thuộc tính vectơ.
• Điều kiện đầu tiín của thănh phần bín trâi không thể phủđịnh (-).