DSpace at VNU: Nghiêncứuvề mô hình hóa và kiểm tra tiến trình nghiệpvụ tài liệu, giáo án, bài giảng , luận văn, luận án,...
Trang 1NGUYỄ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
Trang 2LỜ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
Trang 3TÓ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
Trang 4LỜ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
Trang 5MỤ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
Trang 63.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
Trang 7DANH MỤC KÝ HIỆU VÀ CÁC TỪ VIẾT TẮT
TT Từ viết tắt Ý nghĩa
2 BPEL4WS Business Process Excuation Language for Web Service
Trang 8DANH 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
Trang 9DANH 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
Trang 10Hì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
Trang 11TÀ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ỉ: https://www.oasis-open.org/committees/download.php/10347/wsbpel-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: http://www.doc.ic.ac.uk/~jnm/LTSdocumention/Action-refix.html
[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