Definisi Software Agent
Pertama-tama mari kita mulai mendefinisikan agent dari arti kamus. Di dalam kamus Webster’s New World Dictionary [Guralnik, 1983], agent didefinisikan sebagai:
A person or thing that acts or is capable of acting or is empowered to act, for another.
Disini ada dua point yang bisa kita ambil:
•Agent mempunyai kemampuan untuk melakukan suatu tugas/pekerjaan.
• Agent melakukan suatu tugas/pekerjaan dalam kapasitas untuk sesuatu, atau untuk orang lain.
Ditarik dari point-point diatas Caglayan mendefinisikan software agent sebagai: Suatu entitas software komputer yang memungkinkan user (pengguna) untuk mendelegasikan tugas kepadanya secara mandiri (autonomously).
Kemudian beberapa peneliti lain menambahkan satu point lagi, yaitu bahwa agent harus bisa berjalan dalam kerangka lingkungan jaringan (network environment) [Brenner et. al., 1998].
Definisi agent dari para peneliti lain pada hakekatnya adalah senada, meskipun ada yang menambahkan atribut dan karakteristik agent ke dalam definisinya. Secara lengkap definisi agent dan komparasinya, dirangkumnkan oleh Franklin dalam makalahnya [Franklin et. al.,1996].
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 memilik 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.
Klasifikasi Software Agent Menurut Lingkungan Dimana Dijalankan
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
Bahasa Pemrograman
Pada bagian ini akan dibahas tentang bahasa pemrograman yang banyak dipakai untuk
tahap implementasi dari software agent:
1. Object-Orientedness: Karena agent adalah berhubungan dengan obyek, bahkan beberapa peneliti menganggap agent adalah obyek yang aktif, maka bagaimanapun juga agent harus diimplementasikan kedalam pemrorgaman yang berorientasi obyek (object-oriented programming language).
2. Platform Independence: Seperti sudah dibahas pada bagian sebelumnya, bahwa agent hidup dan berjalan diatas berbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakai untuk implementasi adalah yang terlepas dari platform, atau dengan kata lain program tersebut harus bisa dijalankan di platform apapun (platform independence).
3. Communication Capability: Pada saat berinteraksi dengan agent lain dalam suatu lingkungan jaringan (network environment), tentu saja diperlukan kemampuan untuk melakukan komunikasi secara fisik. Sangat lebih baik seandaianya bahasa pemrograman mensupport pemrograman untuk network dan komunikasinya.
4. Security: Faktor keamanan (security) juga hal yang harus diperhatikan dalam memilih bahasa pemrorgaman untuk implementasi software agent. Terutama untuk mobil agent, diperlukan bahasa pemrograman yang
mensupport level-level keamanan yang bisa membuat agent bergerak dengan aman.
5. Code Manipulation: Beberapa aplikasi software agent memerlukan manipulasi kode program secara runtime. Bahasa pemrograman untuk software agent sebaiknya juga harus bisa memberikan support terhadap masalah ini.
sumber:
0 comments:
Post a Comment