ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ XOAN
NGHIÊN CỨU VỀ MÔ HÌNH HÓA VÀ
KIỂM TRA TIẾN TRÌNH NGHIỆP VỤ
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật Phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ
NGÀNH: CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN VIỆT HÀ
Hà Nội - 2015
i
LỜI CẢM ƠN
Trước hết, em xin gửi lời biết ơn sâu sắc đến PGS.TS. Nguyễn Việt Hà, thầy đã
định hướng nghiên cứu, chỉ bảo cho em các kiến thức về kiểm chứng tiến trình nghiệp vụ,
và đã dành rất nhiều thời gian hướng dẫn em thực hiện luận văn này.
Em cũng xin được bày tỏ lòng biết ơn tới các thầy cô trongBộ môn Công nghệ
phần mềm, Khoa Công nghệ thông tin, Trường Đại học Công nghệ, Đại học Quốc Gia Hà
Nội đã thường xuyên giúp đỡ, trao đổi, góp ý và tạo những điều kiện thuận lợi nhất cho
em trong quá trình học tập cũng như làm luận văn tại Trường.
Một lần nữa, em xin chân thành cảm ơn!
Hà Nội, tháng 11 năm 2015
Học viên
Nguyễn Thị Xoan
ii
TÓM TẮT
Dịch vụ Web ra đời mang lại nhiều lợi ích to lớn, nó cho phép các phần mềm tích
hợp lại với nhau dựa trên nền tảng, ngôn ngữ khác nhau. Ngôn ngữ thực thi tiến trình
nghiệp vụ BPEL ra đời cung cấp cách thức để tích hợp các dịch vụ Web lại với nhau thành
một dịch vụ Web mới. Việc tích hợp các dịch vụ Web thành một dịch vụ Web mới làm việc
theo đúng kịch bản nghiệp vụ luôn là nhiệm vụ quan trọng. Nên yêu cầu phải kiểm tra tính
đúng đắn của tiến trình BPEL. Nhưng việc kiểm chứng trực tiếp trên BPEL là không thể, vì
vậy cần chuyển đổi đặc tả BPEL sang dạng đặc tả có thể kiểm chứng trực tiếp.
Nội dung của luận văn trình bày về ngôn ngữ thực thi tiến trình nghiệp vụ
BPELvà kiểm chứng dịch vụ Web được định nghĩa bằng ngôn ngữ BPEL. Cách chuyển
đổi đặc tả BPEL sang ký pháp ký pháp FSP mô tả LTS tương ứng, để kiểm chứng LTS
tương ứng. Một thuộc tínhđại diện cho luồng thực thi công việc của tiến trình BPEL để
kiểm tra tính thỏa mãn của LTS tương ứng. Nếu LTS thỏa mãn thuộc tính thì tiến trình
thỏa mãn yêu cầu, ngược lại thì tiến trình BPEL không thỏa mãn. Luận văn trình bày
các ví dụ minh họa cho việc kiểm chứng tiến trình BPEL với công cụ tự động LTSA.
Từ khóa: BPEL, FSP,LTSA, kiểm chứng dịch vụ Web.
iii
LỜI CAM ĐOAN
Tôi xin cam đoan phần nghiên cứu về mô hình hóa và kiểm tra tiến trình nghiệp vụ
được trình bày trong luận văn là của riêng tôi. Những thông tin trích dẫn trong luận văn
của tôi đều được chỉ rõ nguồn gốc, và có trích dẫn cụ thể, rõ ràng.
Hà Nội, tháng 11 năm 2015
Học viên
Nguyễn Thị Xoan
iv
MỤC LỤC
ĐẠI HỌC QUỐC GIA HÀ NỘI .......................................................................................... 1
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ................................................................................... 1
NGUYỄN THỊ XOAN ......................................................................................................... 1
Ngành: Công nghệ thông tin................................................................................................. 1
LUẬN VĂN THẠC SĨ ......................................................................................................... 1
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN VIỆT HÀ............................... 1
LỜI CẢM ƠN ........................................................................................................................ i
TÓM TẮT.............................................................................................................................ii
LỜI CAM ĐOAN ............................................................................................................... iii
DANH MỤC KÝ HIỆU VÀ CÁC TỪ VIẾT TẮT............................................................. vi
DANH MỤC CÁC BẢNG BIỂU.......................................................................................vii
DANH MỤC HÌNH VẼ ................................................................................................... viii
Chương 1. PHẦN MỞ ĐẦU ................................................................................................ 1
1.1. Lý do chọn đề tài ........................................................................................................ 1
1.2. Nội dung nghiên cứu .................................................................................................. 1
Chương 2. CÁC KIẾN THỨC CƠ BẢN ............................................................................. 3
2.1. Tổng quan về ngôn ngữ thực thi tiến trình nghiệp vụ BPEL (Business Process
Execution Language) ........................................................................................................ 3
2.1.2. Các hoạt động cơ bản trong tiến trình BPEL ....................................................... 5
2.1.2.3. Hoạt động quản lý lỗi và ngoại lệ ................................................................... 15
2.2. Hệ thống chuyển trạng thái được gán nhãn - LTS và ký pháp tiến trình hữu hạn
trạng thái - FSP................................................................................................................ 16
2.2.1. Hệ thống chuyển trạng thái được gán nhãn - LTS............................................. 16
2.2.2. Ký pháp tiến trình hữu hạn trạng thái - Finite State Process(FSP).................... 19
Chương 3. PHƯƠNG PHÁP CHUYỂN TỪ ĐẶC TẢ BPEL ........................................... 21
SANG KÝ PHÁP FSP........................................................................................................ 21
3.1. Hành động empty ..................................................................................................... 21
3.2. Hành động invoke .................................................................................................... 22
3.3. Hành động receive.................................................................................................... 23
v
3.4. Hành động reply ....................................................................................................... 23
3.5. Hành động assign ..................................................................................................... 24
3.6. Hành động sequence ................................................................................................ 25
3.7. Hành động if ............................................................................................................. 25
3.8. Hành động while ...................................................................................................... 27
3.9. Hành động pick ........................................................................................................ 27
3.10. Hành động flow ...................................................................................................... 28
3.11. Hành động wait ...................................................................................................... 29
3.12. Hành động exit ....................................................................................................... 29
3.13. Hành động throw .................................................................................................... 30
Chương 4. KIỂM CHỨNG DỊCH VỤ WEB ..................................................................... 31
4.1. Cài đặt chương trình ................................................................................................. 31
4.2. Các ví dụ minh họa cho việc kiểm chứng tiến trình BPEL...................................... 32
4.2.1. Ví dụ 1 ............................................................................................................... 32
4.2.2. Ví dụ 2 ............................................................................................................... 36
4.2.3. Ví dụ 3 ............................................................................................................... 39
Chương 5. KẾT LUẬN ...................................................................................................... 44
TÀI LIỆU THAM KHẢO .................................................................................................. 45
vi
DANH MỤC KÝ HIỆU VÀ CÁC TỪ VIẾT TẮT
TT
Từ viết tắt
Ý nghĩa
1
BPEL
Business Process Excuation Language
2
BPEL4WS
Business Process Excuation Language for Web Service
3
FSP
Finite State Processes
4
LTS
Labeled Transition System
5
LTSA
Labeled Transition System Analyser
6
XML
eXtensible Markup Language
7
WS-BPEL
Web Services Business Process Excuation Language
8
WSDL
Web Services Description Language
9
WSFL
Web Service Flow Language
vii
DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1. Mô tả các hành động trong ngôn ngữ BPEL và ý nghĩa ........................... 5
viii
DANH MỤC HÌNH VẼ
Hình 2.1. Cấu trúc tiến trình BPEL cơ bản ............................................................... 4
Hình 2.2. Hệ thống chuyển trạng thái được gán nhãn ............................................. 16
Hình 2.3. LTS không đơn định ................................................................................ 17
Hình 2.4. LTS đơn định ........................................................................................... 18
Hình 3.1. LTS của hành động empty....................................................................... 22
Hình 3.2. LTS tương ứng của hành động invoke .................................................... 22
Hình 3.3. LTS tương ứng của hành động receive ................................................... 23
Hình 3.4. LTS của hành động reply ........................................................................ 24
Hình 3.5. LTS tương ứng của assign ....................................................................... 24
Hình 3.6. LTS của hành động sequence .................................................................. 25
Hình 3.7. LTS tương ứng của hành động if có 2 nhánh if và else .......................... 26
Hình 3.8. LTS tương ứng của hành động If chỉ có 1 nhánh if ................................ 26
Hình 3.9. LTS tương ứng của hành động While ..................................................... 27
Hình 3.10. LTS tương ứng của hành động pick ...................................................... 27
Hình 3.11. LTS tương ứng của hành động flow...................................................... 28
Hình 3.12. LTS tương ứng của hành động wait ...................................................... 29
Hình 3.13. LTS tương ứng của hành động exit ....................................................... 29
Hình 3.14.LTS tương ứng của hành động throw..................................................... 30
Hình 4.1. Tiến trình BPEL trên nền tảng Eclipse.................................................... 31
Hình 4.2. Công cụ LTSA......................................................................................... 32
Hình 4.3. Tiến trình BPEL mô tả chức năng lấy về ID của tiến trình được thực hiện
trước đó. .............................................................................................................................. 33
Hình 4.4. Phần chuyển đổi sang ký pháp FSP. ....................................................... 34
Hình 4.5. LTS tương ứng với FSP được sinh ra bởi tiến trình BPEL trong ví dụ 3.2.1 34
Hình 4.6. Chức năng compile và compose của công cụ LTSA .............................. 35
Hình 4.7. LTS của tiến trình COMPOSE1 khi không đạt đến trạng thái lỗi. ......... 36
Hình 4.8. LTS của tiến trình COMPOSE1 đạt đến trạng thái lỗi. ........................... 36
Hình 4.9. Tiến trình BPEL của hành động while. ................................................... 37
ix
Hình 4.10. Ký pháp FSP tương ứng của hành động while ...................................... 37
Hình 4.11. LTS tương ứng với hành động while .................................................... 38
Hình 4.12. LTS kết quả ở trạng thái không có lỗi ................................................... 39
Hình 4.13.LTS kết quả ở trạng thái có lỗi ............................................................... 39
Hình 4.14.Tính diện tích của phần hình giới hạn .................................................... 40
Hình 4.15.Mô hình hoạt động của bài toán ............................................................. 40
Hình 4.16.Tiến trình BPEL mô tả bài toán tính diện tích ....................................... 41
Hình 4.17. Ký pháp FSP tương ứng tiến trình BPEL mô tả bài toán tính diện tích 42
Hình 4.18. LTS tương ứng của bài toán tính diện tích ............................................ 42
Hình 4.19. LTS kết quả đạt đến trạng thái không lỗi .............................................. 43
Hình 4.20. LTS kết quả đạt đến trạng thái lỗi ......................................................... 43
45
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Nguyễn Sỹ Hiếu (2015), “Phương pháp chuyển đổi đặc tả sang LTS cho các
dịch vụ web”, Khóa luận tốt nghiệp, Trường Đại học Công nghệ - Đại học Quốc gia Hà
Nội.
Tiếng Anh
[2] OASIS, Web Services Business Process Execution Language Version 2.0.
Ðịa
chỉ: />
specification-draft-120204.htm
[3] Dr. Howard Foster (2006), “A Rigorous Approach To Engineering Web Service
Compositions”, University of London.
[4] Franck van Breugel, Maria Koshkina, “Model and Verification of BPEL”
Draft, September, 2006.
[5] Jeff Magee,FSP
Địa chỉ như sau: />[6] Howard Foster, Sebastian Uchitel, Jeff Magee, Jeff Kramer, “LTSA-WS: A Tool
for Model-Based Verification of Web Service Compositions and Choreography”, The
28th International Conference on Software Engineering, 2006, pp. 771-774.
[7] P. N. Hung, N. V. Ha, T. Aoki and T. Katayama (2012), “On Optimization of
Minimized Assumption Generation Method for Component-based Software Verification”,
IEICE Trans. on Fundamentals, Special Issue on Software Reliability Engineering, Vol.
E95-A, No.9, pp. 1451-1460, Sep. 2012.