Phương pháp kiểm chứng tính đúng đắn của các biểu đồ tuần tự UML 2.0

13 533 0
Phương pháp kiểm chứng tính đúng đắn của các biểu đồ tuần tự UML 2.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Ệ TRẦN QUỐC NAM PHƢƠNG PHÁP KIỂM CHỨNG TÍNH ĐÚNG ĐẮN CỦA CÁC BIỂU ĐỒ TUẦN TỰ UML 2.0 Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã Số: 60 48 01 03 LUẬN VĂN THẠC SĨ Ngành: Công nghệ Thông tin NGƢỜI HƢỚNG DẪN KHOA HỌC: TS TRỊNH THANH BÌNH ĐỒNG HƢỚNG DẪN: TS PHẠM NGỌC HÙNG Hà nội – 2015 i MỤC LỤC MỤC LỤC i LỜI CẢM ƠN iii LỜI CAM ĐOAN iv DANH MỤC THUẬT NGỮ VIẾT TẮT v DANH MỤC HÌNH VẼ vi DANH MỤC BẢNG viii Chương 1: Giới thiệu Chương 2: Phương pháp phân tích biểu đồ nhằm xây dựng mô hình đặc tảError! Book 2.1 Biểu đồ UML2.0 Error! Bookmark not defined 2.2 Phương pháp phân tích đối tượng biểu đồ thành khối đơnError! Bookmark 2.3 Phương pháp sinh ôtômat vào/ra từ khối đơn biểu đồ tuần tựError! Bookmark not 2.3.1 Trường hợp khối đơn không chứa phân đoạn nàoError! Bookmark not defined 2.3.2 Trường hợp khối đơn chứa phân đoạn OptionError! Bookmark not defined 2.3.3 Trường hợp khối đơn chứa phân đoạn AlternativeError! Bookmark not defined 2.3.4 Trường hợp khối đơn chứa phân đoạn LoopError! Bookmark not defined 2.3.5 Trường hợp khối đơn chứa phân đoạn BreakError! Bookmark not defined 2.3.6 Trường hợp khối đơn chứa phân đoạn ParallelError! Bookmark not defined 2.3.7 Trường hợp khối đơn chứa phân đoạn StrictError! Bookmark not defined 2.3.8 Trường hợp khối đơn chứa phân đoạn CriticalError! Bookmark not defined 2.3.9 Trường hợp khối đơn chứa phân đoạn ConsiderError! Bookmark not defined 2.3.10 Trường hợp khối đơn chứa phân đoạn IgnoreError! Bookmark not defined 2.4 Phương pháp xây dựng ôtômat vào/ra cho đối tượng biểu đồ tuần tựError! Bookmark Chương 3: Công cụ sinh ôtômat vào/ra từ biểu đồ Error! Bookmark not defined ii 3.1 Giới thiệu công cụ Error! Bookmark not defined 3.2 Thực nghiệm Error! Bookmark not defined 3.2.1 Bài toán đặt chỗ Error! Bookmark not defined 3.2.2 Bài toán máy toán siêu thị Error! Bookmark not defined 3.3 Đánh giá Error! Bookmark not defined Chương 4: Phương pháp kiểm chứng tính đắn biểu đồ qua ôtômat vào/ra Error! Bookmark not defined 4.1 Kiểm chứng tính đắn biểu đồ qua ôtômat vào/raError! Bookmark not de 4.2 Áp dụng phương pháp kiểm chứng với trường hợp toán đặt chỗError! Bookmark not Chương 5: KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO iii LỜI CẢM ƠN Trước tiên xin dành lời cảm ơn chân thành sâu sắc đến hai thầy giáo, TS Trịnh Thanh Bình TS Phạm Ngọc Hùng – người hướng dẫn, khuyến khích, bảo tạo cho điều kiện tốt từ bắt đầu hoàn thành công việc Tôi xin dành lời cảm ơn chân thành tới thầy cô giáo khoa Công nghệ thông tin, trường Đại học Công nghệ, ĐH QGHN tận tình đào tạo, cung cấp cho kiến thức vô quý giá tạo điều kiện tốt cho suốt trình học tập, nghiên cứu trường Đồng thời xin chân thành cảm ơn người thân gia đình toàn thể bạn bè giúp đỡ, động viên lúc gặp phải khó khăn việc học tập nghiên cứu chương trình thạc sĩ Đại học Công nghệ, ĐH QGHN iv LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ công nghệ thông tin “Phương pháp kiểm chứng tính đắn biểu đồ UML 2.0” công trình nghiên cứu riêng tôi, không chép lại người khác Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất nguồn tài liệu tham khảo có xuất xứ rõ ràng hợp pháp Tôi xin hoàn toàn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày … tháng … năm 2015 Trần Quốc Nam v DANH MỤC THUẬT NGỮ VIẾT TẮT Từ viết tắt Từ đầy đủ Ý nghĩa DFA Deterministic Finite Automata Ôtômat hữu hạn trạng thái I/O Automata Input/Output Automata Ôtômat vào/ra FG Fragment Phân đoạn SD Sequence Diagram Biểu đồ OP Interaction Operand Toán hạng tương tác STT vi DANH MỤC HÌNH VẼ Hình 2.1 Phân đoạn Loop Error! Bookmark not defined Hình 2.2 Phân đoạn Alt Error! Bookmark not defined Hình 2.3 Phân đoạn Par ví dụ thứ tự thực Error! Bookmark not defined Hình 2.4 Phân đoạn Opt Error! Bookmark not defined Hình 2.5 Phân đoạn Break Error! Bookmark not defined Hình 2.6 Phân đoạn Seq Error! Bookmark not defined Hình 2.7 Phân đoạn Strict Error! Bookmark not defined Hình 2.8 Phân đoạn Ignore Error! Bookmark not defined Hình 2.9 Phân đoạn Consider Error! Bookmark not defined Hình 2.10 Phân đoạn Critical Error! Bookmark not defined Hình 2.11 Phân đoạn Neg Error! Bookmark not defined Hình 2.12 Phân đoạn Assert Error! Bookmark not defined Hình 2.13 Khối đơn gồm phân đoạn opt Error! Bookmark not defined Hình 2.14 Khối đơn không chứa phân đoạn ôtômát cho đối tượng User Error! Bookmark not defined Hình 2.15 Khối đơn chứa phân đoạn Option ôtômat cho đối tượng User Error! Bookmark not defined Hình 2.16 Khối đơn chứa phân đoạn Alternative ôtômat cho đối tượng User Error! Bookmark not defined Hình 2.17 Khối đơn chứa phân đoạn Loop ôtômat cho đối tượng User Error! Bookmark not defined Hình 2.18 Khối đơn chứa phân đoạn Break ôtômat cho đối tượng User Error! Bookmark not defined vii Hình 2.19 Khối đơn chứa phân đoạn Paraller ôtômat cho đối tượng Admin Error! Bookmark not defined Hình 2.20 Khối đơn chứa phân đoạn Strict ôtômat cho đối tượng User Error! Bookmark not defined Hình 2.21 Khối đơn chứa phân đoạn Critical ôtômat cho đối tượng User Error! Bookmark not defined Hình 2.21 Khối đơn chứa phân đoạn Consider ôtômat cho đối tượng User Error! Bookmark not defined Hình 2.22 Khối đơn chứa phân đoạn Ignore ôtômat cho đối tượng User Error! Bookmark not defined Hình 4.1.1 Kiến trúc công cụ Error! Bookmark not defined Hình 4.1.2 Biểu đồ lớp công cụ Error! Bookmark not defined Hình 4.1.3 Khối Loop đơn giản Error! Bookmark not defined Hình 4.1.4 Đầu công cụ với khối Loop đơn giảnError! Bookmark not defined Hình 4.2.1 Biểu đồ xử lý đặt chỗ Error! Bookmark not defined Hình 4.2.2 Đầu mong muốn cho đối tượng Oder Error! Bookmark not defined Hình 4.2.3 Đầu mong muốn cho đối tượng Ticket Error! Bookmark not defined Hình 4.2.4 Đầu mong muốn cho đối tượng AccountError! Bookmark not defined Hình 4.2.5 Biểu đồ máy toán siêu thị Error! Bookmark not defined Hình 4.2.6 Đầu mong muốn cho đối tượng CustomerError! Bookmark not defined Hình 4.2.7 Đầu mong muốn cho đối tượng Cashier Error! Bookmark not defined Hình 4.2.8 Đầu mong muốn cho đối tượng Card ProcessorError! Bookmark not defined Hình 4.2.9 Đầu mong muốn cho đối tượng Cash RegisterError! Bookmark not defined viii ix DANH MỤC BẢNG Bảng 5.1 Mô kiểm chứng thuộc tính P với toán đặt chỗ.Error! Bookmark not defined 1 Chƣơng 1: Giới thiệu Đảm bảo chất lượng vấn đề quan trọng tiêu tốn chi phí cao trình phát triển phần mềm Tự động hóa trình đảm bảo chất lượng tiêu chí hướng tới doanh nghiệp nhằm giảm chi phí phát triển từ khâu thiết kế Ngoài ra, sản phẩm có yêu cầu chất lượng cao hệ thống điều khiển máy bay, tàu ga, kỹ thuật quân sự, y tế v.v nhà đầu tư yêu cầu áp dụng phương pháp hình thức nhằm đảm bảo tính đắn thiết kế trước triển khai Giải pháp phố biến để giải vấn đề áp dụng phương pháp kiểm chứng mô hình để tự động hóa trình kiểm chứng tính đắn thiết kế [2], [6], [9] Để áp dụng phương pháp này, ta cần phải xây dựng mô hình đặc tả xác hành vi hệ thống cần kiểm chứng [4], [10], [11] Tuy nhiên, xây dựng mô hình cho hệ thống phần mềm công việc khó khăn tiềm ẩn nhiều lỗi Các nghiên cứu hầu hết giả sử mô hình có đắn Trong thực tế, giả định khó để thực, từ phía công ty phát triển phần mềm Hạn chế nguyên nhân dẫn đến phương pháp khó áp dụng thực tế Để giải vấn đề nêu trên, hướng tiếp cận sử dụng đầu vào cho phương pháp kiểm chứng từ biểu đồ thiết kế UML Việc đưa phương pháp mô hình hóa biểu đồ UML, biểu đồ UML 2.0, giúp cho việc áp dụng phương pháp kiểm chứng mô hình hoàn toàn thực thực tế Nghiên cứu đề cập [3] tập trung xây dựng ôtômat cho biểu đồ Phương pháp đảm bảo thuộc tính an toàn (safety properties) [7], kiểm tra hành vi cách theo thời gian Cách tiếp cận tính hướng đối tượng vốn có biểu đồ tương tác đối tượng với nhau, gửi nhận loại thông điệp, điểm xuất phát điểm đến chúng, đặc biệt hệ thống tương tranh Vì cách khác ta cần bóc tách xây dựng ôtômat thể hành vi đối tượng mối quan hệ với đối tượng khác từ ta có hành vi hệ thống Một cách tiếp cận để giải vấn đề đề xuất [5] Ý tưởng phương pháp xây dựng ôtômat vào/ra (Input/Output Automata – I/O TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đỗ Đức Giáo (2011), Toán rời rạc ứng dụng tin học, Nhà xuất giáo dục Việt Nam Tiếng Anh [2] Clarke, E M.; Grumberg, O & Peled, D A (2000), Model checking, MIT, Cambridge, Mass [3] H M Duong, L K Trinh, and P N Hung (2013), “An Assume-Guarantee Model Checker for Component-Based Systems”, The 10th IEEE-RIVF International Conference on Computing and Communication Technologies [4] L B Cuong and P N Hung (2012), “A Method for Generating Models of Blackbox Components”, 4th International Conference on Knowledge and Systems Engineering (KSE 2012), IEEE Computer Society Press, pp 177-222 [5] Zhang, C & Duan, Z (2011), Specification and Verification of UML2.0 Sequence Diagrams Using Event Deterministic Finite Automata., in 'SSIRI (Companion)', IEEE Computer Society, , pp 41-46 [6] J Magee and J Kramer (1990), „Concurrency: State Models and Java Programs‟, John Wiley and Sons [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 [8] Lynch, N A & Tuttle, M R (1989), 'An introduction to input/output automata', CWI Quarterly 2, 219 246 [9] D Lorenzoli, L Mariani and M Pezz` e (2008), “Automatic generation of software behavioral models”, ACM, Proceedings of the 30th international conference on Software engineering, pp 501-510 [10] J.C Corbett, M.B Dwyer, J Hatcliff, S Laubach, C.S Pasareanu, Robby and Hongjun Zheng (2000), ”Bandera: extracting finite-state models from Java source code”, Software Engineering, Proceedings of the 2000 International Conference on, pp 439-448d [11] O Tkachuk, M.B Dwyer and C.S Pasareanu (2003), “Automated environment generation for software model checking”, Automated Software Engineering, Proceedings 18th IEEE International Conference on, pp 116-127 [12] cand inform Claus-André Ohlhoff (2006) Consistent Refinement of Sequence Diagrams in the UML 2.0 Hamburg: Christian-Albrechts-Universität zu Kiel

Ngày đăng: 23/10/2016, 21:37

Từ khóa liên quan

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

Tài liệu liên quan