1. Trang chủ
  2. » Thể loại khác

Nghiên cứu về mô hình hóa và kiểm tra tiến trình nghiệp vụ : Luận văn ThS. Công nghệ thông tin: 60 48 01 03

55 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠ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, bảo cho em kiến thức kiểm chứng tiến trình nghiệp vụ, dành nhiều thời gian hướng dẫn em thực luận văn Em xin bày tỏ lịng biết ơn tới thầy 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 ý tạo điều kiện thuận lợi cho em trình học tập làm luận văn 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 đời mang lại nhiều lợi ích to lớn, cho phép phần mềm tích hợp lại với dựa tảng, ngôn ngữ khác Ngôn ngữ thực thi tiến trình nghiệp vụ BPEL đời cung cấp cách thức để tích hợp dịch vụ Web lại với thành dịch vụ Web Việc tích hợp dịch vụ Web thành dịch vụ Web làm việc theo kịch nghiệp vụ nhiệm vụ quan trọng Nên yêu cầu phải kiểm tra tính đắn tiến trình BPEL Nhưng việc kiểm chứng trực tiếp BPEL khơng thể, cần chuyển đổi đặc tả BPEL sang dạng đặc tả kiểm chứng trực tiếp Nội dung luận văn trình bày ngơn ngữ thực thi tiến trình nghiệp vụ BPELvà kiểm chứng dịch vụ Web định nghĩa 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 tiến trình BPEL để kiểm tra tính thỏa mãn LTS tương ứng Nếu LTS thỏa mãn thuộc tính tiến trình thỏa mãn yêu cầu, ngược lại tiến trình BPEL khơng thỏa mãn Luận văn trình bày 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 mô hình hóa kiểm tra tiến trình nghiệp vụ trình bày luận văn riêng tơi Những thơng tin trích dẫn luận văn tơi rõ nguồn gốc, 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 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ XOAN Ngành: Công nghệ thông tin LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VIỆT HÀ 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 PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Nội dung nghiên cứu Chương CÁC KIẾN THỨC CƠ BẢN 2.1 Tổng quan ngôn ngữ thực thi tiến trình nghiệp vụ BPEL (Business Process Execution Language) 2.1.2 Các hoạt động tiến trình BPEL 2.1.2.3 Hoạt động quản lý lỗi ngoại lệ 15 2.2 Hệ thống chuyển trạng thái gán nhãn - LTS 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 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 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 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ụ 32 4.2.2 Ví dụ 36 4.2.3 Ví dụ 39 Chương 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 BPEL Business Process Excuation Language BPEL4WS Business Process Excuation Language for Web Service FSP Finite State Processes LTS Labeled Transition System LTSA Labeled Transition System Analyser XML eXtensible Markup Language WS-BPEL Web Services Business Process Excuation Language WSDL Web Services Description Language WSFL Web Service Flow Language vii DANH MỤC CÁC BẢNG BIỂU Bảng 2.1 Mô tả hành động ngôn ngữ BPEL ý nghĩa viii DANH MỤC HÌNH VẼ Hình 2.1 Cấu trúc tiến trình BPEL Hình 2.2 Hệ thống chuyển trạng thái 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 hành động empty 22 Hình 3.2 LTS tương ứng hành động invoke 22 Hình 3.3 LTS tương ứng hành động receive 23 Hình 3.4 LTS hành động reply 24 Hình 3.5 LTS tương ứng assign 24 Hình 3.6 LTS hành động sequence 25 Hình 3.7 LTS tương ứng hành động if có nhánh if else 26 Hình 3.8 LTS tương ứng hành động If có nhánh if 26 Hình 3.9 LTS tương ứng hành động While 27 Hình 3.10 LTS tương ứng hành động pick 27 Hình 3.11 LTS tương ứng hành động flow 28 Hình 3.12 LTS tương ứng hành động wait 29 Hình 3.13 LTS tương ứng hành động exit 29 Hình 3.14.LTS tương ứng hành động throw 30 Hình 4.1 Tiến trình BPEL 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 lấy ID tiến trình thực 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 sinh tiến trình BPEL ví dụ 3.2.1 34 Hình 4.6 Chức compile compose cơng cụ LTSA 35 Hình 4.7 LTS tiến trình COMPOSE1 khơng đạt đến trạng thái lỗi 36 Hình 4.8 LTS tiến trình COMPOSE1 đạt đến trạng thái lỗi 36 Hình 4.9 Tiến trình BPEL hành động while 37 ix Hình 4.10 Ký pháp FSP tương ứng 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 trạng thái khơng có lỗi 39 Hình 4.13.LTS kết trạng thái có lỗi 39 Hình 4.14.Tính diện tích phần hình giới hạn 40 Hình 4.15.Mơ hình hoạt động toán 40 Hình 4.16.Tiến trình BPEL mơ tả tố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ả tốn tính diện tích 42 Hình 4.18 LTS tương ứng tốn tính diện tích 42 Hình 4.19 LTS kết đạt đến trạng thái không lỗi 43 Hình 4.20 LTS kết đạt đến trạng thái lỗi 43 31 Chương KIỂM CHỨNG DỊCH VỤ WEB Chương xây dựng ví dụ để minh chứng cho việc kiểm chứng dịch vụ Web thơng qua tiến trình BPEL Cụthể dùng công cụ LTSA [6] để kiểm chứng ví dụ tiến trình BPEL 4.1 Cài đặt chương trình Các ví dụ đặc tả ngơn ngữ thực thi tiến trình nghiệp vụ BPEL, nên để xây dựng ví dụ minh họa cho việc kiểm chứng tiến trình BPEL cần phải cài số chương trình sau: -Cài mơi trường Java: Cài JDK 1.5 - Cài đặt môi trường Web Server: Cài apache-tomcat apache-ode vào thư mục cài đặt C:\Program Files\Apache Software Foundation - Trình thiết kế Eclipse BPEL Designer: sau cài đặt JDK môi trường WebService, sử dụng trình thiết kế Eclipse BPEL Designer để mơ hình hóa tiến trình ngơn ngữ BPEL Ví dụ tiến trình BPEL thiết kế tảng Eclipse hình 4.1 Hình 4.1 Tiến trình BPEL tảng Eclipse - Công cụ kiểm chứng tự động LTSA [6]: công cụ giúp chuyển đổi tự động từ tiến trình BPEL sang ký pháp tiến trình hữu hạn trạng thái FSP Cơng cụ LTSA triển khai dạng modul tích hợp vào trình thiết kế Eclipse LTSA cho phép chuyển 32 tiến trình BPEL cách tự động sang ký pháp FSP Ký pháp FSP mô tả LTS tương ứng, việc kiểm chứng tiến trình BPEL lúc thực cách tự động Hình 4.2 Cơng cụ LTSA 4.2 Các ví dụ minh họa cho việc kiểm chứng tiến trình BPEL 4.2.1 Ví dụ Ví dụ dịch vụ Web có chức lấy ID tiến trình thực trước Dịch vụ gọi đến dịch vụ Pingpong để lấy ID tiến trình thực trước Tiến trình BPEL mơ tả hình 4.3 Tiến trình nhận thơng tin đầu vào qua hành độngreceiveInput Sau thông tin đầu vào nhận hành động receive, thơng tin gửi đến hành động AssignInput, hành động AssignInput có nhiệm vụ gán giá trị biến đầu vào cho hành động InvokePingpong Kết nhận hành động InvokePingpong gán cho biến AssignOutput trả hành động replyOutput tiến trình Sau đặc tả dịch vụ tiến trình BPEL, để kiếm chứng tiến trình BPEL ta phải chuyển đổi tiến trình BPEL sang ký pháp FSP để kiểm chứng dịch vụ Web Việc chuyển đổi thực tự động cơng cụ LTSA tích hợp tảng eclipse (Hình 4.3) 33 Hình 4.3 Tiến trình BPEL mơ tả chức lấy ID tiến trình thực trước Hình 3.0.1 Sử dụng cơng cụ LTSA tích hợp vào eclipse Phần chuyển đổi sang ký pháp FSP thể tab LTSA Editor sau: 34 Hình 4.4 Phần chuyển đổi sang ký pháp FSP Biểu diễn LTS tương ứng với FSP hình 3.6 Hình 4.5 LTS tương ứng với FSP sinh tiến trình BPEL ví dụ 3.2.1 Chức compile sử dụng để biên dịch phần ký pháp FSP sinh Chức compose sử dụng để kết hợp tiến trình sinh trình định nghĩa tiến trình BPEL thuộc tính kiểm tra 35 Hình 4.6 Chức compile compose cơng cụ LTSA Tiến trình sinh trình định nghĩa tiến BPEL có tên INVOKE_MAIN1 Tiến trình BPEL ví dụ phần 4.2.1 kiểm tra với kịch sau: receiveInput -> invokePingpong -> replyOutput Một thuộc tính p định nghĩa từ kịch sau: Property TEST_INVOKE = (client_reply_receive->client_reply_process -> END) Hợp tiến trình sinh trình định nghĩa tiến trình BPEL thuộc tính p tiến trình có tên COMPOSE1 khai báo sau: ||COMPOSE = (INVOKE_MAIN1 || TEST_INVOKE) Việc kiểm chứng tiến trình BPEL tương ứng với việc việc tra tiến trình COMPOSE1 Nếu tiến trình COMPOSE1 đến trạng thái -1 tương ứng với trạng thái lỗi Cịn ngược lại tiến trình thỏa mãn u cầu tốn đặt LTS thuộc tính TEST_INVOKE LTS phép chuyển đổi tiến trình BPEL thỏa mãn yêu cầu tốn đặt hình 4.7 LTS thuộc tính TEST_INVOKE LTS phép chuyển đổi tiến trình BPEL đạt đến trạng thái -1 (đạt đến trạng thái lỗi) hình 4.8 36 Hình 4.7 LTS tiến trình COMPOSE1 khơng đạt đến trạng thái lỗi Hình 4.8 LTS tiến trình COMPOSE1 đạt đến trạng thái lỗi 4.2.2 Ví dụ Ví dụ kiểm chứng hành động while tiến trình BPEL Tiến trình BPEL hành động while hình 4.9 Sau hành động mơ tả tiến trình BPEL, Cơng cụ LTSA sử dụng để chuyển đổi tự động từ BPEL sang ký pháp FSP hình 4.10: 37 Hình 4.9 Tiến trình BPEL hành động while Hình 4.10 Ký pháp FSP tương ứng hành động while 38 LTS tương ứng với FSP hành động while hình 4.11 sau: Hình 4.11 LTS tương ứng với hành động while Tiến trình sinh trình định nghĩa tiến BPEL có tên WHILE_MAIN1 Tiến trình BPEL ví dụ phần 4.2.2 kiểm tra với kịch sau: receiveInput -> replyOutput Một thuộc tính p định nghĩa từ kịch sau: property TEST_FOR_WHILE = (while_client_receive_process -> while_client_reply_process -> END) Hợp tiến trình sinh trình định nghĩa tiến trình BPEL thuộc tính p tiến trình có tên COMPOSE khai báo sau: ||COMPOSE = (WHILE_MAIN1|| TEST_FOR_WHILE) Việc kiểm chứng tiến trình BPEL tương ứng với việc việc tra tiến trình COMPOSE1 Nếu tiến trình COMPOSE1 đến trạng thái -1 tương ứng với trạng thái lỗi Cịn ngược lại tiến trình thỏa mãn u cầu tốn đặt LTS thuộc tính WHILE_MAIN LTS phép chuyển đổi tiến trình BPEL thỏa mãn yêu cầu tốn đặt hình 4.12 39 LTS thuộc tính WHILE_MAIN1 LTS phép chuyển đổi tiến trình BPEL đạt đến trạng thái -1 (đạt đến trạng thái lỗi) hình 4.13 Hình 4.12 LTS kết trạng thái khơng có lỗi Hình 4.13.LTS kết trạng thái có lỗi Qua ví dụ cho thấy việc kiểm chứng tiến trình BPEL thực cách tự động thông qua công cụ LTSA 4.2.3 Ví dụ Bài tốn đặt tính diện tích hình giới hạn hình chữ nhật bên ngồi hình ellipse bên Chúng ta tính diện tích phần hình đánh dấu màu đỏ hình 4.14 Để giải tốn luận văn minh họa cách xây dựng tiến trình BPEL.Cách tính diện tích thực cách gọi ba dịch vụ Web từ bên 40 Hình 4.14.Tính diện tích phần hình giới hạn Dịch vụ Web tính diện tích hình chữ nhật có tên là: RectangleCalculator.wsdl Dịch vụ Web tính diện tích hình ellipse có tên là: EllipseCalculator.wsdl Dịch vụ Web cung cấp phép tính tốn có tên là: SimpleComputation.wsdl Mơ hình tổng qt tốn mơ tả hình 4.15 Hình 4.15.Mơ hình hoạt động tốn Tiến trình mơ tả chức tính diện tích phần hình giới hạn hình chữ nhật bên ngồi hình ellipse bên Tiến trình BPEL tốn mơ tả hình 4.16 41 Hình 4.16.Tiến trình BPEL mơ tả tốn tính diện tích Tiến trình nhận thơng tin đầu vào qua hành động receiveInput, hành động Assign có nhiệm vụ gán giá trị biến đầu vào cho hành động InvokeRectangleArea, InvokeDivideHeight, InvokeDivideLength Hành động Assign1 có nhiệm vụ gán giá trị đầu hai hành động InvokeDivideHeight, InvokeDivideLength làm giá trị đầu vào cho hành động InvokeEllipseArea Hành động Assign2 có nhiệm vụ gán giá trị cho biến đầu vào hành động InvokeSubtraction từ hành độngInvokeRectangleArea InvokeEllipseArea Kết nhận hành động InvokeSubtraction gán cho biến Assign3 nhận hành động replyOutput Các hành động 42 InvokeRectangleArea,InvokeEllipseArea, InvokeDivideHeight, InvokeDivideLength, InvokeSubtraction, sử dụng để gọi dịch vụ tính tốn diện tích hình chữ nhật, diện tích hình Ellipse phép tính tốn đơn giản Phần chuyển đổi sang ký pháp FSP thể tab LTSA Editor hình 4.17 sau: Hình 4.17 Ký pháp FSP tương ứng tiến trình BPEL mơ tả tốn tính diện tích LTS tương ứng tiến trình BPEL mơ tả tốn tính diện tích Hình 4.18 LTS tương ứng tốn tính diện tích 43 Tiến trình BPEL tính diện tích phần hình giới hạn hình chữ nhật bên ngồi hình ellipse bên kiểm tra với kịch sau: InvokeRectangleArea -> replyOutput Tiến trình chuyển sang dạng ký pháp FSP sau: Property TEST_DIENTICH = -> areaservice_rectangleareapl_receive_area -> areaservice_client_reply_process -> END) Hợp tiến trình sinh trình định nghĩa tiến trình BPEL tính diện tích phần hình giới hạn AREASERVICE_MAIN1 tiến trình TEST_DIENTICH có tên COMPOSE khai báo sau: ||COMPOSE = (AREASERVICE_MAIN1|| TEST_DIENTICH) Việc kiểm chứng tiến trình BPEL tương ứng với việc việc tra tiến trình COMPOSE1 Nếu tiến trình COMPOSE1 đến trạng thái -1 tương ứng với trạng thái lỗi Cịn ngược lại tiến trình thỏa mãn u cầu tốn đặt LTS tốn tính diện tích phần hình giới hạn hình chữ nhật hình ellipse đạt đến trạng thái lỗi sau: Hình 4.19 LTS kết đạt đến trạng thái không lỗi Giả sử hành động trả kết tốn gọi trước hành động tính diện tích hình chữ nhật, việc kiểm tra tiến trình BPEL tốn với thuộc tính TEST_DIENTICH trả LTS kết đạt tới trạng thái -1 Hình 4.20 LTS kết đạt đến trạng thái lỗi 44 Chương KẾT LUẬN Ngơn ngữ mơ hình hóa tiến trình nghiệp vụ BPEL sử dụng để kết hợp dịch vụ Web tảng ngôn ngữ khác lại với thành dịch vụ Web lớn có chức phức tạp Trong trình kết hợp dịch vụ Web lại lỗi phần mềm điều không tránh khỏi, nên phần mềm thông thường khác tiến trình BPEL cần phải kiểm chứng để phát lỗi Nhưng việc kiểm chứng trực tiếp đặc tả BPEL thực nên cần phải chuyển đổi sang dạng ngôn ngữ, ký pháp khác kiểm chứng Ký pháp ký pháp FSP sử dụng để chuyển đổi từ đặc tả BPEL Ký pháp ký pháp FSP mô tả hệ thống chuyển trạng thái LTS tương ứng Việc kiểm chứng tiến trình BPEL lúc tương ứng với việc kiểm chứng tính thỏa mãn LTS chuyển đổi Một thuộc tính tương ứng với luồng thực thi tiến trình BPEL cung cấp để kiểm tra Nếu LTS chuyển đổi thỏa mãn thuộc tính kiểm tra tiến trình BPEL thỏa mãn cịn ngược lại tiến trình BPEL khơng thỏa mãn Qua trình nghiên cứu tìm hiểu, em tìm hiểu ngơn ngữ thực thi tiến trình nghiệp vụ BPEL để định nghĩa tiến trình dịch vụ Web, trình chuyển đổi hoạt động có tiến trình BPEL sang ký pháp ký pháp FSP để tiến hành kiểm chứng tiến trình BPEL, q trình chuyển đổi thực thơng qua cơng cụ kiểm chứng tự động LTSA Trong luận văn, em trình bày cơng cụ kiểm chứng tự động LTSA, thơng qua ví dụ để làm rõ cách kiểm chứng tiến trình BPEL cơng cụ kiểm chứng tự động LTSA Tuy nhiên luận văn hạn chế sau: luận văn chuyển đổi số hoạt động tiến BPEL sang FSP, việc kiểm chứng tính đắn tiến trình BPEL dừng lại mức độ ví dụ minh họa mà chưa áp dụng vào dịch vụ Web lớn thực tế 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 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 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

Ngày đăng: 23/09/2020, 21:40

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w