• Sonuç bulunamadı

Üzerinde çalışılan tez konusu ile ilgili literatürde yer alan çalışmalar bu başlık altında incelenmiştir. Öncelikle AOSE’deki üstmodel çalışmaları anlatılmıştır. Bir sonraki başlık altında da tez kapsamında oluşturulan DSML’e benzer çalışmalara değinilmiştir

3.1 MAS Üstmodelleme Çalışmaları

MAS alanında birçok araştırmacı çeşitli üstmodeller geliştirerek yeni metodolojiler ortaya çıkarmaya çalışmışlardır. JaCaMo platformu içesinde bulunan CArtAgO yapısının da temel aldığı bir üstmodel olan Etmenler ve Yapılar (ing. Agents & Artifact) (A&A) üstmodeli sunulmuştur (Omicini et al., 2008). Bu çalışmada MAS’larda yer alan etmenlerin birinci sınıf varlıklar olarak modellenmesini destekleyen bir üstmodel önerilmiştir. A&A üstmodelinin kavramsal temeli bilgisayar bilimi, psikoloji, etoloji gibi alanlardan gelen sonuçların yorumlanmasına dayanmaktadır. Sonuç olarak ortaya çıkan üstmodelde etmenler MAS’ın davranışlarını oluşturan görev ve hedefler doğrultusunda çalışan pro-aktif varlıklar olarak tanımlanmışlardır. Eserler ise etmenleri bir arada tutan ve onlara fonksiyonlar ve servisler sunan aktif yapılar olarak tanımlanır. Bu durum MAS’ın çalışma yapısını şekillendirecektir.

(Coutinho et al., 2005)’de MAS organizasyon yapısının modellenmesi ile ilgili farklı model çalışmaları karşılaştırılarak yorumlanmıştır. Modeller ayrı başlıklar altında incelendikten sonra karşılaştırılmışlardır. (Hübner, et al., 2002)’de ise MAS modellerinde organizasyonun işleyişine veya yapısına odaklanılmıştır. Bir MAS organizasyonunu iyi bir şekilde tanımlamak için bu iki odak noktasının bir araya gelmesi gerektiğinden bahsedilmiş ve buna karşılık Moise+ modeli önerilmiştir. Bu model MAS organizasyon yapısını üç bakış açısı (yapısal, işlevsel ve deontik) altında ele almıştır.

Bir başka çalışmada (Kardas et al., 2009) Anlamsal Web (ing. Semantic Web) ortamını destekleyen MAS’lar için bir üstmodel tanıtılmıştır. Etmenlerin Anlamsal Web Servisleri ile etkileşimleri sunulan üstmodel ile modellenebilmektedir. Farklı bir çalışmada (Hann et al., 2009) ise MAS sistemleri için mevcut etmen odaklı metodolojilerden ve programlama dillerinden soyutlanmış platform bağımsız bir üstmodel sunulmuştur. Ayrıca sunulan üstmodelden bir soyut söz dizimi tanımlanmakta ve kod dönüşümü

sağlanmaktadır. FAML üstmodeli (Beydoun et al., 2009) etmen sistemleri için geliştirilmiş çeşitli üstmodellerin bir sentezi sayılabilir. Bu çalışmada tasarım ve çalışma zamanı aşamaları belirlenmiş ve bu aşamalarda tanımlanan kavramların doğrulaması MAS geliştirme metodolojileriyle sağlanmıştır.

(Tezel et al., 2016)’da ise Jason platformunda çalışan BDI etmenleri için modellemeye olanak sağlayacak bir üstmodel sunulmuştur. Üstmodel etmenlerin sahip olduğu inanç, plan, olay kümeleri, kurallar ve eylemleri içermektedir.

Ortaya çıkarılan üstmodel temel alınarak MAS’lar için farklı DSML’ler geliştirilebilmektedir. Son olarak (Firtina et al., 2018)’de MAS’lar için etmenlerin ortak olarak kullanacağı sanal mantıksal ve matematiksel hesaplama ortamlarını sağlayan CArtAgO platformu için (Ricci et al., 2006) bir üstmodel tanıtılmış ve bu üstmodelden bir somut sözdizim tanımlanmıştır. Bu sayede geliştiriciye Ortam bakış açısı için görsel modelleme ortamı sağlamış olur.

3.2 MAS DSML/DSL Çalışmaları

MAS alanında ortaya konulan ve üst bölümde örneklerine değinilen model çalışmaları ile birlikte çeşitli DSML çalışmaları da literatürde yer almıştır.

Örneğin Hahn tarafından (Hahn, 2008) önerilen DSML4MAS bir MAS’ın farklı bakışaçılarını (örneğin MAS, etmen, organizasyon ve rol gibi) dikkate alan ve genel etmen üstvarlıklarını içeren platform bağımsız bir üstmodelden türetilmiştir.

Somut sözdizimi ortaya koymak için alan kavramlarının grafiksel notasyonu ve bunun soyut sözdizim elemanları ile olan bağlantıları verilmiştir. Bu dil kullanılarak JADE ve Jack etmen platformları için kod üretimi sağlanabilir.

MAS-ML modelleme dili (Goncalves et al., 2015) “Taming Agents and Objects” (TAO) (Silva et al., 2002) kavramlarını modellemek için tasarlanmış bir modelleme dilidir. Önceden tanımlanmış planlar tarafından yönlendirilen hedef odaklı proaktif etmenlerin modellenmesi bu modelleme dilinin temel hedefi olarak özetlenebilir. MAS-ML tarafından tanımlanan yapısal diyagramlar Rol Diyagramı, Sınıf Diyagramı ve Organizasyon Şeması'dır. Dinamik diyagramlar ise Dizi Diyagramı ve Etkinlik Diyagramı’dır. Tüm bu diyagramları kullanarak, TAO'da tanımlanan varlıkların yapısal ve dinamik yönlerini modellemek mümkündür.

BDI etmen mimarisi için BDI4JADE (Nunes et al., 2011) adında bir çerçeve sunulmuştur. Bu çalışmada BDI mimarisi ile geliştirilen diğer

20

platformların (örneğin Jason, Jack) Java dilini desteklediği ancak tam olarak Java dilinin özelliklerini kullanamadıkları fikri ortaya atılmıştır. Bu yüzden diller kısıtlı şekilde Java desteği sunmaktadırlar. JADE platformu (Bellifemine et al., 2007) üzerinde BDI katmanı olarak uygulanan BDI4JADE isimli çerçeve ise JADE etmenleri için doğrudan Java tabanlı bir uygulama mekanizması sağlamaktadır.

Bu çalışma ile bağlantılı “Sam” aracı (Faccin and Nunes, 2017) BDI4JADE mimarisi ile MAS’ların analiz edilmesi, modellenmesi ve kod dönüşümünün sağlanmasını destekler. SEA_ML bir etmen sisteminin platform bağımsız olarak modellenmesini sağlar. Modellenen MAS’ın hedeflenen MAS platformlarında çalıştırılması için gerekli dosya ve kodlar otomatik olarak üretilir. Sunduğu görsel modelleme ortamı sayesinde tek bir etmen yapısından bütün bir MAS sisteminin tasarlanmasına kadar ayrıntılı modeller oluşturmaya imkân sunar. Aynı zamanda anlamsal semantik veriler ile çalışabilen ve semantik olarak tanımlanmış web servisler (örneğin Semantic Web Service- SWS) (Sycara et al., 2003) ile iş birliği yapabilen model-güdümlü tasarımı ve özerk etmen uygulamalarının geliştirilmesini destekler (Challenger at al., 2014). Bu sayede Anlamsal Web üzerinde çalışan etmen sistemleri için yeni bir bakış açısı sunar. SEA_ML dili açık kaynak kodlu bir IDE olarak sunulmaktadır.

Bergenti vd. (Bergenti et al., 2017) etmen sistemlerinin güncel hayatta kullanım oranının gün geçtikçe arttığını belirtmiş ve bunun sonucunda karmaşık yazılım süreçlerinin tasarlanmasının daha kolay hale getirilmesi için JADEL adında bir dil önermiştir. JADEL etmen sistemleri için tutarlı ve açık destek sağlayan JADE (Bellifemine et al., 2007) platformu üzerine kurulmuştur.

JADEL’in üç temel amacı vardır. Bunlar; yazılım kalitesini arttırmak için geliştiricilere üst seviyede bir soyutlama sağlamak, mevcut etmen teknolojilerinin etkin şekilde kullanımı ve dilin soyutlama seviyesinin temel metodolojik değişimler üzerinde bir zorlamaya neden olmamasıdır (Bergenti et al., 2017).

