1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

II. CHUYỂN ĐỔI TỪ UML SANG SDL

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.



Xem Thêm
Tải bản đầy đủ (.pdf) (82 trang)

×