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

III. DỊCH TỪ SDL SANG UML

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 )


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.



-56-



3.2. The Rational Rose RealTime UML Profile

U M L là ngôn ngữ chuẩn của OMG thông thường được dùng cho một tập

các phạm vi ứng dụng lớn. Với lí do này, các ngữ nghĩa của U M L ỉà tương đối

chung với các phạm vi thực hiện để mô tá những sắc thái khác nhau của các

khái niệm chung. V í dụ, Ư M L công nhận và trợ giúp những khái niệm tương

tranh, nhung không chi rõ khái niệm đến mức chi tiết cần thiếl để dịch hoàn

loàn ra ngôn ngữ lập trình.

Đê nắm bắt được các biến đổi ngữ nghĩa, U M L bao gồm các cơ chế

chuẩn cho phép các khái niệm chung có the đặc tả cho một mục tiêu đặc hiệt

hoặc các phạm vi ứng dụng, đây chính là các cơ chế mở rộng của ƯML.

Trong phần này chúng tỏi mô tả một các sơ iược về U M L được trợ giúp

đầy đủ bới các công cụ tích hợp phù hợp cung cấp bởi Rational Rose. Công cụ

chính của U M L trong trường hợp này gọi là "Rose Real Time" [10]. L í do để

dùnü, RRT U M L bởi vì nó không chỉ được trợ giúp bới các công cụ đã được

chứng minh trong công nghiệp mà còn do nó có ngữ nghĩa liĩơng tự SDL và

như vậy nó phù hợp với m ục đích của chúng ta, và cuối cùng giố ng như SDL



nó cho phcp xây dựng các mô hình hoại động và tự động dịch ra mã chương

trình từ m ô hình đặc tá.



Lưu ý rằng, đây là một sự tương đương với các chuẩn của SDL mà được

định nghĩa trong một ngôn ngữ tuân theo các khai niệm của U M L cho SDL

gọi là "SDLwilhU M L



Các định nghĩa sơ lược một tập các đặc tả của U M L



cho phép một tập hợp con các khái niệm của U M L có thể sử dụng chung với

SDL. Các đề xuất khác nhau của chúng ta ở đây chính là một sự di chuyển từ

SDL san a U M L.

°



V M L Profiles



Các cơ chế cơ bản của đặc tả U M L là stereotype, constraits, và tagged

values.



RRT U M L là một tập hợp các khái niệm chung của U M L có bổ sung

llìêm các cơ chế stereotype, constraits, và tagged values.



。 Các nguyên tắc chung (General Principles)

Đê tương ứng với SDL, RRT U M L cho phép đặc tả trên cơ sở pha trộn

các minh hoạ và các lớp, RRT U M L sử dụng các lớp dành riêng cho tất cả các

đặc tá của nó. Như vậy mỗi đặc tá hệ thống là một đặc tả của một lớp mà có

thê được chú giải. Điều này có ý nghĩa rất lớn khi cần xoá một vài ngữ nghĩa

phức lạp và nó đưa ra được sự pha trộn giữa các minh hoạ và lớp

Một vấn đề quan trọng khác từ SDL là RRT U M L không tuân theo bất

kỳ một mức đặc tá tuỳ ý "top" nào (khái niệm "system trong SDL"), hoặc một

mức "bottom" (khái niệm Process). Điêu này cho phép có được đầy đủ tính

mềm dẻo của sự lồng nhau (U M L có các khái niệm biểu đồ lồng nhau mà

SDL không có các khái niệm này) và sự phân tích. Bất kỳ một hộ thống nào

trong RRT cũng có thể dễ dàng hợp nhất từ hộ thống con của một vài hệ thống

1ỚI1



hơn không cần bất kỳ một sự thay đổi ngữ nghĩa hoặc cứ pháp nào. Điều



này làm cho có thể xoá một số thành phẩn phức tạp không liên qua được giới

thiệu trong SDL khi chuyển sang U M M L, khi đó có nhicu mức khác nhau cua

kế thừa mà có ngữ nghĩa tương tự (hệ ihống, các khối, các khối lá, các tiến

trình, các dịch vụ)

°



Capsules



M ột lớp capsulc trong RRT là một khái niệm mô hình hoá trung tâm của

RRT U M L mà là một đặc tả có ghi chú trong lớp ƯM L. Nó mô tả bởi nguyên

