Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (28.72 MB, 82 trang )
/. Câu trúc (Structure): Bao gồm 4 mức chính: System, Block, Proccss,
Procedure
Hệ thống SDL được phân chia thành các mức: hệ thống, khối và các tiến
trình được gọi là sự phân chia hệ thống (partitioning). Các đối tượng của sự
phân chia bao gồm:
-
Các thông tin ẩn (chuyển các chi tiết không quan trọng trong một khái
quát chung đến mức thấp hơn).
-
Chi a nhỏ theo các chức năng tự nhiên.
-
Tạo lập các module có thể quản lý kích cỡ về mặt trí tuệ.
-
Tạo lập một sự tương ứng với các hoạt động phần mềm hoặc phần
cứng
-
Sử dụng lại các đặc lả đã tồn tại.
M ỗi ùến trình trong SDL được định nghĩa như mộl máy trạng thái lồng
nhau có thứ bậc. M ỗi máy trạng thái con là thực hiện trong một thủ tục. Các
thủ tục có thể độ quy; chúng là cục bộ đối với tiến trình hoặc chúng có thể là
có giá trị toàn cục phụ thuộc vào phạm vi của chúng. SDL trợ giúp cho kiêu
các thủ tục ở xa có nghĩa là cho phép tạo lờ i gọi thủ tục, mà thủ tục đó ở trong
một tiến trình khác.
Các tiến trình irong SDL có một không gian bộ nhớ riêng. Tập hợp các
tiến trình có thê được nhóm 丨 một khối (block). Các khối có thể lỗng nhau
rong
dè tính đệ quy giúp cho hệ thống nhỏ hơn và duy trì những hệ thống con tóm
lược. Các cơ chế break-down là rất quan trọng đối với các nhóm phát triển hệ
thống, và SDL cung cấp một giao diện rõ ràng giữa các hệ thống con.
0
Cấu trúc tĩnh và cáu trúc độnịị
Cấu trúc tĩnh của hệ thống được định nghĩa trong giới hạn của các block
và các channel. Một block là được nhận biết giống như một module với mô
hình hộp den.
Cấu trúc động được định nghĩa với sự trợ giúp của các tiến trình và các
khái niệm đường đi của tín hiệu (signal route). M ột tiến trình là một thiết bị
độc lập mà tác động trở lại để kích thích các kiểu tín hiệu.
2. S ự truyền thông (C om m unication)
SDL không sử dụng bất kỳ một dữ liệu toàn cục nào, nó có hai cơ chế
truyền thông cơ bản: Các tín hiệu không đồng bộ (các tham số tín hiệu lựa
chọn) và Thủ tục gọi từ xa đồng bộ. Cá hai cơ chế có thể kèm theo các tham
số đc có the trao đổi và thông tin đồng bộ giữa các tiến trình của SDL với một
hệ Ihống của SDL và môi trường của nó.
SDL định nghĩa một giao diện rõ ràng giữa các block và các proccss bởi
kỹ thuật qua các channel và signal route. K ỹ thuật truyền thông này với giao
diện tín hiệu hình thức rõ ràng làm đơn giản cho các nhóm phát triển hệ thống
lứn và đảm báo tính vững chắc giữa các phần khác nhau của một hệ thống.
SDL dịnh nghĩa time và tim er một cách trừu tượng và thông minh. Thời
gian không chỉ là một mặt rất quan trọng trong tất cả các hệ thống thời gian
thực mà nó còn quan trọng trong hầu hết các hộ thống phân tán. M ột tiến trình
SDL có the đặt thời gian kết thúc để thực hiện thời gian time-out cũng như đặt
thời gian đế diều khiển các tiến trình và các hệ thống.
3. H ành vi (Behavior).
Hành vi dộng trong một hệ thống SDL là dược mô ta trong các tiến trình.
Hệ thống hoặc block chí là một mô tả tĩnh của cấu trúc hệ thống. Các tiến
trình trong SDL có thê được tạo khi hệ thống bắt đẩu tạo lập hoặc kết thúc tại
thời gian chạy (run time). M ột tiến trình có thế tồn tại một hoặc nhiều minh
hoạ. M ỗi minh hoạ có một nhận dạng duy nhất (Pld). Điểu này tạo ra khả
năng có thể gửi tín hiệu đến các minh hoạ riêng của một tiến trình. Khái niệm
tiến trình và minh hoạ tiến trình làm việc tự động và tưưriỊỊ tranh tao ra môt
•
•
•
•
«
•
ngôn ngữ SDL thời gian thực.
4 . 1)ữ liệu (data)
SDL chấp nhận hai cách mô tả dữ liệu: Kiểu dữ liệu trừu tượng (A D T ) và
A S N .l. Sự kết hợp của ASN .l có khả nãng chia sẻ dữ liệu giữa các ngôn ngữ,
như là việc sử dụng lại những cấu trúc dữ liệu đã tồn tại.
Khái niệm A D T sử dụng trong SDL rất phù hợp với ngôn ngữ đặc tả. Một
kiểu dữ liệu trừu tượng là một kiểu dữ liệu không chỉ rõ cấu trúc dữ liệu. Thay
vì như vậy nó chí rõ một tập hợp các giá trị, một tập hợp các thao tác cho phcp
và một tập hợp các phương thức mà thao tác phải thực hiện. Cách tiếp cận này
lạo cho nó m ội ánh xạ đơn giản từ kiểu dữ liệu SDL đến các kiểu dữ liệu sử
dụng trong các ngôn ngữ lập trình bậc cao. Sau đây là một ví dụ về kiểu dữ
liệu trừu tượng:
Tập hợp các giá trị
Tập hợp các thao
tác cho phép
NEWTYPE Boolean
____ p, LITERALS True, Fasle
OPERATORS
"NOT" :Boolean->Boolean;
"=":Boolean, Boolean->BooIean;
AXIOMS
"NOT"(True)==Fasle;
■>
"NOT"(Fasle)==True;
Tập hợp các phương
trình mà các tác phải
tham gia
►
"="(True,True)==True;
"="(True, Fasle)==Fasle;
"="(Fasle,True)==Fasle;
"="(Fasle.Fasle)==True;
ENDNEWTYPE Boolean;
Tập hợp các kiếu xác định trước trong SDL tạo cho nó có khả năng làm
việc với dữ liệu trong SDL theo cách truyền thống. Các hiến số của các kiểu
chuẩn có the khai háo như sau: integer, real, natural, boolean, character,
duration, time, charstring, PId, các kiểu dữ liệu phức tạp (như array hoặc các
k iể u dữ liệu có cấu trúc).
5.S ự kê thừa (Inheritance)
Các khái niệm hướng đối tượng trong SDL cho người sử dụng bộ công
cụ hữu ích cho việc xây dựng và sử dụng lại. Khái niệm này cơ sở dựa trên các
kiểu khai báo. Các kiểu khai báo có thể ở bất kỳ vị trí nào có thể bên trong hệ
t hống hoặc tại các mức hệ thống. M ột trong những lợi ích chính của việc sử
dụng ngôn ngữ hướng đối tượng là đơn giản và trực giác, các đối tượng mới có
thê được tạo ra bằng cách thêm vào các đối tượng đã tồn tại những tính chất
mới hoặc định nghĩa lại các tính chất của các đối tượng đã có.
2.2. Mô hình chung của SDL (General Model of SDL)
SDL cơ bản dựa trên mô hình các máy hữu hạn trạng thái (finite State
machines). M ột hộ thống là được mô tả như là một số sự mở rộng của các máy
irạng th á i truyền thông hữu hạn bởi cách trao đổi thông điệp với nhau và với
m ôi trường của hệ thống. Máy trạng thái làm việc song song và một vài sự
kiện của máy trạng thái có thể tồn tại sự tương tranh. Trong SDL sự m ở rộng
máy hữu hạn trạng thái là được mô hình bới khái niệm tiến trinh (process).
Một sự kiện của Process được gọi là m in h hoạ tiế n trin h (process instance).
Sự thế hiện của một hệ thống như vậy bao gồm sự thể hiện của các minh họa
tiến trình. M ộl biến số là cục bộ đối vó'i một minh hoạ liến trình của riêng nó.
Và chúng truy cập đến cơ sở dữ liệu chung bằng cách gửi và nhận các thông
điệp (message).
Một thông điệp là được mô hình bởi một tín hiệu (signal). M ột tín hiệu
có thể mang trong nó một danh sách các siá trị. Trong trường hợp này tín hiệu
phải được định nghĩa với một danh sách các dạng dữ liệu cho các giá trị mang
theo tín hiệu. Giới hạn của SDL cho một lập các giá trị gọi là sort. M ột tín
hiệu gửi từ một minh hoạ tiến trình đến một minh hoạ tiến trình khác hoặc
giữa môi trường và minh hoạ tiến trình trong hệ thống. Khi gửi một tín hiệu có
thể xác định trực tiếp minh hoạ tiến trinh cho tín hiện mà có ý định hoặc cho
phép nó đến hệ thống để nhận dạng việc nhận minh hoạ tiến trình.
Địa chỉ thông tin được biểu diễn sử dụng loại PIcỉ (Process Identify). M ột
giá trị Pld nhận dạng một minh hoạ tiến trình. Tất cả các giá trị Pld là duy
nhất, lại mỗi thời điểm một minh hoạ tiến trình tạo ra một Pld mới, giá trị Pld
d u v nhất liên quan với một m inh hoạ tiến trình. M ỗ i m inh hoạ tiến trình chứa
đựng hốn biểu thức mệnh lệnh Pld xác định trước, nó có ích cho việc truyền
thông giữa các tiến trình (Seft, sender, parent, offspring)
Giá trị Pld bằng n u ll không được sử dụng cho một tiến trình tồn tại. Bằng
cách định nghĩa seft sẽ luôn luôn khác null. Đối với sender, null biểu thị là
không có tín hiệu được dùng bởi một tiến trình ở xa. Với Parent, null biểu thị
ràng minh hoạ liến trình là được lạo lập tại thời điểm khởi tạo hệ thống. Với
offspring, null biểu thị không có minh hoạ nào ở xa được tạo lập động bởi
minh hoạ này.
Sự truyền thông trong SDL là không đồng bộ, không đồng bộ ở đây là
yêu cầu giữa người gửi và người nhận. M ỗi minh hoạ tiến trình được gắn kết
với một giới hạn bộ đệm để lưu giữ tất cả các tín hiệu đã nhận mà không
dùng. Tương tự như trong bưu điện, mỗi một minh hoạ tiến trình có một hộp
thư riêng của nó, và nó giả sử rằng hộp thư này là luôn luôn đủ lớn để giữ các
thư cho đến khi minh hoạ tiến trình giải quyết nó. Hộp thư như vậy là một bộ
cìệm không bị ràng buộc, được gọi là cổng ra của một minh hoạ tiến trình.
Không có quyền ưu tiên đối với cổng ra. Tuy nhiên, nó có khả năng giữ lại các
tín hiệu đặc biệt trong cổng ra khi có yêu cẩu. Điều này có thể sử dụng để mô
hình quyền ưu tiên cho tín hiệu thu nhận được. Tương tự như bưu điện, một
minh hoạ tiến trình có thể ỉrong trạng thái rất bận (very busy), yêu cầu cổng
vào bíío vệ nó từ những tín hiệu không quan trọng. Những tín hiệu không
quan trọng được giữ trong cổng vào. Thêm vào những tính chất này của cổng
đầu vào, các tín hiệu có thể không xác định độ trễ trong thời gian truyền thông
giữa các thành phần chú yếu của hệ lh(5ng.
Có lẽ ở đằng sau truvcn thông không đổng bộ và kênh trễ ià đc mô hình
một hệ ihống phân tán và hệ thống kết đôi lỏng lẻo. M ột hệ thống với truyền
thỏna không đồng bộ có sự kết đôi lỏng lẻo giữa các tác nhân hơn một hệ
ihòìig U.uyềĩi thòng đổng bộ. Một người gửi trong hệ thống Iruyềĩi thông
khống đồng bộ không bao giờ đi đến chỗ bế tắc bời vì các tác nhân truyền
thông khác không sẩn sàng để truyền; nó luôn luôn có khả năng gửi một hức
thư, như là một sự đối lập để thiết lập một cuộc toạ đàm với người nhận lá thư.
2.3. Các luật thông thường (General Rules)
í . C á c b iể u đ ồ lồ n g n h a u (N e s tin g o f D ia g ra m s )
M ột mô tá của SDL bao gồm một số các cấu trúc lồng nhau hoặc phạm
vi lồng nhau. Hầu hết chúng được thê hiện như một biểu đồ. M ột biểu đồ là
bao quanh bởi khung hình chữ nhật mà có thể ẩn nếu biểu đồ bao phủ đầy đủ
một trang. M ột biểu đồ mà lặp lại trong biểu đồ khác sẽ được vẽ trong một
biểu đồ bao quanh. Để hợp lệ cho việc chia một mô tả đầy đủ vào một biểu đồ
riêng biệl thì thực tế xay ra íĩiột biểu đổ lồng trong một biểu đồ khác có thể
thay thế bời một biểu tượng liên quan đến biểu đồ ở bên trong. K ý hiệu
reference chứa đựng tên của biểu đồ bên trong và có một hình đặc trưng của
biểu đồ đươc miêu tả.
block reference
channel substructure
reference
procedure reference
Process reference
service reference
2 .C á c té n (N a m e s )
Một name hao gồm một hoặc nhiều từ riêng biệt cách nhau bởi dâu gạch
nối
và các ký tự điều khiển... M ột từ bao gồm các ký tự chữ và số và dấu
và phái chứa ít nhất một ký tự chữ và số. Như vậy (3.4) là mộl từ đúng.
Một từ không thể là một từ khoá. Trong hầu hết các vị trí, dấu gạch dưới có
thế thay cho không gian giữa các từ khác nhau.
°
Phạm vi của tên (Scope o f Names)
Tâl cả các biểu đồ và một số cấu trúc không sử dụng miêu tả đổ hoạ định
nghĩa mộl phạm vi. M ỗi một tên là có thể xác định trong phạm vi mà nó được
dịnh nghĩa và tất cả các phạm vi khác chứa nó. V í dụ, tên của một tín hiệu
dược định nghĩa tại mộl mức của hệ ihống là xác định mức của hộ thống và tất
cá các phạm vi của hệ thống.
3 .M Ộ Í v à i b iể u trư n g th ô n g th ư ờ n g (S om e G e n e ra l S ym b o ls)
0 Bié’ tndìỊị văn bán (Text Svmbol)
u
Khi định nghĩa một văn bán cần có những biểu đồ, một biểu trưng text
bao gồm những định nghĩa nguyên vãn được đặt irong một biểu irưng đồ hoạ.
-36-
0
Lời chú ỉlìích (Comment)
Một lời chú thích là một đoạn vãn bán giải thích không quan trọng chú
thích cho một văn hản, hơn nữa nó làm tăng thêm khá năng giải thích cho
người đọc. Có hai loại lời chú thích; sự phân biệt giữa chúng bắt nguồn từ
những mỏ tả đổ hoạ. M ột ký tự chú thích đặc biệt có thể gắn kết với bất kỳ
hicii trưng nào.
°
Vâtì bán m à rộtìiị (Text extension )
Nếu văn bản không phù hợp với các biểu trưng, nó có khả năng gắn kết
vởi một biếu trưng text mở rộng. Biểu trưng Text mở rộng được gắn với một
clưòìig liền nét và văn bản trong biểu trưng text mở rộng là một phần mở rộng
liế p thêm của văn hán trong biểu trưng mà nó gắn kết.
°
Văn bản khống hình thức (informai text)
inform al text là một đoạn của một đặc tả mà không có sự thể hiện hình
thức. Tuy nhiên, một phần của đặc tá không như một lời chú thích. Informal
text có thể hình thức hoá tại giai đoạn sau hoặc hình thức hoá những thứ
không hình thức để hiểu lộ một phần của hệ thống mà không yêu cầu phải chỉ
rõ tính hình thức.
2.4. Structure (cấu trúc)
I . C à u tr ú c c ủ a m ứ c hệ th ố n g (S tru c tu rin g th e system L e v e l).
Một hệ thống bao gồm một số các khối kết nối với nhau bởi các kênh.
Một khối góp phần xây dựng nên hệ thống, ở đây có một vấn đề mới được đưa
ra dó là hệ thống có thể lồng nhau. Các kênh kết nối các khối (block) với nhau
trong môi trường của hệ thống, một kênh có thể có một đường hoặc hai đường
kẽì nối. Kênh được đặc trung bởi các tín hiệu mà nó có thể mang theo; nó tạo
Ihành một danh sách các tín hiệu của một kênh. Một kênh có một danh sách
tín hiệu cho mỗi một sự điều khiển. Một hoặc hai mũi tên nằm ở giữa các
ken h sc biếu lộ hướng của kênh. Danh sách các tín hiệu nằm trong các dấu
ngoặc vuông. Sau đây là ví dụ về một hệ thống s:
text symbols: Sử dụng cho các định nghĩa văn bản trong biểu đồ.
Các định nghĩa tín hiệu được chỉ ra trong một biểu tượng text, cho đến
khi không có mô tá đồ hoạ nào cho định nghĩa tín hiệu. Một định nghĩa tín
hiệu có dạng: signal signal name [(sort identifier lis t ) ] ;
Khi một vài tín hiệu được chuyển qua kênh hoặc gửi tín hiệu đi, nó sẽ rất
phù hợp để định nghĩa nhanh một danh sách các tín hiệu. M ột sự định nghĩa
danh sách các tín hiệu gắn kết với một tên là như sau:
signallist signal list name = signal identifier list;
2. S ự phân chia (Partitioning)
M ột block có thể mô tả bởi một biểu đồ block cấu trúc con hoặc một biểu
đổ block, có thể có hai biểu đồ cho bởi những viễn cảnh khác nhau bên trong
một block. M ột block con sử dụng cho sự phân chia, nhưng ngược lại biểu đồ
block được định nghĩa hành vi của một block trong giới hạn của các tiến trình
hao hàm trong block. Nó có khá năng cho cả hai biểu đồ đối với cùng một
block. Điều này thuận lợi nếu như ai đó muốn thấy được trạng thái hành vi của
block ờ một vài mức chi tiếl. Trước khi đưa ra lời giải thích hệ thống cần biêu
lộ rõ ràng sự lựa chọn một block để giải thích.
-38-
。 Khấi cấu í rúc con ( Block Substructure )
Sự phân chia thành cấu trúc con của block ngụ ý phân chia một block
thành các block con. Một cấu trúc con cúa block nhìn như một hệ thống. Trên
Ihực tế, mộl hệ thống là một cấu trúc con loại trừ các tín hiệu và các loại định
nghĩa lại các mức của hệ thống mà có thể nhìn thấy bên ngoài hệ thống bởi vì
chúng được sử dụng trong truvền thông với môi trường của hệ thống. Những
tên được định nghĩa trong một phạm vi cấu trúc con là không thể nhìn thấy từ
bên ngoài mà phạm vi xem xét đến các luật cho phép nhìn thấy thông thường.
3. B iể u đ ồ k h ố i (B lo c k d ia g ra m )
Một block bao gồm các tiến trình kết nối bởi các đường đi của tín hiệu
(signal routes). M ột signal route là một đường truyền thông không có độ trễ;
nó tạo ra các signal route khác nhau từ một kênh. Quan niệm khác nhau giữa
một kênh và một signal route là mội kênh kết nối các thực thê trong một hệ
thống phân tán, trong
k h i
signal route kết nối các thực thể tại cùng một nút
trong hệ thống phân tán. Trơ lại với việc phán tích hộ thống biai điện, một
kênh giống như một văn phòng phân loại hoặc ở những phần phân loại chính
độ trẻ là luôn luôn xảy ra. Một signal roule là sự phán loại cục bộ của những
lá thư do một nhân viên thực hiện. Việc phát chuyển những lá thư cục bộ có
thể hoàn thành mà không cần có độ trễ của hệ thống thư công cộng. Cú pháp
khác nhau giữa signal route và kênh là việc cho phép các phần đầu (head) đặt
giữa kênh và ư điểm cuối của signal route.
Bộ đệm gắn liền trong các kênh đưa thêm vào một thành phần trạng thái
luón luôn không mong muốn, như trong SDL_92 cho phép các kênh không
trễ. Các kênh không trễ có cùng ngữ nghĩa như là signal route và khi đó nó có
cùng kí hiệu; cho phcp các head ớ vị trí cuối của kênh độ trỗ bằng không thay
vì ờ giữa.
4. Macros
Một macro là một phần của biểu đồ hoặc văn bán mà có thê sử dụng
nhiều lần trong một mô tả. Như vậy, chỉ những biểu đồ macro là được mô tả.
Mộ( hiểu đồ macro có thế sứ dụng trong bất kỳ biểu đồ nào. Việc sử dụng một
macro tại một vị trí vững chắc trong biểu đồ được biểu lộ hởi biểu tượng
macro call. Một m acro có Ihể được gọi với các iham số thực mà sau đó có thê
thay thế cho các tham số hình thức của macro trong khi gọi. Các tham số hình
thức của macro là được biểu thị bởi fpar. Khái niêm macro là rất tốt nhưng có
một vài luật ngữ nghĩa liên hệ với macro, không có khả năngkiểm tra các
tham số thực và tham số hình thức của macro.
2.5. Hành vi (Behaviour)
1.
T h ờ i g ia n sô n g c ủ a cá c tiế n tr in h (L ife tim e o f P ro ce ss)
Sau khi mô tá cấu trúc của một hệ thống (các block và các tiến trình tham
kháo) và các giáo diện liên kết (các kênh và các signal rout với danh sách các
tín hiệu), hành vi của một hệ thống có the được mô tả. Vấn đề này được hoàn
thành bởi việc mô tả các tiến trình.
Lưu ý đê không nhầm lẫn giữa định nghĩa một tiến trình và những minh
hoạ khác nhau của một tiến trình, thì sự định nghĩa là một mẫu quy định cho
hành vi của các minh hoạ tiến trình. Các minh hoạ là cácđối tượng trong diễn
xuất cúa hệ thống. M ột tiến trình có các đặc trưng sau:
lifetim e: M ột minh hoạ được tạo lập hoặc tại thời điểm khởi tạo hệ thống
hoặc tạo lập động bới minh hoạ tiến trình khác; nó ngừng để tồn tại khi nó dẫn
xuất đốn mộl biểu tượng stop.
parameters: Các giá irị thực [à được ấn định bới tiến trình minh hoạ cha
trong suốt quá trình tạo lập động của minh họa.
variables: những dạng đặc trưng này trong tổ hợp với các trạng thái điều
khiên tạo thành trạng thái của minh hoạ.