Klasifikasi Software Agent
Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki
Teknik klasifikasi agent menurut karakteristik dipelopori oleh Nwana [Nwana, 1996]. Menurut Nwana, agent bisa diklasifikasikan menjadi delapan berdasarkan pada karakteristiknya.
1. Collaborative Agent: Agent yang memiliki kemampuan melakukan kolaborasi dan koordinasi antar agent dalam kerangka Multi Agent System (MAS).
2. Interface Agent: Agent yang memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi monitoring dan learning untuk memenuhi kebutuhan user.
3. Mobile Agent: Agent yang memiliki kemampuan untuk bergerak dari suatu tempat ke tempat lain, dan secara mandiri melakukan tugas ditempat barunya tersebut, dalam lingkungan jaringan komputer.
4. Information dan Internet Agent: Agent yang memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi untuk user, secara mandiri. Atau dengan kata lain, memanage informasi yang ada di dalam jaringan Internet.
5. Reactive Agent: Agent yang memiliki kemampuan untuk bisa cepat beradaptasi dengan lingkungan baru dimana dia berada.
6. Hybrid Agent: Kita sudah mempunyai lima klasifikasi agent. Kemudian agent yang memiliki katakteristik yang merupakan gabungan dari karakteristik yang sudah kita sebutkan sebelumnya adalah masuk ke dalam hybrid agent.
7. Heterogeneous Agent System: Dalam lingkungan Multi Agent System (MAS), apabila terdapat dua atau lebih hybrid agent yang memiliki perbedaan kemampuan dan karakteristik, maka sistem MAS tersebut kita sebut dengan heterogeneous agent system.
Gambar Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki
Klasifikasi Software Agent Menurut Lingkungan Dimana Dijalankan
Caglayan [Caglayan et al., 1997] membuat suatu klasifikasi yang menarik mengenai agent, yang berdasar kepada lingkungan (environment) dimana agent dijalankan.
Gambar Klasifikasi Software Agent Menurut Lingkungan Dimana Dijalankan
Dari sudut pandang dimana dijalankan, software agent bisa diklasifikasikan sebagai desktop agent, internet agent dan intranet agent. Lebih jelasnya, daftar dibawah menguraikan klasifikasi tersebut secara mendetail.
1. Desktop Agent: Agent yang hidup dan bertugas dalam lingkungan Personal Computer (PC), dan berjalan diatas suatu Operating System (OS). Termasuk dalam klasifikasi ini adalah:
· Operating System Agent
· Application Agent
· Application Suite Agent
2. Internet Agent: Agent yang hidup dan bertugas dalam lingkungan jaringan Internet, melakukan tugas memanage informasi yang ada di Internet. Termasuk dalam klasifikasi ini adalah:
· Web Search Agent
· Web Server Agent
· Information Filtering Agent
· Information Retrieval Agent
· Notification Agent
· Service Agent
· Mobile Agent
3. Intranet Agent: Agent yang hidup dan bertugas dalam lingkungan jaringan Intranet, melakukan tugas memanage informasi yang ada di Intranet. Termasuk dalam klasifikasi ini adalah:
· Collaborative Customization Agent
· Process Automation Agent
· Database Agent
· Resource Brokering Agent
BIDANG ILMU DAN PENELITIAN YANG TERKAIT DENGAN SOFTWARE AGENT
Gambar menjelaskan bagaimana keterkaitan agent dengan bidang-bidang ilmu dan penelitian, yang digambarkan berdasarkan pada hubungan dengan karakteristik yang dimiliki oleh agent.
Gambar Software Agent dan Bidang Yang Terkait Dengannya
Sudah menjadi hal yang diketahui umum bahwa masalah learning, intelligence, dan juga proactivity serta reactivity adalah bidang garapan AI klasik. Kemudian penelitian dalam bidang DAI pada umumnya adalah berkisar ke masalah koordinasi, komunikasi dan kerjasama (cooperation) antar agent dalam Multi Agent System (MAS). Dengan perkembangan penelitian di bidang distributed network dan communication system, membawa peran penting dalam mewujudkan agent yang mempunyai kemampuan mobilitas dan komunikasi dengan agent lain.
Pesatnya perkembangan penelitian tentang software agent tak lepas dari pengaruh bidang ilmu psikologi yang banyak mengupas agent secara teori dan filosofi, kemudian juga software engineering yang berperan dalam menyediakan metodologi analisa dan desain, serta implementasi dari software agent. Dan yang terakhir adalah bidang decision theory dengan kupasan tentang bagaimana agent harus menentukan strategi dalam menjalankan tugas secara mandiri (autonomously).
Keterkaitan beberapa bidang ilmu dan penelitian dalam software agent, dibahas dalam buku-buku dan makalah-makalah seperti: [Caglayan et al., 1997], [Brenner et. al., 1998], dan [Bradshaw, 1997]
ARSITEKTUR SOFTWARE AGENT
Pada bagian ini akan dijelaskan tentang arsitektur umum yang terdapat pada software agent. Bagaimanapun juga, karena banyak sekali peneliti yang mengemukakan arsitektur untuk masing-masing agent yang mereka kembangkan, kami tidak bisa menjelaskan seluruh arsitektur yang ada di dunia. Tetapi kita coba dengan mencoba menjelaskan arsitektur software agent secara fundamental dan umum.
Software agent dalam konsepsi black-box bisa divisualisasikan sebagai berikut. Pertama agent mendapatkan input atau perception terhadap suatu masalah, kemudian bagian intelligent processing mengolah input tersebut sehingga bisa menghasilkan output berupa action (Gambar ).
Gambar Software Agent Secara Black-Box
Dalam konsepsi black-box, arsitektur software agent bisa diterima oleh semua peneliti, karena arsitektur tersebut bersifat sangat umum dan memungkinkan mencakup semua jenis software agent.
Tahap berikutnya adalah, berdasar pada konsep black-box ini kita harus memikirkan proses kerja apa saja yang harus kita masukkan ke dalam intelligent processing. Brenner [Brenner et al., 1998] mengemukakan satu model intelligent processing untuk software agent yang berisi: interaction, information fusion, information processing dan action (Gambar).
Gambar Proses Kerja Software Agent
Software agent memiliki module interaksi (interaction module) yang berguna untuk melakukan komunikasi (communication), koordinasi (coordination) dan kooperasi (cooperation) dengan lingkungannya. Lingkungan (environment) dari agent bisa berwujud agent lain, user atau pengguna, ataupun berupa sumber-sumber informasi (information sources). Agent menggunakan module interaksi untuk mendapatkan informasi dari lingkungan dan juga untuk melakukan aksi. Oleh karena itu module interaksi disediakan dalam level input (perception) dan output (action) (Gambar).
Informasi-informasi yang didapat dari proses interaksi dikumpulkan dalam suatu tahapan klasifikasi (ontology) yang tepat dalam knowledge-base. Misalnya informasi hasil interaksi dengan agent lain, tentu mempunyai karakteristik dan format yang lain dengan informasi yang didapat dari user (pengguna). Disinilah perlu dikembangkan strategi dan ontologi yang tepat untuk menyusun informasi yang masuk. Tahapan ini disebut dengan information fusion (Gambar).
Kemudian tahapan berikutnya adalah tahapan pengolahan informasi (information processing). Seperti dijelaskan sebelumnya, agent mempunyai tujuan (goal) berhubungan dengan tugas yang dibebankan kepadanya. Tujuan pengolahan informasi disini adalah untuk membuat interpretasi terhadap informasi yang ada supaya dengan itu agent bisa berorientasi ke tujuan (goal-oriented) yang dibebankan kepadanya. Meskipun tentu saja untuk mencapai tujuan yang ingin dicapai, harus melewati tahapan-tahapan proses seperti planning, scedulling, dsb.
Tahapan berikutnya adalah melakukan aksi (action) berdasarkan kepada tujuan (goal), planning, dan scedulling yang ada pada agent. Seperti sudah dijelaskan diatas, agent melakukan aksi dalam lingkungannya, sehingga bagaimanapun juga dia harus tetap memanfaatkan module interaksi (interaction module) dalam aksinya.
Beberapa konsep arsitektur lain yang lebih mewakili karakteristik software agent diungkapkan oleh beberapa peneliti. Misalnya seperti kita ketahui bersama bahwa Rao [Rao et al., 1990] menyajikan konsep struktur BDI (Beliefs Desires Intention) agent, yang memiliki elemen-elemen seperti tampak pada gambar 7.
Gambar Struktur BDI Agent
Berdasar pada konsep dan struktur ini, dikembangakn arsitektur untuk BDI dan deliberative agent (Gambar ).
Gambar Arsitektur BDI dan Deliberative Agent
Kemudian Brooks [Brooks, 1991] mengembangkan arsitektur untuk reactive agent, yang pada hakekatnya bisa divisualisasikan seperti Gambar.
Gambar Arsitektur Reactive Agent