Kết luận về AUML

Một phần của tài liệu CÔNG NGHỆ LẬP TRÌNH-AGEN (Trang 47 - 67)

 Mụ tả toàn bộ giao thức tương tỏc

 Mụ tả cỏc mẫu tương tỏc giữa cỏc agent trong giao thức

 Mụ tả cỏc xủ lý bờn trong agent

 Mụ tả cỏc mở rộng UML liờn quan đến agent thường được sử dụng, như cỏc đặc tả vai trũ thờm, cỏc gỳi với tương tỏc agent, biểu đồ triển khai mụ tả tớnh mobility và cỏc kỹ thuật khỏc

Một số cụng cụ cú thể ỏp dụng trực tiếp cho cỏc hệ dựa agent bằng cỏch chấp nhận cỏc thuật ngữ và cỏc quy ước. Trong cỏc trường hợp khỏc, chỳng ta đưa ra một số mở rộng UML dễ hiểu hỗ trợ cỏc chức năng thờm vào dựa trờn phiờn bản UML1.3. Nhiều đề nghị mở rộng được cộng đồng OO xem xột và hữu ớch cho phỏt triển OO dựa trờn UML phiờn bản 2.0.

1.13Quan điểm nhỡn nhận giữa phần mềm hướng Agent và phần mềm hướng thành phần, đối tượng:

Cỏc quan điểm hướng đối tượng và hướng agent là tương đối giống nhau trong việc phỏt triển hệ thống. Vớ dụ, việc nhấn mạnh sự quan trọng của tương tỏc giữa cỏc thực thể. Tuy nhiờn, cũng cỳ cỏc khỏc biệt quan trọng. Thứ nhất, cỏc đối tượng thường cú tớnh bị động: chỳng cần được một gửi thụng điệp trước khi chỳng đi vào hoạt động. Thứ hai, mặc dự cỏc đối tượng bao gồm cả trạng thỏi và

hành vi nhưng chỳng khụng cú sự kớch hoạt hành vi (lựa chọn hành động). Vỡ vậy, một đối tượng nào đú cú thể gọi đến một phương thức truy cập cụng cộng nào đú ở một đối tượng khỏc. Một khi phương thức được gọi đến, cỏc hành động đỏp ứng được thực hiện. Ở ý nghĩa này, cỏc đối tượng là biết nghe lời một đối tượng khỏc. Trong khi hướng tiếp cận này cú thể đủ cho cỏc ứng dụng mạnh hơn trong việc cộng tỏc và cỏc mụi trường được kiểm soỏt tốt, nú lại khụng phự hợp cho cỏc ứng dụng lớn hơn hoặc cỏc mụi trường cạnh tranh bởi vỡ modus operandi

này đưa vào tất cả nhiệm vụ cho việc gọi đến hành vi trờn khỏch hàng. Người phục vụ khụng cú quyền quyết định trong mọi trường hợp. Nhỡn từ phớa trong của tổ chức và khoa học chớnh trị chỉ ra rằng cỏc hướng tiếp cận một chiều là khụng cõn bằng. Sẽ tốt hơn nếu cho phộp người thực hiện hành động cú quyền quyết định trong một trường hợp (tức là việc gọi đến hành động trở thành một quỏ trỡnh thỏa thuận qua lại). Vỡ vậy, chẳng hạn người thực hiện bằng định nghĩa đó làm rừ ràng hơn cỏc chi tiết của cỏc hành động được thực hiện, cú thể hiểu rừ về một lớ do phự hợp là tại sao hành vi cụ thể thỡ khụng nờn được gọi đến trong trạng thỏi hiện thời. Cỏc quan sỏt này trở thành thậm chớ thớch hợp hơn khi phần mềm chuyển từ cỏc lĩnh vực của dưới sự kiểm soỏt của một tổ chức đơn lẻ (hoặc một nhúm phối hợp kiểu thừa kế của cỏc tổ chức) đến cỏc mụi trường mở trong đú hệ thống bao gồm cỏc tổ chức cạnh tranh lẫn nhau. Thứ ba, hướng đối tượng khụng đủ để cung cấp một tập đầy đủ cỏc khỏi niệm và cơ cấu cho việc mụ hỡnh hỳa cỏc kiểu hệ thống đó được mụ tả trong hỡnh 1: “với cỏc hệ thống phức tạp ta tỡm ra cỏc lớp, cỏc đối tượng và cỏc mụ đun cung cấp một phương tiện cần thiết khụng đầy đủ của sự trừu tượng hỳa”. Cỏc hệ thống phức tạp đũi hỏi cỏc sự trừu tượng vấn đề đang được giải quyết phong phỳ hơn. Cỏc đối tượng riờng biệt thể hiện tốt một tớnh chất cú hột (granularity) của hành vi và lời gọi phương thức là một cơ chế quỏ nguyờn thủy cho việc mụ tả cỏc kiểu của cỏc tương tỏc xảy ra. Sự phỏt hiện cỏc sự thật này đưa sự phỏt triển của cỏc cơ chế trừu tượng mạnh hơn như là cỏc mẫu thiết kế và cỏc khung ứng dụng. Trong khi đú là một bước tiến khụng nghi ngờ, chỳng khụng đạt được điều mong muốn của sự phỏt triển cỏc hệ thống phức tạp. Chỳng tập trung trờn cỏc chức năng hệ thống điển hỡnh và cỏc mẫu ủy