mẫu "capsule" của một lớp. Thêm vào các ngữ nghĩa thông thường của các lớp

irons U M L , một capsule là một lớp mà có những ràng buộc sau:

- Nó luôn luôn là một đối tượng hoạt động (thuộc tính "isA ctivc" là luôn

luôn đúng), có nghĩa rằng nó có thê chứa đựng những luổng thực hiện

ricng của chính nó.



-5H-



- Các thuộc tính công cộng của nó là các dạng đặc biệt của đối tượng

(giống như các nguyên mẫu của các lớp trong Ư M L) được gọi là các

cổng (ports).

Có các ràng buộc khác nhau liên kết với các capsule, nhưng chúng ít

quan trọng hơn và không nằm trong mô tả ngắn ngọn này.

Khái niệm capsule có thế đáp ứng như một sự khái quát của hệ thống,

block, service và các khái niệm process của SDL



Hệ thống và môi trường của các capsule

0 Các cổng (Ports)

Một cổng là một thuộc tính đặc biệt của một capsule sử dụng để tương

tác với môi trường của nó và với các capsule khác. Nói cách khác, các hoạt

động của nó như mộl đối tượng giao diện của capsule. Các cổng là được cách

ly hoàn toàn với sự thực hiện của một capsule từ bẽn ngoài cho đến khi tất cả

các tương tác giữa capsule và môi trường của nó xác định được vị trí qua các

cổng. Các cổng không chỉ sử dụng bởi các thực thể bên ngoài để gọi đến các

dịch vụ của một capsule mà còn sử dụng các cổng riêng của nó để truy cập

