Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
506,21 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hoàng Thế Tùng XÂY DỰNGHỆTHỐNGGIẢIBÀITOÁNSMTHIỆUNĂNGCAO–PHẦNMÁYTRẠM KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ phần mềm Cán bộ hướng dẫn: TS. Trương Anh Hoàng Cán bộ đồng hướng dẫn: TS. Phạm Ngọc Hùng HÀ NỘI - 2010 Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng Lời cảm ơn Trước hết, tôi xin gửi lời cảm ơn chân thành và sâu sắc đến Tiến sỹ Trương Anh Hoàng và Tiến sỹ Phạm Ngọc Hùng, những người đã trực tiếp hướng dẫn tôi trong suốt quá trình nghiên cứu và phát triển đề tài nghiên cứu này. Để có được những kết quả nghiên cứu như hiện nay, tôi vô cùng biết ơn sự quan tâm, hướng dẫn nhiệt tình của hai thầy trong thời gian vừa qua. Tôi xin chân thành cảm ơn các thầy cô trong trường Đại học công nghệ, Đại học Quốc Gia Hà Nội nói chung, và các thầy cô trong khoa công nghệ thông tin nói riêng, những người đã nhiệt tình giảng dạy, giúp tôi có những kiến thức quý báu để tôi có thể hoàn thành được đề tài luận văn này. Tôi xin bày tỏ lòng cảm ơn đến các anh chị cao học, và các bạn trong nhóm nghiên cứu đã cùng tôi tìm hiểu và xây dựng hoàn chỉnh hệthốnggiải quyết bàitoán Satisfiability Modulo Theories (SMT) với hiệunăng cao, giúp tôi có thể hoàn thành tốt phần nghiên cứu của mình. Và cuối cùng, tôi xin gửi lời cảm ơn đến gia đình, bạn bè và những người thân đã bên cạnh, động viên giúp tôi hoàn thành tốt luận văn của mình. Hà Nội, tháng 05/2010 Hoàng Thế Tùng Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng Tóm tắt nội dung Vấn đề giải quyết các bàitoán Satisfiability Modulo Theories (SMT) hiện nay đang được nghiên cứu và phát triển ở nhiều nơi trên thế giới. Cho đến ngày nay, nhiều trường đại học, tổ chức đã nghiên cứu và đưa ra những bộ giảigiải quyết bàitoánSMT (hay còn gọi là SMT solver). Ví dụ như Z3 của Mcrosoft, yices của SRI, CVC3 của một số trường đại học danh tiếng của Mỹ. hay boolector, openSMT của một số trường đại học danh tiếng khác… Tuy nhiên, mỗi solver có một lợi thế ưu điểm riêng đối với các dạng khác nhau của bàitoán SMT. Vậy vấn đề đặt ra là làm sao để tận dụng được hết các ưu điểm đó cho từng bài toán. Để giải quyết vấn đề ấy, nhóm nghiên cứu đã nghiên cứu và xây dựng một hệthốnggiải quyết bàitoánSMT trực tuyến, kết hợp nhiều bộ giải khác nhau để đưa ra được lời giải tối ưu cho từng bàitoán SMT. Trong khuôn khổ khóa luận tốt nghiệp này của cá nhân tôi, tôi đã xây dựng hai hệthống con của hệthống đã nêu trên là hệthống trên máy khách (users) và trên máytrạm (sử dụng để gọi các Solver). Hệthống trên máy khách sẽ đảm nhiệm việc cung cấp một giao diện lập trình ứng dụng (Application Programming Interface hay API) để người dùng sử dụng có thể xây dựngbàitoánSMT theo chuẩn thư viện SMT (SMT- LIB) và sau đó là gửi bàitoán đến máy chủ (server). Hệthống trên máytrạm sẽ tiếp nhận bàitoán từ máy chủ và gọi các bộ giải để giải quyết bàitoán đó và gửi về máy chủ kết quả. Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng Mục lục Chương 1. Mở đầu 1 1.1. Giới thiệu 1 1.2. Bàitoán đặt ra 1 1.3. Cấu trúc nội dung tài liệu 2 Chương 2. Kiến thức nền tảng 3 2.1. Giới thiệu SMT 3 2.2. Bộ giảiSMT (SMT solver) 3 2.3. Thư viện SMT (SMT-LIB) 4 2.3.1. Cấu trúc cơ bản của SMT-LIB 4 2.3.2. Khuôn dạng của SMT-LIB 5 Chương 3. Phân tích hệthống 12 3.1. Mô hình hệthống 12 3.2. Mô hình ca sử dụng của hệthống 13 3.3. Mô hình hoạt động 15 Chương 4. Phương hướng giải quyết vấn đề 17 4.1. Lựa chọn phương thức kết nối 17 4.2. Lựa chọn ngôn ngữ lập trình 17 4.3. Xác định dữ liệu đầu vào, đầu ra của hệthống 17 Chương 5. Mô tả hệthống 19 5.1. Quy định cách thức giao tiếp với máy chủ 19 5.2. Phầnmáy khách 20 5.2.1. Quy định giao tiếp với máy chủ 20 5.2.2. Các lớp của hệthốngmáy khách 21 5.2.2.1. Lớp config 21 5.2.2.2. Lớp Client: 21 5.2.2.3. Lớp NetSolver 21 5.2.2.4. Lớp Bench_attribute 22 5.2.2.5. Lớp Formula 22 5.2.2.6. Lớp func_decl 23 5.2.2.7. Lớp pred_decl 24 Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng 5.2.2.8. Lớp Term 24 5.2.2.9. Lớp annotation 24 5.2.2.10. Lớp varDecl 24 5.2.2.11. Lớp fvarDecl 24 5.2.2.12. Lớp Arith_symb 25 5.2.2.13. Lớp Identifier 25 5.2.2.14. Lớp quant_var 25 5.3. Phầnmáytrạm 26 5.3.1. Cơ chế làm việc của máytrạm 26 5.3.2. Quy định giao tiếp với máy chủ 27 5.3.3. Hoạt động của hệthốngmáytrạm 28 5.3.4. Các lớp của hệthốngmáytrạm 30 5.3.4.1. Biểu đồ lớp của hệthống 30 5.3.4.2. Lớp config 30 5.3.4.3. Lớp sessionID 30 5.3.4.4. Lớp Solver 31 5.3.4.5. Lớp ReadThread 31 5.3.4.6. Lớp WriteThread 34 5.4. Tổng kết 34 Chương 6. Cài đặt và thử nghiệm 36 6.1. Cài đặt 36 6.2. Bàitoán thực nghiệm 36 6.2.1. Xây dựngbàitoánSMT dựa trên các hàm API 36 6.2.2. Thử nghiệm kết nối với máy chủ và toànhệthống 37 Hướng phát triển tiếp theo của hệthống 40 Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng Danh sách các bảng trong tài liệu Bảng 1: Luật sinh một toán hạng 7 Bảng 2: Luật sinh một công thức 8 Bảng 3: Luật sinh một thuyết 8 Bảng 4: Luật sinh một logic 8 Bảng 5 Luật sinh một chuẩn 9 Bảng 6: Các lý thuyết nền được quy chuẩn trong SMT-LIB 1.2 9 Bảng 7: Các Logic quy chuẩn được đưa ra trong SMT-LIB 1.2 10 Bảng 8 Bảng dữ liệu các tệp tin đầu vào thử nghiệm 37 Bảng 9: Kết quả thời gian của thực nghiệm 37 Bảng 10: Kêt quả trả về của thực nghiệm 38 Danh sách các hình trong tài liệu Hình 3.1 Mô hình hệthốnggiảibàitoánSMThiệunăng cao. 12 Hình 3.2: Mô hình ca sử dụng của hệthống 14 Hình 3.3: Mô hình hoạt động của hệthống 15 Hình 5.1: Biểu đồ lớp của hệthốngmáytrạm 30 Danh sách từ viết tắt trong tài liệu Từ viết tắt Từ chuẩn Diễn giảiSMT Satisfiability Modulo Theories Các lý thuyết module về tính thỏa được SMT-LIB Satisfiability Modulo Theories - Liblary Thư viện các lý thuyết module về tính thỏa được API Application Programming Interface Giao diện lập trình ứng dụng Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Trang 1 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng Chương 1. Mở đầu 1.1. Giới thiệu Hiện nay, cùng với sự phát triển bùng nổ của hầu hết các ngành khoa học, ngành khoa học máy tính cũng có những tiến bộ to lớn. Song song với đó, nhu cần nghiên cứu về việc giải hoặc đưa ra tính khả thi của một biểu thức logic ngày càng được quan tâm và phát triển. Bởi lẽ, rất nhiều các ứng dụng hay những sự tính toán trong ngành khoa học máy tính cần đến những công thức logic phức tạp. Trong khoảng hai thập niên gần đây, ngành khoa học máy tính đã có những tiến bộ lớn đối với việc tự động chứng minh hay bác bỏ tính đúng đắn của một biểu thức logic. Tuy nhiên việc chứng minh các biểu thức logic sẽ khó khăn hơn nhiều nếu đặt chúng trong một nền lý thuyết thay vì chứng minh một cách tổng quát [1,2]. Những vấn đề này được gọi là các lý thuyết module về tính thỏa được (Satisfiability Modulo Theories hay còn được viết tắt là SMT [1]). Cho đến nay, nhiều trường đại học cùng những nhà nghiên cứu khoa học máy tính đã có những nghiên cứu, sản phẩm để giải quyết vấn đề này. Tuy nhiên, việc xây dựng một bộ giải các vấn đề SMT tối ưu cho mọi trường hợp và rất khó khăn. Vì vậy, vấn đề được đặt ra là kết hợp các bộ giảiSMT đó để có được một bộ giải tối ưu nhất về mặt thời gian. 1.2. Bàitoán đặt ra Đối với việc giải quyết các vấn đề SMT, nhiều trường đại học cũng như các cơ quan, tổ chức lớn trên thế giới đã có những nghiên cứu và đưa ra những sản phẩm của mình. Tuy nhiên, với mỗi sản phẩm, họ đưa vào những thuật toán khác nhau để giải quyết vấn đề này. Trong khuôn khổ đồ án, việc nghiên cứu cơ chế, và tính đúng đắn của những bộ giải này không được đề cập đến (kết quả đưa ra của các bộ giải sẽ được coi là luôn đúng đắn) mà sẽ tập trung vào việc sử dụng những bộ giải này như là những công cụ giải quyết vấn đề SMT được đưa vào. Với những kết quả đưa ra bởi các bộ giải này, cần có một kết trả được trả về tối ưu nhất về mặt thời gian. Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Trang 2 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng Để giải quyết vấn đề nói trên, cần có một hệthốngphân phối các vấn đề SMT cho các bộ giải và nhận về kết quả trả về tối ưu nhất về mặt thời gian. Ngoài ra để tiện cho việc sử dụng và phát triển hệ thống, cần có một thư viện các hàm nhúng hỗ trợ người sử dụng xây dựng các vấn đề SMT. 1.3. Cấu trúc nội dung tài liệu Tài liệu này nhằm giới thiệu về bàitoánSMT và mô tả hệthốnggiải quyết bàitoán đó trực tuyến. Chương mở đầu của tài liệu giới thiệu qua về bàitoánSMT và bàitoán đặt ra cho việc xây dựnghệthốnggiải quyết bàitoánSMT đó. Chương thứ hai của tài liệu đề cập tới một số kiến thức về SMT và cấu trúc, khuôn dạng của bàitoánSMT được xây dựng theo chuẩn SMT-LIB. Chương này được coi là kiến thức nền tảng để xây dựnghệthốnggiải quyết bàitoánSMThiệunăng cao. Những kiến thức trong chương này sẽ được sử dụng để xây dựng các hàm API cho hệthốngmáy khách và một số thành phần của hệthốngmáy trạm. Chương ba và chương bốn là phầnphân tích và hướng giải quyết vấn đề xây dựnghệthốnggiảibàitoánSMThiệunăng cao. Chương ba sẽ tập trung hơn vào vấn đề phân tích, đưa ra một cái nhìn tổng quan về hệthống và quy trình hệthống sẽ hoạt động. Chương bốn sẽ là một số lựa chọn giải pháp để giải quyết một số vấn đề khi xây dựnghệ thống. HệthốnggiảibàitoánSMThiệunăngcaophầnmáytrạm và máy khách sẽ được mô tả chi tiết trong chương năm. Ở chương này, hệthống các hàm API trên máy khách sẽ được mô tả rất chi tiết và có thể coi là tài liệu hướng dẫn cho người dùng sử dụng các hàm API này. Chương sáu sẽ đưa ra phần thực nghiệm và đánh giá kết quả của hệ thống. Trong chương này, kết quả của một số thực nghiệm hệthống sẽ được đưa ra nhằm đưa ra một số ưu điểm mà hệthống có được. Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Trang 3 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng Chương 2. Kiến thức nền tảng 2.1. Giới thiệu SMT Tính thỏa mãn là một trong những vấn đề quan trọng nhất của ngành khoa học máy tính. Các vấn đề cần tính thỏa mãn được ứng dụng trong cả phát triển phần cứng cũng như phần mềm, đặc biệt là kiểm định phần cứng, kiểm thử, lập lịch, đồ thị [3]. Trong các lĩnh vực nói trên, nhiều các ứng dụng được xây dựng dựa trên việc tạo ra các công thức tiền tố và việc chứng minh tính hợp lệ của chúng. Cho dù hai thập niên gần đây, việc chứng minh tính hợp lệ của các định lý, biểu thức tiền tố có những tiến bộ đáng kể, tuy nhiên, không phải công thức nào cũng có thể chứng minh một cách tự động được. Lý do của vấn đề này là bởi lẽ nhiều công thức không quan tâm đến tính khả thi trong trường hợp tổng quát mà chỉ được quan tâm trong một lý thuyết nền tảng [2,1]. Việc nghiên cứu tính khả thi của các công thức trong một lý thuyết nền tảng được gọi là các lý thuyết module về tính thỏa được (Satisfiability Modulo Theories hay SMT) và các công cụ để chứng minh một cách tự động các tính khả thi của những vẫn đề SMT được gọi là bộ giảiSMT (SMT solver). Lý thuyết về SMT sẽ được đề cập cụ thể hơn trong phần giới thiệu về thư viện SMT. 2.2. Bộ giảiSMT (SMT solver) Trên thực tế, việc xây dựng và sử dụng các bộ giảiSMT được phát triển khá sớm, từ đầu những năm 1980. Tại thời điểm đó, một số bộ giải được xây dựng bởi Greg Nelson và Derek Oppent tại trường đại học Stanford , Robert Shostak tại SRI, và Robert Boyer và J Moore tại trường đại học ở Texas. Đến cuối những năm 1990, việc nghiên cứu SMT hiện đại dựa trên lợi thế của công nghệ SAT đã xây dựng nhiều bộ giảiSMT tiến bộ hơn [4]. Như đã đề cập ở trên, trong khuôn khổ đồ án, việc đánh giá về tính đúng đắn, các nghiên cứu về thuật giải của từng bộ giải sẽ không được đề cập đến. Vấn đề được Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Trang 4 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS. Trương Anh Hoàng GVĐHD: TS. Phạm Ngọc Hùng đặt ra ở đây là kết quả của bộ giải nào sẽ được đưa ra sớm nhất. Hiện nay, có rất nhiều các bộ giải như Absolver, Boolector, CVC3, OpenSMT, Yices, Z3… Do yêu cầu của hệthống là phải đưa ra được giá trị thỏa mãn (nếu bàitoánSMT đó có thỏa mãn) nên bộ giảihệthống sử dụng phải hỗ trợ chức năng này. Ngoài ra hệthống sử dụng đầu vào theo chuẩn của SMT-Lib và ngắt thời gian giải một bàitoán (trong trường hợp bàitoán cần thời gian giải quá lớn), do đó, bộ giải cần phải có hỗ trợ những chức năng này khi hoạt động. Từ những yêu cầu đó, nhóm nghiên cứu và phát triển hệthống đã quyết định sử dụng song song hai bộ giải là Yices của SRI International và Z3 của Microsoft. Hai bộ giải này tuy có cấu trúc khác nhau nhưng cùng được dựa trên thuật giải DPLL (Davis-Putnam-Logemann-Loveland) [5]. Việc tìm hiểu, phân tích cấu trúc cũng như thuật toán của hai bộ giải này sẽ không được đề cập cụ thể ở đây. 2.3. Thư viện SMT (SMT-LIB) Đề giải quyết các vấn đề SMT, việc nghiên cứu và đưa ra một chuẩn đầu vào là rất cần thiết. Thông thường, mỗi bộ giảiSMT đều có một quy định riêng cho chuẩn đầu vào của mình, tuy nhiên như vậy sẽ thực sự khó khăn đối với việc thực thi một đầu vào bởi các bộ giải khác nhau. Vì vậy, việc nghiên cứu và đưa ra một chuẩn đầu vào thống nhất là rất cần thiết. Khoảng tháng tư năm 2004, Silvio Rainise và Cesare Tinelli đã đưa ra chuẩn về SMT-LIB đầu tiên [6]. Thời gian sau đó, họ liên tục cải tiến chuẩn đầu vào, bổ sung những quy định chuẩn, thuyết mới. Cho đến nay, hai tác giả này đã và đang xây dựng chuẩn SMT-LIB đã có phiên bản 2.0, tuy nhiên việc xây dựng đầu vào dựa trên chuẩn mới này chưa được phổ biến. Hầu hết các bộ giải cũng như đầu vào cho các vấn đề SMT-LIB đều được sử dụng bởi chuẩn 1.2 mà họ đã xây dựng vào khoảng tháng 8 năm 2006. 2.3.1. Cấu trúc cơ bản của SMT-LIB Như đã nói ở trên, vấn đề SMT là việc kiểm tra biểu thức logic φ có thỏa mãn được hay không trong lý thuyết nền T hay có một khuôn mẫu của T là khả thi. Vì vậy, kiến trúc cơ bản của một SMT-LIB thường bao gồm các vấn đề sau [7]: [...]... 11 Xây dựnghệthống giải bàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Chương 3 Phân tích hệthống 3.1 Mô hình hệthống Để giải một bàitoánSMT một cách song song giữa các bộ giải, đồng thời đảm bảo được hiệunăngcao cho hệ thống, nhóm nghiên cứu đã đưa ra hướng giải quyết là xây dựnghệthống giải quyết vấn đề SMT trực tuyến qua mạng Hệthống sẽ được chia ra làm ba phần rõ rệt là phầnmáy khách... Ngọc Hùng Trang 18 Xây dựnghệthống giải bàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Chương 5 Mô tả hệ thốngHệthống giải bàitoánSMThiệunăngcao được chia làm ba hệthống con với chức năng và tác dụng riêng Trong giới hạn tài của tài liệu này, hệthống con cài đặt trên máy chủ sẽ không được đề cập đến Trong phần này, hệthống cài đặt trên máy khách và máytrạm sẽ đươc giải thích và mô tả chi... – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS Trương Anh Hoàng GVĐHD: TS Phạm Ngọc Hùng Trang 25 Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 5.3 Phầnmáytrạm Chức năng của hệthống được cài đặt trên máytrạm là nhận về bàitoánSMT được máy chủ chuyển tới Sau khi nhận được bài toán, hệthống sẽ gọi chương trình để giảibàitoán ấy Sau khi có được lời giải của bài. .. Hùng Trang 13 Xây dựnghệthống giải bàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Hình 3.2: Mô hình ca sử dụng của hệthống Ở phía máy khách (user), người sử dụng sẽ tạo bàitoán SMT, hoặc chỉ định cho hệthống tệp tin SMT cần thiết phải kiểm tra tính thỏa mãn để hệthống sẽ gửi lên phía máy chủ (server) Sau khi gửi bàitoán lên phía máy chủ, hệthống trên máy khách sẽ chờ cho máy chủ gửi kết quả... K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS Trương Anh Hoàng GVĐHD: TS Phạm Ngọc Hùng Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 Khi hệthống hoạt động, các máy khách sẽ kết nối đến máy chủ và xây dựngbàitoánSMTBàitoánSMT có thể đã được mô tả bằng tệp tin hay được xây dựng bằng chương trình với việc sử dụnghệthống được cài đặt trên Sau khi xác định bàitoán SMT, ... SMT, hệthốngmáy khách sẽ gửi bàitoántoán đó cho máy chủ đồng thời gửi thông tin về thời gian giới hạn thực hiện giảibàitoán và chờ đợi kết quả trả về từ phía máy chủ Máy chủ lắng nghe các kết nối của máy khách, khi nhận được bàitoánSMT và tham số về thời gian thực hiện bàitoán gửi từ máy khách, máy chủ sẽ phân phối các bàitoán đó cho các máytrạm có bộ giải các bàitoánSMT đang kết nối đến máy. .. là phầnmáy khách gửi yêu cầu giải quyết vấn đề, phầnmáy chủ xử lý và phân phối các vấn đề nhận được, và phầnmáytrạmgiải quyết vấn đề được yêu cầu Mô hình hệthống được xây dựng như sau: Hình 3.1 Mô hình hệthốnggiảibàitoánSMThiệunăngcao Việc xây dựng phát triển hệthốnggiải quyết vấn đề SMT trực tuyến sẽ đáp ứng được yêu cầu về hiệunăng xử lý đầu vào Hệthống sẽ tiếp nhận một lúc nhiều... hiệunăngcao về mặt thời gian, hệthống yêu cầu Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS Trương Anh Hoàng GVĐHD: TS Phạm Ngọc Hùng Trang 17 Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 đầu vào của người sử dụng phải đáp ứng nghiêm ngặt các điều kiện xây dựng một bàitoán dưới quy chẩn của SMT- LIB Hệthống được chia ra thành ba thành phần. .. thiết cài đặt yices trên hệ điều hành windows hoặc z3 trên linux) Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS Trương Anh Hoàng GVĐHD: TS Phạm Ngọc Hùng Trang 29 Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 5.3.4 Các lớp của hệthốngmáytrạm 5.3.4.1 Biểu đồ lớp của hệthống Hình 5.1: Biểu đồ lớp của hệthốngmáytrạm 5.3.4.2 Lớp config... máytrạm - Thẻ đơn : thể thiện sự kết thúc kết nối giữa người dùng với máy chủ Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH QGHN GVHD: TS Trương Anh Hoàng GVĐHD: TS Phạm Ngọc Hùng Trang 19 Xây dựnghệthốnggiảibàitoánSMThiệunăngcao–Phầnmáytrạm 2010 5.2 Phầnmáy khách 5.2.1 Quy định giao tiếp với máy chủ Yêu cầu chính cho hệthống cài đặt trên máy khách là gửi bài . quyết bài toán đó và gửi về máy chủ kết quả. Xây dựng hệ thống giải bài toán SMT hiệu năng cao – Phần máy trạm 2010 Sinh viên: Hoàng Thế Tùng – K51CNPM – Khoa CNTT - ĐH Công nghệ - ĐH. được, và phần máy trạm giải quyết vấn đề được yêu cầu. Mô hình hệ thống được xây dựng như sau: Hình 3.1 Mô hình hệ thống giải bài toán SMT hiệu năng cao. Việc xây dựng phát triển hệ thống giải. đề khi xây dựng hệ thống. Hệ thống giải bài toán SMT hiệu năng cao phần máy trạm và máy khách sẽ được mô tả chi tiết trong chương năm. Ở chương này, hệ thống các hàm API trên máy khách sẽ