Thư viện được phát triển để phục vụ cho việc tìm kiếm trên lưới. Mục tiêu chính của đề tài này chính là tạo được một công cụ trực quan hỗ trợ tạo Workflow cho thư viện này. Các chức năng chính của thư viện:
• Cung cấp các giải thuật tìm kiếm meta-heuristic. Một số giải thuật mà thư viện cung cấp sẵn là Hill Climbing, Simulate Annealing và Tabu Search. Để sử dụng người dùng cần đặc tả nghiệm, các phép biến đổi lượng giá… sau đó thư viện sẽ tự động thực hiện việc tìm kiếm dựa trên đặc tả của người dùng.
• Cung cấp mô hình thực thi song song theo dạng workflow. Người dùng sẽ đặc tả luồng thực thi tìm kiếm, sau đó thư viện sẽ thực thi và theo dõi.
• Sử dụng ngôn ngữ lập trình C++. Do thư viện được thực hiện dựa trên ngôn ngữ POP- C++ có cú pháp tương tự C++, nhưng bổ sung thêm một số từ khóa cho việc lập trình song song, nên có thể gây khó khăn cho người dùng. Vì vậy, thư viện được thiết kế giúp người dùng có thể viết chương trình chạy trên GRID nhưng không cần phải biết về C++.
• Hỗ trợ thử nghiệm và debug chương trình. Khi phát triển ứng dụng phân bố, thử nghiệm và debug là một vấn đề khá khó khăn. Để giúp việc debug trở nên dễ dàng hơn, thư viện hỗ trợ hai dạng workflow: tuần tự và song song. Người lập trình có thể sử dụng workflow dạng tuần tự để thử nghiệm khi phát triển. Khi đã xong, họ có thể sử dụng workflow dạng song song để thực thi trên môi trường phân bố.
Chương 3. Thư viện Meta-heuristic