Công nghệ lập trình mới - lập trình hướng Agent
Trong những năm gần đây, sự phát triển mạnh mẽ của các công nghệ truyền thông và internet đã ảnh hưởng sâu rộng đến mọi mặt của cuộc sống từ kinh tế, khoa học đến văn hoá và xã hội. Rõ ràng sự phát triển của phần cứng đóng vai trò rất quan trọng trong quá trình tiến hoá này nhưng yếu tố then chốt đã ảnh hưởng mạnh mẽ đến xã hội tri thức ngày nay chính là bản thân phần mềm. Khi mà mạng máy tính và Internet trở thành phổ biến thì việc xử lý thông tin phân tán, chia xẻ và tích hợp thông tin thông qua đường truyền giữa các máy với những cơ sở dữ liệu có những khuôn dạng khác nhau càng ngày càng trở nên phổ biến. Điều này dẫn đến một thách thức mới đối với giới phát triển phần mềm khi phải đối đầu với những yêu cầu thực tế của các hệ phần mềm phức tạp, mở và phân tán.
Những nghiên cứu và công nghiệp phát triển phần mềm trong những cuối năm 80 và đầu thập niên 90 xoay quanh cách tiếp cận hướng đối tượng tiến hoá từ phương pháp luận phần mềm cấu trúc truyền thống. Phương pháp hướng đối tượng có ưu điểm so với phương pháp cấu trúc là khả năng sử dụng lại mã nguồn, dễ đọc mã nguồn và xử lý lỗi. Ý tưởng cơ bản của nó là xem hệ phần mềm như tập hợp các thực thể tương tác gọi là “đối tượng” trong đó mỗi đối tượng được xác định bởi ba yếu tố: Định danh, trạng thái và hành vi . Như vậy, phát triển phần mềm dựa trên cách tiếp cận này có nghĩa là tiến hành xây dựng mô hình của hệ thống cần được phát triển (cả trong các pha phân tích và thiết kế) dựa trên khái niệm đối tượng và những khái niệm liên quan như thành viên, phương thức, quan hệ . Ngôn ngữ UML đã được sử dụng rộng rãi để mô hình các hệ phần mềm này dưới dạng use case, biểu đồ lớp, biểu đồ tương tác .
Tuy nhiên, cách tiếp cận hướng đối tượng tỏ ra không đáp ứng được nhu cầu phát triển các hệ phần mềm mở, phân tán, phức tạp như quản lý mạng viễn thông, thương mại điện tử, trợ giúp văn phòng, tìm kiếm/lọc thông tin .Là một phát triển tiếp theo của hướng đối tượng, cách tiếp cận hướng agent được xem là công nghệ hứa hẹn cho phát triển các hệ phần mềm phức tạp này. Ý tưởng cơ bản của hệ đa agent là xem hệ phần mềm như một cấu trúc xã hội bao gồm các agent có khả năng tự chủ cùng với các tương tác “có tính chất tri thức” hay “mang ngữ nghĩa” giữa chúng.
Giống như đối tượng, các agent cũng có định danh, trạng thái và hành vi nhưng những khái niệm này được mô tả một cách tinh tế hơn:
- Trạng thái có thể bao gồm tri thức, lòng tin, đích cần phải thoả mãn, các trách nhiệm được gán cho từng agent;
- Hành vi là những vai trò mà agent có thể đảm nhiệm, những công việc cần phải tiến hành, các sự kiện cần phải được quan sát .
Công nghệ phần mềm hướng agent đã thu hút nhiều quan tâm nghiên cứu vì nó được xem là cách tiếp cận tiến hoá từ công nghệ phần mềm hướng đối tượng và công nghệ tri thức. Nó đã tỏ ra có nhiều hứa hẹn cho phát triển các hệ phần mềm trong môi trường phân tán và mở. Thập niên 90 đã chứng kiến sự nở rộ của nhiều ứng dụng và thử nghiệm thành công trong các lĩnh vực khác nhau như viễn thông, quản lý không lưu, các dịch vụ trên Internet .Những năm 2000, các nghiên cứu về agent tập trung vào xây dựng các phương pháp luận phát triển phần mềm bao gồm xây dựng quy trình, công cụ cùng các kỹ thuật phân tích và thiết kế hệ đa agent.
Như vậy, công nghệ agent đã được nghiên cứu và phát triển mạnh mẽ trên thế giới và đã được áp dụng trong nhiều lĩnh vực khác nhau. Tuy nhiên, những nghiên cứu ở trong nước về agent mới chỉ ở giai đoạn bắt đầu và theo hiểu biết của chúng tôi nghiên cứu về công nghệ phần mềm hướng agent chưa được quan tâm nhiều.