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 ,
cư
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.