Kiểm tra ràng buộc thời gian sử dụng phương pháp AOP

76 697 0
Kiểm tra ràng buộc thời gian sử dụng phương pháp AOP

Đ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Ệ VŨ THỊ HỒNG HẠNH KIỂM TRA RÀNG BUỘC THỜI GIAN SỬ DỤNG PHƯƠNG PHÁP AOP LUẬN VĂN THẠC SĨ HÀ NỘI - 2010 4 MỤC LỤC Lời cam đoan 1 Tóm tắt nội dung 3 MỤC LỤC 4 DANH MỤC KÍ HIỆU – TỪ VIẾT TẮT 6 DANH MỤC HÌNH VẼ 7 Mở đầu 8 Chương 1. Giới thiệu lập trình hướng khía cạnh (Aspect-Oriented Programming) . 10 1.1 Giới thiệu 10 1.2 Lập trình hướng khía cạnh – AOP 11 1.2.1 Lịch sử hình thành 12 1.2.2 Phương pháp lập trình hướng khía cạnh 13 1.3 Ngôn ngữ lập trình hướng khía cạnh AspectJ 15 1.3.1 Các khái niệm cơ bản 15 1.3.2 Cơ chế hoạt động của AspectJ 16 1.3.2.1 Thực thi cắt ngang 16 1.3.2.2 Join point 17 1.3.2.3 Point cut 20 1.3.2.4 Advice 22 1.3.2.5 Introduction 24 1.3.2.6 Compile-time declaration 25 1.3.2.7 Aspect 25 1.3.3 Kết luận 27 Chương 2. Ngôn ngữ mô hình hoá đặc tả ràng buộc thời gian 28 2.1 Giới thiệu 28 2.2 Một số biểu đồ UML 28 2.2.1 Biểu đồ trạng thái 30 2.2.2 Biểu đồ trình tự 31 2.2.3 Biểu đồ thiết lập thời gian 31 2.2.3.1 Vấn đề đặc tả 31 2.2.3.2 Định nghĩa ràng buộc thời gian 33 2.2.3.3 Tầm quan trọng 33 2.3 Ngôn ngữ XML (eXtensible Markup Language) 34 2.3.1 Cơ bản về XML 34 2.3.2 XML DOM 36 2.3.2.1 DOM 36 2.3.2.2 XML DOM 37 2.3.2.3 XML DOM Parser 37 2.3.2.4 XML DOM API 38 2.4 XMI (XML Metadata Interchange) 39 2.5 Kết luận 40 5 Chương 3. Kiểm tra sự tuân thủ giữa thực thi và đặc tả ràng buộc thời gian 41 3.1 Phương pháp đặc tả 41 3.2 Đặc tả làm quy tắc sinh mã Aspect tự động 43 3.3 Kết luận 45 Chương 4. Tự động sinh mã Aspect từ máy trạng thái 46 4.1 Mô tả biểu đồ trình tự UML bằng các đối tượng trong Java 46 4.2 Xây dựng FSM mô tả biểu đồ trình tự UML 47 4.2.1 Máy trạng thái 47 4.2.2 Thuật toán xây dựng máy trạng thái mô tả biểu đồ trình tự UML 47 4.3 Sinh aspect từ FSM mô tả biểu đồ trạng thái UML 49 4.4 Kết luận 50 Chương 5. Thực nghiệm 51 5.1 Hệ thống thực nghiệm 51 5.1.1 Module sinh máy trạng thái từ đặc tả UML Timing diagram 51 5.1.1.1 Xây dựng cấu trúc dữ liệu mô tả biểu đồ trình tự 51 5.1.1.2 Đọc thông tin từ XML 54 5.1.1.3 Lấy ràng buộc thời gian từ file xml 55 5.1.2 Module sinh aspect từ biểu đồ trạng thái 58 5.1.2.1 Xây dựng mã aspect tạo khuân mẫu (template ) 58 5.1.2.2 Template tổng hợp cho kiểm tra tính tuần tự và ràng buộc thời gian. 59 5.1.2.3 Sinh mã Aspect tự động từ máy trạng thái và Template 63 5.2 Một ví dụ chạy thử nghiệm 64 5.2.1 Biểu đồ tuần tự và ràng buộc thời gian 64 5.2.2 chương trình sinh mã Aspect từ đặc tả UML 66 5.2.3 Một số giao dịch cụ thể 67 5.2.4 Kiểm tra kịch bản 68 5.2.4.1 Gọi đúng chuỗi trong biểu đồ tuần tự. 68 5.2.4.2 Chuỗi gọi không đúng tuần tự. 70 5.3 Kết luận 71 Kết luận 72 Kết luận về khóa luận 72 Hướng phát triển trong tương lai 73 6 DANH MỤC KÍ HIỆU – TỪ VIẾT TẮT AIS Account Information System AOP Aspect-Oriented Programming API Application Programming Interface ATM Automatic Teller Machine BDD Binary Decision Diagram CMU Carnegie Mellon University CTL Computation Tree Logic ERP Enterprise Resource Planning FSM Finite State Machine HR Human Resource IRST Istituto per la Ricerca Scientifica e Tecnolgica JAC Java Aspect Component LTL Linear Time Logic NIST National Institute of Standards and Technology OCL Object Constraint Language OOP Object-Oriented Programming PLTL Past Linear Time Logic PARC Palo Alto Research Center SPIN Simple Promela Interpreter UML Unified Modeling Language 7 DANH MỤC HÌNH VẼ Hình 1.1 Thực thi các mối quan tâm cắt ngang bằng AOP 12 Hình 1.2: Các giai đoạn phát triển AOP 15 Hình 1.3: Ví dụ về định nghĩa point cut. 21 Hình 1.4 các điểm khác nhau khi chèn vào join point 23 Hình 2.1 Biểu đồ UML 2.0 29 Hình 2.2: Biểu đồ trạng thái thực hiện hóa đơn 30 Hình 2.3: Biểu đồ tuần tự rút tiền từ máy ATM 31 Hình 2.4 UML Concise Timing Diagram 32 Hình 2.5 Minh họa biểu đồ ràng buộc thời gian 33 Hình 2.6: XML DOM Parser 38 Hình 2.7 Sử dụng XMI trao đổi thông tin giữa các công cụ khác nhau. 40 Hình 3.1: Tiến trình kiểm chứng chung 42 Hình 3.2: Biểu đồ trình tự UML Timing Diagram 44 Hình 4.1 Mô tả các đối tượng trong java 46 Hình 4.2 Mô Hình Máy trạng thái 47 Hình 5. 1 Mô tả việc thông điệp từ XML 54 Hình 5.2 Lớp đọc ràng buộc thời gian. 55 Hình 5.3 Cài đặt sinh máy trạng thái 58 Hình 5.4 Mã Aspect cho kiểm tra tính ràng buộc thời gian 59 Hinh 5.5. Biểu đồ tuần tự giao dịch rút tiền từ máy ATM 64 Hình 5.7. Chương trình sinh mã Aspects 66 Hình 5.8 Demo generate aspects. 67 Hình 5.9 Chương trình mô phỏng giao dịch để kiểm tra bằng mã aspect đã sinh. 67 8 Mở đầu 1. Đặt vấn đề Ngày nay công nghệ thông tin đã được ứng dụng vào tất cả các lĩnh vực của đời sống xã hội. Nó đã tạo ra một diện mạo mới cho xã hội và nhờ đó nền văn minh nhân loại đã được nâng lên một tầm cao mới. Nói đến công nghệ thông tin là nói đến công nghệ phần mềm – một phần không thể tách rời của công nghệ thông tin. Hiện nay ngành công nghệ phần mềm trên thế giới đã và đang phát triển như vũ bão. Những tiến bộ vượt bậc của khoa học kỹ thuật phần cứng đã tạo điều kiện thuận lợi cho công nghệ phần mềm ngày càng phát triển không ngừng. Phần mềm được coi là sản phẩm chính của công nghệ phần mềm, được phát triển theo các mô hình, quy trình phát triển đặc biệt. Quá trình phát triển phần mềm bao gồm rất nhiều giai đoạn: Thu thập yêu cầu, phân tích, thiết kế, xây dựng, kiểm tra, triển khai và bảo trì phần mềm. Trong các giai đoạn đó giai đoạn kiểm tra, phát hiện, xác định và sửa các lỗi phần mềm là rất quan trọng để đảm bảo chất lượng của một phần mềm. Các lỗi phần mềm có thể gây thiệt hại to lớn về tiền bạc, thời gian và công sức của con người. Lỗi phần mềm được phát hiện càng muộn thì càng gây hậu quả nghiêm trọng, tốn rất nhiều thời gian và công sức để sửa chữa lỗi, thậm chí có thể phải xây dựng lại toàn bộ hệ thống từ đầu. Chính vì vậy cần có các phương pháp phát hiện lỗi sớm nhằm giảm thiểu công sức để sửa chúng. Để phát hiện ra những lỗi phần mềm, phần mềm cần phải được kiểm chứng (Verification) và thẩm định (Valication) [13]. Kiểm chứng phần mềm là kiểm tra xem phần mềm có được thiết kế đúng và thực thi đúng như đặc tả yêu cầu hay không. Thẩm định phần mềm là giai đoạn có sự hỗ trợ của khách hàng nhằm kiểm tra xem phần mềm có đáp ứng được các yêu cầu của họ hay không. Mục đích chính của kiểm chứng phần mềm là làm giảm thiểu lỗi phần mềm tới mức có thể chấp nhận được. Chính vì vậy, nó có vai trò vô cùng quan trọng trong toàn bộ quy trình phát triển phần mềm và trong ngành công nghệ phần mềm hiện nay. Nó đã và đang thu hút được mối quan tâm của rất nhiều nhà nghiên cứu. Giai đoạn kiểm thử trong quy trình phát triển phần mềm có mục đích kiểm tra tính đúng đắn của sản phầm phần mềm. Trên thực tế, các thao tác kiểm thử đơn vị chỉ đánh giá được tính đúng sai của đầu vào và đầu ra của chương trình, không kiểm tra được quá 9 trình hoạt động logic của chương trình có theo đúng đặc tả ban đầu hay không. Những đơn vị chương trình nhỏ này nếu không được kiểm tra kỹ sẽ có thể gây ra thiệt hại nặng nề khi tích hợp chúng để tạo thành chương trình hoàn chỉnh. Vấn đề đặt ra là cần có phương pháp kiểm chứng các đặc tả giao thức giữa các đối tượng, các tác tử ngay trong thời gian chạy, đánh giá xem trong thời gian chạy đối tượng hay tác tử phần mềm có vi phạm các giao thức ràng buộc đã được đặc tả hay không, và từ đó đảm bảo chắc chắn hơn tính đúng đắn của sản phầm phần mềm. Trong luận văn này, tôi xin giới thiệu phương pháp tự động sinh mã aspect kiểm chứng đặc tả giao thức trong thời gian chạy, dựa trên phương pháp lập trình hướng khía cạnh (Aspect – Oriented Programming). 2. Nội dung bài toán Hiện nay có rất nhiều phương pháp kiểm chứng phần mềm như giả lập hay kiểm chứng mô hình. Trong phạm vi bài toán được đặt ra ở đây, tôi muốn đề cập tới phương pháp kiểm chứng phần mềm dựa trên phương pháp lập trình hướng khía cạnh (AOP) [7, 12]. Lĩnh vực kiểm chứng cụ thể trong phạm vi bài toán là kiểm tra tự động tính tuần tự của các phương thức trong giao thức, kiểm tra ràng buộc thời gian của các phương thức trong giao thức có tuân theo thiết kế đặc tả hay không. Trong cách tiếp cận này, một ứng dụng hướng đối tượng được đặc tả bằng mô hình UML và được cài đặt bằng ngôn ngữ Java;. Các aspect sau đó sẽ được đan vào khung mã Java để kiểm tra tại bất kỳ thời điểm nào trong thời gian chạy (aspect là mô-đun cắt ngang hệ thống). Bài toán có nhiệm vụ là tạo ra được các aspect từ biểu đồ ràng buộc thời gian (Timing Diagram); dùng công cụ AspectJ để đan các aspect này vào khung chương trình Java chính. Khi đó, trong quá trình chạy của chương trình, các đoạn mã aspect sẽ tự động kiểm tra các đặc tả giao thức và đưa ra thông báo lỗi khi có bất kỳ vi phạm nào xảy ra. Nhiệm vụ chính của bài toán là xây dựng phương pháp tạo ra các đoạn mã aspect để kiểm chứng, xây dựng công cụ tự động sinh mã aspect kiểm chứng từ đặc tả giao thức bằng biểu đồ ràng buộc thời gian. Các tài liệu XMI chính là đầu vào cho công cụ cần xây dựng. Dựa vào các kiến thức về UML, XML tôi sẽ phân tích tài liệu XMI, xây dựng máy trạng thái (FSM) mô tả các biểu đồ UML. Sử dụng máy trạng thái vừa tạo để sinh ra mã aspect phục vụ cho việc kiểm chứng sau này. Mã aspect chính là đầu ra cuối cùng của công cụ. 10 Chương 1. Giới thiệu lập trình hướng khía cạnh (Aspect-Oriented Programming) 1.1 Giới thiệu Khi kiến trúc sư thiết kế một ngôi nhà, những mối quan tâm chính nhất mà kiến trúc sư đó nghĩ tới đầu tiên là việc lựa chọn các tính năng cơ bản của ngôi nhà: Thiết kế nền móng, chiều cao của tường, độ dốc của mái, vị trí và kích thước của phòng Các vấn đề được quan tâm tiếp theo là các tính năng đều cần thiết và được chia sẻ bởi các tính năng cơ bản trên, ví dụ như thiết kế điện nước. Khi thiết kế một chiếc cầu, các mối quan tâm cơ bản là trụ cầu, giàn kéo, xà dầm, dây cáp; còn các mối quan tâm theo tiếp theo gồm các tính năng dàn trải toàn bộ công trình là lắp đặt hệ thống điện.Việc thiết kế phần mềm cũng dựa trên tư tưởng tương tự như thế.Một nhà thiết kế phần mềm đầu tiên bao giờ cũng quan tâm đến các chức năng chính, cơ bản của hệ thống, mà trong ứng dụng doanh nghiệp chính là các logic nghiệp vụ cơ bản. Ví dụ như trong một ứng dụng về ngân hàng, các mô-đun chính được thiết kế để quản lý các giao dịch ngân hàng cho các khách hàng thực hiện. Trong ứng dụng bán hàng, mô-đun chính quản lý việc bán hàng và quản lý hàng trong kho.Trong cả hai ứng dụng trên, các mối quan tâm trải khắp hệ thống liên quan đến các tính năng như lưu vết (logging), thẩm định quyền hạn (authorization), lưu trữ dữ liệu (persistence) và các tính năng khác đều cần được chia sẻ và cần thiết cho các các mô-đun nghiệp vụ chính. Các mối quan tâm dàn trải trên rất nhiều các mô-đun nghiệp vụ chính được gọi là các mối quan tâm cắt ngang hệ thống (crosscutting concern). Mặc dù lập trình hướng đối tượng (Object-Oriented Programming -OOP) là phương pháp phổ biến nhất hiện nay được sử dụng để quảnlý các mối quan tâm nghiệp vụ chính nhưng phương pháp này chưa đủ cho rất nhiều các mối quan tâm cắt ngang hệ thống, đặc biệt là các ứng dụng phức tạp.Phương pháp lập trình hướng khía cạnh (Aspect-Oriented Programming - AOP) [10, 16, 22] là phương pháp lập trình mới cung cấp sự tách biệt các mối quan tâm cắt ngang hệ thống bằng cách đưa ra một đơn vị mô-đun mới cắt ngang các mô-đun khác, đó chính là aspect. Với AOP, ta có thể cài đặt các mối quan tâm cắt ngang hệ thống trong các aspect thay vì dàn trải chúng trên các mô-đun nghiệp vụ chính liên quan. Quá trình bộ đan aspect (weaver) kết hợp các mô-đun nghiệp vụ chính với các aspect thành hệ thống cuối cùng được gọi là quá trình đan (weaving). Như vậy, AOP đã 11 mô-đun hóa các mối quan tâm cắt ngang một cách rõ ràng, tách biệt với các mô-đun nghiệp vụ chính giúp cho việc thiết kế, thực thi và bảo trì hệ thống dễ dàng hơn và tốn ít chi phí, công sức. Chương này giới thiệu về phương pháp lập trình hướng khía cạnh AOP. Chương này cũng trình bày về AspectJ, một cài đặt phổ biến của AOP trên ngôn ngữ Java. 1.2 Lập trình hướng khía cạnh – AOP Thực tế thì, mặc dù OOP giải quyết rất tốt trong việc mô-đun hóa các mối quan tâm nghiệp vụ chính nhưng lại gặp khó khăn trong việc mô-đun hóa các mối quan tâm cắt ngang hệ thống. Phương pháp AOP được phát triển để giải quyết khó khăn này của OOP. Trong AOP, các mối quan tâm cắt ngang hệ thống được mô-đun hóa bằng cách xác định rành mạch vai trò của mỗi mối quan tâm trong hệ thống, thực thi mỗi vai trò đó trong mô- đun riêng của chúng, và kết nối lỏng mỗi mô-đun chỉ với một số hữu hạn các mô-đun khác. Hình 1 minh họa việc thực thi các mối quan tâm cắt ngang bằng AOP. Ở đây, các lời triệu gọi tới các mối quan tâm cắt ngang được tự động đan vào các mô-đun nghiệp vụ chính thông qua aspect. Aspect là một đơn vị mô-đun mới cho phép định nghĩa các quy tắc đan cũng như hành động đan vào các mô-đun nghiệp vụ chính.AOP phát triển dựa trên các phương pháp lập trình khác như OOP và lập trình hướng thủ tục, bổ sung thêm các khái niệm và các tổ chức mới nhằm mô-đun hóa các mối quan tâm cắt ngang hệ thống. Với AOP, ta có thể cài đặt các mối quan tâm nghiệp vụ chính bằng phương pháp lập trình chính đã chọn. Ví dụ như, nếu OOP là phương pháp lập trình chính thì ta có thể cài đặt các mối quan tâm bằng các lớp. Các aspect trong hệ thống đóng gói các mối quan tâm cắt ngang hệ thống; chúng quy định các mô-đun khác nhau trong hệ thống cần phải được đan với nhau như thế nào để thu được hệ thống cuối cùng. Điểm khác biệt cơ bản nhất giữa AOP và OOP chính là việc quản lý các mối quan tâm cắt ngang hệ thống trong AOP, 12 người lập trình cài đặt các mối quan Hình 1.1 Thực thi các mối quan tâm cắt ngang bằng AOP tâm nghiệp vụ chính mà không cần quan tâm đến các hành vi cắt ngang chúng sẽ được đan vào như thế nào. Ví dụ như một mô-đun nghiệp vụ chính không cần biết các hoạt động của nó đang được lưu vết hoặc thẩm định quyền hạn. Như thế, việc cài đặt các mối quan tâm riêng lẻ là độc lập với nhau. 1.2.1 Lịch sử hình thành Trong nhiều năm gần đây, nhiều nhà lí luận đã cho rằng cách tốt nhất để tạo ra được các hệ thống có thể quản lý được là nhận biết và tách biệt các mối quan tâm của hệ thống. Chủ đề này được biết đến với tên là “tách biệt các mối quan tâm” (Separation Of Concerns - SOC). Trong một bài báo vào năm 1972, David Parnas đã đề xuất rằng cách tốt nhất để có được SOC là thông qua mô-đun hóa - quá trình tạo ra các mô-đun trong đó che giấu cách giải quyết của mô-đun này với các mô-đun khác. Những năm tiếp theo, các [...]... lập thời gian và biểu đồ trình tự là trục thời gian nằm ngang, thời gian tăng dần từ trái sang phải Biểu đồ thiết lập thời gian có hai kiểu: Concise notation và robust notation Kí pháp ngắn gọn (Concise notation) biểu diễn dòng thời gian khá rõ ràng, biểu đồ thiết lập thời gian trong kí pháp ngắn gọn biểu diễn chu kì sống của lifeline từng giai đoạn của thời gian Trong kí pháp này, biểu đồ thiết lập thời. .. kết thúc một giai đoạn mà nhấn mạnh ràng buộc thời gian Biểu đồ thiết lập thời gian biểu diễn sự thay đổi trạng thái của đối tượng trong một giai đoạn mà nhấn mạnh ràng buộc thời gian Nó được sử dụng để thiết kế phần mềm nhúng, ví dụ như phần mềm điều khiển bơm nhiên liệu vào hệ thống xe hơi, đôi lúc chúng được sử dụng trong kinh doanh 31 Biểu đồ thiết lập thời gian cũng là một kiểu đặc biệt của biểu... (lifelines) Kí pháp vững chắc tìm hiểu chi tiết những gì xảy ra trong lifeline Lifeline là mô hình đơn giản bởi việc thêm các đoạn vào hệ thống 32 Hình 2.5 Minh họa biểu đồ ràng buộc thời gian cả hai kí pháp đều có các mục đích riêng, mặc dù kí pháp vững chắc hữu ích hơn của hai đối tượng cụ thể mà di chuyển tới hoặc lui giữa các trạng thái 2.2.3.2 Định nghĩa ràng buộc thời gian Ràng buộc thời gian được... ra Chúng thường dùng một lượng thời gian mà sự tham gia ở trong trạng thái ngoại lệ hoặc bao lâu một sự kiện diễn ra được gọi và nhận được biểu diễn trong hình 2 5 Sự áp dụng ràng buộc thời gian vào biểu đồ này Khoảng thời gian của một sự kiện phải nhỏ 33 hơn của quan hệ đo thời gian t và p2: participant2 ở trong trạng thái 4 cho giá trị lớn nhất 5 giây Ràng buộc thời gian có thể được chỉ rõ trong một... thể được chỉ rõ trong một số cách khác dựa vào thông tin bị phức tạp Với nhiều cách định rõ ràng buộc thời gian, chúng tôi chọn timing Diagram là phương tiện miêu tả ràng buộc thời gian của hệ thống trong hướng tiếp cận này Tuy nhiên, chúng ta không thể biểu diễn ràng buộc thời gian từ Timing Diagram tự động cho kiểm chứng nào Vì vậy ta có thể thay đổi thông tin này sang mẫu khác Chúng ta chọn XMI bởi... hợp lệ (validation action), dùng đo khoảng thời gian gọi một phương thức hoặc trình tự việc gọi phương thức Xác nhận tính hợp lệ của hành động là cơ chế kiểm tra giá trị thực của biến (variable) tại thời điểm thực thi có phù hợp với giá trị mong muốn của biến không 2.2.3.3 Tầm quan trọng Ràng buộc thời gian thực sự quan trọng trong biểu đồ thiết lập thời gian Nó mô tả chi tiết bao lâu sự phân chia... pháp này, biểu đồ thiết lập thời gian sẽ biểu diễn trạng thái lifeline, việc thay đổi điểm giữa các trạng thái này và ràng buộc thời gian của biểu đồ Hình 2.4 UML Concise Timing Diagram Kí pháp ngắn gọn rất thuận lợi được sử dụng khi bạn cần khảo sát những hành vi chung của một hoặc nhiều đối tượng trong suốt một chu kì của thời gian trong khi xem nguồn gốc được sử dụng khi bạn cần vẽ thông tin chi... thi cắt ngang động Ví dụ như khi thêm dữ liệu và phương thức mới vào lớp và phương thức đã có nhằm định nghĩa ra các trạng thái và các hành vi của một lớp nào đó sử ụng trong các hành động của thực thi cắt ngang động Thực thi cắt ngang tĩnh còn được sử dụng nhằm khai báo các cảnh báo và lỗi tại thời điểm biên dịch cho nhiều mô-đun AspectJ sử dụng các cú pháp mở rộng cho ngôn ngữ lập trình Java để chỉ... báo thực thể tên X Khai báo thực thể tên Y] Thẻ khai báo cấu trúc Các thẻ XML không được định nghĩa trước trong cú pháp XML, người sử dụng có thể tự định nghĩa theo các thẻ theo ý thích khi sử dụng XML XML sử dụng DTD hoặc XML schema để mô tả dữ liệu XML biểu diễn dữ liệu bằng cách sử dụng các thành phần XML, trong đó chứa một trong các thành phần sau đây: - Thẻ bắt đầu: Chứa tên của thành phần - XML... xảy ra tại một thời điểm nào đó trong quá trình thực thi hệ thống Biểu đồ tuần tự gồm hai thành phần chính: - Các đối tượng - Các thông điệp trao đổi giữa các đối tượng 2.2.3 Biểu đồ thiết lập thời gian 2.2.3.1 Vấn đề đặc tả Biểu đồ thiết lập thời gian (Timing Diagram là kiểu biểu đồ mới được thêm vào UML 2.0 Nó là một dạng đặc biệt của biểu đồ tương tác (interaction Diagram), được sử dụng để khảo sát . QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ VŨ THỊ HỒNG HẠNH KIỂM TRA RÀNG BUỘC THỜI GIAN SỬ DỤNG PHƯƠNG PHÁP AOP LUẬN VĂN THẠC SĨ HÀ NỘI - 2010 . thông điệp từ XML 54 Hình 5.2 Lớp đọc ràng buộc thời gian. 55 Hình 5.3 Cài đặt sinh máy trạng thái 58 Hình 5.4 Mã Aspect cho kiểm tra tính ràng buộc thời gian 59 Hinh 5.5. Biểu đồ tuần tự giao. kiểm chứng cụ thể trong phạm vi bài toán là kiểm tra tự động tính tuần tự của các phương thức trong giao thức, kiểm tra ràng buộc thời gian của các phương thức trong giao thức có tuân theo thiết

Ngày đăng: 06/07/2015, 21:23

Mục lục

  • DANH MỤC KÍ HIỆU – TỪ VIẾT TẮT

  • DANH MỤC HÌNH VẼ

  • 1.2 Lập trình hướng khía cạnh – AOP

  • 1.2.1 Lịch sử hình thành

  • 1.2.2 Phương pháp lập trình hướng khía cạnh

  • 1.3 Ngôn ngữ lập trình hướng khía cạnh AspectJ

  • 1.3.1 Các khái niệm cơ bản

  • 1.3.2 Cơ chế hoạt động của AspectJ

  • 2.2 Một số biểu đồ UML

  • 2.2.1 Biểu đồ trạng thái

  • 2.2.2 Biểu đồ trình tự

  • 2.2.3 Biểu đồ thiết lập thời gian

  • 2.3 Ngôn ngữ XML (eXtensible Markup Language)

  • 2.3.1 Cơ bản về XML

  • 2.4 XMI (XML Metadata Interchange)

  • 3.1 Phương pháp đặc tả

  • 3.2 Đặc tả làm quy tắc sinh mã Aspect tự động

  • Chương 4. Tự động sinh mã Aspect từ máy trạng thái

  • 4.2 Xây dựng FSM mô tả biểu đồ trình tự UML

  • 4.3 Sinh aspect từ FSM mô tả biểu đồ trạng thái UML

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

Tài liệu liên quan