Sự vật hành vi behavioral things: Biểu diễn hành vi trong không gian, thời gian, là phần động của hệ thống: Sự tương tác bao gồm các phẩn tử, các message, dãy các hoạt động và các kết nố
Trang 1Đ Ạ I H Ọ C Q U Ố C G IA H À N Ộ I
K H O A C Ô N G N G H Ệ
T RỊNH TH Ị T H U Ý GIANG
NGÔN NGỮUML VÀ NGÔN NGỮ SDL
C huyên ngành: Công nghệ thông tin
M ã số:
LUÂN VÃN THAC SỸ KHOA HOC
Người hướng dản khoa học:
PGS Nguyễn Quốc Toản
Ị V õ Ỉ-Õ J ;
H à N ộ i, năm 2001
Trang 2MỤC LỤC
\1ỊX IẠiC: 2
PHÂN 1 4
C ơ SO THỰC TĨỀN CÜA ĐỂ T À I 4
PHẤN I I 6
(ÎK )丨 THIỆU VỂ N(ỈÔN NG ỮUM L 6
I L ịc h sử ra đ ờ i 6
II Khái quát về U M L 6
2.1 Báng từ vựng trong U M L: Gồm 3 khối c h ín h 8
2.2 Các luật và các cơ chế trong Ư M L : 16
2.3 Các khung nhìn (V ie w ) tro ng U M L : 19
2.4 M ò hình hoá vớ i U M L 20
PHẨN 丨I I 27
NGÔN N(;ỮĐẶC TẢ SDL CHUẨN c ủ a ISO 27
I Lịch sử phát triển và các phạm vi ứng dụng của SD L 27
II Tổng quát về S D L 28
2 1 • Các thành phần của S D L 28
2.2 M ô hình chung của SDL (General Model o f SDL) 32
2.3 Các luật thông thường (General R ules) 34
2.4 Structure (cấu trú c ) 36
2.5 Hành vi (Behaviour) 39
PHẨN I V 44
SO SÁNH VẢ CHUYỂN Đ ổ i (ĨĨỮA UML VÀ SI)L 44
I So sánh giữa U M L và SDL 44
1.1 Tổng quát 44
1.2 Phát tric n phần mềm dựa trên U M L và S D L 46
II Chuyên đổi từ U M L sang S D L 48
2.1 Á n h xạ các biểu đồ lớ p từ U M L sang S D L 48
Trang 32.2 Ánh xạ các biêu đổ trạng thái (Statcchart Diagram) 53
2.3 Ánh xạ biếu đồ tuần tự (Sequence Diagram) 54
III D ịch từ S D L sang U M L 54
3.1 Cách tiếp cận 54
3.2 The Rational Rose RealTime U M L P rofile 56
3.3 Mô hình hoá cấu trúc (Structure M odeling) 61
3.4 Mô hình hoá hành vi (Behavior M o d e lin g ) 67
PHẤN V 75
MỘ ! SỐ V Í DỤ M IN H H O Ạ 75
i Ví dụ dịch chuyển từ U M L sang S D L 75
1.1 Chuyển dịch các cấu trúc tĩnh (Static structure) - Biểu đồ lớp 75
1.2 Biểu đồ trạ n g thái (State D ia g ra m ) 77
II Dịch chuyển từ SDL sang U M L 77
PHẨN V I 80
KẾT L U Ậ N 80
TÀ丨 JỆU THAM KHẢO 82
Trang 4P H Ầ N I
C ơ SỞ THỤC T I Ễ N C Ủ A Đ Ể TÀI
H iệ n nay trcn th ế g iớ i, cồng n g h iệ p phần m ềm đang bùng nổ và phát
triển mạnh mẽ, các nhà phát triển phần mềm gọi đây là những "cơn sốt phần mểm" Những cơn sốt phần mềm này là do trên thực tế có nhiều dự án phần mém đã bị đổ vỡ hoặc là nó vượt quá thời gian, ngân sách cho phép Chính vì vậy mà lập trình hướng đối tượng, lập trình ảo đã ra đời giúp cho việc phát tricn Cổng nghiệp phần mểm Phấn ỉ ớn các dự án phần mcm khi được thực
hiện người la thường bát tay vào việc viết mã chương trình (code) Đối với các
hệ thống lớn và phức tạp thì điều này gây ra rất nhiều khó khăn trong quá trình phát triển phần mềm Các dự án phần mềm sẽ trở nên khó thực hiện khi các nhà lập trinh gặp khó khăn trong việc viết mã chương trình
Các nhà lập trình cảm thấy chắc chắn hơn khi họ viết một chương trình
mà hệ thống cần tạo lập đã được mô tá trước bời một mồ hình irừu tượng M ô hình thông Ihường được xây dựng bằng một ngôn ngữ ảo, có nghĩa rằng hầu hết các thông tin trong mô hình được đưa ra bởi các biểu tượng và m ối quan
hệ giữa chúng Người ta thường nói: “ Một bức tranh bằng trăm nghìn lời nó i” , điểu này giống như việc mô hình hoá
Lập trình hướng đối tượng ra đời vào giữa những nãm bảy mươi đến cuối những năm tám mươi những ngôn ngữ lập trình hướng đối tượng mới ra đời và được mớ rộng trên các ứng dụng phức tạp, ban đầu chỉ mới là các tiếp cận cho giai đoạn phân tích và thiết kế Có quá nhiều các phương pháp hướng đối tượng được đưa ra vào những nãm từ 1989 đến 1994 K hi lập trình hướng đối tượng trơ nèn phổ biến, nó đòi hỏi phiìi có những phương pháp trợ giúp cho phát triến phần mềm Trước những vấn đề nêu ra ở trên, một số nhà phát triển phần mcm đã kết hợp cùng với nhau để đưa ra một ngôn ngữ mô hình hoá thống nhấl í rợ giúp cho lập trình hưởng đối tượng, với mục đích là tạo ra được một ngôn ngữ có thể mô hình cho tất cá mọi thứ kể cả những cái không phải là
Trang 5phần mém, Trong khuôn khổ cua luận án này tôi xin được trình bày về ngôn ngữ mô hình hoá thống nhất U M L (Unified Modeling Language) và so sánh nó với một ngôn ngừ đặc tả trước đó.
Trang 6PHẦN II GIỚI T H IỆ U VỂ NGÔN N G Ữ U M L
(UNIFIED MODELLING LANGUAGE)
I LỊCH SỬ RA ĐỜI
Năm 1994 hai nhà phái triển phầm mềm hướng đối tượng Grady Booch
và James Rumbaugh đã kết hợp cùng nhau xây dựng U M L tại công ty phần mềm Rational Version 0.8 của Unified Method ra đời vào 10/1995, nó là phương pháp mởi dựa trẽn phương pháp của Booch và OTM (Object Modeling Technique) của Rumbaugh Cùng thời gian này Ivar Jacobson gia nhập Rational và dự án U M L đã dược mở rộng nó kết hợp thêm phươnc pháp OOSE (Object-Orient Software Engineering), U M L version 0.9 ra đời vào tháng 06/1996 [3] Phương pháp của Booch chủ yếu thực hiện trong giai đoạn thiết
kẽ và xây dựng các dự án OOSE cung cấp sự trợ giúp cho các use case để nắm bắt các yêu cầu, phân tích, thiết kế ở mức cao và O TM được dùng trong quá trình phân tích và tập trung vào các hệ thông tin dữ liệu
Version 1.0 của U M L được đưa ra năm 1997 v ề cơ bản Ư M L dựa trên Booch O M T, OOSE nhưng họ cũng kết hợp một vài ý tướng của các phương pháp khác như StatcCharts của David Harel và chuyển nó thành biểu đồ trạng thái (Stale Diagram) trong U M L Sử dụng thao tác đánh dấu trong chú thích cua Fusion trong biểu đồ cộng tác (collaboration diagram) [4]
II KHÁI QUÁT VÊ UML
U M L là một ngôn ngữ mô hình hoá, nó là một ngôn ngữ đã được nhiều công ty coi là chuẩn đê xây dựng các bản thiết kế cho phần mềm
- Các khái niệm của U M L cho phép xây dựng được các hệ thống mô hình (kể ca không phải phẩn mềm) sử dụng khái niệm hướng đối tượng
Trang 7- U M L thiết lập dược mối quan hệ rõ ràng giữa các khái niệm bới các thực hiện giả.
- U M L tạo ra một ngôn ngữ mò hình hoá mà có khả năng được sử dụng hứi Cii con người và máy móc
Khi thiết lập U M L, những nhà phát triển của Rational thực sự muốn tạo
ra một ngòn ngữ mà có giá trị cho tất cả các nhà phát triển phần mềm Ngôn ngữ này không độc quyển sử dụng mà nó có lính chất mở cho tất cả các công
ty Các cồng ty có thể tự do sử dụng nó cùng với các phương pháp, công cụ riens của họ đê tạo lập ra những bộ công cụ CASE cho nó
U M L Là ngôn ngữ mô hình đê thực hiện m ọi chức năng của hoạt động làm phần mềm: Làm trực quan lioá (visualizing), đặc tả (specifying), xâỵ dựng (constructing), làm tải liệu (documenting) cho thiết kế phần mềm Như vậy, U M L về cơ bán định nghĩa một siêu mô hình và không mô tả "kỹ thuật phát triển"
U M L trợ giúp cho cả 5 giai đoạn trong phát triển hệ thống:
■ Phán tích yêu cầu: Ư M L có các kh á i niệm tính huống sử dụng (use case) dùng để nắm bắt các yêu cầu của khách hàng Thông qua mô hình use- case, các tác nhân bên ngoài tham gia vào hệ thống được mô hình cùng với các chức năng mà nó đòi hỏi từ hệ thống M ỏi use-case mô tá cho một tập các chuỗi tuần tự các hành động mà một hệ thống thực hiện và cho một kết quả có thể quan sát được là giá trị cho một tác nhân
■ Phân í ích: Giai đoạn phân tích liên quan tới các lớp, các đối tượng và các cơ chế được mô tả trong phạm vi của một vấn đề Trong U M L có các biểu
dồ lớp (Class Diagram) để mô tả các lóp và mối quan hệ giữa chúng
■ Thiết kế: Trong giai đoạn thiết kế, kết quả của phân tích được mở rộng thành một giải pháp kỹ thuật
Trang 8_ Lập Ịrìnlĩ : Trong giai đoạn lập trình hoặc xây dựng, các lớp trong pha (phase) thi ci kế được chuyến thành mã chương trình (codc) trong một ngôn ngữ lập trình hướng đối urợng U M L có các khái niệm cho phép xây dựng các ngôn ngữ trợ giúp cho kỹ thuật dịch một mô hình thành mã chương trình và ngược lại.
■ Kiểm tlìír. U M L sử dụng các biểu đồ cho các loại kiểm thử (lest): biểu
dồ lớp và đặc tả lớp dùng cho unit tests; biểu đồ thành phần (component diagram) và biêu đổ cộng tác (collaboration Diagram) dùng cho integration lests; biếu đồ tình huống sử dụng (use-case diagram) dùng cho system tests,
Trong Ư M L có 3 phần tử chính: Các Building blocks, các luật để có thể gắn kết các Building blocks và một số cơ chế mớ rộng Nó bao gồm bảng từ vựng (ate biểu Irưng đổ thị), các cú pháp (nguyên tắc để xây dựng mô hình)
2.1 Bảng từ vựng tron g Ư M L : (ỉồ m 3 khối chính
1 Sự vật có cấu trúc (structural things): Biểu diễn các phần tử vật lý hay các cấu trúc tĩnh: Lớp, giao diện, sự cộng tác (collaboration), usc-case, lớp hoạt động (class active), thành phần, nút (node)
[9J
Student {persistent}
oname : Name ostudentlD : Number
Chain o f Responssibilily
Use cases
Trang 9Nodes
Các sự vật được mỏ tả trong Rational Rose [10]
2 Sự vật hành vi (behavioral things): Biểu diễn hành vi trong không gian, thời gian, là phần động của hệ thống: Sự tương tác (bao gồm các phẩn tử, các message, dãy các hoạt động và các kết nối giữa các đối tượng), máy trạng thái
Displav
-^
Messages
3 Sự vật nhóm gộp (Grouping things): Là phần tổ chức của U M L:
Có 1 kiểu thành phần nhóm gộp duy nhất trong U M L là hao gói (packets) Có các biến thể của bao gói: Các Frame work, model, Subsystem
: B usiness.j i Rules
-Packages
4 Sự vật chú dẫn (annotational things): Là phần giải thích trong
Ư M L Đ ó là những bình luận, chú thích để giải thích, minh hoạ hay nhấn mạnh về một phần tử bấl kỳ nào đó trong mô hình gọi là: ghi chú (note)
re tu rn copy of
s e lf
States
Notes
Trang 101 0
-Củc quaìì hệ (Relationships): Gồtn 4 loại:
1 Phụ thuộc (dependence): Là mối quan hệ ngữ nghĩa giữa 2 sự vật, trong đó sự thay đổi của một vật có thể tác động lên sự thay đổi ngữ nghĩa của vật kia
■ G iao diện - các lớp, các thành phẩn
■ Sử dụng tình huống - sự cộng lác
Trang 11- Cí k bien dồ (D iagram s): Biểu diễn các phần tử cúa m ột hệ thống
Trong U M L có các dạng biểu đổ khác nhau, bản thân các hiểu đồ thì lại bao góm các phần tử đồ hoạ khác nhau Biêu đổ trong U M L có thể mô (ả cả hai khía cạnh động và tĩnh cúa hệ thống
• Các biểu đồ tĩn h (Static Diagram s): Có 3 loại biểu đồ tĩn h
1 Biểu đồ lớp (Class diagram ): Biểu đồ lớp là quan trọng nhất và làmột biểu đồ chung nhất của U M L Có thể sử dụng nó ớ hầu hết mọi nơi Biếu đồ lớp nhìn hệ thống theo hướng phân tích, thiết kế
và thực hiện Biểu đồ lớp chi 1 tập các lớp, các giao diện và các
sự công tác và các mối quan hệ của nó
Trang 122 Biểu đổ thực hiện (implementation Diagram): Nhìn hệ thống theo hướng phân tích và thiêì kế Biểu đồ thực hiện mô tá cấu trúc phần cứng và phần mềm của hộ thống Trong U M L có hai loại biểu đồ thực hiện:
^ Biếu đồ thành phần (Component diagram): Chí ra các tổ chức
và các phụ thuộc trong tập các thành phần, liên hệ với các sơ
đồ lớp trong đó một thành phần ánh xạ vào 1 hay 1 số các lớp, các giao diện hoặc các cộng tác Biểu đổ thành phần kết nối giữa các modul phần mềm khác nhau
Trang 13Biểu đổ triển khai cho hệ thống báo động nhà.
2 Biểu đồ đối tượng (Object diagram): Chỉ một tập các đối tượng
và các mối quan hệ của chúng - nhìn hệ thống theo quan điểm tiến trình ->làm mầu
^name = "US Sales" <name = "exin"p: person
Các biểu đồ động (Behavioral Diagrams)
1 Biểu đồ tình huống sử dụng (Use case diagram): Nhìn hệ thống theo hướng phân lích, thiết kế và kiểm thử Chỉ ra sự tương tác giữa các tác nhân và hệ thông V í dụ về biểu đồ use-case xây dựng cho hệ Ihống quán lý thư viện
Trang 14hệ thống Trong U M L có hai dạng biểu đổ tương tác:
^ Biểu đồ tuần tự (Sequence diagram): Cấu trúc hướng thời gian với một số ít các lớp (Biểu đồ tuần tự change message)
Trang 15^ Biểu đồ cộng tác (Collaboration Diagram): Cáu trúc hướng thời gian với một số ít các thông điệp Một ví dụ về hiểu đồ cộng tác thực hiện chức năng trả lời của thủ thư khi có người yêu cầu mượn không đặt trước.
.L ib ra ria n Len d in g ;Title :B o rro w e rln fo .L o a n :ltem
^ Là cách nhìn HT theo quan điểm động
^ Đặc biệt quan trọng khi mô hình hoá hành vi của 1 giao diện,
1 lớp hoặc một cộng tác
y Nhấn mạnh hành vi được sắp theo sự kiện
Trang 16# - > On 1st GoUp (floor) Moving up
1st floor
4 Biểu đồ hoạt động (A ctivity Diagram): Nhìn hệ thống theo hướng phân tích, thiết kế Biểu đồ hoạt động là một dạng đặc biệt của biểu đồ trạng thái Sử đụng đầy đủ hoặc chỉ ra các tiến trình song song
S a m p l e r R u n ( c h a n n e l , f r e q u e n c y ) I n i t i a t e
U p d a t i n g M e a s u r i n g
D i s p l a y
2.2 Các luật và các cơ chẽ trong UML:
/ Cúc luật ngữ nỊịhĩa chiiìỉg:
° Tèn gọi (Name)
0 Pliạm vi (Scope)
Trang 17T ín h n h ìn Ih ấ v ( V is ib ility )
0 Tính toàn vẹn (Intergrily)
0 Tính hành xử (execution)
2 Các nguyên tắc xây dựng mô hình:
° Lược bỏ: M ột số phần tử có thổ dấu đi để làm đơn gián khungnhìn
0 Tính không đầy đủ: Một số phần tử có thể bỏ qua
° Sự không chắc chắn: Tính chắc chắn của mỏ hình không đảm bảo
3 Các cơ cliếchn/ỉiị :
° Các đặc tả (Specifications): Sau mỗi ký hiệu đổ thị là một đặc tả cung cấp 1 phát biểu bằng lời về cú pháp và ngữ nghĩa cúa khối xây dựng Cách đặc tả này làm đầy đủ ngữ nghĩa cho mọi phân tử hệ thống nếu cần Trong các công cụ được xây dựng theo cơ chế của U M L để xem đặc tả của mỗi phần tử kích đôi vào biểu lượng phần tử sẽ hiện lên một cửa sổ đặc tả của nó
° Các bài trí (A d o rn m e n ts): Hầu hết các phần tử trong U M L có
biểu trưng (Symbol) đổ thị duy nhất cung cấp một trình diễn trực quan theo một khía cạnh quan trọng của sự vật V í dụ, một lớp hình chữ nhật với tên bồi đậm miêu tả cho một lớp và tên gạch dưới miêu tả cho một dối tượng
c l a s s P r i n t e r
Trang 18° Phàn ch ia chung (C om m on d iv is io n ): Trong m ô hình, m ọi thứ dcu
được phân chia ít nhất thành một cặp các cách thể hiện có ngữ nghĩa
bố sung tương phán nhau: lớp - đối tượng, G iao diện - sự cộng tác, Giao diện - sự thực hiện
{author=“ Mai” | [Statusfsinglcj
value: Int
Trang 192.3 Các khung nhìn (View) trong UML:
View chí ra các khía cạnh khác nhau của hệ thống được mô hình Một view không phái là một mô tá đồ họa mà nó bao gồm một số lớn các biểu đồ trừu tượng Tổng hợp tất cá các View cho chúng ta một cái nhìn tổng quan về
hệ thống Trong U M L có 5 loại View: use case view, design view, process view, implementation view, deployment view
Use case Process view
Design view
hành vi
hiệu năng, q u y mô vận hành hình trạnẹ hệ thốrm, phân
bố,lắp đạt
Trang 20- Uses case view bao gồm các use case mô tả hành vi của hệ thống được xem bởi các user của nó, phán tích và kiểm thử V iew này không chỉ rõ tổ chức của một hệ thống phần mềm Trong U M L khía cạnh tĩnh của View này thể hiện trong các biểu đổ use case còn khía cạnh động thể hiện trong các biểu đồ tương tác, biểu đồ statechart và
các biểu đồ hoạt động.
- Desi gn view bao gồm các lớp, các giao diện và các cộng tác View này chủ yếu trợ giúp cho các yêu cầu chức năng của hệ thống, có nghĩa ià các dịch vụ mà hệ thống sẽ cung cấp cho các user của nó
V ới U M L mặt tĩnh của V ie w này thể hiện trọng các biểu đồ lớp và biểu đổ đối tượng; mặt động thể hiện trong các biểu đồ tương tác, biểu đồ trạng thái và biểu đổ hoạt động
- Process view bao gồm các dòng (thread) và các tiến trình (process), trong đó có các cơ chế lương tranh và động bộ của hệ thống View này chủ yếu nhằm vào sự thực hiện, khả năng và các tiến trình của hệ thống
- Ỉmplcmentaỉion view bao gồm các thành phần và các file mà được sử dụng để tập hợp và đưa ra hệ thống vật lý V ie w này chủ yếu tập trung vào việc quán lý cấu hình của hệ thống đưa ra
- Deployment view bao gồm các node mô lả yêu cầu phần cứng k h i hệ thống thực hiện Nó chí ra việc triển khai hệ thống trong 1 kiến trúc vật lý có dùng máy tính và các thiết bị (các nút) N ói cách khác là nó
mồ tả việc triển khai vật lý của hệ thống V ie w này dành cho người phát tricn tích hợp và kiểm thử
2.4 Mô hình hoá với UML
K hi xây dựng một hệ thống sử dụng U M L thì không chỉ là việc xây dựng một m ô hình đơn gián mà có rất nhiều m ô hình trong các pha (phase) khác
Trang 21nhau của quá trình phát triển và mục tiêu của các mô hình cũng khác nhau Trong pha phân tích, mục tiêu của mô hình là để nắm bắt các yêu cầu của hệ thốn2 và đổ mô hình các lớp cơ bán vé thế giới thực và các sự cộng tác Trong pha thiết kế mục tiêu là để mở rộng mô hình, đưa mô hình vào một giải pháp
kỹ thuật thực hiện công việc trong môi trường thực hiện Trong pha thực hiện,
mò hình là các mã nguồn thực sự mà theo hình thức đã được lập trình và biên dịch vào chương trình Cuối cùng trong mô hình triển khai là các mô tá giải
ihích làm th ế nào để hệ thống triển khai trong cấu trúc vật lý Sự thay đổi givra
các pha và các mô hình là dược duy trì qua các tính chất và các mối quan hệ xác định trước giữa chúng
U M L có khái niệm pha độc lập, có nghĩa rằng cùng một ngôn ngữ, cùng các biểu đồ được sử dụng đế mô hình cho các thứ khác nhau trong các pha khác nhau, nó phụ thuộc vào người mô hình hoá quyết định chọn mục tiêu và
phạm vi của m ô hình.
/• C á c c ô n g c ụ (T o o ls )
Các công cụ cung cấp các chức năng sau:
- Dr a w diagram s: Các công cụ phải giúp biểu diễn dễ dàng các b ic ii đồ
trong ngôn ngữ mô hình hoá
- Act as a repository: Công cụ phải trợ giúp một kho chứa chung cho các thông tin của mô hình để có thể tự lưu vào một vị trí Nếu tên lớp
mà thay đổi thì phải có sự thay đổi tương ứng trong tất cả các biểu đồ
có sử dụng lớp đó.
- Support navigation: Phải dỗ dàng liên kết giữa các mô hình, để tìm ra một phần tử từ một biểu đồ hoặc biểu đồ khác hoặc mở rộng mô tả của phần lử
Trang 22- Provide multiuser support: Phải trợ giúp cho nhiều user và chúng cókhá năng làm việc trên cùng một mô hình mà không gây phicn phức
và rối loạn cho nhau
- Generate code: Một công cụ nâng cao có khả năng dịch ra mã chương trình, tất cả các thông tin trong mô hình được dịch thành bộ khung mã chương trình là cơ sở cho pha thực hiện
- Reverse engineer: M ộ t m ô hình có thể được tạo ra từ m ột mã chương
trình đã tồn tại
- Integrate with other tool: Một công cụ có khả năng tích hợp với các công cụ khác, với môi trường phát triển như là một người soạn thảo, biên dịch, gỡ lồi và với các công cụ để quán lý cấu hình, quản lý các
hệ thống điều khiển
- Cover the m odel at a ll abstraction levels: Dễ dàng đ i từ m ô tá ở mức
cao nhất của hệ thống (các package) đến mức thấp nhất là mã chương trình
- Interchange m odels: M ộ t mô hình hoặc m ộ t biểu đồ riêng của m ô
hình có khả năng xuất ra một công cụ và nhập vào một công cụ khác
2 T r ợ g iú p c h o k ý h o ạ (D ra w in g S u p p o rt)
M ột công cụ phải tạo ra các biêu đồ một cách dễ dàng và nhanh chóng Công cụ không chi thực hiện việc lựa chọn, xác định vị trí, kết nối và định nghĩa các phẩn tử trong biểu đồ mà nó còn phải trợ giúp cho người mô hình có được một biểu đồ đúng
3 K ho lưu g iữ của m ô h ìn h (M odel Repository)
Công cụ CASE phải có một kho lưu giữ mô hình cung cấp một cơ sở dữ liệu với tất cả các thông tin về các phần tử sử dụng trong mô hình, (không chú
Trang 23ý tới thông tin của biểu đổ đến từ đâu) và các nhiệm vụ mà công cụ có thểthực hiện với sự trợ giúp của kho lưu giữ:
- Ki ể m tra tính không vững chắc (C heeking lo r inconsistency): Nếu
một phần tử là được sử dụng không nhất quán trong các biểu đồ, công
cụ sẽ thông báo hoặc ngăn cấm Nếu người mô hình hoá xoá một phần tử mà nó được sử dụng ở các biếu đồ khác thì sẽ có sự cảnh báo
- Sự phê phán (Critiquing): K hi mô hình sử dụng thông tin trong kho lưu trữ, thì một công cụ có thổ phê phán mô hình, chỉ ra những phần ngoài không được chỉ rõ và áp dụng để tìm ra các lỗi có thể hoặc những giải pháp không thích hợp
- Sự trìn h báo (R e p o rtin g ): Công cụ cố thể tự động d ịch ra hoàn toàn
và mớ rộng tài liệu về tất cả các phần tử như lớp, biểu đồ trong một
mô hình
- Sự dùng lại các phần tử và các biểu đồ (Reusing elements or diagrams): M ột kho lưu trữ có thể trợ giúp cho việc dùng lại các giải pháp mô hình hoặc các phần của một giải pháp trong đó một đc án có thể dễ dàng dùng lại từ một đề án khác Trong U M L cả mô hình và
mã chương trình đều được dùng lại trong các dự án khác nhau
4 S ự hướ ng đạo (N avigation)
Khi một số V IE W và biểu đồ được sử dụng cùng với nhau để mô tả một
hệ thống, thì khi đó vấn để vô cùng quan trọng là việc kết nối truyền thông giữa chúng Các công cụ phải trợ giúp cho việc truyền thông qua các View và các hiếu đồ một cách dỗ dàng
5 T rợ g iú p c h o đ a người d ù n g (M ultiuser Support)
Một công cụ có the cho phcp một số user cùng làm việc trên một mô hình mù không nhiễu hoặc gây phiền phức cho nhau
Trang 246 S in h ra m ã c h ư ơ n g tr ìn h (C od e g e n e ra te )
Các công cụ hiện đại có trợ giúp cho việc sinh ra mã chương trình Phần này được thực hiện từ giai đoạn mô hình và không được lặp lại khi giai đoạn thực hiện bắt đầu N hững mã chương trình được sinh ra là những thông tin tĩnh
và các khai báo lớp bao gồm các thuộc tính và các khai báo về các phương pháp Thân của các phương pháp chứa đựng các mã chương trình thực sự, phần này sẽ do người lập trinh thực hiện
Thông thường, các ngôn ngữ ỉập trình hướng đối tượng như c ++ hoặc Java dược sử dụng để viết mã chương trình cho các mô hình được sinh ra mã từ những ngôn nsữ đặc tá dựa theo các khái niệm của U M L , những ngôn ngữ như SQL hoặc 1DL cũng có ihc được dùng
7 Kỹ th u ậ t sinh từ code ra mở h ỉn h (Reverse E ngineering)
Chức năng sinh từ code ra mô hình là đối lập với chức năng sinh từ mô hình ra code (code generation) Mã chương trình được đọc và phân tích bởi công cụ và các biểu đồ được chỉ ra cấu trúc của mã chương trình Các cấu trúc biếu đồ tĩnh là các biểu đồ lớp được xây dựng từ mã chương trình: Thông tin tĩnh đưực trích ia từ mã chương trình
- Câu hình và điểu k h iể n version: Các công cụ này cung cấp m ột vài
CUU h ìn h khác n h au c ủ a hệ thố n g và các version k h ác nhau c ủ a cả hệ thống và các phần tử riêng lẻ Version-control được dùng cho cả mô hình và mã chương trình
Trang 25- Các công cụ làm tài liệu (Documentation tools): Các công cụ này có thê tự động dịch ra tài liệu từ kho lưu giữ mô hình.
- Các công cụ kicm thử (Testing lools): Các công cụ kiếm thử là chủ yếu dùng cho sự quản lý các tiến trình kiểm thử - sự lựa chọn và duy Irì các báo cáo kiểm thử Sự kiểm thử thực sự là sự xác nhận (Chúng
ta đã xây dựng tốt hệ thống chưa?) và sự thẩm tra (Chúng ta đã xây dựng hệ thống hằng cách tốt chưa?) của quá trình phát triển hệ thống
- Công cụ xây dựng đồ hoạ (G U I b u ild e r ): Có những liê n kết từ các lớ p
irong mô hình đến các mô tả đồ hoạ trong một GUT builder, ở đó tổ chức của giao diện người sử dụng được lưu giữ Nó có khả năng tự động sinh ra các dạng đổ hoạ của các lớp trong mô hình
- Các công cụ đặc tả yêu cầu (Requirement S pecification tools): U M L
có các uses case đê nắm bắt các yêu cầu chức năng của hệ thống Tuy nhiên, có những yêu cầu phi chức năng của hệ thống và chúng đều có thể được mô tả sử dụng các công cụ đặc tả yêu cầu
- Các công cụ quản lý dự án và trợ g iú p quá trình (Project management and process support tools): Một công cụ quản lý dự án được đặt ra để giúp đỡ cho người quản lý dự án xác định các lịch thời gian, các kế hoạch phân chia tài nguyên và các thực hiện tiếp theo trên sự phát triển Người quản lý dự án có thể dễ dàng kiểm tra được sự phát triển của công việc mô hình hoá Sự tích hợp với các công cụ trợ giúp tiến trình hầu như chắc chắn là không có quyền ưu tiên cao nhất và thông thường sán phẩm của mô hình là một phần đáng kể của bất kỳ một phương pháp hoặc một quá trình nào
9 S ự th a y th ế lẫ n n h a u c ủ a cá c m ò h ỉn h (in te rc h a n g e m o d e ls)
Khổng dễ dàng có thể tạo ra một mô hình bằng một công cụ rồi sau đóđưa nó vào một công cụ khác Điểu kiện đầu tiên là phải chuẩn hoá mô hình
Trang 26được lưu giữ Khi các mỏ hình có khá năng thay thế cho nhau, nó sẽ dễ dàng cung cấp các công cụ mô hình đơn giản để xây dựng trên các môi trường phát triến, ứ đó mô hình có thể được dịch chuyển và tích hợp vào một công cụ cao
liơn.
Kết luân: Một mỏ hình trong U M L bao gồm một số các V IE W mô tả các khía cạnh khác nhau của hệ thống Chỉ cần kết hợp các V IE W chúng ta có thể tạo được một bức tranh toàn cảnh của hệ thống Một V IE W không phải là đồ thị, các nội dung của nó là được mỏ tả bằng các biểu đồ kết hợp (combining) các phần tử mô hình: Lớp, đối lượng, nút, thành phần và các mối quan hệ
Trang 27SDL cơ bản dựa trên mô hình các máy hữu hạn trạng thái (fin ite State machines), được bổ sung thêm các đặc trưng cúa các dạng dữ liệu trừu tượng ADTs (abstract data types) Sự kết hợp này được irợ giúp bưi một ngữ nghĩa hình thức hoàn toàn.
SDL cung cấp kiến trúc cho các cấu trúc mô tả, các hành vi, các giao diện và các liên kết truyền thông Thêm vào đó, nó cung cấp kiến trúc cho sự irừu tượng hoá, mô hình tóm lược và sự cải tiến Tất cả các kiến trúc này dùnç
đế thiết kế giúp cho sự đa dạng của việc đặc tả các hệ thống truyền thông, nó bao gồm các khía cạnh dịch vụ và giao thức SDL được sử dụng khá rộng rãi trong truyén thông công cộng và nó trợ giúp rất tốt cho các hệ thông nàv nhờ
hộ công cụ đa dạng, ngoài ra SDL còn có nhiều giá trị về mặt thương mại
Từ khi m ới ra đời, SDL đã m ở ra một kỹ thuật minh hoạ không hình thức cho FDTs (Formal Description Techniques) bao quát Trong quá trình xây dựng đc phát triển thích hợp với các hệ thống lớn, SDL đã bổ sung thêm khái niệm kiểu dữ liệ u nâng cao Khái niệm kiểu dữ liệu về cơ bản là tương tự như trong LOTOS Tuv nhiên, SDL báo vệ nguồn gốc của LOTOS và thêm vào các
Trang 28mô la đồ hoạ, nó cung cấp một cách linh loạt từ những thứ không hình thức chó dến những thứ hình thức trong các dạng mô tá khác nhau.
Mặc dù tên SDL ngụ ý sử dụng cho đặc tá và mồ tá, nhưng SDL ngày này
đã đirực sử dụng rộng rãi cho các mục tiêu khác như là thiết kế, lập trình ở
mức cao và tương tự như vậy SDL là một ngôn ngữ thiết kế và thực hiện biểu diễn cho các hệ thống kỹ thuật cao như: các hệ thống thời gian thực, các hệ thống phân tán và các hệ thống thuộc loại hướng sự kiện (event-driven) ở các hoạt động song song và truyén thông cúa chúng Chúng được ứng dụng trong những khu vực điển hình như: Các hệ thống truyền thông ở mức cao và thấp, các hệ thống trong không gian và các hệ thống với nhiệm vụ phức tạp hoặc phân tán (Truyền thông vệ linh, hàng không, thiết bị y tế, hệ thống điều khiển
xe lửa, các giao thức truyền thông trong các ô tô, )
SDL có hai cách mô tả: Mỏ tả đồ hoạ được gọi là GR (GraphicalRepresentation) và mô tả văn bản gọi là PR (Phrase Representation) SDL chophép chuyến đổi tự động và thay thế lẫn nhau giữa PR và GR
II TỔN( ; QUÁT VỂ SDL
Một hệ Ihống SDL bao gồm các thành phần sau:
- Cấu ỉrúc (struclure): system, block, process, và các thủ tục
- Sự truyền thông (communication): các tín hiệu với các tham số tín hiệu lựa chọn và các kênh (channel) hoặc các đường truyền tín hiệu (signal route)
- Hành vi (behavior): c á c tiến trình (process)
Sự k ế thừa (Inheritance): mô tả các mối quan hệ và đặc tả
Trang 29/ 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 丨rong một khối (block) Các khối có thể lỗng nhau
dè tính đệ quy giúp cho hệ thống nhỏ hơn và duy trì những hệ thống con tóm
Trang 30lượ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 o m m u n ica tio n )
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
Trang 313 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 A S N 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:
Trang 32Tậ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 (fin ite 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 t h á 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
Trang 33theo 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 in h 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ìn h (Seft, sender, parent, o ffspring )
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
o ffsp rin g , 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
Trang 34và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
biểu đồ đươc miêu tả
Trang 35block reference channel substructure reference
° 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 y m b o ls )
0 Bié’u tndìỊị văn bán (Text Svmbol)
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ạ
Trang 36-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 Inform al 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
Trang 37ken 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ấungoặ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
kh i 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:
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
Trang 38-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
độ 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
Trang 394 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
m acro 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ăng kiểm tra cáctham số thực và tham số hình thức của macro
2.5 Hành vi (Behaviour)
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ễnxuấ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
param eters: 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ềukhiên tạo thành trạng thái của minh hoạ
Trang 40in p u t p o r t : nó nhận và giữ các tín hiệu cho đến khi tiêu hết.
giao diện cúa tiến trình; input set là đặc biệt quan trọng để hiểu sự thuận lợi khi sử dụng phép ghi tốc ký trong inputs và saves
.Ì.Khởi tạo m ộ t sự dịch chuyên (Initiating a Transition)
Cách cơ bản để khởi tại một sự dịch chuyển là qua việc input một tín hiệu lừ cổng input của minh hoạ Tuy nhiên, bằng cách sử dụng cú pháp viết tắt các tín hiệu liên tục và điều kiện có thể nó có khá năng để khởi tạo một dịch chuyển cơ bản trên một điều kiện logic
° Sự dịch chu yen (Transition )
Một dịch chuyển có thể chứa đựng các hoạt động sau: