MOB L ARAÇLAR Ç N ETMEN TABANLI B R ANLAMSAL WEB SERV S SUNUM PLATFORMU GEL T RME



Benzer belgeler
Mobil Cihazlardan Web Servis Sunumu

Java 2 Micro Edition (J2ME)

BIM BUILDING INFORMATION MODELING YAPI BİLGİ MODELİ

Xerox ConnectKey Teknolojisine sahip Çok Fonksiyonlu Yazıcılarla (MFP'ler) Kullanım İçin

TS7200 PLATFORMU ÜZERİNDE SERİ PORT-ETHERNET DÖNÜŞTÜRÜCÜ UYGULAMASI

ÇEVRE KORUMA TEMEL ALAN KODU: 85

WEB SERVS TABANLI GELTRLEN MOBL UYGULAMALAR: ODTÜ MOBL ÖRENC LER BLG SSTEM (MOBS)

Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek 1, R. Cenk Erdur 2 1,2

İşletim Sisteminin Katmanları

YÜKSEKÖĞRETİM KURUMLARI ENGELLİLER DANIŞMA VE KOORDİNASYON YÖNETMELİĞİ (1) BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

HAFTALIK KONULAR VE ĠLGĠLĠ ÖN HAZIRLIK SAYFALARI. ATILIM ÜNĠVERSĠTESĠ...FAKÜLTESĠ...BÖLÜMÜ DERS TANITIM ve UYGULAMA BĠLGĠLERĠ

MOBİL ARAÇLARDA ETMEN TEKNOLOJİSİNİN KULLANIMI

İstemci Yönetimi ve Mobile Printing (Mobil Baskı) Çözümleri

Bilgi Toplumu Stratejisi Eylem Planı 2. Değerlendirme Raporu. e-dtr İcra Kurulu 26. Toplantısı 26 Aralık 2008

MSSQL Server 2000 Kurulumu

Giresun Üniversitesi Akademik Değerlendirme Ve Kalite Geliştirme Uygulama Yönergesi

Android Uygulamalarında Güvenlik Testi

MUŞ ALPARSLAN ÜNİVERSİTESİ UZAKTAN EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ YÖNETMELİĞİ

IPv6 ve UlakNet Geçi planı. Hayrettin BUCAK TÜB TAK - ULAKB M

SÜRE BİLİŞİM TEKNOLOJİLERİ ÜNİTE 1: : BİLGİ VE TEKNOLOJİ DERS SAATİ: 7

GİYİM ÜRETİM TEKNOLOJİSİ ÇOCUK DIŞ GİYSİLERİ DİKİMİ (CEKET- MONT- MANTO) MODÜLER PROGRAMI (YETERLİĞE DAYALI)

İNTERNETE NASIL BAĞLANILIR?

Tasarım ve Planlama Eğitimi Neden Diğer Bilim Alanlarındaki Eğitime Benzemiyor?


BİLİŞİM TEKNOLOJİLERİ ÜÇ BOYUTLU GRAFİK ANİMASYON (3DS MAX) MODÜLER PROGRAMI (YETERLİĞE DAYALI)

HEMŞİRE İNSANGÜCÜNÜN YETİŞTİRİLMESİ VE GELİŞTİRİLMESİ

QR Kodu Tarayıcısı / Okuyucusuna Uygun Uygulamalarda Kullanım İçin

SÜRE BĠLĠġĠM TEKNOLOJĠLERĠ ÜNĠTE 1: ĠLETĠġĠM DERS SAATĠ: 1. Gelecekteki bilişim teknoloji

ELEKTRİK ÜRETİM SANTRALLERİNDE KAPASİTE ARTIRIMI VE LİSANS TADİLİ

Java Micro Edition Java ME

Mobil Cihazlardan Web Servis Sunumu

BÜRO YÖNETİMİ VE SEKRETERLİK ALANI HIZLI KLAVYE KULLANIMI (F KLAVYE) MODÜLER PROGRAMI (YETERLİĞE DAYALI)

MEHMET ÇEKİÇ ORTAOKULU

Üniversitelerde Yabancı Dil Öğretimi

JAVA MOBIL UYGULAMALAR

BİLGİ BELGE MERKEZİ VE YAYIN HİZMETLERİ

Bilgi Servisleri (IS)

GRAFİK TASARIMCISI TANIM

MEHMET AKİF ERSOY ÜNİVERSİTESİ STRATEJİK İŞBİRLİĞİ PROJE DANIŞMANLIK EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ YÖNETMELİĞİ

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

TESİSAT TEKNOLOJİSİ VE İKLİMLENDİRME ÇELİK BORU TESİSATÇISI MODÜLER PROGRAMI (YETERLİĞE DAYALI)

Model Güdümlü Yazılım Geliştirme (SE 555) Ders Detayları

İngilizce Öğretmenlerinin Bilgisayar Beceri, Kullanım ve Pedagojik İçerik Bilgi Özdeğerlendirmeleri: e-inset NET. Betül Arap 1 Fidel Çakmak 2

Danışma Kurulu Tüzüğü

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

Vaka Çalışması: «Boğaziçi Üniversitesi Girişimcilik Projesi HayalEt» ve Hedeflerimiz

KONUTTA YENİ FİKİRLER

KİŞİSEL GELİŞİM VE EĞİTİM İŞ GÜVENLİĞİ VE İŞÇİ SAĞLIĞI MODÜLER PROGRAMI (YETERLİĞE DAYALI)

Anahtar Kelimeler: Yazılım Etmenleri, Çoklu Etmen Sistemler, Yazılım Mimarisi.

KAHRAMANMARAŞ SÜTÇÜ İMAM ÜNİVERSİTESİ BİLİMSEL DERGİLER YÖNERGESİ BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

SİİRT ÜNİVERSİTESİ UZAKTAN EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ YÖNETMELİĞİ BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar. Amaç

BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar. Amaç MADDE 1-

KİTAP İNCELEMESİ. Matematiksel Kavram Yanılgıları ve Çözüm Önerileri. Tamer KUTLUCA 1. Editörler. Mehmet Fatih ÖZMANTAR Erhan BİNGÖLBALİ Hatice AKKOÇ

Anonim Verilerin Lenovo ile Paylaşılması. İçindekiler. Harmony

Yeni web iletişim yöntemi Websocket protokolünün geleneksel yöntemlerle karşılaştırılması

Mobil Uygulama Geliştirme (ISE 507) Ders Detayları

EK 2 ORTA DOĞU TEKNĐK ÜNĐVERSĐTESĐ SENATOSU 2011 YILI ÖSYS KONTENJANLARI DEĞERLENDĐRME RAPORU

MATEMATİK ÖĞRETMENİ TANIM. Çalıştığı eğitim kurumunda öğrencilere, matematik ile ilgili eğitim veren kişidir. A- GÖREVLER

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

BİLGİ TEKNOLOJİLERİ VE İLETİŞİM KURULU KARARI

Man In The Middle Attack Ve ARP Poisoning

Başbakanlık Mevzuatı Geliştirme ve Yayın Genel Müdürlüğü :18

1 WINDOWS SERVER 2012 GENEL BAKIŞ 1 Giriş 1 Bu Kitapta 5 Çıkış Hikâyesi 6 Sürümler 7

İÇİNDEKİLER. Birinci Bölüm Araştırmanın Konusu, Kapsamı, Yapısı ve Temel Sorunlar

ÖZGÜR YAZILIMLAR İLE J2EE

YÖKAKADEMİK (Yükseköğretim Akademik Arama Sistemi)

IBM Donanım Bakım İşlemleri Kılavuzu

DEĞERLENDİRME NOTU: Mehmet Buğra AHLATCI Mevlana Kalkınma Ajansı, Araştırma Etüt ve Planlama Birimi Uzmanı, Sosyolog

Çevrimiçi paylaşım 3.1. Baskı 1

Otizm lilerin eğitim hakkı var mıdır? Nedir ve nasıl olmalıdır?

Analiz aşaması sıralayıcı olurusa proje yapımında daha kolay ilerlemek mümkün olacaktır.

EGE ÜNİVERSİTESİ İZMİR ATATÜRK SAĞLIK YÜKSEKOKULU EBELİKTE LİSANS TAMAMLAMA UZAKTAN ÖĞRETİME İLİŞKİN USUL VE ESASLAR BİRİNCİ BÖLÜM

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition

T.C. GAZİ ÜNİVERSİTESİ BİLGİ İŞLEM DAİRESİ BAŞKANLIĞI BİRİMLERİNİN ÇALIŞMA USUL VE ESASLARI HAKKINDAKİ YÖNERGE BİRİNCİ BÖLÜM.

System Center Operations Manager 2007 Kurulum,Client Discovery ve Performans İzlemesi

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

GÜZELLİK VE SAÇ BAKIM HİZMETLERİ GÜZELLİK HİZMETLERİ ELEMANI MODÜLER PROGRAMI (YETERLİĞE DAYALI)

GENEL KURUL DİVAN TUTANAĞI

EĞİTİM BİLİMİNE GİRİŞ 1. Ders- Eğitimin Temel Kavramları. Yrd. Doç. Dr. Melike YİĞİT KOYUNKAYA

T.C. SELÇUK ÜNĠVERSĠTESĠ HUĞLU MESLEK YÜKSEKOKULU. EDÖ ÇALIġMASI DEĞERLENDĠRME FORMU ÖĞRENCĠNĠN

ISCOM Kurumsal ISCOM KURUMSAL BİLİŞİM TEKNOLOJİLERİ EĞİTİM KATALOĞU

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

SANAT VE TASARIM GUAJ BOYA RESĠM MODÜLER PROGRAMI (YETERLĠĞE DAYALI)

YEDİNCİ KISIM Kurullar, Komisyonlar ve Ekipler

YÖNETMELİK. Hacettepe Üniversitesinden: HACETTEPE ÜNİVERSİTESİ KANSERDE İLERİ TEKNOLOJİLER UYGULAMA VE ARAŞTIRMA MERKEZİ YÖNETMELİĞİ BİRİNCİ BÖLÜM

EMBEDDED SYSTEMS CONTROLLED VEHICLE

Kurumlar İçin Belge Yönetimi ve Arşiv Sistemi (BEYAS) Modeli: Belge/Dosya Değerlendirme-Ayıklama-İmha (DAİ) Süreci Uygulaması

İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ ENGELSİZ ÜNİVERSİTE KOORDİNATÖRLÜĞÜ VE ENGELLİ ÖĞRENCİ BİRİMİ ÇALIŞMA USUL VE ESASLARI BİRİNCİ BÖLÜM

BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar

Microsoft.NET Vizyonunun İncelenmesi ve Bilgisayar Teknolojisi ve Programlama Eğitimi ile Entegrasyonu İçin Bir Rehber Çalışması

Autodesk Building Design Suite Sorular ve Cevapları

Tasarım Raporu. Grup İsmi. Yasemin ÇALIK, Fatih KAÇAK. Kısa Özet

MAKİNE MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ. Makine Elemanları MK-321 3/Bahar (3+0+0) 3 4

Halkla İlişkiler ve Organizasyon

T.C. NUH NACİ YAZGAN ÜNİVERSİTESİ YAZILIM KULÜBÜ TÜZÜĞÜ. BİRİNCİ BÖLÜM Kuruluş Gerekçesi, Amaç, Kapsam, Dayanak ve Tanımlar

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

SERMAYE PİYASASI KURULU İKİNCİ BAŞKANI SAYIN DOÇ. DR. TURAN EROL UN. GYODER ZİRVESİ nde YAPTIĞI KONUŞMA METNİ 26 NİSAN 2007 İSTANBUL

Internet Programlama (ISE 311) Ders Detayları

Anlamsal Web Servisleri Temelinde Örnek Bir Servis Tanımı

Transkript:

EGE ÜN VERS TES FEN B L MLER ENST TÜSÜ (YÜKSEK L SANS TEZ ) MOB L ARAÇLAR Ç N ETMEN TABANLI B R ANLAMSAL WEB SERV S SUNUM PLATFORMU GEL T RME Gizem OKKALIO LU Bilgisayar Mühendisli i Anabilim Dalı Bilim Dalı Kodu : 619.01.00 Sunu Tarihi : 02.06.2008 Tez Danı manı: Yrd. Doç. Dr. Rıza Cenk ERDUR Bornova- ZM R

II

III Gizem OKKALIO LU tarafından YÜKSEK L SANS tezi olarak sunulan MOB L ARAÇLAR Ç N ETMEN TABANLI B R ANLAMSAL WEB SERV S SUNUM PLATFORMU GEL T RME ba lıklı bu çalı ma E.Ü. Lisansüstü E itim ve Ö retim Yönetmeli i ile E.Ü. Fen Bilimleri Enstitüsü E itim ve Ö retim Yönergesi nin ilgili hükümleri uyarınca tarafımızdan de erlendirilerek savunmaya de er bulunmu ve 02.06.2008 tarihinde yapılan tez savunma sınavında aday oybirli i/oyçoklu u ile ba arılı bulunmu tur. Jüri Üyeleri: mza Jüri Ba kanı :...... Raportör Üye:...... Üye :......

IV

V ÖZET MOB L ARAÇLAR Ç N ETMEN TABANLI B R ANLAMSAL WEB SERV S SUNUM PLATFORMU GEL T RME OKKALIO LU, Gizem Yüksek Lisans Tezi, Bilgisayar Mühendisli i Bölümü Tez Yöneticisi: Yrd. Doç. Dr. Rıza Cenk Erdur Haziran 2008, 131 sayfa Günümüzde a üzerinde kullanıma hazır web servisleri büyük bir hızla artmaktadır. Yazılımları otomatik olarak web servisine dönü türen geli tirme ortamlarının artması, irketlerin yazılımlarını servis yönelimli olarak geli tirmesini hızlandırmı ve bu geli meye paralel olarak servislerin genel amaçlı tasarlanması ve a a açılması yazılım geli tirme sürecinde temel bir etkinlik haline gelmi tir. Bu yönelim ba lamında yakın gelecekte a üzerinde farklı alanlarda yazılımlar tarafından do rudan ya da birle tirilerek kullanılabilecek çok sayıda servis olaca ı açıktır. Servislerin artmasıyla birlikte servislerin bulunması, seçilmesi, istenen katma de eri yaratacak ekilde birle tirilmesi gibi problemler ortaya çıkmı tır. Anlamsal web standartları ve teknolojileri servislerin i levlerinin ontolojiler ile tanımlanmasına olanak sa ladı ından bu problemlerin çözümü için formal bir altyapı sunmaktadır. Bu yönelim anlamsal web servisleri olarak adlandırılan bir ara tırma alanının do masına yol açmı tır.

VI Bu tez çalı masında mobil uygulamaların dı web servislerini kullanabilmesi için etmen tabanlı bir anlamsal web servis platformu geli tirilmi tir. Ayrıca yine tez çalı ması kapsamında mobil araçlarda etmen tabanlı yazılım geli tirmek için SeagentLITE mobil etmen platformu geli tirilmi tir. Masaüstü ortamda bulunan SEAGENT platformunda, dı web servisleri servis sunucu etmen olarak isimlendirilen yapı ile anlamsal servislere çevrilerek aracı etmene kaydedilmektedirler. SeagentLITE ortamında çalı an, bulundu u ortamın kısıtlı kaynaklarına uygun bir etmen uygulamasının kayıtlı servisleri kullanabilmesi için masaüstü ortamda arabulucu etmen adında bir etmen geli tirilmi tir. Arabulucu etmen, aracı etmen ile mobil ortamdaki etmen arasındaki koordinasyonu yönetmekten, anlamsal veri i leme i levini mobil ortamdaki etmen için yerine getirmekten ve mobil ortamda servis kullanımı için gerekli olan servise özel dinamik arayüz tanımlarını mobil ortamdaki etmene göndermekten sorumludur. Tez çalı masında son olarak olu turulan bu platform üzerinde bir durum çalı ması gerçekle tirilmi tir. Anahtar sözcükler: Etmen teknolojileri, çok-etmenli platformlar, mobil araçlar, XML, web servisleri, anlamsal web, anlamsal web servisleri.

VII ABSTRACT DEVELOPMENT OF AN AGENT BASED PLATFORM FOR SEMANTIC WEB SERVICE DELIVERY TO MOBILE DEVICES OKKALIO LU, Gizem MSc Thesis, Department of Computer Engineering Supervisor: Asst. Prof. Dr. Rıza Cenk Erdur June 2008, 131 pages Nowadays, the number of web services that are provided through the net is increasing rapidly. Due to advances in development environments which convert software to web services, companies have begun to develop their software projects using service oriented approach. Based on this improvement, designing general purpose services and advertising them on the net have become a basic activity in software development process. Thus, it is clear that in the future there will be a lot of services on the net that are used either directly or via composition by software applications in several domains. As a result of increase in the number of services, problems such as discovery, selection and composition of services to create the requested added-value have appeared. Semantic web standards and technologies present a formal infrastructure for the solution of these problems by providing a way for the definition of service properties using ontologies. This inclination has caused rising of a new research area called semantic web services.

VIII In this thesis, an agent based semantic web service platform has been developed for mobile device access to external services. SeagentLITE agent platform, which provides a means for agent oriented software development on mobile devices, has also been developed within thesis study. On SEAGENT platform, which is situated on desktop environment, external web services are converted to semantic services by a component named as service provider agent. Then service provider agents are registered to broker agent. An agent named as mediator agent is developed on desktop environment for providing usage of registered services by a lightweight agent that is situated on SeagentLITE environment. Mediator agent is responsible for managing coordination between broker agent and mobile device agent, performing semantic data processing for mobile device agent, and sending service specific dynamic user interface definitions to mobile device agent for service access on mobile environment. Finally, a case study for the developed platform is given. Keywords: Agent technologies, multi-agent platforms, mobile devices, XML, web services, semantic web, semantic web services.

IX TE EKKÜR Tez çalı mam süresince tavsiyeleriyle çalı mama yön vermemdeki katkılarından dolayı Yrd. Doç. Dr. Rıza Cenk Erdur a ve Prof. Dr. O uz Dikenelli ye te ekkürü bir borç bilirim. Tez danı manım Yrd. Doç. Dr.Rıza Cenk Erdur'a yüksek lisans e itimim süresince verdi i destekten ötürü ayrıca te ekkür ederim. Yüksek lisans e itimim süresince faydalandı ım 2228-Yurt çi Lisansüstü Burs Programı sayesinde yüksek lisans e itimimde ba arıyı yakalamama büyük katkısı olan TÜB TAK B L M NSANI DESTEKLEME DA RE BA KANLI I na ve tez çalı mam süresince yardımını esirgemeyen Hacer Küçükkele e te ekkür ederim. Tüm e itim hayatım boyunca her zaman yanımda olan ve beni destekleyen annem Serap Okkalıo lu, babam brahim Okkalıo lu ve karde im Mahmut Okkalıo lu na tüm kalbimle te ekkürlerimi sunarım. Son ama aynı derecede önemli olarak, beni çalı malarımda destekleyen ni anlım Gökhan Özman a da en derin te ekkürlerimi sunarım.

X

XI Ç NDEK LER Sayfa ÖZET... V ABSTRACT...VII TE EKKÜR... IX Ç NDEK LER... XI EK LLER D Z N...XV KISALTMALAR D Z N...XVII 1. G R... 1 2.ALTYAPI... 5 2.1 Mobil Programlama... 5 2.1.1 J2ME ye Genel Bakı... 5 2.1.2 J2ME Konfigürasyonları... 7 2.1.3 J2ME Profilleri... 9 2.2 Etmenler... 11 2.3 Web Servisleri... 13 2.4 Anlamsal Web... 15 2.5 Anlamsal Web Servisleri... 16 3. LG L ÇALI MALAR... 19 3.1 Web Servisleri ve Yazılım Etmenlerinin Bütünle imi... 19 3.2 Anlamsal Web Servisleri ve Yazılım Etmenleri Bütünle imi... 20 3.3 Mobil Araç ve Servis Bütünle imi... 21

XII Ç NDEK LER (devam) Sayfa 3.4 De erlendirme...26 4. KULLANILAN ETMEN PLATFORMLARININ TANITILMASI..29 4.1 SEAGENT Çok-Etmenli Sistem Geli tirme Platformu...29 4.2 SeagentLITE Etmen Platformu...34 4.2.1 leti im Katmanı...37 4.2.2 Uygulama Katmanı...39 4.2.3 Arayüz Katmanı...46 5. MOB L ARAÇLAR Ç N ETMEN TABANLI BiR ANLAMSAL WEB SERV S SUNUM PLATFORMU GEL T RME...49 5.1 SEAGENT Platformunda Yapılan Çalı malar...49 5.1.1 Arabulucu Etmenin Görevleri...50 5.1.2 Arabulucu Etmenin Planları...64 5.2 SeagentLite Platformunda Yapılan Çalı malar...68 5.3 Anlamsal Web Servislerinin Kullanımında Etmenler Arası Etkile imin Açıklanması...72 5.4 Durum Çalı maları...74 6. SONUÇ...85 KAYNAKLAR D Z N...89 EKLER...93 Ek 1 Arabulucu Etmen Planları...94 Ek 2 Etmenler Arası Mesaj Örnekleri...98 Ek 3 Dönü üm lemi Örne i...117

XIII Ç NDEK LER (devam) Sayfa Ek 4 ngilizce Terimler Sözlü ü... 128 ÖZGEÇM... 131

XIV

XV EK LLER D Z N ekil Sayfa ekil 2.1. Java 2 platformuna genel bakı... 7 ekil 2.2. Web servis standartları katmanlı yapısı... 14 ekil 3.1. UWS Aracı Sistemi Servis Ke if Diyagramı (Hwang et al., 2007)... 23 ekil 3.2. Anlamsal Servis Ke if Mimarisi (Wang et al., 2007)... 24 ekil 4.1. SEAGENT sürüm 0.02 mimarisi... 31 ekil 4.2. Aracı etmenin aracılık planı... 32 ekil 4.3. Platformlar arası etkile im diyagramı... 35 ekil 4.4. SeagentLITE katmanlı mimari... 36 ekil 4.5. SeagentLITE sınıf diyagramı... 37 ekil 4.6. leti im katmanı sınıf diyagramı... 39 ekil 4.7. Domain paketi sınıf diyagramı (1)... 41 ekil 4.8. Domain Paketi Sınıf Diyagramı(2)... 43 ekil 4.9. Planner paketi sınıf diyagramı... 45 ekil 4.10. Nesne Serile tirme Paketi Sınıf Diyagramı... 46 ekil 4.11. Arayüz katmanı sınıf diyagramı... 47 ekil 5.1. Etmenler arası kullanılan farklı ileti im protokolleri... 51 ekil 5.2. Anlamsal web servisleri için geni letilmi aracılık etkile im protokolü (Gümü, 2008)... 53 ekil 5.3. Arabulucu etmenin di er etmenlerle etkile imi... 54 ekil 5.4. Ek bilgi ihtiyacına yönelik geni letilen protokol... 56 ekil 5.5. Dinamik Arayüz Örne i... 63 ekil 5.6. BHCallServiceViaBroker görevinin ayrı tırılmı görünümü. 64

XVI EKILLER DIZINI (devam) ekil Sayfa ekil 5.7. BHSendAvailableServiceNames görevinin ayrı tırılmı görünümü...65 ekil 5.8. BHSendSelectedServiceParameters görevinin ayrı tırılmı görünümü...67 ekil 5.9. BHCallService görevinin ayrı tırılmı görünümü...68 ekil 5.10. BHGetAvailableServiceNames görevinin ayrı tırılmı görünümü...70 ekil 5.11. BHGetSelectedServiceParameters görevinin ayrı tırılmı görünümü...71 ekil 5.12. BHCallServiceWithMediator görevinin ayrı tırılmı görünümü...72 ekil 5.13. Anlamsal web servis kullanım sürecinde gerçekle tirilen i lemler...74 ekil 5.14. Mobil araçtaki etmenin yaratılması...75 ekil 5.15. Otel arama-rezervasyon i lemi arayüzleri-1...77 ekil 5.16. Otel arama-rezervasyon i lemi arayüzleri-2...81 ekil 5.17. Emlak arama-kiralama i lemi arayüzleri-1...82 ekil 5.18. Emlak arama-kiralama i lemi arayüzleri-2...83 ekil A.1. Arabulucu etmen anlamsal servis ça ırma planı...94 ekil A.2. BHCallServiceViaBroker kod örne i...97

XVII KISALTMALAR D Z N Kısaltma ACC ACL AMS API CDC CLDC CVM DF FIPA FIPA-ACL FP GUI HTN HTTP IMP JADE J2EE J2ME JRE Açılım Agent Communication Channel Agent Communication Language Agent Management System Application Programming Interface Connected Device Configuration Connected Limited Device Configuration Compact Virtual Machine Directory Facilitator Foundation For Intelligent Physical Agents FIPA Agent Communication Language Foundation Profile Graphical User Interface Hierarchical Task Network Hyper-Text Transfer Protocol Information Module Profile Java Agent Development Environment Java 2 Enterprise Edition Java 2 Micro Edition Java Runtime Environment

XVIII Kısaltma Açılım J2SE JVM KQML KVM LEAP MIDP OWL OWL-S PBP PDA PP RDF SOAP SWSA SWSI TCP UDDI URI WSDL WSFL Java 2 Standard Edition Java Virtual Machine Knowledge Query Manipulation Language Kilobyte Virtual Machine Lightweight Extensible Agent Platform Mobile Information Device Profiles Web Ontology Language OWL for Services Personal Basis Profile Personal Digital Assistant Personal Profile Resource Description Framework Simple Object Access Protocol SWSI Architecture Semantic Web Services Initiative Transmission Control Protocol Universal Description, Discovery and Integration Uniform Resource Identifier Web Service Description Language Web Services Flow Language

XIX Kısaltma Açılım WSMO XML Web Service Modeling Ontology Extensible Markup Language

1. G R Mobil araç kullanımı hayatımıza girdi i günden bu yana sürekli artı göstermektedir. Bununla birlikte mobil araçların zaman içinde daha yetenekli araçlar haline gelmesi bu pazara yenilikler getirme imkanını da sunmu tur. Günümüzde masaüstü sistemler için geli tirilen pek çok uygulama mobil araçlara uyarlanabilmektedir. Gerçekle tirilen bu tez çalı masında mobil araçlardan yazılım etmenleri ile anlamsal web servislerine eri im ve kullanım sa lanmaya çalı ılmı tır. Anlamsal servislerin kullanım süreci öncesinde servislerin bulunması ve kullanılmak üzere hazırlanması i lemleri masaüstü sistemde bulunan ara katman bile enleri ile gerçekle tirilmi tir. Tez çalı ması kapsamında mobil araçların anlamsal web teknolojileri, etmen tabanlı yazılım geli tirme teknikleri ve web servisleri ile bütünle imi üzerine çalı ılmı tır. Anlamsal Web kavramı, bugünkü web in temelini olu turan yapıları tasarlayan ve bulan ki i olan Tim BernersLee tarafından öne sürülmü tür. Anlamsal Web in mevcut web ortamının geli tirilmesi sonucu web in gelecek adımı olaca ı dü ünülmektedir. Anlamsal web yeni ve ayrı bir web olmayıp, bilgilere iyi tanımlanmı anlamların verildi i, bilgisayarların ve insanların birlikte çalı malarına imkan veren bugünkü web in bir uzantısıdır (Berners-Lee et al., 2001). Anlamsal web teki temel amaç iyi tanımlanmı ve ba lantılandırılmı olan bilgilerin ve servislerin web ortamında makineler ve insanlar tarafından kolaylıkla okunabilir ve anla ılabilir olmasını sa layacak standartların ve teknolojilerin geli tirilmesidir. Yazılım etmenleri (software agent) teknolojisi; açık, dinamik de i imlerin çok oldu u ve heterojen ortamların yapısına uygun yazılımların geli tirilmesine yönelik bir teknolojidir (Erdur, 2005). Yazılım etmenleri, 1990 lı yıllardan itibaren nternet üzerine da ılmı,

2 de i ik biçemlerde tutulan, sürekli de i en ve geli en bilgilerin kullanıcı amaçları do rultusunda derlenmesi ve i lenmesini gerektiren Web temelli uygulamalarda ba arı ile kullanılmı tır. Yazılım etmenleri günümüzde de bilgi teknolojileri alanının en önemli ve en hızlı geli im gösteren ara tırma alanlarından birisi olma özelli ini korumaktadır. Web servisleri son yıllarda web uygulamalarında sıklıkla kullanılan bir teknolojidir. Web servisleri WSDL 1 ile tanımlanmı ve SOAP 2 gibi standart a protokolleri ile eri ilebilen yazılım bile enleridir. Anlamsal web ise bu servislerin otomatik olarak bulunması, seçilmesi, çalı tırılması, kar ılıklı i leyebilirli inin ve izlenmesinin sa lanması için gerekli teknolojileri sunmaktadır. Bu ba lamda; anlamsal web servisleri, ontolojilerin yayınlanan servis tanımlamalarına anlam yükledi i ve bu sayede servis istemcilerinin servis tanımlamalarını yorumlayıp, servisleri ça ırabildi i web servisleridir (Burstein et al., 2005). Anlamsal web servislerinin tanımlanmasında kullanılan ontolojiler ile web servislerini tanımlamada kullanılan WSDL daki yetersizliklerin giderilmesi amaçlanmaktadır. Web servislerinin anlamsal web ile yeniden yapılandırılmasına yönelik çalı malar da yine günümüzün popüler ara tırma konularından biridir. Gerçekle tirilen tez projesinin önemi de; hem yazılım etmenleri ve anlamsal web servislerini içermesi, hem de bu iki konu için tasarlanan mimarinin yine popüler bir konu olan mobil araçlara yönelik geli tirilmesi olarak ortaya çıkmaktadır. 1 WSDL (Web Service Definition Language) URL : www.w3.org/tr/wsdl, son eri im 16 ubat 2008. 2 SOAP (Simple Object Access Protocol) URL : www.w3.org/tr/soap/, son eri im 16 ubat 2008.

3 Bu tez projesi kapsamında SeagentLITE mobil etmen platformu geli tirilmi tir. SeagentLITE mobil etmen platformu sayesinde mobil araçtaki etmen veya etmenler SEAGENT (Dikenelli et al, 2005) çoketmenli sistemine dahil edilebilmektedir. Yapılan çalı mada etmen tabanlı mimarinin geli tirimi tamamlandıktan sonra mobil araçtaki etmen veya etmenlerin çok-etmenli sistem içindeki anlamsal web servislerine eri imini ve web servislerini kullanımını sa lamak için gerekli altyapının olu turulması amaçlanmı tır. Gerekli mimari için öncelikle hangi i lemlerin mobil araç içinde gerçekle tirilebilece i ve hangi i lemler için masaüstü sistemin sunucu olarak kullanılması gerekti i belirlenmi tir. lgili kısımlar belirlendikten sonra mobil araçtaki mimari bile enlerinin ve sunucu tarafta bir ara katman görevi yapacak mimari bile eninin gerçekle tiriminin yapılmı tır. Olu turulan mimaride mobil araç ile servisler arasında etkile imi sa layacak bile en bir arabulucu etmen olarak tasarlanmı tır. Ayrıca çalı ma kapsamında mobil araçtaki etmen ve arabulucu etmenin kar ılıklı ileti imini sa lacak bir protokol belirlenmi tir. Son olarak, gerçekle tirimi yapılan mimari örnek bir senaryoda sınanmı tır. Tezin izleyen bölümleri u ekilde düzenlenmi tir. kinci bölümde tezin altyapısını olu turan konu ve kavramlar açıklanmı tır. Bu konular mobil programlama ve mobil programlama kapsamında tez çalı masında kullanılan J2ME(Java 2 Micro Edition) teknolojisi, etmenler, web servisleri, anlamsal web ve anlamsal web servisleridir. Üçüncü bölümde tez çalı ması ile ilgili literatür çalı malarından bahsedilecektir. Bu bölümde yazılım etmenleri ve web servisleri ile yazılım etmenleri ve anlamsal web servislerinin birlikte kullanımı, son olarak da mobil araçlardan servislerin kullanımını sa layan literatür çalı maları açıklanmı tır. Ayrıca tez çalı ması literatür ba lamında de erlendirilmi tir. Dördüncü bölümde tez çalı masının

4 gerçekle tiriminde kullanılan SEAGENT ve SeagentLITE etmen platformlarından bahsedilecektir. Be inci bölümde mobil araçların anlamsal web servislerine eri imini sa lamak üzere geli tirilen çalı ma tanıtılacaktır. Yine bu bölümde gerçekle tirilen çalı ma için yapılan durum çalı maları anlatılacaktır. Altıncı bölümde yapılan tez çalı masının de erlendirilmesi yapılmakta ve ileri dönük yapılabilecek çalı malardan bahsedilmektedir.

5 2.ALTYAPI Bu bölümde tez çalı masının altyapısını olu turan konular tanıtılacaktır. Mobil programlama, etmenler, web servisleri, anlamsal web, anlamsal web servisleri konuları ile ilgili bilgiler izleyen alt bölümlerde anlatılacaktır. 2.1 Mobil Programlama leti imi ve bilgiye eri imi her yerde mümkün kılan mobil araçlar, bireysel hayatı ve kurumları tümüyle yeniden ekillendirmektedir. Günümüzde mobil araçlar hayatımızın vazgeçilmez bir parçası haline gelmi tir. Bu nedenle, masaüstü bilgisayar kullanıcılarına yönelik uygulamaların mobil araç kullanıcıları için uyarlanmasına yönelik projeler günden güne yo unluk ve önem kazanmaktadır. Mobil araçlar için yazılım geli tirmeyi sa layan platformlar ve emülatörler yazılım geli tiricilere büyük kolaylıklar sa lamaktadır. Bu tez çalı masının gerçekle tiriminde Java yazılımlarını elektronik ve gömülü cihazlara yerle tirebilmek için tasarlanmı olan Java 2 Micro Edition (J2ME) 3 kütüphanesinden faydalanılmı tır. Bu bölümde J2ME teknolojilerinin di er Java platformları arasındaki yeri, sahip oldu u konfigürasyonlar ve profiller anlatılacaktır. 2.1.1 J2ME ye Genel Bakı J2ME teknolojileri, Sun Microsystems, Inc. irketi tarafından 1999 yılında tanıtılmı ve geni bir tüketici alanının gereksinmelerini kar ılamak için özel olarak geli tirilmi olan JRE(Java Runtime Environment)'yi içermektedir. J2ME teknolojileri, çok geni bir ürün çe itlili iyle son derece küçük cihazlarda kullanılabilmekte ve akıllı 3 J2ME (Java 2 Micro Edition) URL : java.sun.com/javame/index.jsp, son eri im 29 Nisan 2008.

6 kartlar, ça rı cihazları, kod çözücüler(decoder) ve di er küçük aygıtlar için güvenlik ve ba lanabilirlik çözümleri ile yararlı yardımcı programlar üretilmesine olanak sa lamaktadır. J2ME teknolojileri Java yazılım ürünleri ailesinin yalnızca bir bölümüdür. Bu teknolojiyle ba lantılı di er Java platformları Java 2 Platform Standard Edition (J2SE platformu) ve Java 2 Platform Enterprise Edition'dır (J2EE platformu). Java teknolojisi aynı zamanda Web hizmetleri olu turma yöntemleri, XML 4 biçiminde bilgi aktarımları, çe itli a protokolleri, araç setleri ve Java Web Start uygulaması sa lar. Java 2 Platform Standard Edition (J2SE), çekirdek Java sınıflarını ve API lerini tarayıcılar üzerinde çalı abilecek uygulamalar da dahil standart istemci-sunucu uygulamalarını geli tirme ve çalı tırma olana ı sa layan temel Java ortamıdır. Java 2 Platform Enterprise Edition (J2EE), J2SE nin bir üst kümesini olu turur. Genellikle ölçeklenebilir, i lem tabanlı ve veritabanı merkezli i programların ve çok katlı, da ıtık uygulamaların geli tirilmesi için kullanılır. J2ME mobil telefonlar, PDA lar, TV kutuları gibi gömülü sistem araçlar için uygulama geli tirmeye yönelik API ler ve çalı ma zamanı ortamı tanımlar. J2SE ve J2EE den daha kısıtlı kaynaklara sahiptir. ekil 2.1 de Java platformunun bile enleri ve J2ME nin platform içindeki yeri görülmektedir. 4 XML (Extensible Markup Language) URL : www.w3.org/xml/, son eri im 16 ubat 2008.

7 ekil 2.1. Java 2 platformuna genel bakı J2ME platformu temel bile enleri, tüketici aygıtları ve gömülü aygıtlar pazarına Java çözümleri sunan çe itli araçların ve teknolojilerin yanı sıra Connected Device Configurations (Ba lantılı Aygıt Yapılandırmaları), Connected Limited Device Configurations (Network Ba lantılı Kısıtlı Aygıt Yapılandırmaları) ve Mobile Information Device Profiles (Mobil Bilgi Aygıtı Profilleri) yazılımlarını içerir. lerleyen bölümlerde bu yazılımların detaylarından bahsedilmektedir. 2.1.2 J2ME Konfigürasyonları Konfigürasyon, uygulama geli tiricinin minimum Java kütüphanelerini ve sanal makine yeteneklerini belirtir. J2ME platform konfigürasyonu, bir araç ailesi ile ilgili minimum Java platformunu belirler. J2ME içinde CLDC (Connected Limited Device Configuration-

8 Limitli Ba lı Araç Konfigürasyonu) ve CDC (Connected Device Configuration-Ba lı Araç Konfigürasyonu) adında iki konfigürasyon bulunmaktadır. CLDC, kaynakları kısıtlı ve a ba lanabilirli i sınırlı olan cep telefonu, ki isel bilgisayarlar gibi alt uç (low-end) cihazları destekler. CDC ise, daha az kısıtları olan, yüksek seviyede ileti im olana ına sahip, ileri seviye gömülü cihazları destekler. CDC konfigürasyonu Java uygulamaları için en az 2MB hafızası olan ve 16/32 bit i lemci ile çalı an araçlar için tanımlanmı tır. CDC araçları genelde sabit güç kayna ına ve geni bantlı internet ba lantısına sahipler. TV kutusu araçları, görüntülü internet telefonları CDC konfigürasyonuna sahip araçlardır. J2SE sınıflarının bazı bölümlerini içeren CDC konfigürasyonu programları J2SE tabanında çalı abilirler. Bu konfigürasyonun çekirde inde ise CVM (Compact Virtual Machine) sanal makinesi bulunmaktadır. Bu konfigürasyona ait Java paketleri; java.io java.lang java.lang.ref java.lang.reflect java.math, java.net java.security java.security.cert java.text, java.util java.util.jar, java.util.zip javax.microedition.io

9 paketlerinden olu maktadır. Görüldü ü üzere CDC konfigürasyonu ait oldu u araç özelliklerine de ba lı olarak oldukça geni programlama özelliklerini sa lamaktadır. CLDC 5, daha kısıtlı kaynaklara sahip araçlara yönelik bir J2ME konfigürasyonudur. Bu konfigürasyonun çekirde inde bir Java sanal makinesi (Java Virtual Machine-JVM) olan KVM (Kilobyte Virtual Machine) vardır. KVM, JVM nin bazı kısımlarının çıkartılarak daha önemli ve gerekli parçalarını içerecek ekilde tasarlanmı halidir. KVM ismindeki K harfi bu sanal makinenin Megabyte boyutunda hafızayla de il Kilobyte boyutunda hafıza ile çalı abilmesinden gelmektedir. Bu konfigürasyon 512 KB tan küçük hafızası ve sınırlı a ba lantısı olan araçlar için tasarlanmı tır. Bu konfigürasyona ait Java paketleri; java.io java.lang java.lang.ref java.util javax.microedition.io paketlerinden olu maktadır. Bu konfigürasyon da tasarlandı ı araçların kaynak özelliklerine ba lı olarak çok daha az Java paketini içermektedir. 2.1.3 J2ME Profilleri Konfigürasyonlar, uygulama ya am döngüsünü yönetmek, kullanıcı arayüzü olu turmak, araç içinde tutulan veriyi güncellemek ve yönetmek, a sunucusunda yer alan güvenlik bilgisine eri mek için gerekli sınıfları içermezler. Bu fonksiyonlar, profiller ya da seçimlik paketler tarafından 5 CLDC spesifikasyonları, http://java.sun.com/products/cldc/, son eri im 31 Mart 2008

10 gerçekle tirilir. Profiller, konfigürasyonlar tarafından sa lanan çekirdek sınıf kümelerine, ilgili araca özgü servisler için gerekli sınıfları ekler. Bu sınıflar, alt katmandaki konfigürasyonda yer almayan, ama aracın kendine özgü olan i levleri yerine getirmesinde ve kullanımında gerekli olan servisleri içerirler. J2ME platformunda CLDC tabanlı profiller, Mobil Bilgi Aygıtı Profili (Mobile Information Device Profile - MIDP, versiyon 1.0 ve 2.0), Bilgi Birim Profili (Information Module Profile- IMP) dir. CDC tabanlı üç profil vardır. Bunlar: Foundation Profile (FP), Personal Basis Profile (PBP), Personal Profile (PP) dir. MIDP, J2ME platformu için tanıtılan ilk profildir. Temmuz 2000 yılında CLDC 1.0 konfigürasyonunu temel alan MIDP 1.0 versiyonu ve 2002 yılının sonunda CLDC 1.1 konfigürasyonunu temel alan MIDP 2.0 versiyonu tanıtılmı tır. MIDP profili cep telefonları, avuç içi bilgisayarları ve ça rı araçları gibi küçük araçları hedeflemektedir. Bu araçlar sahip oldukları dü ük hafızaları (512kBtan az) ve kablosuz internet ba lantılarının yanı sıra pille (akü) ve dü ük i lemci hızında çalı maktadırlar. MIDP mevcut profiller arasında ilk ve en yaygın olanıdır ve uygulamanın ya am döngüsü, kullanıcı grafik arabirimleri, ileti im a ı ve kalıcı depolama ile ilgili kütüphanelerini içerir. MIDP, CLDC konfigürasyonunun üzerinde yer alır ve günümüzde Motorola, Nokia ve Ericsson gibi sektör devleri tarafından desteklenmektedir. MIDP 1.0 profili; grafik kullanıcı ara yüzünün kurumu (GUI - Graphic User Interface), kullanıcının girdi i verileri i lemek, grafik dosyaların görüntülenmesi, zaman sayacının kullanımı, verileri veritabanından okumak/silmek ve verileri kaydetmek, HTTP ba lantılarını kurma gibi imkanlar sunmaktadır. MIDP 2.0 profili ise bu imkanlara ek olarak resim i leme (RGB), geli mi çoklu ortam, geli mi kullanıcı ara yüzü (GUI),

11 oyun API (Application Programming Interface - Uygulama Programlama ara yüzü), SSL üzerinden güvenli HTTP ba lantıları, sayısal imza gibi özellikleri de sa lamaktadır. Gerçekle tirilen tez projesinde CLDC konfigürasyonu ve MIDP 2.0 profili kullanılmı tır. Kullanılan bu yapıda mobil araçların kısıtları, donanımsal ba arımları ve gereksinimleri gözönüne alınarak kullanımı uygun olan Java kütüphaneleri J2ME ortamına dahil edilmi, kimi kütüphanelerin gereksinimine ra men mobil araçların kaynak kısıtları nedeniyle J2ME ortamına eklenmemi tir. Örne in ontoloji i lemleri için bir API olmaması nedeniyle tez projesinde mobil araçların ontoloji i lemleri masaüstü sistemler tarafından gerçekle tirilmi tir. lerleyen bölümlerde bu kısıtlar sonucunda gerçekle tirilen mimari detaylı anlatılacaktır. 2.2 Etmenler nternet'in da ınık ve sürekli geni leyen yapısına uygun yazılımların geli tirilmesi iste i, yeni yazılım teknolojileri arayı larına neden olmu tur. Bu arayı ların en önemli sonuçlarından birisi de yazılım etmeni teknolojisidir. Yazılım etmenleri, 1990 lı yıllardan itibaren nternet üzerine da ılmı, de i ik biçemlerde tutulan, sürekli de i en ve geli en bilgilerin kullanıcı amaçları do rultusunda derlenmesi ve i lenmesini gerektiren web temelli uygulamalarda ba arı ile kullanılmı tır (Sycara et al.,1996). Yazılım etmenleri günümüzde de bilgi teknolojileri alanının en önemli ve en hızlı geli im gösteren ara tırma alanlarından birisi olma özelli ini korumaktadır (Luck et al., 2005). Yazılım etmenleri algılayıcıları yardımıyla ortamı algılayan ve etkileyicileri yardımıyla bu ortamı etkileyen bir sistem olarak tanımlanmaktadır (Russell and Norvig, 2003).

12 Bir etmene ili kin özellikler iki grupta incelenmektedir. Her etmende olması gereken özellikler birincil özellikler olarak adlandırılmaktadır. Birincil özellikler, bir etmeni klasik donanım veya yazılım sistemlerinden ayıran özelliklerdir. Bir donanım veya yazılım sisteminin etmen olarak nitelendirilebilmesi için mutlaka birincil özellikleri barındırması gerekmektedir. Bunun dı ında, bir sistemin etmen olma kavramını güçlendiren ve genellikle geli tirilen uygulamaya ba lı olan özellikler de bulunmaktadır. Bu özellikler ikincil özellikler olarak adlandırılmaktadır. Gezicilik, ö renme, dürüstlük, olumluluk etmenlere ait ikincil özelliklerdir. Bir etmene ait birincil özellikler ise u ekilde özetlenebilir : Özerklik : Bir etmenin di er bir elemana ba ımlı olmaksızın kendine ait görevleri ba latabilme ve çalı tırabilme yetene idir. Kar ıt-eylemlilik : Etmenin bulundu u ortamı algılayıp, ortamdaki de i ikliklere göre bilgisini, amaçlarını, eylemlerini de i tirmesi ve gerekti inde di er etmenlere ileti göndererek söz konusu de i ikli i onlara da bildirebilmesidir. Amaç Yönelimlilik : Bir etmenin kendisinden beklenenleri yerine getirmesi için planlama yaparak bu planların gerektirdi i eylemleri gerçekle tirmesidir. Sosyal Yetenek : Etmenin planlarına ili kin görevlerini tamamlayabilmek için di er etmenler veya insan kullanıcıları ile etkile imde bulunabilmesidir. Bu etkile im ancak bir etmenler arası ileti im dili kullanarak sa lanabilecektir. Etmenler arası ileti im, çok-etmenli sistemlerin en önemli konularından birisidir.

13 Kalıcı süreklilik : Etmenin ba lattı ı görevleri tamamladıktan sonra da etkin olarak kalma ve çevresini algılayıp gereken eylemleri gerçekle tirmek için hazır olarak bekleyebilme özelli idir. Etmenler davranı larını kendilerine ait planlar ve bu planların çalı masını sa layan plan mekanizmasıyla gerçekle tirirler. Bir etmen bulundu u ortamda yalnız olabilir ve görevlerini tek ba ına gerçekle tirebilir. Kimi durumlarda ise etmen bulundu u ortamda yalnız de ildir ve ba ka etmenlerle etkile im halinde olabilir. Tek bir etmenin yalnız ba ına kendi bilgi ve bireysel yeteneklerini kullanarak çözemedi i veya etkin bir biçimde çözemeyece ini dü ündü ü problemleri birbiriyle i birli i yaparak e güdümlü bir biçimde çözmek için bir araya gelen etmenlerin olu turdu u a, çok-etmenli sistem olarak tanımlanmaktadır (Durfee et al., 1989). 2.3 Web Servisleri Günümüzde birbiriyle haberle ecek sistemleri gerçeklemek için en çok tercih edilen yöntem web servisleridir. Bu nedenle, web servislerinin kullanımının hızla geni lemesi, web-tabanlı uygulamalar arasındaki birlikte i lerlik ihtiyacının artmasıyla paralellik göstermektedir. Web servisleri, az ba ımlı ve da ıtık yazılım bile enleridir. Bilgi de i imi ve bilginin farklı yollarla bir araya getirilebilmesi için internet ortamını kullanarak bilgisayar ve di er bili im cihazlarını birbirlerine ba lamaktadır. Web servisi, XML tabanlı mesajla mayı esas alır. Bu nedenle, haberle ecek sistemlerin birbirlerinin gerçeklenmelerinden haberdar olması veya platformlarının uyumlu olması gerekmez. Örne in, Java ile geli tirilmi ve UNIX sistem üzerinde çalı an bir uygulama ile.net ile geli tirilmi ve Windows i letim sistemi üzerinde çalı an bir uygulama,

14 birbirlerinin çalı ma ortamlarından ba ımsız olarak, XML ileti im standartları aracılı ıyla ileti im kurabilir. Web servisinin en büyük faydası budur. Öte yandan, XML web servisleri, SOAP adı verilen "Simple Object Access Protocol" (Basit Nesne Eri im Protokolü) ile ileti im kurarlar. SOAP ekil 2.2 de de görüldü ü gibi xml tabanlı mesajla mayı sa layan web servisi eri im standardıdır. SOAP protokolü sayesinde web servisleri, basit ve mesaj tabanlı bir ileti im sa lar. ekil 2.2. Web servis standartları katmanlı yapısı 6 Web servisleri, WSDL (Web Service Description Language) adı verilen bir tanımlama dili ile sundukları servisin tanımını yaparlar. Bununla birlikte, UDDI 7 (Universal Description, Discovery and Integration) kayıt servisi sayesinde kurumlar ihtiyaç duydukları servisleri arayabilmekte veya kendi servislerini farklı kurumlar tarafından bulunabilir hale getirebilmektedir. Birden çok web servisinin 6 URL : http://www.ias.com.tr/enterprise/articles/20070816-web-service.html, son eri im 1 Mayıs 2008. 7 UDDI (Universal Description, Discovery, and Integration) URL : uddi.xml.org/uddiorg, son eri im 16 ubat 2008.

15 kullanılmasını gerektiren durumlarda XML tabanlı bir dil olan WSFL (Web Services Flow Language) web servislerini kullanarak bir i kompozisyonu yazılabilmesini sa lar. ekil 2.2 nin sa kısmında görülen kısım servis odaklı mimariyi göstermektedir. Bu mimaride servis sa layıcı (service provider) sahip oldu u servisi bir servis aracısına (service broker) kaydolarak gönderdi i WSDL tanımı ile yayınlar. Servis istemcisi (service requester), servis aracısının kayıtlarını arayarak gerek duydu u servisi bulur. Servis istemcisi, sunulan servisi kullanmak üzere, servis sa layıcıya ba lanır (Türker,2001). 2.4 Anlamsal Web Anlamsal Web kavramı, bugünkü web in temelini olu turan yapıları tasarlayan ve bulan ki i olan Tim Berners-Lee tarafından öne sürülmü tür. Anlamsal web in mevcut web ortamının geli tirilmesi sonucu web in gelecek adımı olaca ı dü ünülmektedir. Anlamsal web yeni ve ayrı bir web olmayıp, bilgilere iyi tanımlanmı anlamların verildi i, bilgisayarların ve insanların birlikte çalı malarına imkan veren bugünkü web in bir uzantısıdır (Berners-Lee et al., 2001). Anlamsal web teki temel amaç iyi tanımlanmı ve ba lantılandırılmı olan bilgilerin ve servislerin web ortamında makineler ve insanlar tarafından kolaylıkla okunabilir ve anla ılabilir olmasını sa layacak standartların ve teknolojilerin geli tirilmesidir. Bilgi gösterimi, bilgi getirme, veritabanları, çok-etmenli sistemler, do al dil i leme, makine ö renimi ve web servisleri anlamsal web ile ilgili alanlardandır. Anlamsal web te kaynakların tanımlanması için URI ler (Uniform Resource Identifier), ontolojilerin birle tirilmesi için ba lantılar, söz dizim için XML, ileti im için de HTTP kullanılmaktadır. Ontolojiler ise Anlamsal web in temel yapı ta ı olarak ortaya çıkmaktadır. Ontolojiler

16 sayesinde kavramlar daha iyi bir ekilde tanımlanmakta ve kavramlar arası ba lantılar kurulmaktadır. Ontolojiler payla ılan bir kavramsalla tırmanın biçimsel, belirgin bir tanımı olarak ifade edilmektedir. Tanımda bahsedilen biçimsel tanım ile makine okunabilirli i sa lanır, belirgin tanım ile de kesin terminoloji tanımları yapılır. 2.5 Anlamsal Web Servisleri Anlamsal web servisleri, anlamsal web ortamının önemli bile enlerinden biridir. Anlamsal web servisleri ontolojilerin yayınlanan servis tanımlamalarına anlam yükledi i ve bu sayede servis istemcilerinin servis tanımlamalarını yorumlayıp, servisleri ça ırabildi i web servisleri olarak tanımlanabilmektedir (Burstein et al., 2005). WSDL kullanılarak tanımlanan bir web servis ara yüzü, özellikle ihtiyaç duyulan anlamsal çıkarsama mekanizmaları göz önünde bulunduruldu unda anlamsal web ortamı için yetersiz kalmaktadır. Anlamsal web servislerinin tanımlanmasında kullanılan ontolojiler ile web servislerini tanımlamada kullanılan WSDL daki yetersizliklerin giderilmesi amaçlanmaktadır. Anlamsal web servisi yeteneklerinin anlamsal web ortamında temsil edilmesi ve dinamik olarak bulunup kullanılması için geli tirilen standart bir web servis ontolojisi henüz bulunmamakla birlikte, üzerinde çalı ılan ve geli tirilmekte olan iki aday ontoloji OWL- S (Web Ontology Language for Services) 8 ve WSMO (Web Servis Modelling Ontology) 9 dur. Bunlardan OWL-S, WSMO ya göre daha yaygın kabul görmekte ve anlamsal web te çalı acak servislerin geli tirilmesinde daha fazla kullanılmaktadır. Anlamsal web servisleri ile 8 OWL-S (Web Ontology Language for Services) URL : http://www.daml.org/services/owl-s/, son eri im 1 Mart 2008. 9 WSMO (Web Servis Modelling Ontology) URL : http://www.wsmo.org/, son eri im 1 Mart 2008.

17 servislerin otomatik olarak bulunması, seçilmesi, çalı tırılması, kar ılıklı i leyebilirli ini ve izlenmesini sa lanabilmektedir.

18

19 3. LG L ÇALI MALAR Bu bölümde web servislerinin etmen sistemleri ile birlikte kullanımına yönelik yapılmı çe itli çalı malardan bahsedilecektir. Bazı çalı malar etmen sistemleri ve web servisleri bütünle imi üzerine, bazıları ise anlamsal web servisleri ile bütünle im üzerine yo unla maktadır. Ayrıca mobil araçlardan servislere eri ime yönelik çalı malar da yine bu bölüm kapsamında incelenecektir. Son olarak tez çalı ması literatür ba lamında de erlendirilecektir. 3.1 Web Servisleri ve Yazılım Etmenlerinin Bütünle imi Literatürde etmenler ve web servislerinin birlikte kullanımını sa layan çe itli çalı malar bulunmaktadır. WSIG (Web Services Integration Gateway) (Greenwood and Calisti, 2004) adlı çalı mada hem bir JADE 10 etmeninin web servisini, hem de bir web servisinin bir JADE etmeninin servisini ça ırabilece i bir mimari sunulmaktadır. Bu çalı mada sunulan ara katman ile web servis ça rımı için ve bir web servisinin bir etmen ile ileti iminin sa lanabilmesi için gerekli olan dönü ümler yapılmaktadır. Fakat böyle bir mimari iki taraflı dönü ümler gerektirdi i için i lem yükü çok fazla olan bir çalı ma olarak ortaya çıkmaktadır. Önerilen mimarinin anlamsal web ortamını desteklemiyor olu u ise bir eksiklik olarak göze çarpmaktadır. Bir di er çalı mada ise etmenler ve web servislerin birlikte kullanımı kapsayıcı (wrapper) etmenler ile sa lanmaya çalı ılmı tır (Varga et al., 2003). Bu çalı mada iki yakla ımdan bahsedilmektedir. lk yakla ımda, tek bir kapsayıcı etmenin web servislerinin ça rımından 10 JADE (Java Agent DEvelopment Framework) URL:http://jade.tilab.com, son eri im 16 ubat 2008.

20 sorumlu olması önerilmektedir. Di er etmenler de kapsayıcı etmenle ileti ime geçerek web servislerini kullanabilmektedir. Di er yakla ımda ise; her bir web servisi ayrı bir kapsayıcı etmen üzerinden kullanılabilmektedir. Yapılan çalı ma kullanılmakta olan web servislerinin etmen sistemleriyle bütünle imi için iki farklı yakla ımla çözüm sunması açısından faydalı bir çalı ma olmakla birlikte yeterli bir çalı ma de ildir. Bunun nedeni çalı manın web servislerinin anlamsal web ortamında etmenlerle bütünle imine yönelik bir fikir sunmamı olmasıdır. 3.2 Anlamsal Web Servisleri ve Yazılım Etmenleri Bütünle imi Anlamsal web servisleri, ontolojilerin yayınlanan servis tanımlamalarına anlam yükledi i ve bu sayede servis istemcilerinin servis tanımlamalarını yorumlayıp, servisleri ça ırabildi i web servisleridir (Burstein et al., 2005). Anlamsal web ise bu servislerin otomatik olarak bulunması, seçilmesi, çalı tırılması, kar ılıklı i leyebilirli inin ve izlenmesinin sa lanması için kullanılabilecek teknolojileri sunmaktadır. (Sycara et al., 2004) ın yaptı ı çalı mada servislerin ke if, anla ma ve çalı tırma i lemlerinin etmenler tarafından otonom bir ekilde gerçekle tirilmesi için bir mimari sunulmaktadır. Bu mimari çok-etmenli sistemlerin kullanımını önermekte ve anlamsal web servisleriyle etmenlerin etkile imi için aracı etmen (broker agent) yakla ımını öne sürmektedir. Bu yakla ıma göre aracı etmenin görevi; servis istemcisi ve servis sa layıcısının mesajlarının birbirine çevrimi, istemci için uygun servis aranması, ke fi ve ileti im kurulması olarak tanımlanmı tır. Bu çalı mada olu turulan mimari masaüstü sistemler için geli tirilmi tir. Fakat mobil araçlar için etmen servis etkile imine yönelik bir aracı bile en ile desteklenen bir mimari ortaya konmamı tır.

21 (Antoniou et al., 2007) ın yaptı ı ba ka bir çalı ma da ise; aracılık (brokering) ve e le tirme (matchmaking) sorunu üzerine çalı ılmı ve istemcilerden gelen isteklerin ara etmenler tarafından nasıl ele alınaca ına dair bir çözüm sunulmu tur. Sunulan çözümde etmenlerin ve servislerinin tanımlanması için RDF 11, etmen platformu için JADE çoketmenli sistemi kullanılmı tır. Etmen servislerinin ke fi için ara etmen FIPA 12 soyut mimarisinde önerilmi olan sarı sayfa dizininde anlamsal sorgulama yapmaktadır. Yine bu mimari de etmen servislerine mobil araçlardan nasıl eri ilece ine dair bir çözüm sunmamaktadır. (Gümü et al., 2008) ın sundu u çalı ma anlamsal web servislerinin etmen sistemlerde kullanımı için aracı etmen tasarımını tartı maktadır ve aracı etmenle sistemdeki di er etmenlerin etkile imi için geni letilmi bir protokol sundu u için di er çalı malara göre üstünlük göstermektedir. Fakat yapılan aracı etmen tasarımında servis isteminde bulunan etmenin mobil araçta olması durumunda aracı etmenin mobil araç kısıtlarını da gözönünde bulundurup, servis iste ini nasıl ele alaca ı durumu ile ilgili bir çözüm sunulmamaktadır. 3.3 Mobil Araç ve Servis Bütünle imi Son yıllarda mobil teknolojilerdeki geli melerin günden güne artması ile mobil araçlar için geli tirilen akademik çalı malarda da artı görülmektedir. Yapılan çalı malar masaüstü sistemlerin veya web servislerinin mobil araçlarla bütünle imi üzerinde yo unla maktadır. Bu çalı maların herbiri farklı yakla ımlarla çözümler üretmeye çalı maktadır. (Mary, 2006) yaptı ı çalı mada mobil araçlarda web servisi kullanımını sa lamak için mobil etmen tabanlı bir çatı 11 RDF Web Site : www.w3.org/rdf, son eri im 25 Nisan 2008. 12 FIPA Web Site:http://www.fipa.org, son eri im 12 ubat 2008.

22 sunmaktadır. Sunulan mimaride kullanıcı ile etkile imde bulunmak, web servislerini web sunucularından çalı tırmak, mesajla mayı yönetmek gibi görevler için ayrı ayrı etmenler bulunmaktadır. Bu etmenler kullanıcının mobil aracı ile web sunucu arasında göç etmek suretiyle web servislerinin kullanımını sa lamaktadır. Mimarinin mobil ortamlar için tasarlanmasına ra men hem mobil etmenlerin mesajla ması için, hem de web servisinin kullanımı için i lem yükünün oldukça fazla oldu u göze çarpmaktadır. Ayrıca mimari anlamsal web standartlarını desteklememektedir. (Mahmoud et al., 2007) ın yaptı ı bir di er çalı mada ise, mobil araçlardan web servislerinin kullanılabilmesi için SOAP mesajı hazırlama, XML çözümleme, UDDI kayıtçılarının sorgulanması gibi i lemler, MSM (Mobile Service Manager) adını verdikleri bir ara katman yazılımı ile gerçekle tirilmektedir. Bu çalı mada ayrıca WSDL geni letilerek mobil araca ba lı olarak servisi kullanacak araçta nasıl sunulaca ı WSDLE dökümanları eklinde tanımlanmaya çalı ılmı tır. MSM gerçekle tirimi masaüstü sistemde yapılmı ve mobil araç, kukla uçbirim (dummy terminal) olarak tasarlanmı tır. Mimaride etmen tabanlı bir yakla ım bulunmamakta ve anlamsal web teknolojileri kullanılmamaktadır. (Hwang et al., 2007) ın mobil araçların hem web servislerini, hem de mobil web servislerini kullanabilmesi için yaptıkları çalı mada; UWS (Ubiquitous Web Service) aracı adı verdikleri bir aracı bile en ile servis iste i kar ılanmaktadır. UWS aracı bile eni sanal bir web servis yaratarak, UDDI kayıtçısına servisi kaydetmekte ve mobil araçtan gelen servis iste ini bu sanal servisi kullanarak gerçekle tirmektedir. ekil 3.1 de bu mimarideki servis ke if diyagramı görülmektedir. Mobil istemci sorgu etmenini kullanarak UDDI kayıtçısını sorgulayabilmekte ve sorgu sonucunda dönen web servisini do rudan kullanabilmetedir.

23 Fakat gezici bir web servisini sorgulamak istedi inde sorgusunu UWS aracısına göndermekte ve UWS aracısı yarattı ı sanal web servisi üzerinden gezici web servis sonucunu mobil istemciye göndermektedir. Yapılan çalı ma web servislerinin mobil araçlardan kullanımı sa lamakta yeterlidir. Ancak anlamsal web ortamına bir deste i olmaması bir eksiklik olarak bulunmaktadır. ekil 3.1. UWS Aracı Sistemi Servis Ke if Diyagramı (Hwang et al., 2007) (Ratsimor et al., 2004) ın yaptı ı çalı mada ise Allia adında etmen servislerinin ke fine yönelik etmen tabanlı bir çatı sunulmu tur. Bu sistemde JADE-LEAP 13 kullanılmı ve mobil araçtaki etmen çevresinde bulunan mobil araçlardaki di er etmenlerin kendisine kayıtlanması sonucu Alliance adı verilen kendisine ait çevresini olu turmaktadır. Mobil araçta bir servis iste i olu tu u zaman, etmen önce kendi Alliance ında bulunan etmen servislerini sorgulamaktadır. E er çevresindeki etmenlerde bu servisi veren bir etmen yoksa, Alliance da 13 JADE-LEAP URL : http://www.ryerson.ca/~dgrimsha/jade/index.html, son eri im 18 ubat 2008.

24 bulunan her bir etmen kendilerine ait Alliance ı sorgulayarak, ilgili servisi bulunmaya çalı ılmaktadır. Bu mimaride kullanılmak istenen servisler web servislerini içermemektedir. Yapılan çalı ma mobil araçta bulunan etmenlerin sundu u servislerin etmen tabanlı bir mimari ile kullanılmasını hedeflemektedir. Çalı ma anlamsal web ortamını ve web servis kullanımını desteklememektedir. (Wang et al., 2007) tarafından gerçekle tirilen bir ba ka çalı mada yine araçların sundu u servislerin ke fi ve bu servislere eri im sa lanmaya çalı ılmı tır. Bu çalı manın (Ratsimor et al., 2004) tarafından yapılan çalı madan farklı ve de üstün tarafı ise, servislerin anlamsal olarak tanımlanması olarak ortaya çıkmaktadır. Bu çalı mada mobil istemciler servis iste ini anlamsal servis ke if etmenine iletmektedirler. stenilen servisin ke fi bu etmen tarafından yapılmakta ve dönen servis ile mobil istemci ileti im kurmaktadır. Çalı mada sunulan mimari ekil 3.2 de görülmektedir. ekil 3.2. Anlamsal Servis Ke if Mimarisi (Wang et al., 2007)

25 Mobil araçlar için geli tirilen uygulamalarda mobil araçlara özgü kısıtlar gözönüne alınması gerekti i için uygulama geli tirmek masaüstü sistemler için yapılan çalı malara göre zorluklar içermektedir. (Veijalainen et al,. 2006) ın yaptı ı çalı ma bu bölümde anlatılan çalı malara göre farklılık göstermektedir. Çalı mada ASG (Adaptive Service Grid) adı verilen ve anlamsal servis platformları için bir referans mimari sunan projenin mobil araçlarla bütünle imini sa layacak mimarinin tasarımında gözönüne alınması gereken kısıtlar tanımlanmı ve geli tirilebilecek olası dört mimari, getirece i avantaj ve dezavantajlarıyla açıklanmı tır. Tanımlanan mimariler a a ıda özetlenmektedir : Kukla Uçbirim (Dummy Terminal) : Mobil istemci, masaüstü bir sistem olan anlamsal web servis platformuna mobil araçtaki ince istemci (thin client) katman ile eri ebilir. Hedef Asistanı içeren Uçbirim : Mobil istemciden gelecek servis iste i mobil araçtaki hedef asistanı tarafından anlamsal bir hedefe dönü türülmektedir. Anlamsal hedefe göre masaüstü sistemde bulunan anlamsal web servis platformunda servis ke fi yapılmaktadır. Çalı ma Akı ı (Work-Flow) Çalı tırabilen Uçbirim : Bu mimaride anlamsal hedefe uygun olarak bulunan servislerin çalı ma akı ı anlamsal servis platformu tarafından mobil araca gönderilir. Mobil araçta servisleri kendisine gelen çalı tırma akı ına göre kullanır. Tam levsel Mobil Anlamsal Web Servis Platformu : Platformdan beklenen servis ke if, anla ma ve çalı tırma i lemlerinin tümünün mobil araçta gerçekle tirildi i bir

26 mimaridir. Bu mimarinin gerçekle mesi günümüzdeki mobil araçların kısıtlı i lem kapasitesi gözönüne alındı ında olası görünmemektedir. Bunun nedeni tam i levsel bir anlamsal servis platformundan beklenen ontoloji yönetimi ve çıkarsama i lemlerinin mobil araçların kapasitesinin üstünde oldu u içindir. Çalı mada olası mimarilerin analizinden sonra önerilen gerçekle timi en uygun mimaride kısıtlı i levselli i olan bir mimaridir. Önerilen mimaride çıkarsama ve ontoloji i lemleri bulunmamaktadır. (Veijalainen et al,. 2006) nin yaptı ı çalı ma gerçekle tirim içermemesine ra men, yapılması dü ünülen bir mobil anlamsal servis platformunun tasarımı için detaylı analiz içermesi nedeniyle bu tür bir sistem geli tirmeyi planlayan ara tırmacılar için referans alınabilecek bir çalı madır. 3.4 De erlendirme Bu bölümde tez çalı ması ile ilgili literatür çalı maları incelenmi tir. Bu çalı malar kullanılan teknolojilere göre üç farklı bölüm içinde tanıtılmı tır. Gerçekle tirilen tez projesi, etmen tabanlı yazılım geli tirme teknikleri ile mobil araçlardan anlamsal web servislerine eri imi sa lamaya çalı arak bu teknolojilerin tek bir çalı ma altında kullanılmasını sa laması açısından incelenen çalı malara göre farklılık göstermektedir. (Veijalainen et al,. 2006) nin de önerdi i gibi tez projesinin mimarisinde mobil araç kısıtlarına uygun olarak mobil araç üzerinde kısıtlı i levsellik sa lanmı tır. Tez çalı masında gerçekle tirilen mimaride (Veijalainen et al,. 2006) de erlendirdi i farklı mimari tasarımlarına ek olarak etmen tabanlı bir sistem olu turulmu tur. Bu sayede; açık, dinamik ve heterojen ortamlarda kullanıcısı adına özerk bir

27 biçimde bilgi arama ve bütünle tirmeyi sa layabilen etmen teknolojisinin avantajlarından mobil araç kullanıcılarının da yararlanması mümkün olmaktadır. Tez çalı masında gerçekle tirimi yapılan mimari anlamsal web ortamı için tasarlandı ından sistemde bulunan etmenlerin anlamsal veri i lemeleri gerekmektedir. Anlamsal veri i leme i levinin mobil araçlardan gerçekle tirilememesinin bir sonucu olarak bu i lemler masaüstü sistemde bulunan arabulucu etmen tarafından gerçekle tirilmektedir. Bu sayede mimarinin i levselli i da ıtılarak uygulama mobil araç kısıtlarına uygun hale getirilmi tir.

28

29 4. KULLANILAN ETMEN PLATFORMLARININ TANITILMASI Bu bölümde, yapılan tez çalı masının gerçekle tiriminde kullanılan etmen platformları tanıtılacaktır. lk olarak masaüstü sistemler için geli tirilmi olan SEAGENT çok-etmenli platformu, ardından mobil araçların SEAGENT platformuyla bütünle imi sa layan SeagentLITE etmen platformu mimarileri açıklanacaktır. 4.1 SEAGENT Çok-Etmenli Sistem Geli tirme Platformu Hedefe dayalı çok-etmenli sistem geli tirme platformu olan SEAGENT (Dikenelli et al., 2005a), Ege Üniversitesi Çok-Etmenli Sistemler ara tırma grubu tarafından geli tirilmi tir. SEAGENT projesi 2002 yılında geli tirilmeye ba lanmı, 2006 yılına kadar olan süreç içinde de yava yava de i ime u rayarak, bugünkü mimarisine ula mı tır. SEAGENT çok-etmenli platformunu benzeri çalı malardan ayıran özellikleri a a ıda sıralanmaktadır: SEAGENT platformu içerisinde yaratılan etmenler kendilerine ait bilgi tabanlarını anlamsal web standartlarına göre yönetebilmektedirler. Ayrıca; platform, içsel bilginin herhangi bir uygulama programlama arayüzüne (API) ba lı kalmaksızın sorgulanıp, yönetilebilmesi için özel olarak tasarlanmı arayüzler sunar. SEAGENT dizin servisleri bilgiyi anlamsal web standartlarına göre saklamakta, aynı zamanda benzer özelliklere sahip etmenleri anlamsal olarak e leyebilmektedir.

30 Etmenler arası ileti imde anlamsal içeri in ta ınması için FIPA-RDF 14 içerik dili kullanılmaktadır. SEAGENT platformu ontoloji yönetimi için yeni bir servis sunmaktadır. Bu servis, platform ontolojileri ile dı sal(external) ontolojilerin birbirine e lenmesini sa lamaktadır. SEAGENT platformu anlamsal web servislerinin dinamik olarak ke fini ve ça rımını sa lamaktadır. ekil 4.1 de görülen SEAGENT sürüm 0.02 mimarisi genel olarak özetlenecek olursa; mimaride bulunan en alt katman olan Communicator paketi platform ileti imini yönetmekten sorumludur. SEAGENT, etmenlerin mesajla masını sa lamak için FIPA nın tanımlamı oldu u etmen ileti im soyut mimarisini gerçekle tirmi tir. Platformdaki di er bir katman platformun temel i levlerini gerçekle tirmesini sa layan paketleri içermektedir. Domain ve Util paketleri bu amaçla olu turulmu paketlerdir. Agency paketinde etmen platformunun ve bir etmenin içsel i levlerinin gerçekle tirimi sa lanmaktadır. Bir etmenin kendine ait görevlerini yerine getirebilmesi için HTN (Hierarchical Task Network) formalizmine göre tanımlanmı planları kendine ait planlayıcısıyla çalı tırması gerekmektedir. Core paketinde ise FIPA soyut mimarisinde bulunan çok-etmenli platform servislerinin gerçekle tirimi yapılmı tır. Bu servislerin gerçekle tiriminde anlamsal web teknolojilerinden faydalanılmı tır. Dizin kolayla tıcı (Directory Facilitator - DF) servisi, etmen yeteneklerini bir OWL 15 ontolojisinde saklamakta ve sorgulanan yeteneklere sahip benzer etmenleri içerdi i anlamsal e leme motoruyla 14 FIPA-RDF URL : http://www.fipa.org/specs/fipa00011/xc00011b.html, son eri im 29 Nisan 2008. 15 OWL (Web Ontology Language) URL : http://www.w3.org/2004/owl/, son eri im 30 Mart 2008.