JADE’in Java geliştiricilerini destekleme amacı bulunmaktadır. Aynı şekilde JADEL de JADE’in Java sınıfları için sağladığı etmenler, davranışlar ve iletişim ontolojileri gibi temel soyutlamalarını desteklemektedir. Fakat JADEL’in geliştiriciler için daha küçük bir kümede yüksek bir soyutlama seviyesi sağlama

amacı gereği bu dil JADE’in sağladığı tüm soyutlamaları kapsamaz (Bergenti et al., 2017).

Acil durum ortamlarına müdahale sistemlerinin etmen tabanlı modellenmesi için (HoseinDoost et al., 2019)’da ML isimli bir DSML önerilmiştir. ERE-ML dili bu bölümde incelenen MAS-ERE-ML dili (Goncalves et al., 2015) ile TAO çerçevesinin genişletilmesi sonucu ortaya konan bir DSML’dir. Bu genişletme işlemi için afet yönetiminin dört aşamasını kapsayan “Disaster Management Metamodel” (Othman et al., 2014) kullanılmıştır. Afet yönetiminin 4 aşaması hafifletme (ing. mitigation), hazırlıklı olma (ing. preparedness), müdahale etme (ing. response) ve kurtarmadır (ing. recovery). Önerilen bu DSML'de, ERE modellemesi için görev konsepti eklenmiş ve afet kavramı, hafifletme aşamasından itibaren baz alınmıştır. İlk olarak TAO çerçevesine acil durumlara uygun olacak şekilde görev ve afet kavramları eklenmiştir. Ayrıca bazı ilişkilerle TAO çerçevesi genişletilmiştir (yaratma, bölme, atama, azaltma gibi). Aynı şekilde TAO çerçevesini baz alan MAS-ML dilinde de bu doğrultuda değişiklikler meydana gelmiştir. Her yeni kavram için MAS-ML soyut ve somut sözdiziminde yeni tanımlamalar yapılmış ve ardından dilin anlamsal modeline bu kavramlar eklenmiştir.

Bölüm 2.2’de detaylıca incelenen DSML4BDI (Kardas et al., 2018) etmenlerin mantığa dayalı olarak programlamasını sağlayan AgentSpeak tanımlamalarını modelleme ile oluşturabilmekte ve AgentSpeak için bir yorumlayıcı olan Jason platformu için otomatik kod üretebilmektedir. Son olarak Sredejovic et al. (2018) Siebog adını verdikleri dağıtık MAS ortamında çalışacak akıllı etmenlerin geliştirilmesi için bir DSL tanıtmaktadırlar. ALAS isimli bu dili kullanarak yazılım geliştiriciler Siebog platformuna özel kodları hazırlamakta; bu kodlar tanımlanan bir dönüştürücü üzerinden ilgili platformda etmenlerin çalıştırılması için gerekli Java kodlarına dönüştürülmektedir.

Bu bölümde incelenen MAS DSML çalışmaları sundukları yenilikler ve modellerle MAS’ların geliştirilmesi ve model güdümlü yazılım geliştirme süreçlerine önemli katkılar sunmuşlardır. Bu diller özellikle BDI etmenlerinin MDD’si için bir modelleme ortamı ve kod dönüşüm olanağı sağlasalar da tam anlamıyla bir MAS organizasyon yapısı ve etmenlerin ortak kullanabilecekleri çevre (örneğin fonksiyonlar, servisler) yapılarının modellenmesi ve dönüştürülmesi konusunda zayıf kalmaktadırlar. Literatürde özellikle tez çalışması kapsamında üzerinde çalışılan ve yukarıdaki MAS organizasyon ve

22

çevre modellemelerini oluşturmaya imkân veren JaCaMo (Boisser et al., 2013) platformunu destekleyen bir DSML bulunmamaktadır. Sadece DSML4BDI (Kardas et al, 2018) dili JaCaMo platformunun bir parçası olan Jason (Bordini et al., 2007b) kodu üretebilmektedir. Bu tez kapsamında geliştirilen yeni DSML, DSML4BDI’ın etmen çalıştırma platformu çeşitliliğini JaCaMo platformu ile genişletmeyi ve böylece etmen ortamlarının CArtAgO ve MAS organizasyonlarının Moise tanımlarına uygun olarak modellenebilmesini ve uygulamaya geçirilmesini sağlamaktadır.

Benzer Belgeler