nhiệm của tương tỏc cứng nhắc và được quyết định trước. Cuối cựng, cỏc tiếp cận hướng đối tượng cung cấp sự hỗ trợ tối thiểu húa cho việc cấu trỳc cỏc tập hợp (cỏc quan hệ cơ bản được định nghĩa bằng cõy phõn cấp lớp kế thừa), cỏc hệ thống phức tạp bao gồm một số lượng phong phỳ cỏc mối quan hệ tổ chức.

 Một kĩ thuật mà liờn quan gần gũi tới cỏc hệ thống hướng đối tượng là phần mềm tựa thành phần (component-based). Cú một số động cơ của phần mềm hướng thành phần, nhưng người ta cú thể cho rằng bộ phận điều khiển đơn quan trọng nhất ở sau cỏc hệ thống thành phần là một hi vọng ấp ủ lõu dài của việc tỏi sử dụng phần mềm. Túm lại, phần mềm cụng nghiệp đó bị làm hỏng bởi vấn đề của việc phỏt triển phần mềm “cỏc nguyờn tắc thứ nhất”. Nhỡn chung, hầu hết cỏc dự ỏn phỏt triển phần mềm hàng ngày phỏt triển tất cả cỏc thành phần phần mềm hỗn tạp. Điều này rừ ràng là khụng hiệu quả, như là hầu hết cỏc yếu tố của một dự ỏn phần mềm điển hỡnh sẽ được thực hiện thành cụng nhiều lần trước đú. Từ đú, cỏc nhà nghiờn cứu đó nhiều thế kỉ hỏo hức phỏt triển cỏc phương phỏp mà sẽ thừa nhận chỳng để xõy dựng phần mềm từ cỏc thành phần xõy dựng sẵn trong cỏch tương tự mà cỏc kĩ sư điện tử xõy dựng cỏc hệ thống từ cỏc mạch tớch hợp.

 Cỏc kiến trỳc thành phần phần mềm mà Java Bean là được coi như là một vớ dụ biết đến nhiều nhất (tham khảo ở http://java.sun.com/beans/), là một cỏch tiếp cận cho vấn đề này. Mụ hỡnh thành phần cần thiết cho phộp cỏc nhà phỏt triển xõy dựng và kết hợp phần mềm như là “cỏc đơn vị của sự triển khai”. Cỏc vớ dụ đơn giản nhất của phần mềm thành phần là từ việc thiết kế giao diện người dựng. Vỡ vậy khi một cấu trỳc của giao diện người dựng sử dụng một ngụn ngữ chẳng hạn như Java thỡ sử dụng cỏc lớp định nghĩa sẵn để thực hiện cỏc thành phần giao diện. Việc sử dụng một kiến trỳc thành phần, cỏc thành phần là sẵn cú trực tiếp với người phỏt triển nưh là cỏc đơn vị đơn lẻ của sự triển khai, cho việc sử dụng trực tiếp trong một ứng dụng. Một người phỏt triển cú thể đũi hỏi một thành phần giao diện người dựng về cỏc phương thức

mà nú hỗ trợ, cú thể tựy biến cỏc thuộc tớnh của nú, và thực hiện một cỏch toàn vẹn qua một mụi trường phỏt triển đồ họa.

 Bởi vỡ cỏc thành phần trong ý thức được mụ tả ở đõy được bắt nguồn từ kĩ thuật hướng đối tượng, chỳng kế thừa tất cả cỏc thuộc tớnh của đối tượng và đặc biệt mối quan hệ gần gũi giữa cỏc đối tượng và cỏc agents là đỳng cho cỏc đối tượng và cỏc thành phần. Tuy nhiờn, thờm vào đú, cỏc agents cũng chia sẻ với cỏc thành phần khỏi niệm của một đơn vị đơn lẻ của sự triển khai. Vỡ vậy, cỏc agents thường xuyờn được trang bị với với khả năng “suy diễn siờu mức” (metalevel reasoning) trong ý thức để chỳng cú thể đỏp ứng tới cỏc yờu cầu thụng tin về cỏc dịch vụ và chỳng cung cấp. Tuy nhiờn, cỏc thành phần là khụng tự trị trong khi agent lại tự trị; thờm vào đú, giống như cỏc đối tượng, khụng cú khỏi niệm tương xứng với reactive, proactive hoặc hành vi xó hội trong phần mềm thành phần.

 Trong việc tạo ra cỏc tham số này với ý của một cỏch tiếp cận hướng agent, cú thể những người đề xướng cỏc hệ thống hướng đối tượng, component-ware hoặc bất cứ một mụ hỡnh lập trỡnh khỏc cú thể tuyờn bố rằng cỏc cơ chế này cú thể được thực hiện bằng việc sự dụng cỏc kĩ thuật của họ. Điều này là khụng cũn nghi ngờ. Cỏc hệ thống hướng agent cũng chỉ là cỏc chương trỡnh mỏy tớnh. Tuy nhiờn, điều này cũn thiếu một số điểm. Giỏ trị của cỏc mụ hỡnh phần mềm khỏc nhau là mindset và cỏc kĩ thuật mà chỳng cung cấp cho cỏc kĩ sư phần mềm. Về khớa cạnh này, cỏc khỏi niệm hướng agent là một sự mở rộng của cỏc mụ hỡnh cú sẵn khỏc.

1.14Khỏi niệm quy trỡnh phần mềm và quy trỡnh RUP:

1.14.1 Qui trỡnh phần mềm

Qui trỡnh phần mềm là một tập hợp cỏc hoạt động cần thiết được thực hiện bởi những người tham gia phỏt triển phần mềm theo một thứ tụ xỏc định nhằm biến cỏc yờu cầu của người sử dụng thành cỏc sản phẩm phõn mềm một cỏch hiệu quả về thời gian, chất lượng cũng như giỏ thành.

Một qui trỡnh phần mềm bao gồm cỏc yếu tố sau:

 Cỏc chuẩn được đỳc rỳt từ thực tế qua quỏ trỡnh sử dụng lõu dài và được sử dụng rộng rói.

 Cỏc phương thức (cỏc thao tỏc, cỏc hoạt động)

 Cỏc phương phỏp bao gồm một tập cỏc phương thức

 Cỏc tài liệu

Cỏc yếu tố liờn quan đến qui trỡnh phần mềm:

 Con người : những người trực tiếp tham gia phỏt triển phần mềm

 Dự ỏn phõn mềm là cơ cấu mang tớnh tổ chức để quản trị dự ỏn phần mềm

 Sản phẩm phần mềm là kết quả của qui trỡnh phần mềm

 Cụng cụ : cỏc phần mềm khỏc, cỏc phương tiện, kỹ thuật được sử dụng trong quỏ trỡnh phỏt triển phõn mềm

1.14.2 Tầm quan trọng của qui trỡnh phần mềm

 Một sản phẩm phần mềm khụng chỉ là mú mỏy hay chương trỡnh nguồn, cũng như một qui trỡnh phần mềm khụng chỉ là việc tiến hành mú hoỏ, viết chương trỡnh nguồn. Một sản phẩm phần mềm bao gồm toần bộ chương trỡnh và cỏc tài liệu liờn quan đến việc phõn tớch, phỏt triển, kiểm thử, bảo trỡ và hướng dón sử dụng phần mềm đú.

 Qui trỡnh phần mềm qui định cỏc tài liệu thụng tin cần thiết phải xõy dựng trong quỏ trỡnh phỏt triển dự ỏn phần mềm.

 Qui trỡnh phần mềm cũng qui định về thời gian thực hiện, biện phỏp thực hiện trong từng giai đoạn của quỏ trỡnh phần mềm.

 Qui trỡnh phần mềm đảm bảo về chất lượng thời gian thưc hiện cũng như chi phớ trong phỏt triển phần mềm.

1.14.3 Quy trỡnh RUP

• Rational Unified Process hay RUP là qui trỡnh phần mềm phỏt triển bởi hóng Rational.RUP là một tập hợp những kinh nghiệm tốt nhất của cụng nghệ phần mềm được thể hiện dưới dạng web-based, nú cung cấp cho chỳng ta những chỉ dẫn để tổ cỏc hoạt động của đội dự ỏn một cỏch hiệu quả hơn. Như một qui trỡnh cụng nghệ nền tảng, RUP cho phộp chỳng ta dễ dàng lựa chọn ra cỏc thành phần qui trỡnh phự hợp cho dự ỏn đang thực hiện. Bằng cỏch thống nhất dội dự ỏn với cỏc qui trỡnh phổ biến ; cải tiến, mở rộng hệ thống thụng tin liờn lạc ; tạo ra sự hiểu biết chung về cỏc cụng việc, trỏch nhiệm và sản phẩm giữa cỏc thành viờn trong đội dự ỏn, chỳng ta cú thể dự đoỏn trước kết quả của dự ỏn.

• RUP dựa trờn sự trao đổi web-base, Rational Software, cỏc nhà cung cấp nền tảng, cỏc nhà cung cấp cụng cụ và cỏc chuyờn gia cung cấp cho chỳng ta cỏc qui trỡnh thành phần chỳng ta cần cho dự ỏn để thành cụng.

• RUP hỗ trợ cỏc hoạt động giữa cỏc nhúm , phõn chia cụng việc cho từng thành viờn trong nhúm, tạo, duy trỡ, quản lý cỏc loại mụ hỡnh trong từng giai đoạn khỏc nhau của quỏ trỡnh phỏt triển phần mềm.

• RUP sử dụng hệ thống ký hiệu trực quan của UML nhưng được phỏt triển song song với UML.

• RUP là một sản phẩm qui trỡnh cụng nghệ phần mềm hoàn chỉnh, trỡnh cú thể tuỳ biến và nắm bắt nhiều kinh nghiệm tốt nhất.

• RUP được hỗ trợ bởi nhiều cụng cu phỏt triển phần mềm : Websphere, Visual studio C++, Visual Basic 6.0, Borland Delphi,

Jbuilder, Visual Studio.Net...

Hỡnh 15: UML với cỏc dự ỏn phần mềm

1.15 Quy trỡnh thiờt kế phõn mềm hướng Agent BKASP (BK Agent Oriented Software Process)

1.15.1 Mụ tả phi hỡnh thức:

Phõn tớch hướng agent

 Pha phõn tớch cú xu hướng khảo sỏt miền vấn đề để mụ tả phần mềm dự định làm gỡ. Núi chung pha này độc lập với cỏc cụng nghệ sử dụng để phỏt triển hệ thống và bản thõn hệ thống được coi như hộp đen tướng tỏc với mụi trường. Tuy nhiờn cú một số agent thụng tin hay agent trợ giỳp cỏ nhõn tiếp xỳc trực tiếp với người dựng và chỳng cung cấp một số chức năng nờn được xem xột trong pha phõn tớch. Do vậy cỏc biểu đồ trường hợp sử dụng hướng agent (agent-oriented use cases) cho phộp kiến trỳc sư mụ tả một số kiểu

Tiến trỡnh hợp nhất UML Mụ hỡnh hoỏ bằng UML Đội dự ỏn Đội dự ỏn

hệ thống của agent. Thậm chớ nếu mụ hỡnh hoỏ theo kiểu hộp đen, những agent này là một phần của hệ thống đang xõy dựng và chỳng được phõn tớch riờng biệt để tỡm được vai trũ đặc biệt của chỳng trong việc cung cấp cỏc chức năng. Để mụ tả biểu đồ agent- oriented use case, ta sử dụng stereotype agent, coi cỏc agent như cỏc tỏc nhõn thụng thường.

Hỡnh 16: Trợ giỳp khỏch hàng

 Một lý do khỏc để giới thiờu phõn tớch dựa agent là sự quan trọng của mụ hỡnh hoỏ dữ liệu trong khi thực hiện hệ thống đa agent. Agent sử dụng ontology để liờn kết nghĩa với cỏc thụng điệp và những ngụn ngữ mụ tả ontology quan trọng nhất như Ontolingua cho phộp mụ tả miền của vấn đề về mặt thực thể và quan hệ giữa cỏc thực thể. Cỏc loại artifact tạo ra trong khi mụ hỡnh hoỏ ontology tương tự như cỏc loại được tạo ra trong cỏc pha mụ hỡnh hoỏ dữ liệu thụng thường. Cần phải giải quyết vấn đề ontology khụng được kỹ nghệ để trỏnh ràng buộc cỏch thức thực hiện agent, do đú chỳng đơn giản là mụ tả miền dữ liệu. Sự tương tự giữa mụ hỡnh hoỏ dữ liệu và mụ hỡnh hoỏ ontology đó gợi ý rằng nờn sử dụng chung một ký phỏp.

 Chỳng ta đưa ra một số lược đồ khỏi niệm, gọi là ontology diagrams, để mụ hỡnh hoỏ ontology. Một biểu đồ ontology diagram là một biểu

đồ lớp trong đú cỏc lớp mụ hỡnh cỏc lớp thực thể định nghĩa trong ontology. Chỳng ta thờm cỏc lớp trong cỏc biểu đồ ontology tức là cỏc entity classes với stereotype entity. Cỏc thực thể được cấu trỳc sử dụng cỏc thuộc tớnh cụng cộng. Biểu đồ ontology cho phộp định nghĩa mối quan hệ giữa cỏc lớp và chỳng ta sử dụng cỏc mối quan hệ này để mụ hỡnh cỏc thuộc tớnh do ontology cung cấp.

Hỡnh 17: Mụ hỡnh kết nối cỏc thực thể

 Nhờ cú agent thụng tin hay agent trợ giỳp cỏ nhõn tiếp xỳc trực tiếp với người dung mà quỏ trỡnh phõn tớch trong quy trỡnh thiết kế phần mềm tuy khụng cú nhiều sự khỏc biệt trong quỏ trỡnh phõn tớch truyền thống của quy trỡnh RUP, song lại nhờ cú nú mà việc phõn tớch lai cỳ thờm một số cỏc hướng tiếp cận tốt hơn, vỡ khi coi Agent như một tỏc nhõn bờn ngoài ta cú thể dựa vào đú để phõn tớch một số hướng chức năng mà hệ thống cần phải đỏp ứng đối với cỏc yờu cầu từ phớa người sử dụng. Tớnh chủ động của Agent như ta đó đề cập ở chương trước cựng với tập knowledge dựa trờn cỏc Ontology đuợc xõy dựng trờn Agent đó kiểm chứng cho việc Agent cú thể đúng vai trũ là tỏc nhõn bờn ngoài đối với hệ thống đang xõy dựng, theo như hỡnh vớ dụ trờn ta thấy việc coi Agent như một

chủ thể tỏc nhõn vào hệ thống khi tham gia vào quỏ trỡnh mua hàng, mỗi user tham gia vào quỏ trỡnh mua hàng cú thể coi như một Agent, Agent này sẽ đại diện cho khỏch hàng mà nú sẽ bao gồm toàn bộ những action hoạt động trong quỏ trỡnh tỏc động lờn hệ thống. Như vậy đứng trờn quan điểm phõn tớch hệ thống hướng Agent thỡ trong cỏch phõn tớch của nhà phõn tớch thiết kết là luụn luụn hiểu rằng khi khỏi quỏt chung thỡ toàn bộ hệ thống là một khối cỏc thực thể Agent cú trao đổi qua lại với nhau vỡ lỳc này cỏc tỏc nhõn bờn ngoài ta cũng coi được đại diện bởi cỏc Agent, tỏc nhõn

Một phần của tài liệu CÔNG NGHỆ LẬP TRÌNH-AGEN (Trang 47 - 67)