Chương5-CuPhapTruuTuong-CuPhapTruyen

Màu nền
Font chữ
Font size
Chiều cao dòng

Chương 5: Cú pháp trừu tượng và cú pháp truyền

5.1 Mở đầu:

• Quan tâm đến cú pháp, cách tạo nên hình thức để mô tả thông tin nhiều hơn quan tâm đến ngữ nghĩa

• giữa các lớp AE lớp ứng dụng có cú pháp để trao đổi thông tin (cú pháp trừu tượng), với mọi ngữ nghĩa có phần cú pháp na ná nhau.Một cú pháp rất hay dùng hiện nay là ASN-1

• Các lớp dưới thường thông tin chuyển về các dạng nhị phân khác nhau để truyền

->lớp vật lý tín hiệu truyền từng bit một-> phải có luật đóng gói (biểu diễn thông tin cụ thể)->mỗi lớp đều sử dụng cú pháp khác nhau để đóng gói thông tin (cú pháp truyền).1 cú pháp truyền phổ biến BER

luật mã hoá thông tin từ cú pháp trừu tượng -> cú pháp truyền và ngược lại (local syntax)

5.2 Cú pháp ASN-1

-Dùng biểu diễn thông tin, chứa tất cả mọi thứ thuộc cú pháp của ngôn ngữ.

 Quy định về bộ chữ

 luật tạo ra các tổ hợp có thể. Dùng các tổ hợp có thể ấy để mã hoá thông tin (khi tiến hành mã hoá -> bắt đầu quan tâm đến sự phân tích, gán ý nghĩa cho từ.Nếu hoàn toàn ko quan tâm đến ý nghĩa=>vô nghĩa

Trong quản trị mạng gán thông tin rất đơn giản, chủ yếu quan tâm đến cú pháp

+ Luật tạo câu: liên kết các từ để mô tả hành động , hoàn toàn hình thức, luật tạo câu liên quan ngữ nghĩa.

+ Luật xây dựng bài viết: trật tự các câu trong quản trị:MB, TB, KL

• tập kí hiệu ( bộ chữ của ASN-1)

tất cả các chữ cái, chữ số và dấu thuộc bảng ASCII

• luật tạo từ: từ là chuỗi liên tiếp các chữ cái, chữ số và dấu, ko quy định độ dài, thường ko quá 255 kí tự (dòng kí tự), chia thành 3 loại từ:

- từ khoá (keyword được quy định trước)

- từ thông thường (common word)

- từ mới

o từ khoá: chuỗi chữ thường là bắt buộc viết hoá. Được dùng đăt tên:

• các kiểu dữ liệu được khai báo trước

• các từ quy định cấu trúc bài viết

• các từ mô tả 1 số hoat động thường gặp (+, -, gán)

VD: boolean, interger...

+ Identifier:

Bắt buộc bắt đầu bằng chữ viết thường, định danh mô tả tên các biến. VD: homeNumber

+ Từ thường gặp ( normal word)

giống bình thường nhưng bắt đầu bằng chữ viết hoa. VD: HomeNumber

Có thể là tên của kiểu dữ liệu được dẫn xuất từ các kiểu dữ liệu đã có ( tự khai báo), tên các môđun

ASN-1 chỉ quan tâm đến cú pháp, biểu diễn các thông tin để trao đổi, không phục vụ xử lý thông tin -> số phép toán ít

+ Phép toán gán ::=

Được dùng khá linh hoạt, có thể gán kiểu dữ liệu cho 1 tên kiểu, gán giá trị đầu cho 1 tên biến

+ Giới hạn bình luận: ghi chú giải giữa những ngưòi viết, đọc, sửa chương trình.

+ ASN-1 là 1 cú pháp mô tả nên lỵât đặt câu rất yếu

• Các kiểu dữ liệu:

- Kiểu xây dựng sẵn ( build-in Type): là những kiểu đơn thường gặp và 1 số kiểu có cấu trúc thường gặp

+ Kiểu đơn thường gặp: boolean, interger,bit...

+ Kiểu cấu trúc thường gặp:

o SEQUENCE: dãy các giá trị, các giá trị này là các biến ở 1 kiểu dữ liệu nào đấy.

o SEQUENCE OF: tất cả các giá ttrị nằm trong dãy dữ liệu phải cùng kiểu (sequence có thể khác)

o SET và SET OF tương tự sequence và sequence of : là tập hơp các giá trị dữ liệu -> trật tự ko quan trọng

o CHOICE: là các giá trị mà mỗi khi gán ta có thể lựa chọn gán giá trị cho 1 biến nào đấy

o ANY: kiểu dữ liệu mà ta ko ( chưa ) xây dựng giá trị của nó thuộc mục nào mà chỉ khi thực hiện trao đổi thông tin mới đượo gán giá trị cụ thể.Thông thường ANY biến đổi thành ANY DEFINED BY tên kiểu

o Các kiểu dữ liệu dẫn xuất : được xây dựng trên các kiểu dữ liệu có trước.Tên của kiểu dữ liệu này có chữ đầu tiên viết hoa.

Khai báo

Tênkiểu::=mô tả kiểu-> thường là tên của 1 kiểu dữ liệu đã biết trước hoặc cách khai báo 1 kiểu có cấu trúc

VD: HouseNumber::=INTERGER

Tênkiểu::=từ mô tả cấu trúc {liệt kê biến chứa giá trị cùng kiểu}

Khai báo danh sách biến chứa giá trị

Counter::=SEQUENCE

{highValue INTERGER

lowValue INTERGER}

- Các kiểu dữ liệu cần chú ý:

+ kiểu dữ liệu chuỗi chữ phân thành nhiều nhóm

Character String:

o Numeric String

o Printable String

o Teletex String

o Visible String

o IA5 String

o Graphic String

o General String

OBJECT INDENTIFIER: thông thường được xem là kiểu dữ liệu có sẵn

EXTERNAL: là 1 từ khoá chỉ ra cách lấy dữ liệu

• Các biến: mỗi biến là 1 định danh, mỗi biến được dùng để chứa các giá trị 1 thuộc tính nào đấy của đối tượng ta cần quản trị

Để khai báo biến: Tên biến Kiểu dữ liệu

• Kiểu thẻ ( Tagged Type)

Là thẻ được thêm vào phần khai báo dữ liệu để nhằm 2 mục đích :

+ tránh nhầm lẫn kiểu dữ liệu với bên nhận

IMPLICIT ( ko truyền kiểu dữ liệu)

EXPLICIT ( có truyền kiểu dữ liệu)

Các thẻ này dược viết trước phần mô tả kiểu

Trong 1 môđun nếu sử dụng IM ở đầu môđun thì tất cả các dữ liệu trong môđun đều IM. Nếu có chỗ nào cần EX phải đặt riêng

- Thẻ quy định kiểu dữ liệu: 3 nhóm

• UNIVERSAL n

• APPLICATION n

• PRIVATE n

UNIVERSAL n: t ương ứng kiểu dữ liệu nào đấy

UNIVERSAL 1: boolean

2: interger

...

thẻ này đặt trước khai báo kiểu dữliệu

VD:

counter::= [ UNIVERSAL 2] IMPLICIT INTERGER

- Thẻ tránh nhầm lẫn thứ tự dữ liệu (CONTEXT-SPECIFIC)

đặt trong ngoặc vuông trước khi khai báo dữ liệu

counter::=SET

{ counterName [0] IMPLICIT Visible String

counterNumber [1] IMPLICIT Interger }

• Module: nhóm một số khai báo lại

mỗi module thông thường có tên, là 1 từ thường gặp khai báo giống như 1 định danh của 1 đối tượng

Tên module

DEFINITIONS EXPLICIT TAGS::=BEGIN

IMPORTS

_ _ Tên các kiểu dữ liệu, biến dữ liệu đã được khai báo ở chỗ khác, cần lấy vào _ _

RDName FROM tên module lấy từ đó về

_ _ End of IMPORTS

_ _ Khai báo các biến, kiểu dữ liệu các module khác có thể lấy _ _

END of EXPORT

Các khai báo của module

END

• Kiểu con: là 1 vùng của kiểu dữ liệu nào đấy

Cách ghi:

- gom vùng ghi sau tên kiểu

- có thể ghi liệt kê, vd: INTERGER (0/1/2/5)

- có thể ghi đầu-cuối INTERGER (1..30)

- có thể ghi kích thước dữ liệu ( TETSRING (SIZE (6))

InnerSubTyping: kiểu con thay đổi các thành tố trong dữ liệu ban đầu

OPTIONAL, PRESENT, ABSET, ...

• Macro: tổ hợp nhiều kiểu con-> cấu trúc dữ liệu mới

Tên kiểu::=Kiểu

With values of tênbiến::=giá trị

Tên Marco MARCO::=BEGIN

TYPE NOTATION::= "Chuỗi chữ là tên kiểu cần khai báo"

"="

Kiểu

VALUE NOTATION::=

"("

"val"

"="

Giá trị

")"

END

5.3 Basic Encoding Rules (BER)

Luật cho phép ta chuyển 1 từ hay 1 định danh của ASN-1 sang nhị phân

Mã ASN-1: nội dung giá trị cần chuyển thành nhị phân.Mỗi từ ASN-1 được biểu diễn ở dạng dữ liệu nào đó có xác định cùng giá trị cụ thể của nó.Khi chuyển sang nhị phân...

 BER đưa ra luật chuyển đổi mã

- Mỗi thẻ 1 lớp trong Identify

Bit P/C : 0-1 tương ứng P/C

0=P

1=C

- 5 bit còn lại : số hiệu thẻ. Quy định dữ liệu được biểu diễn ở ASN -1

Length: độ dài phần nội dung

Length=n ( n byte)

Mã hoá với độ dài cố định: mô hình IBC

Mã hoá với độ dài ko cố định: mô hình ILCE

cố định lại chia làm 2 loại:mã hoá với độ dài ngắn và dài

phần content: giá trị biểu diễn bằng chuỗi nhị phân

mỗi bit ở ASN-1 chuyển thành 1 bit ở content

với các kiểu có cấu trúc, mỗi giá trị dữ liệu là 1 bộ các giá trị khác-> khi mã hoá phải mã hoá từng giá trị

Cách mã hoá:

+ chỉ ra được dữ liệu có cấu trúc, dựa vào Identify

I: kiểu dữ liệu

L: chỉ ra độ dài của nội dung cấu trúc

Content: chỉ ra kiểu dữ liệu

Object Identifier: 1 chuỗi số hay 1 chuỗi chữ (hoặc lẫn) được liệt kê theo danh sách đăng kí

Bạn đang đọc truyện trên: Truyen2U.Pro