các dịch vụ của các thực (hể bcn ngoài.

Các cổng là các nguycn mẫu đơn giản của khái niệm lớp trong U M L

( « p o r t » ) mà chứa đựng các ngữ nghĩa sau:



-59-



- Chúng là các đối tượng bị động

-



Chúng có thể trở thành các người gửi và người nhận các tín hiệu



của U M L (cả truyền thòng không đổng bộ và đổng hộ)



-



Chúng có thể có các queue đầu vào để lưu các tín hiệu đã gửi bởi



các capsule khác.

-



Chúng có thô bao hàm trong các loại đặc biệt của liên kết được



gọi là các connector

-



Các hành vi bên ngoài của chúng là được chỉ rõ bởi một tương tác



của U M L gọi là Thủ tục



Khái niệm port là tương tự như gate trong SDL. Tuy nhiên, trái ngược với

các gate, port là được định nghĩa bởi các lớp, mà có thể sử dụng lại với số lần

bàl kỳ. Chúng có thể được chỉ rõ qua giao thức phân lớp (subclassing)

Chúng tôi phân biệt giữa các cổng relay (rơle), mà lương đương với các

gate gắn kết giữa các block và thực hiện một chức năng ngắt đơn giản, từ các

port cuối mà có thể ánh xạ đến các gate gắn kết giữa các tiến trình.

°



Các giao thức (Protocols)



Các giao thức là một dạng đặc biệt của sự cộng tác trong U M L

( « p r o to c o l» ) . Chúng phục vụ để định nghĩa tất cả các tín hiệu phù hợp và

các dầy tín hiệu biến đổi qua các port. Các tương tác trong U M L là các phần

tả khái quát, các giao thức có thể sử dụng lại và tổng quát hoá bởi các phương

pháp tinh vi.

Các giới hạn trong SDL, các giao thức là tổng quái hoá từ khái niệm của

các tập hợp tín hiệu.

。 Các bộ kết nối (Connectors)

Các connector là các liên kết đơn giản (minh hoạ trong Ư M L bới các lớp

liên kếl) mà đã sử dụng đế kết nối các cổng. Chúng là các mô hình của các



kcnli tru yen thông được sử dụng dế Iruyén các tín hiệu giữa hai cổng. Trcn

Ihực tế, chí những cổng với các giao thức tư(flig ihích mới cổ thể liên kết bởi

một connector. Nhìn từ một SDL, các port là một sự khái quát từ các kênh và

các rout

。 âi/

C



trúc của capsule



Cấu trúc bên trong cứa các capsule có thể được mô tả bới một sự cộng

tác trong U M L bao gồm một mạng các capsule con tương tác với những

capsule khác và các port của capssulc bới các connector. Sự cộng tác này được

mô tá bởi cấu trúc hình học lôpô của lớp các capsule tương tự như một block

của SDL mô tả một mạng các tiến trình lồng nhau hoặc các block.

M ột trong những đặc trưng quan trọng nhất của dạng cộng tác là cấu trúc

toàn thể có thể tự động được tạo lập với sự tạo lập của capsule chứa. Tiếp cân



*

I



«A





• X

X

1 «

này CỈ10 phép tự động xây dựng các cấu trúc kế thừa phức tạp trở nên đơn gián

hơn và hệ thống có tính vững chắc hơn.

Trong hầu hết các trường hợp, các capsule con là được tạo lập theo các

capsule chứa của nó. Trong một số trường hợp các capsule con có thể có định

nghĩa một giá Irị nhãn "optional" có nghĩa rằng chúng được tạo lập một cách

động sau khi capsule chứa nó được tạo lập thông qua một hoạt động "create"

rõ ràng.

°



Các m áy trạng thái (State m achines)



Bất kỳ một capsule nào cũng có thể có một hành vi được mô tả bởi một

máy trạng thái. Trong U M L các máy trạng thái là chung chung hơn trong

SDL, chúng có thể được dùng để mô hình các ngữ nghĩa của các máy trạng

thái SDL.

Các máy trạng thái capsule mỏ tá những sự phán hồi của các capsule đến

các tín hiệu mà nhận được qua các port của chúng. Sự trả lời phải bao gồm

việc gứi các tín hiệu qua các port đến các capsule khác. Kết quá là mô hình



- 61-



ngữ nghĩa của các capsule cổ thể mổ tả như một mạng các máy trạng thái với

mô hình ngữ nghĩa chính xác SDL.

°



Các chú thích (N otation)



RRT U M L bao gồm các dạng chú thích đặc biệt cho các cấu trúc

capsule, nhận được từ các chú thích mặc định của U M L cho sự cộng tác, mà

nó tương tự như các chú thích trong SDL đối với cấu trúc block. Như vậy,

người sử dụng SDL sẽ tìm thấy sự trực giác từ các chú thích này.



3.3. Mô hình hoá cấu trúc (Structure Modeling)

Các nguyên tấc đằng sau sự biểu diễn cấu trúc SDL trong Ư M L là cơ bán

dựa trên các khái niệm structuring của SDL. Trong tất cả các trường hợp ,



sớ hình học tôpô của cấu trúc SDL là ánh xạ một cách đắng cấu. Điéu này có

nghĩa rằng người mô hình hoá sẽ dễ dàng thừa nhận được cấu trúc gốc của

SDL trong các dịch chuyển sang các dạng của U M L.

Tất cả các phần tử trong các tiến trình cơ bản của RR T là minh hoạ của

các lớp (thuật ngữ "type" trong SDL), bất kỳ một block hoặc một minh hoạ

tiến trình trong đặc tả gốc của SDL đều yêu cầu một đặc tả lớp capsule tương

ứng. Trong trường hợp này, một minh hoạ là được sử dụng như một nguyên

mÃu lớp từ đặc tả lớp được chuyển hoá.

°



Hệ thống (System )



Việc ánh xạ một hộ thống từ SDL sang U M L tương tự như việc ánh xạ

một block. Ánh xạ này là mô tả dưới tiêu đề "Block".

Các capsule nằm ớ mức trên cùng của mô hình khái niệm môi trường

SDL. M ội tham khảo đến lớp hệ thống capsule là xác định trong capsule hệ

thống. Một cổng cuối riêng bên trong được định nghĩa trong môi trường

capsule cho mỗi kênh và đường truyền tín hiệu (signal route) mà kết nối đến

môi 1

rường trong mô hình gốc. Các giao thức cho những port này được định

nshĩa bởi các tập họp tín hiệu mà định nghĩa cho các kênh và các đường



truyền tín hiệu. Các port này được kết nối đến các cổng tương ứng của hệ

thống capsule. M ôi trường của capsule không có một máy trạng thái từ đó

SDL không chỉ rõ hành vi của mô trường. Tuy nhiên, để phát triển các mô

hình xử lý của U M L, nó có thể thích hợp đổ định nghĩa một máy trạng thái mà

tươníí tự như hành v i của m ôi trường.



°



B lock



Một block là một cách cơ bản để chỉ rõ cấu trúc trong SDL. M ỗi minh

hoạs block và mỗi kiểu block là được dịch vào một đặc tả lớp capsule block

riêng. Lớp capsule trong U M L là mộl sự kết hợp với một cấu trúc cộng tác bên

trong của các capsule con, các port, các connector. Đối với mỗi minh họa tiến

trình (hoặc block) trong mô hình SDL có một tham khảo capsule con tương

ứng. Mỗi kênh hoặc đường truyền tín hiệu là được ánh xạ vào một connector

tưmig xứim. Tất cả các kênh và các điểm cuối của đường truyền tín hiệu giống

như bất kỳ một cổng (gate) nào nằm irong cấu trúc block đều được ánh xạ vào

các port. Điểm kết thúc trên các tiến trình ánh xạ vào các cổng kết thúc.

Nếu tất củ các phần tử cấu trúc của Block là tĩnh, thì các lớp capsluc

block tương ứng sẽ không có máy trạng thái. Tuy nhiên, một máy trạng thái

được yêu cầu nếu block chứa các tiến trình động. Điều này bởi vì, theo ngữ

nghĩa của các capsule RRT, chỉ máy trạng thái chứa một capsule mới có thể

đưực tạo lập và kết thúc các capsule con. Vì lí do đó, máy trạng thái của một

block phải thực hiện hoạt động tạo lập và kết thúc trên cơ sở lệnh từ các

capsule tiến trình (trong SDL chỉ các tiến trình mới có thể tạo ra tiến trình

khác). V ới mục tiêu này, block capsule phải có một cổng tạo lập-kết thúc

(creation-tcrmination) trong kết nối đến các cổng tạo lập của mỗi capsule con.

Máy trạng thái này có một dịch chuyển mức đỉnh trong mà tương ứng

với sự tạo lập đặc biệt hoặc các tín hiệu kết thúc nhận được trên các cổngr





»X





»





•■

ịm

creation-tcmiination và thực hiện các hiện diện cần thiết và các sự kết thúc.

Trên một tín hiệu tạo lập nhận được qua một cổng, máy trạng thái trước hết sẽ



-63-



lạo lập các thành phần xấp xi cho nó Id động của tiến trình tạo lập. Nếu điều

này thành công, nó sẽ bỏ qua tín hiệu ra creation-complele gửi trở lại đến

người gứi tín hiệu lạo lập. Sự trả lời này bao gồm Id động của tiến trình

capsule tạo lập gần nhất.

Block máy trạng thái có một tín hiệu kết thúc đi đến cho tiến trình

capsule kết thúc mà nó đưa ra trạng thái kết thúc (trong SDL, các tiến trình

chi có thê kết thúc nếu chúng thực hiện hành động stop).

Từ các tiến trình khác nhau có các tham số tạo lập khác nhau, một giao

thức crcation-termination cần thiết định nghĩa cho mỗi dạng tiến trình capsule

tạo lập động. Tuy nhiên, điều này có thể phân chia từ tham số chung của giao

thức creation-termination. Đối với các sự tạo lập mà không bao hàm các giá trị

tạo lập, giao thức chung được thực hiện.

Để tiến hành các thao tác tạo lập và kết thúc, block máy trạng thái phải

truy cập đến điểm truy cập dịch vụ Frame.

Các khai báo tín hiệu liên quan với các block là không được sử dụng Irực

tiếp. Đế Ihay thế các giao thức đặc tá được dịch ra trên cơ sở các tập hợp tín

hiệu liên kết với các kênh và các đường truyền tín hiện.

°



Process



Mỗi dạng process trong SDL ánh xạ đến một lớp process capsule khác

nhau. Đày là một lớp capsule lá mà chỉ tách rời nếu nó bao gồm các cổng kết

thúc ẩn mà kết nối với mỗi một sự phân chia cho các tín hiệu liên tục.

Tất cả các capsule process là được sinh ra bới sự phân lớp từ lớp capsule

process trừu tượng tương ứng. Lớp chung này bao gồm các sự định nghĩa của

các hiến tiến trình chuẩn và các đặc trưng tín hiệu chung khác, bao gồm một

cổng creation-lermination. M ột phân lớp trừu tượng đặc biệt của lớp này được

định nohĩa cho các tiến trình tách rời thành các dịch vụ.



Với mỗi cổng process, một cổng kết thúc ricng bcn trong được định

nghĩa của lớp capsule process xấp xỉ.

Đế giao thiệp với sự tạo lập và sự phá huỷ của các tiến trình, mỗi capsule

process có ba thuộc tính định nghĩa hệ thống: scft, parent, và offspring tương

ứng với các bicu diễn trong SDL. Các thuộc tính seft và parent là được tạo lập

khi khới tạo dịch chuyển của capsule process để xấp xỉ với các Id tiến trình

động. Seft là được khởi tạo đến Id động của process capsule của chính nó

(thông qua một điểm truy cập Frame Service), trong khi Id động của parent

thu được từ thông điệp creation. Thuộc tính offspring là một tập mà xuất hiện

bất cứ lúc nào khi thao tác tạo lập trong thực hiện.

Nếu một process là tách ra khỏi các dịch vụ, một lớp trừu tượng khác sẽ

được sử dụng. Lóp này bao gồm một ỉớp con của lớp process capsule nhưng có

them phần mã chương trình mà cạnh tranh với các năng lực tiềm tàng của các

block. Điểu này bao hàm khả năng để đi qua các lớp cha và thông tin

offspring đến capsule dịch vụ trong cùng một con đường mà một block gửi

thòng tin đến các tiến trình.

°



D ịch vụ (service)



Các dịch vụ của SDL là được chuyển vào các process capsule. Tương tự

cấu trúc liếp cận riêng biệt sử dụng cho các block trong trường hợp này. Mỗi

dịch vụ nằm trong một tiến trình là được địch chuyển vào trong một lớp

capsule dịch vụ đặc biệt và các đường đi của tín hiệu (signal routes) là được

dịch chuyển vào các bộ kết nối với các port tương ứng đến điểm cuối cùng của

đường đi hoặc các gate. M ỗi dịch vụ là được ánh xạ vào một lớp capsule riêng

biệt mà chí có thể chứa trong nó các lớp capsule tiến trình. Sau cùng là một

lớp con ciía lớp process capsule trừu tượng chung. Tuy nhiên, nó có một máy

trạng thái mà thông lin đã cũ trên parent và offspring chứa nó.



° c ẩ n g (Gate}



Các cổng của SDL ánh xạ trực tiếp đến các port của RRT. Danh sách

các tín hiệu đến và đi cúa gate phục vụ cho định nghĩa các giao thức. RRT

U M L chỉ cho phép các bộ kêì nối để giới hạn các port, nó cần thiết đổ sinh ra

các cổng chan ở nơi các gate không được định nghĩa.

0 S ự truyền thông (Com m unication) giữa các : C hannel, Signal



route, và Connection

Cả kênh và đường truyền tín hiệu (signal route) trong S D L đều ánh xạ

trực tiếp đến các bộ kết nối của RRT. Bất kỳ một tín hiệu nào liên kết với các

kénh này đều đ ịnh nghĩa các giao thức hoặc kiểm tra qua định nghĩa trái

ngược với trước đây các giao thức của port. Con đường thông tin được chỉ rõ

khi mà các process capsule là được kết nối bởi một kênh.

Sự định hướng của các kênh và các signal route là tương ứng trong các

giao thức liên kết với bộ kết nối tương ứng (các giao thức liên kết với các cổng

mà giới hạn bởi các bộ kết nối này).

Các kết nối của S D L là được mô tả bởi các cổng relay của R R T



Kênh trễ (channel delay)

Nếu cần thiết các tính chất trễ của các kênh có thể được mô hình bởi các

ngắt của bộ kết nối vào sự kết nối và chèn một capsulc vào đường kết nối để

thực hiện việc trễ.



°



Tín hiệu (Signal)



Tín hiệu trong SDL ánh xạ trực tiếp vào một tín hiệu trong U M L. Tên tín

hiệu ánh xạ thành một tín hiệu trong U M L với tên tương tự. M ộl kiểu danh

sách tín hiệu nếu được định nghĩa sẽ sinh ra một lớp dữ liệu trong U M L với

tập hợp các thuộc tính chung tương ứng. Đế phù hợp với ngữ nghĩa của SDL,

một ld tiến trình là bao gồm trong mọi định nghĩa tín hiệu. Điều này có nghĩa

là lưu Id tiến trình cùa tiến trình gửi.



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

×