Khảo sát khả năng sử dụng ngôn ngữ bpel để cài đặt các mô hình tiến trình phần mềm

118 482 1
Khảo sát khả năng sử dụng ngôn ngữ bpel để cài đặt các mô hình tiến trình phần mềm

Đ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 THÀNH PHỐ HỒ CHÍ MINH TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Trần Khải Hoàng KHẢO SÁT KHẢ NĂNG SỬ DỤNG NGÔN NGỮ BPEL ĐỂ CÀI ĐẶT CÁC MÔ HÌNH TIẾN TRÌNH PHẦN MỀM Chuyên ngành: Khoa học máy tính Mã số: 02 06 4801 14 LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC: 1. TS. Trần Hạnh Nhi TP. Hồ Chí Minh – 2011 LỜI CẢM ƠN  Tôi xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Đại học Khoa Học Tự Nhiên đã hỗ trợ mọi điều kiện để tôi có thể hoàn thành đƣợc đề tài này. Em xin chân thành cảm ơn sự hƣớng dẫn và truyền đạt tận tình của cô Trần Hạnh Nhi, ngƣời đã quan tâm theo dõi em trong suốt quá trình nghiên cứu và hoàn thiện đề tài. Em xin gởi lời cảm ơn sâu sắc đến tất cả giảng viên cao học K.16, những ngƣời đã đào tạo và dìu dắt em trong suốt những năm cao học. Cảm ơn Bùi Tấn Lộc đã giúp tháo dỡ những vƣớng mắc của đề tài. Cuối cùng, xin gởi lời biết ơn và tình yêu từ tận đáy lòng con đến ba mẹ, ngƣời đã luôn bên con khi hạnh phúc cũng nhƣ lúc đau buồn. Nhờ những lời khuyên nhủ của ngƣời, con đã vƣợt qua các khó khăn để hoàn thành đề tài. Mặc dù luận văn đã hoàn thành nhƣng do kiến thức của ngƣời thực hiện có hạn nên chắc chắn đề tài còn nhiều thiếu sót và hạn chế. Rất mong nhận đƣợc ý kiến đóng góp chân thành của mọi ngƣời. TP. Hồ Chí Minh, 29/03/2011 Trần Khải Hoàng NỘI DUNG THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT I DANH SÁCH CÁC HÌNH II DANH SÁCH CÁC BẢNG V Chƣơng I – MỞ ĐẦU 1 1.1 Giới thiệu 1 1.2 Phát biểu bài toán 4 1.3 Hƣớng tiếp cận của đề tài 5 1.4 Các kết quả đạt đƣợc 6 1.5 Bố cục của luận văn 7 Chƣơng II – CƠ SỞ LÝ THUYẾT 10 2.1 Tiến trình 10 2.1.1 Tiến trình nghiệp vụ 10 2.1.2 Tiến trình phần mềm 11 2.1.3 Mô hình tiến trình 11 2.1.4 Ngôn ngữ mô hình tiến trình 12 2.2 Ngôn ngữ BPEL 14 2.2.1 Nguồn gốc 14 2.2.2 Tiến trình BPEL 14 2.2.3 Thực thi tiến trình 18 2.2.4 Nhận xét 20 2.3 Ngôn ngữ UML-PP 21 2.3.1 Thành tố tiến trình 22 2.3.2 Mô hình tiến trình 25 2.3.3 Mẫu tiến trình 29 2.3.4 Nhận xét 34 2.4 Các phƣơng pháp chuyển đổi mô hình 35 2.4.1 Chuyển đổi mô hình sang mã nguồn 38 2.4.1.1 Hƣớng tiếp cận visitor-based 38 2.4.1.2 Hƣớng tiếp cận template-based 38 2.4.2 Chuyển đổi mô hình sang mô hình 39 2.4.2.1 Hƣớng tiếp cận định dạng trực tiếp 39 2.4.2.2 Hƣớng tiếp cận quan hệ 39 2.4.2.3 Hƣớng tiếp cận dựa vào chuyển đổi hình 39 2.4.2.4 Hƣớng tiếp cận hƣớng cấu trúc 40 2.4.2.5 Hƣớng tiếp cận lai 40 Chƣơng III – CÁC NGHIÊN CỨU LIÊN QUAN 42 3.1 Mô hình hóa và thực thi tiến trình phần mềm 42 3.2 Mô hình hóa và thực thi tiến trình nghiệp vụ 44 3.3 Chuyển đổi BPMN sang BPEL 46 3.4 Chuyển đổi UML sang BPEL 50 3.5 Kết luận 55 Chƣơng IV – PHƢƠNG PHÁP KHẢO SÁT 58 4.1 Phƣơng pháp khảo sát 58 4.2 Xây dựng metamodel UML-PP 60 4.3 Xây dựng metamodel BPEL 67 4.4 Chuyển đổi mô hình từ UML-PP sang BPEL 68 Chƣơng V – HIỆN THỰC VÀ KIỂM CHỨNG CHUYỂN ĐỔI UML-PP SANG BPEL 76 5.1 Xây dựng công cụ mô hình UML-PP 76 5.2 Cài đặt ATL của bộ luật chuyển đổi UML-PP sang BPEL 81 5.3 Cài đặt Acceleo cho chuyển đổi mô hình BPEL sang dạng BPEL XML 83 5.4 Các ví dụ chuyển đổi 85 5.4.1 Fagan Code Inspection 85 5.4.2 Refactor Code 88 5.4.3 Modify Design 90 5.4.4 Mô hình sử dụng Process Pattern Binding 92 5.5 Kiểm chứng tiến trình kết quả BPEL 95 Chƣơng VI – KẾT LUẬN 101 6.1 Kết quả đạt đƣợc 101 6.2 Nhận xét 102 6.3 Hƣớng phát triển 103 TÀI LIỆU THAM KHẢO 105 A. PHỤ LỤC - CẢI TIẾN UML-PP METAMODEL 108 B. PHỤ LỤC - MÃ NGUỒN ATL 124 C. PHỤ LỤC - MÃ NGUỒN ACCELEO 132 II DANH SÁCH CÁC HÌNH  Hình I-1 Kiến trúc Metadata MOF [8] 5 Hình I-2 Mô hình chuyển đổi mô hình của ATL 6 Hình II-1 Mô hình thực thi của BPEL 19 Hình II-2 Vị trí của metamodel UML-PP trong kiến trúc MDA [6] 22 Hình II-3 Metamodel biểu diễn các thành tố tiến trình trong UML-PP [6] 24 Hình II-4 Ví dụ về các mức trừu tƣợng của sản phẩm [6] 25 Hình II-5 Metamodel của mô hình cấu trúc UML-PP [6] 26 Hình II-6 Ví dụ mô hình cấu trúc của một tiến trình kiểm thử [6] 27 Hình II-7 Metamodel của mô hình hành vi UML-PP [6] 28 Hình II-8 Ví dụ mô hình hành vi của quá trình Phân tích sơ bộ [6] 29 Hình II-9 Metamodel của mẫu tiến trình UML-PP [6] 30 Hình II-10 Ví dụ về quan hệ ProcessPatternBinding [6] 31 Hình II-11 Mô hình tiến trình sau khi áp dụng quan hệ binding [6] 32 Hình II-12 Ví dụ sử dụng quan hệ applying để tái tổ chức tiến trình [6] 33 Hình II-13 Kết quả áp dụng quan hệ applying trong Hình II-12 34 Hình II-14 Minh họa chuyển đổi giữa các mô hình trong kiến trúc MDA 36 Hình II-15 Giải pháp chuyển đổi mô hình tổng quát trong kiến trúc MDA [14] 37 Hình III-1 Minh họa hoạt động của một PCSEE 44 Hình III-2 Một ví dụ về mô hình sử dụng BPMN 47 Hình III-3 Tập hợp các thành tố cơ bản của BPMN [21] 48 Hình III-4 Chuyển đổi các well-structured component sang BPEL [21] 49 Hình III-5 Quá trình chuyển đổi BPMN sang BPEL dùng metamodel 50 Hình III-6 Qui trình chuyển đổi UML Profile sang BPEL [23] 51 Hình IV-1 Phƣơng pháp chuyển đổi mô hình UML-PP sang BPEL 59 Hình IV-2 Gói Umlpp chứa các lớp của UML-PP 61 Hình IV-3 Gói L0 62 III Hình IV-4 Gói L2 62 Hình IV-5 Gói LM 63 Hình IV-6 Gói UmlppComplete là trộn các gói để tạo Umlpp metamodel 63 Hình IV-7 Metamodel của Umlpp dƣơí dạng UML 64 Hình IV-8 Tạo Umlpp metamodel 65 Hình IV-9 Metamodel của Umlpp 66 Hình V-1 File umlppcomplete.gmftool mô tả các công cụ 77 Hình V-2 File umlppcomplete.graph chứa mô tả hình biểu diễn nốt, liên kết 78 Hình V-3 File umlppcomplete.map giúp ánh xạ công cụ, hình vẽ và lớp lƣu trữ 79 Hình V-4 Công cụ mô hình hóa UML-PP 80 Hình V-5 Mô hình Fagan Code Inspection 85 Hình V-6 Mô hình BPEL Fagan Code Inspection sau khi kiểm tra 87 Hình V-7 Mô hình dịch vụ web HumanActivity 88 Hình V-8 Mô hình tiến trình Refactor Code 89 Hình V-9 Mô hình BPEL Refactor Code sau khi kiểm tra 90 Hình V-10 Mô hình tiến trình Modify Design 91 Hình V-11 Mô hình BPEL của Modify Design sau khi kiểm tra 92 Hình V-12 Qui trình phần mềm sử dụng quan hệ Process Pattern Binding 93 Hình V-13 Qui trình sau khi mở quan hệ Process Pattern Binding 94 Hình V-14 Mô hình BPEL sau khi kiểm tra 95 Hình V-15 Kết quả thực thi tiến trình Modify Design 96 Hình V-16 Kết quả thực thi tiến trình Fagan Code Inspection 97 Hình V-17 Kết quả thực thi tiến trình Refactor Code 98 Hình V-18 Kết quả thực thi tiến trình sử dụng Process Pattern Binding 99 Hình A-1 ProcessElement  ParameterizableElement  Classifier 108 Hình A-2 ProcessElement  Classifier 109 Hình A-3 Mô hình sau khi xóa bỏ thừa kế ProcessElement  Classifier 110 Hình A-4 Thuộc tính type trùng với tên thuộc tính type của ObjectNode 110 Hình A-5 Mô hình sau khi đổi tên type thành productType 111 Hình A-6 Mô hình dƣ thừa thừa kế DirectedRelationShip 112 IV Hình A-7 Sau khi xóa thừa kế Aggreation, Refinement DirectedRelationship 112 Hình A-8 Lớp Resource abstract 113 Hình A-9 Mô hình sau khi chuyển lớp Resource không abstract 113 Hình A-10 StructuralModel và BehaviourModel là abstract 114 Hình A-11 StructuralModel và BehaviourModel không abstract 114 Hình A-12 Dƣ thừa lớp Edge và Node 115 Hình A-13 Xóa bỏ lớp Node và Edge 115 Hình A-14 Tất cả lớp con của ProcessElement đều thừa kế StructuralNode, ProcessRelation đều thừa kế từ StructuralEdge 116 Hình A-15 Mô hình chuyển ProcessRelation  StructuralEdge, ProcessElement  StructuralNode 117 Hình A-16 Dƣ thừa thừa kế Classifier trên lớp ProcessModel, ProcessPattern 118 Hình A-17 Sau khi loại bỏ thừa kế Classifier trên ProcessModel, ProcessPattern . 119 Hình A-18 Trùng quan hệ incoming, outgoing ở các lớp con ProcessElement nhƣ Task, Product và quan hệ target, source ở lớp PatternApplicationRelationship 120 Hình A-19 Đổi tên các quan hệ incoming, outgoing, source và target 121 Hình A-20 Trùng quan hệ target, source ở lớp PatternApplicationRelationship 122 Hình A-21 Xoá quan hệ thừa kế PatternApplicationRelationship  DirectedRelationship 123 V DANH SÁCH CÁC BẢNG  Bảng III-1 Các bộ máy thực thi BPMN và BPEL 45 Bảng III-2 UML1.4 Profile thành BPEL [23] 51 Bảng III-3 Bảng quan hệ giữa UML2 profile và BPEL 52 Bảng III-4 Luật chuyển đổi UMLActivity2BusinessProcess 53 Bảng III-5 Một số các luật chuyển đổi UML4SPM sang BPEL 54 Chƣơng I MỞ ĐẦU Giới thiệu Phát biểu bài toán Hƣớng tiếp cận của đề tài Các kết quả đạt đƣợc Bố cục của luận văn [...]... đang sử dụng tiến trình Nhằm hỗ trợ việc phân tích và cải tiến tiến trình, một yêu cầu cấp thiết đặt ra là phải thực hiện mô tả tƣờng minh các tiến trình Mô hình hóa tiến trình phần mềm là việc mô tả tiến trình phần mềm thông qua một hoặc một vài mô hình tiến trình Mô hình tiến trình là một bản mô tả tiến trình bằng một ngôn ngữ mô hình hóa nào đó (Process Modeling Language) Mô hình tiến trình là một mô. .. trọng để cải tiến tiến trình Việc cải tiến tiến trình có thể đƣợc thực hiên thông qua việc sử dụng các mẫu tiến trình nhằm tái cấu trúc tiến trình hiện có 2.1.4 Ngôn ngữ mô hình tiến trình Một mô hình tiến trình phải đƣợc diễn đạt bằng một ngôn ngữ nào đó Ngôn ngữ mô tả tiến trình định nghĩa các khái niệm dành cho các tiến trình, đồng thời cung cấp cú pháp và hệ thống ký hiệu để biểu diễn mô hình tiến trình. .. tính khả thi của việc dùng BPEL để cài đặt các tiến trình phần mềm và khảo sát các ƣu, khuyết điểm của việc sử dụng môi trƣờng thực thi tiến trình nghiệp vụ để thực thi tiến trình phần mềm Về bản chất, tiến trình phần mềm là một loại tiến trình nghiệp vụ Thế nhƣng trọng tâm của tiến trình phần mềm là các hoạt động và giao tiếp mang tính sáng tạo cao của con ngƣời trong khi đó trọng tâm của tiến trình. .. thi mô hình tiến trình phần mềm? Đó là xuất phát điểm của đề tài nghiên cứu đƣợc thực hiện trong luận văn này 1.2 Phát biểu bài toán Nhằm tận dụng môi trƣờng thực thi hỗ trợ tiến trình nghiệp vụ để giải quyết vấn đề thiếu môi trƣờng thực thi các mô hình tiến trình phần mềm, chúng tôi đã đề nghị đề tài Khảo sát khả năng sử dụng ngôn ngữ BPEL để cài đặt các mô hình tiến trình phần mềm Đề tài tập trung... tế với các hoạt động tính toán, nghiệp vụ Tiến trình phần mềm vì thế thƣờng phức tạp, khó định nghĩa chính xác và thiếu ổn định hơn so với các tiến trình nghiệp vụ Ngôn ngữ mô hình phần mềm đƣợc sử dụng để khảo sát là ngôn ngữ UML-PP [6], một ngôn ngữ mô hình mới do Tran.HN đề xuất với ƣu điểm cung cấp đầy đủ cú pháp cho các thành tố phần mềm đồng thời có hỗ trợ tái sử dụng mẫu tiến trình phần mềm (Process... bản (ngôn ngữ tự nhiên) hoặc ký hiệu đồ họa Mặc dù không chính xác, nhƣng các ngôn ngữ này có khả năng diễn đạt cao nên đƣợc dùng để mô tả các tiến trình phức tạp, ví dụ nhƣ các mô hình tiến trình đƣợc đề xuất trong CMMI và ISO 12207  Ngôn ngữ bán hình thức: Các ngôn ngữ này đƣa ra một định nghĩa rõ ràng các khái niệm của tiến trình, một cú pháp hình thức để tạo dựng các mô hình bằng cách sử dụng các. ..  Báo cáo tổng hợp về mô hình tiến trình nghiệp vụ, mô hình tiến trình phần mềm, tổng quan về chuyển đổi mô hình, hiện trạng các nghiên cứu về việc chuyển đổi mô hình giữa hai miền tiến trình phần mềm và tiến trình nghiệp vụ 7  Xây dựng metamodel của ngôn ngữ BPEL, metamodel của ngôn ngữ UML-PP Để hỗ trợ mô hình hóa các tiến trình UML-PP, chúng tôi đã xây dựng một công cụ mô hình UML-PP trên nền tảng... góc nhìn với mô hình tiến trình: mô hình cấu trúc và mô hình hành vi Mô hình cấu trúc (StructruralModel) mô tả các thành phần của tiến trình phần mềm cùng với các quan hệ giữa chúng Các nốt chính là các thành tố tiến trình và cạnh chính là các mối quan hệ trong tiến trình Các thành tố tiến trình bao gồm sản phẩm, tác vụ, vai trò thậm chí là các mẫu tiến trình Các mối quan hệ trong tiến trình bao gồm... UMLPP (MMUML-PP) và BPEL (MMBPEL) Một mô hình tiến trình phần mềm bất kỳ (MUML-PP) sẽ đƣợc chuyển đổi sang mô hình tiến trình nghiệp vụ (MBPEL) bằng cách xây dựng một bộ luật ATL (MATL) MATL đƣợc xây dựng dựa vào việc tìm kiếm các luật chuyển đổi từ metamodel MMUML-PP sang MMBPEL 1.4 Các kết quả đạt đƣợc Luận văn khảo sát việc sử dụng BPEL để cài đặt các mô hình tiến trình phần mềm, bƣớc đầu đã đạt... ngôn ngữ chuyển đổi mô hình sang văn bản) chuyển đổi mô hình BPEL sang BPEL XML và cuối cùng là cấu hình thực thi file BPEL XML kết quả  Chƣơng V trình bày các tiến trình đƣợc sử dụng để khảo sát, mô tả các quá trình thực hiện và kết quả các bƣớc chuyển đổi  Chƣơng VI phân tích, đánh giá các kết quả đã đạt đƣợc Các ƣu và nhƣợc điểm của việc dùng BPEL để cài đặt các tiến trình phần mềm cũng sẽ đƣợc mổ . dụng ngôn ngữ BPEL để cài đặt các mô hình tiến trình phần mềm . Đề tài tập trung làm rõ giả thuyết về tính khả thi của việc dùng BPEL để cài đặt các tiến trình phần mềm và khảo sát các ƣu, khuyết. dụng môi trƣờng thực thi hỗ trợ tiến trình nghiệp vụ để giải quyết vấn đề thiếu môi trƣờng thực thi các mô hình tiến trình phần mềm, chúng tôi đã đề nghị đề tài Khảo sát khả năng sử dụng ngôn. TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Trần Khải Hoàng KHẢO SÁT KHẢ NĂNG SỬ DỤNG NGÔN NGỮ BPEL ĐỂ CÀI ĐẶT CÁC MÔ HÌNH TIẾN TRÌNH PHẦN MỀM Chuyên ngành: Khoa học máy tính Mã số:

Ngày đăng: 09/10/2014, 21:04

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan