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 )
Sau đáv là các lớp nguyên mảu block, process và newtypc
« b lo c k »
« p ro c e s s »
« n e v v tv p e »
A
B
c
V a rl: Boolean
S igl(P arl::real)
S igl(P arl ::real)
Sig2()
O p l(): boolean
V a rl: boolean
Var2: Pid
O p l(P a rl: int): boolean
Một lớp có thể có các thuộc tính và các thao tác. M ột thuộc tính có tên
và kieu, kiểu có thể là bỏ qua. M ộ t Ihao tác có tôn, nó có thể chứa các tham số
và các giá trị trá lại. Một thao tác với giá trị trả lại được chuyến đến một thủ
tục lừ xa, ngược lại nó chuyển sang một tín hiệu.
Các luật chung cho các tính chất của lớp:
-
Một lớp với tính chất = true ánh xạ đến một dạng biểu đồ trong SDL
-
Một lớp với tính chất = false ánh xạ đến một biểu đồ không kiêu trong
SDL
-
Một lớp mà ánh xạ đến m ột block với tính chất MgmProcess = true
ánh xạ đến một tiến trình với cùng tên với block thu được.
-
Một lớ p mà ánh xạ đến một process và với tính chất MgmProcess =
false ánh xạ đến một tiến trình với cùng tên với block thu được.
Block: Một lớp B lock dịch
chuyển
vào m ột dạng blo ck trong SDL. L ớ p
block có thể có thuộc tính và thao tác. Nếu một lớp block chứa các thuộc tính,
thì một tiến trình cùng tên block sẽ được tạo ra trong block. Tiến trình này
được gói gọn trong định nghĩa biến và có cùng định nghĩa giao diện như
block. Tiên trình được tạo ra gọi là tiến trình quản lý nó có cùng tên với block
chứa nó.
-50-
Các thao tác được chỉ I'õ trong lớp block được xem như các tín hiệu và
tín hiệu đó được khai báo như trong định nghĩa tín hiệu, nó được thêm vào
danh sách tín hiệu tại mức của hệ thống.
Process: Một lớp nguyên mảu như là một process trong U M L được dịch
chuvến vào một loại tiến trình trong SDL. Các thuộc tính được ánh xạ như các
biến trong tiến trình SDL. Các thao tác có thể dịch chuyển đến một tín hiệu
hoặc một thủ tục từ xa. Một thao tác dịch chuyển đến một tín hiệu nếu nó có
nguycn mẫu như tín hiệu hoặc thao tác đó không có giá trị trá lại. Nếu một
thao tác là nguyên mầu như remoteProcedure hoặc thao tác có giá trị trả lại,
nó sẽ dịch chuyển vào một thủ tục từ xa trong SDL. Sự định nghĩa thú tục là
sự xác định ví trí tại mức hệ thống và tổn tại một biểu tượng tham chiếu đến
thú lục từ xa được chí ra bên ngoài tiến trình.
A ctor: Lớp nguyên mẫu Actor là được xem xét trong phần ngoài môi
trường của hệ thống. Lớp actor sẽ mô tà như một kênh tương tác tại các mức
của hệ thống và các thao tác trong một lớp actor được chuyển sang các tín
hiệu ra ciia hệ thống.
Signal: Mộl lớp nguycn mầu tín hiệu đưực chuyển dịch vào mộl định
nghĩa tín hiệu và định nghĩa được chỉ ra trên mức hệ thống. Các kiểu thuộc
tính của lớp được chuyển sang các loại tham số của định nghĩa tín hiệu với tên
của ihuộc tính được đặt trong dấu hoa thị.
Newtype: Lớp nguyên mầu newtype được chuyên vào một ncw type trong
SDL. Newtype bao gồm một cấu triic với các thuộc tính trong lớp như các
tnrờng ti.ong cấu irúc. Tất cá các ihao tác trong ỉớp được ánh xạ vào các toán
tử trong ncwtypc. Newtype được xác định trên mức hệ thống.
Svstem: Lớp nguycn mẫu hệ thống được dịch chuyên đến một khai báo
tín hiệu chung chứa đựng các tín hiệu bát nguồn từ các thao tác của lớp.
2. Các liên kết
Liên kết giữa hai lớp trong U M L thường có rất nhiều nghĩa. Các luật để
chuyến dịch các liên kết đến các kcnh hoặc các đường truyền tín hiệu (signal
routes):
-
Tên của kênh hoặc đường truyền tín hiệu là cùng tên với liên kết. Nếu
không có tên thì sau đó tên sẽ được tạo ra, ClassAtoClassB.
-
Channel/signal route sẽ được bicu diễn trực tiếp bởi liên kết điều
khiển nếu có. Nếu không có liên kết điểu khiển thì channel/signal
route là được xem như có hai định hướng (bi-directional).
-
Tên của cổng là cùng tên với tên vai trò kết thúc đối của liên kết. Nếu
không có tên vai trò thì các cổng có tên tương ứng với lớp đối.
« b lo c k »
X
roleX
role Y
« a c to r»
Y
Liên kết được chuyển vào các cấu trúc khác nhau trong SDL phụ thuộc
và các dạng cua liên kết lớp.
Block: Một liên kết giữa các lớp block được chuyển vào một kênh giữa
hai lập hợp minh hoạ của blcok. Một cổng tương ứng của kênh được tạo ra
trên một block. M ột liên kết giữa lớp block và lớp process được chuyển và một
kênh đến minh hoạ block và một signal route đến minh hoạ tiến trình. Các
cổng dược tạo ra đến một dạng block và tiến trình.
Một liên kết giữa actor và lớp block được chuyển vào một kênh đến môi
trường.
Process: Một liên kết giữa các lớp process được chuyển vào một signal
route giữa các tập hợp minh hoạ tiến trình và một cổng được tạo ra trên mỗi
-52-
loại proccss tương ứng. Một định danh Process (Pld) được thêm vào trong
mỗi loại tiến trình và nó có tên tương ứng với tên vai trò của lớp đối xứng.
Một liên kết giữa một lớp process và một lớp ncwtypc chuyển dịch đến
mộl định nghĩ hiến trong tiến trình. Tên cúa biến là cùng với tên vai trò và
kiêu là kiểu của lớp.
Một liên kết giữa một lớp process và một lớp actor tạo ra một channel
hoặc signal route đến môi trường.
Newtype: Một lien kết giữa các lớp newtype trong U M L có nghĩa là một
thuộc tính có cùng kiểu như lớp đối xứng tồn tại trong lớp tham khảo. Dịch
chuyến này trong SDL đến một trường của newtype được sinh ra là được xác
định bên trong cấu trúc tham khảo.
Aggregations: Mặc định một lớp hệ thống và lớp package có một mối
quan hệ kết hợp với tất cả các lớp ở mức đỉnh. M ột block có thể chứa các
block hoặc các tiến trình khác, nhưng các lớp với nguyên mẫu signal hoặc
acior có thể không bao gồm trong một quan hệ kết hợp.
Một quan hệ kết hợp giữa hai lớp block sẽ tham khảo đến block bên
trons block tham khảo. Một tham khảo đến lớp process sẽ đặt vào bên trong
block khi dịch chuyển đến SDL được làm ra. Một block đặc biệt với tên các
process được tạo lập nếu các lớp của block và process tồn tại trên cùng một
mức. Các block và các process không cho phép tồn tại trên cùng một mức
trong SDL và hơn nữa việc tạo ra các process là chỉ vào một block các tiến
trình.
Sự kết hợp giữa một lớp process và một lớp newtype sẽ chuyển dịch vào
một biến chứa trong một loại tiến trình của SDL. Tên của biến là trùng với ten
của vai trò.
Một quan hệ hết hợp giữa các lớp newtypc tạo ra một trường với loại
newtype chứa trong newtype.
« b lo c k »
________A
S igl(P arl: real)
Sig2()
« p ro c e s s »
B________
V a rl :boolean
SieHParl: real)
Op 1 0 :
Boolean
Sự kế thừa (Inheritance):
Sự kế thừa biểu lộ trong U M L cũng như trong SDL, ở đó tính chất của
một siêu lớp được xác định bới các lớp con. Các tính chất bao gồm các thuộc
tính, các thao tác, ihành phần, liên kết và kế thừa.
Đa kế thừa và kế thừa giữa các lớp với các nguyên mẫu khác nhau là
không cho phép. Các lớp với nguyên mẫu signal có thể không kế thừa. Kế
thừa của các lớp block và các lớp process trong U M L chuyển dịch vào một
mệnh đề super-type INHERITS cho kết quá là block hoặc process. Quan hệ kế
thừa giữa các newtype sẽ tạo ra một trường trong kiểu con a_MySuperClass.
Cách tiếp cận này là một kết quả của sự giới hạn các khả năng kế thừa của
newtype trong SDL.
2.2. Ánh xạ các biêu đổ trạng thái (Statechart Diagram)
Sự chuyển dịch các biểu đồ trạng thái trong U M L đến các biểu đồ trạng
thái trong SDL ỉà thực hiện một cách trực tuyến ngoại trừ các biểu đồ trạng
thái lổng nhau và các hoạt động vào ra. Các biểu đổ trạng thái trong U M L hao
gồm khái niệm của các trạng thái kế thừa lổng nhau, trong khi SDL không có
các khái niệm này. Đê giãi quyết vấn đề này chúng ta tiến hành huỷ các trạng
-54-
Ihái lồng nhau bằng cách tại cùng thời điểm di chuyển các hoạt động vào ra
đến các dịch chuyển phù hợp.
2.3. Ánh xạ biểu đồ tuẩn tự (Sequence Diagram)
Các hiểu đồ tuần tự có thể chuyên thành các biểu đồ dựa theo các
message tuần tự. Các mô tả của biểu đồ tuần tự trong U M L có những minh
hoạ lương írns trong SDL và cổ thể dẻ dàng dịch chuyển giữa chúng.
III. DỊCH TỪSDL SAN( UML
;
3.1. Cách tiếp cận
Để xây dựng ánh xạ dịch chuyển mô hình từ SDL sang U M L, chúng ta
dựa vào ngôn ngữ RRT (Rose Real Time) [1]- Một ngôn ngữ được xây dựng
dựa trên các khái niệm của Ư M L và có nghĩa gần với SDL. Giả sử có một ánh
xạ tự động dịch chuyển mô hình từ SDL tương ứng vào Ư M L, kết quả thu
được đậc tá trong Ư M L phù hợp với cách dùng trong công cụ mô hình hoá áo
RRT, các đặc tả này có khả năng thực hiện các mô hình và dịch nó hoàn toàn
sang ngôn ngữ lập trình.
Các ánh xạ cố gắng không chỉ giữ lại các ngữ nghĩa của đặc tả ban đầu
mà còn giữ nguyên dạng của nó. Những thuận lợi này cho phcp dịch chuyển
các mồ hình hình thức dến những khái niệm mà chúng ta có thế dễ dàng kiểm
soát.
Trên thực tế, có một ánh xạ gần như đẳng cấu giữa các biểu đồ cấu trúc
của SDL và các biểu đồ tương tự trong UM L.
Dạng đẳng cấu này là không có khả năng đối với hành vi từ SDL sang
U M L vì SDL và U M L sử dụng các mô tả đồ hoạ hình thức rất khác nhau để
mô tá các cơ chế trạng thái. Tuy nhiên, trong hầu hết các trường hợp các cấu
trúc cơ bán và các cơ chế trong SDL là vẫn giữ lại trong mô hình U M L và mỗi
mộl irạns thái của SDL là được ánh xạ đến U M L lương ứng hoặc có ten tương
K hái niệm ánh xạ ớ đây chính là một một sự dịch chuyển tương ứng tà
đặc ta của SDL vào UML.
0 Các đặc trưng không trọ giúp của SDL
Lưu ý rằng không phái tất cả các đặc trưng của SDL là được ánh xạ, bởi
vì chúng không có nghĩa tương ứng trong UM L.
°
S ự nhận quyên ưii tiên (Receiving Priority)
Trong SDL, các tiến trình nhận (Receiving process) có thể định nghĩa
một hoạt động input-priority. Có nghĩa rằng các input liên kết với hoạt động
này có quyển ưu tiên hơn các input khác trong queue. Trong U M L (sử đụng
vỏ bọc "interceptor" để thay đổi quyền ưu tiên của các sự kiện đến và phát lại
chúng để phản hồi các quyển ưu tiên input mong muốn).
°
Các dạng định nghĩa chung
Đây là một thuận lợi và tiềm năng rất mạnh của SDL mà nó trợ giúp cho
các khái niệm template trong U M L, nhưng nó không được trợ giúp bởi RRT
UM L.
°
M acros
•
Cho đến nay U M L vẫn không có một khái niệm hình thức cho macro, nó
ám chỉ rằng các macro trong SDL sẽ mở rộng tạo một điểm ở chỗ chúng xuất
hiện.
°
M ô hình hoá d ữ liệu (Data M odeling)
Chúng ta không thực hiện một phân tích hoàn toàn để ánh xạ các mối
quan hệ phức tạp và khả năng mô hình hoá dữ liệu trừu tượng cao trong SDL.
Bởi VI có những trường hợp sẽ rất khó để thực hiện ánh xạ này. Tuy nhiên, khả
n in g phức tạp hơn về mô hình hoá dữ liệu trừu tượng trong SDL ÍI kh i xảy ra.