software, technology dan bahasa komunikasi agent
Software, technologi dan bahasa komunikasi agent
Agent merupakan suatu teknologi baru dalam dunia rekayasasoftware. Kemampuan agen yang otonom, personal, mobile dan mampu bekerja sama secara terus menerus membuat para pengembangsoftware memanfaatkan teknologi ini untuk aplikasi yang mempunyai lingkungan yang memiliki jenis informasi yang beragam dan tersebar di banyak lokasi (Lange, 1998).
Menurut, Graesser (Graesser dalam Jeaning, 1998) software agent adalah “An autonomous agent is sistem situated within and part of environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.”
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 [Caglayan et al., 1997] mendefinisikan software agent sebagai: “Suatu entitas software komputer yang memungkinkan user (pengguna) untuk mendelegasikan tugas kepadanya secara mandiri (autonomously).”
Definisi agen yang akan dipakai dalam penelitian ini yaitu dapat dilihat dalam dua perspektif, yaitu perspektif user dan perspektif sistem. Dalam perspektif user agen merupakan sebuah software yang bertindak selaku perantara/ agen atau broker bagi user yang memungkinkan user untuk mendelegasikan tugas kepadanya serta melakukan pekerjaan seperti yang diperintahkannya. Sedangkan dalam perspektif sistem, agen dapat mengenali lingkungan kerjanya dan memiliki sifat-sifat keagenan.
Karakteristik dan Atribut Software Agent
1. Autonomy: Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam [Woolridge et. al., 1995]. Dan satu hal penting lagi yang mendukung autonomy adalah masalah intelegensi (intelligence) dari agent.
2. Intelligence, Reasoning, dan Learning: Setiap agent harus mempunyai standar minimum untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam perubahan lingkungan.
3. Mobility dan Stationary: Khusus untuk mobile agent, dia harus memiliki kemampuan yang merupakan karakteristik tertinggi yang dia miliki yaitu mobilitas. Berkebalikan dari hal tersebut adalah stationary agent. Bagaimanapun juga keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan berkomunikasi dengan agent lain.
4. Delegation: Sesuai dengan namanya dan seperti yang sudah kita bahas pada bagian definisi, agent bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.
5. Reactivity: Karakteristik agent yang lain adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada dalam suatu lingkungan (enviornment). Lingkungan itu bisa mencakup: agent lain, user, adanya informasi dari luar, dsb [Brenner et. al., 1998].
6. Proactivity dan Goal-Oriented: Sifat proactivity boleh dikata adalah kelanjutan dari sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil [Brenner et. al., 1998]. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada tujuan yang diembannya (goal-oriented).
7. Communication and Coordination Capability: Agent harus memiliki kemampuan berkomunikasi dengan user dan juga agent lain. Masalah komunikasi dengan user adalah masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi, koordinasi, dan kolaborasi dengan agent lain adalah masalah sentral penelitian Multi Agent System (MAS). Bagaimanapun juga untuk bisa berkoordinasi dengan agent lain dalam menjalankan tugas, perlu bahasa standard untuk berkomunikasi. Tim Finin [Finin et al., 1993] [Finin et al., 1994] [Finin et al., 1995] [Finin et al., 1997] dan Yannis Labrou [Labrou et al., 1994] [Labrou et al., 1997] adalah peneliti software agent yang banyak berkecimpung dalam riset mengenai bahasa dan protokol komunikasi antar agent. Salah satu produk mereka adalah Knowledge Query and Manipulation Language (KQML). Kemudian masih berhubungan dengan ini komunikasi antar agent adalah Knowledge Interchange Format (KIF).
Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki
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.
Klasifikasi menurut Lingkungan Dimana Dijalankan
1. Desktop Agent : Agent yang hidup dan bertugas dalam lingkungan Personal Computer (PC), dan berjalan diatas suatu Operating System (OS).
2. Internet Agent : Agent yang hidup dan bertugas dalam lingkungan jaringanInternet, 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 jaringanIntranet, melakukan tugas memanage informasi yang ada di Intranet.
Termasuk dalam klasifikasi ini adalah: Collaborative Customization Agent, Process Automation Agent, Database Agent, Resource Brokering Agent.
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. 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).
Mobile agent adalah agen yang aktif dan dapat bergerak menuju komputer lain, atau mejelajahi jaringan untuk menjalankan tugasnya. Mobile agent sering digunakan untuk mengumpulkan data, informasi atau suatu perubahan. Mobile agent tidak terikat pada sistem dimana ia mulai dieksekusi. Beberapa penerapan dari Mobile agent: Pengumpulan data, pencarian dan penyaringan, pemantauan asinkron, dan pemrosesan paralel.
Keuntungan Mobile agent
1. Mengurangi beban jaringan
2. Efisiensi sumber daya
3. Menanggulangi latency jaringan
4. Encapsulate protocol
5. Eksekusi secara asynchronous dan autonomous
6. Beradaptasi secara dinamis
7. Andal dan toleran terhadap kesalahan
8. Mendukung lingkungan yang heterogen
9. Real Time Notification
10. Ekekusi paralel
11. Paradigma Komputasi yang adaptif
12. Skalabilitas
Bahasa Pemrograman atau komunikasi agent
Bahasa pemrograman yang dipakai untuk tahap implementasi dari softwareagent, sangat menentukan keberhasilan dalam implementasi agent sesuai dengan yangdiharapkan. Beberapa peneliti memberikan petunjuk tentang bagaimana karakteristik bahasa pemrorgaman yang sebaiknya di pakai. Diantaranya yaitu :
1. Object-Orientedness:
Karena agent adalah berhubungan dengan obyek, bahkan beberapa penelitimenganggap agent adalah obyek yang aktif, maka juga agent harusdiimplementasikan kedalam pemrorgaman yang berorientasi obyek (object-orientedprogramming language).
2. Platform Independence:
Seperti sudah dibahas pada bagian sebelumnya, bahwa agent hidup danberjalan diberbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakaiuntuk implementasi adalah yang terlepas dari platform, atau dengan kata lain programtersebut harus bisa dijalankan di platform apapun (platform independence).
3. Communication Capability:
Pada saat berinteraksi dengan agent lain dalam suatu lingkungan jaringan(network environment), diperlukan kemampuan untuk melakukan komunikasi secarafisik. Sehingga diperlukan bahasa pemrograman yang dapat mensupportpemrograman yang berbasis network dan komunikasi.
4. Security:
Faktor keamanan (security) adalah factor yang sangat penting dalam memilihbahasa pemrorgaman untuk implementasi software agent. Terutama untuk mobilagent, diperlukan bahasa pemrograman yang mensupport level-level keamanan yangbisa membuat agent bergerak dengan aman.
5. Code Manipulation:
Beberapa aplikasi software agent memerlukan manipulasi kode programsecara runtime, sehingga diperlikan bahasa pemrograman untuk software agent yangdapat menangani masalah runtime tersebut.Dari karakteristik di atas dapat disimpulkan bahwa bahasa pemrograman yang layak untuk mengimplementasikan software agent adalah sebagai berikut :
• Java
• Telescript
• Tcl/Tk, Safe-Tcl, Agent-Tcl
Teknologi agen telah menunjukkan potensi besar untuk memecahkan masalah dalam skala besar sistem terdistribusi.
Aplikasi Software Agent di Dunia Industri
Teknologi agent sudah diaplikasikan secara luas di dunia Industri. Bagaimanapun juga harus diakui bahwa secara sejarah penelitian, selain dunia Internet dan bisnis, teknologi agent banyak didesain untuk dimanfaatkan di bidang industry, yaitu:
· Manufacturing
· Process Control
· Telecommunications
· Air Traffic Control
· Transportation System
Aplikasi Software Agent di Dunia Internet dan Bisnis
Teknologi agent paling banyak diaplikasikan dalam dunia Internet dan bisnis ini. Bagaimanapun juga ini tak lepas dari maju dan berkembang pesatnya teknologi jaringan komputer yang membuat perlunya paradigma baru untuk menangani masalah kolaborasi, koordinasi dalam jarak yang jauh, dan salah satu yang penting lagi adalah menangani kendala membengkaknya informasi, yaitu:
· Information Management
· Electronic Commerce
· Distributed Project Management
Aplikasi Software Agent di Dunia Entertainment
Adanya software agent, memungkinkan komunitas informatika dan komputer untuk ikut andil merealisasikan pemikirannya, contohnya:
· Games
· Interactive Theatre and Cinema
Aplikasi Software Agent di Dunia Medis
Teknologi agent pun dicoba untuk diimplementasikan dalam rangka mencoba mengatasi masalah-masalah yang berhubungan dengan monitoring pasien [Larsson et al., 1998], manajemen kesehatan dari pasien [Huang et al., 1995], dsb.
Aplikasi Software Agent di Dunia Pendidikan
Dengan perkembangan teknologi jaringan komputer, dunia pendidikan pun salah satu yang merasakan manfaatnya. Sistem pengajaran pun mengalami perkembangan kearah lebih modern dengan memanfaatkan teknologi jaringan. Berhubungan dengan teknologi agent, dewasa ini banyak sekali riset dan aplikasi untuk dunia pendidikan yang menggunakan teknologi agent, misalnya [Chen et al., 1996], [Espinosa et al., 1996], [Florea, 1999], dsb.
http://romisatriawahono.net
http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://www.imes.mtu.edu/PubDocs/TRC.pdf
0
komentar