• Sonuç bulunamadı

4. DSML4BDI 2.0

4.2 Grafiksel Görsel Gösterim

Somut söz dizim, bir DSML üstmodelinin sahip olduğu elemanların yazılım geliştiriciler tarafından modellemede kullanılması için bir gösterim sağlar ve DSML’ler için bu sözdizim çoğunlukla grafiksel bir yapıya sahiptir. Kullanıcı için görsel bir ara yüz oluşturulmasını sağlar. Üstmodelin sunduğu varlıklar ve aralarındaki ilişkiler kullanılarak geliştiricinin örnek modeller oluşturabilmesi için birçok özelliğe sahip bir ortam oluşturulur. Eclipse Sirius (Sirius, 2019) destekli Obeo Designer Community (Obeo Designer, 2019) aracı kullanarak DSML4BDI 2.0 için bir somut söz dizimi oluşturulmuştur.

DSML4BDI 2.0 dili somut sözdizimi her birinde farklı bir BDI yapısının modellenebileceği ve JaCaMo platformunu destekleyen 5 adet alt bakışaçısına bölünmüştür: MAS, Etmen, Ortam, Organizasyon ve Plan Gövdesi. Bu bakışaçılarında bir önceki bölümde anlatılan tüm DSML4BDI 2.0 üstvarlıkları (kavramları) ve ilişkilerini görsel bir şekilde ifade edebilecek görsel notasyonlar yer almaktadır. Dilin IDE’si içerisinde bu görsel notasyon sembolleri modelleme paletleri içerisinde kullanıcılara sunulur ve kullanıcılar sürükle-bırak yöntemi ile her bir notasyonun temsil ettiği üstvarlıktan dilin statik semantik kurallarına da

bağlı olarak örnekler (ing. instance) oluşturabilir. Tablo 4.1’de DSML grafiksel somut sözdizimine ait notasyonların bir kısmı istelenmiştir. Modelleme paletlerindeki notasyon sembolleri ile dilin IDE’sinin modelleme alanında bu semboller kullanılarak oluşturulan MAS bileşenlerinin görsel notasyonları aynıdır. Şekil 4.5’te DSML4BDI 2.0 için hazırlanan IDE’nin bir ekran görüntüsü verilmiştir. Sağ kısımda modelleme paleti görünmektedir. Bu paletten sürükle-bırak yöntemi ile taşınan modelleme elemanları ile sol tarafta görülen modelleme alanı içerisinde MAS modelleri hazırlanabilmektedir. Seçilen bir model elemanına ait ek özellikleri girmek için alt kısımda bulunan sekmeler kullanılır. Her eleman için üstmodel üzerininde tanımlanan özellikler bu sekmede görüntülenir. Bölümün devamında DSML4BDI 2.0 somut sözdiziminin bakış açıları tanıtılmaktadır.

Tablo 4.1: DSML4BDI 2.0 aracı görsel elemanları

32

Şekil 4.5: DSML4BDI 2.0 IDE

4.2.1 MAS Bakış Açısı

MAS bakış açısı DSML4BDI 2.0 modelleme ortamında ana diyagram olarak kullanılmıştır. Geliştirici bu bakış açısında MAS’ın genel çerçevesini planlar. Şekil 4.6’da MAS bakış açısının sahip olduğu palet gösterilmiştir. Palet içerisinde yer alan Etmen (ing. Agent), Ortam (ing. Environment) ve Organizasyon (ing. Organisation) elemanları ile bu elemanları birbirlerine bağlayacak bağlantılar yer almaktadır. MAS içerisinde bulunacak etmenler ve gerekli ise Organizasyon ve Ortam yapıları da ana diyagram içerisine eklenecektir. “useEnvironmet” isimli bağlantı dilin statik semantik tanımı gereğince sadece etmenden ortama doğru bir bağlantı kurulmasını sağlar. Diğer elemanlar arasında kullanılamayacaktır. Benzer şekilde “useOrganizasyon”

etmenden organizasyona, “useAgent” ise etmenler arası bağlantılarda kullanılacaktır.

Şekil 4.6: DSML4BDI 2.0 somut sözdizimi MAS bakış açısı için modelleme paletinin ekran görüntüsü

Yukarıdaki bilgilere ek olarak her elemanın üstmodelde tanımlanan bazı iç özellikleri de yine modelleme ortamında oluşturulabilmektedir. Örnek olarak Şekil 4.7’de bir etmenin sahip olduğu özelliklerin hazırlanması görünmektedir. Bu özellikler üstmodelde etmeni temsil eden varlığa eklenebildiği gibi diğer varlıklarla olan ilişkilerden de gelebilir. “Name” özelliği etmenin kendi sahip olduğu bir özelliktir. “Use Environment” özelliği ise ortam ile arasında tanımlanan ilişkiden gelmektedir. Ayrıca her bir özellik için koşul tanımlamak mümkündür. Örneğin etmenin kesinlikle bir isme sahip olması gerekiyorsa bu durum için bir kural yazılacaktır. Bu kural sayesinde istenilen model çizildikten sonra “Validation” özelliği kullanılarak hatalı durumlar tespit edilebilecektir. Her durum için ayrı ayrı kuralların tanımlanması gereklidir. Elemanlar üstmodel üzerinde sahip oldukları bağlantılar ile birbirlerine erişebilirler. Örneğin

“useEnvironment” bağlantısı sadece Etmen ve Ortam arasında bir ilişki kurabilir.

Etmen ve diğer Etmen veya Etmen’den Organizasyon yapısına bu bağlantı tanımlanamaz.

Şekil 4.7: DSML4BDI 2.0 IDE’de etmen özelliklerinin girişi

34

MAS sisteminin genel çerçevesi belirlendikten sonra her bir yapının iç kurgusu ayrı ayrı modellenebilecektir. Bunun için bir geliştirici, etmen, organizasyon veya ortamı temsil eden görselin üzerine çift tıklayarak ilgili elemanın iç yapısının modellenmesini sağlayan bakış açısına otomatik olarak erişmiş olur.

4.2.2 Etmen Bakış Açısı

Etmen Bakış Açısı etmenin iç dünyasını modellemek için kullanılır. Etmen için oluşturulmuş Belief, Goal, Plan gibi palet elemanlarını kullanarak etmen yapısı tasarlanır. Etmen Bakış Açısı içerisinden PlanBody adındaki bir diğer bakış açısına ulaşılabilmektedir. Bu bakış açısı etmenin sahip olduğu bir Plan’ın Body’sini tasarlamak için oluşturulmuş bir diyagramdır. Body bazen karmaşık ve uzun kod yapısına sahip olabileceğinden ekranın daha düzenli olması da gözetilerek ayrı bir diagram şeklinde tasarlanmıştır.

Şekil 4.8’de Etmen Bakış Açısı için tasarlanan palet yapısı gösterilmiştir.

Sürekle-bırak mantığı ile çalışan yapıda ekrana Plan, Context, Event, Body, Belief, Goal ve Rule elemanlarından herhangi biri bırakılabilir. Tüm bu elemanlar etmenin iç yapısını ve tasarımını oluşturacaktır. Belief, Rule ve Goal elemanları diğer elemanlarla herhangi bir ilişki kurmazlar. Etmenin çalışma zamanından önceki temel kurallarının tanımlanması, inançlarının ve hedeflerinin belirlenmesi için eklenirler. Plan elemanı ise Event, Context ve Body elemanları ile bağlanabilir. “planToContext”, “planToEvent” ve “planToBody” bağlantıları isimlerinden de anlaşılacağı gibi Plan’dan diğer elemanlara bağlantı kurulmasını sağlar. Diğer elemanlar ile bağlantıya izin verilmez. Context yapısı Plan için zorunlu değildir. Event ve Body elemanlarının ise mutlaka modelde olması gerekir. Aksi durumda kod dönüşümü aşamasında ekranda tasarlanan Plan yapısı kod olarak dönüştürülmeyecektir.

Şekil 4.8: DSML4BDI 2.0 somut sözdizimi Etmen bakış açısı için modelleme paletinin ekran görüntüsü

Her elamanın sahip olduğu farklı özellikler bulunabilir. Örnek olarak Şekil 4.9’da Event elemanının sahip olduğu özellikler gösterilmiştir. “Functor”,

“Arguments”, “Type” ve “Add Delete” isimli özellikler geliştirici tarafından doldurulur ve kod dönüşümü esnasında ilgili elemanın özellikleri koda otomatik olarak eklenir.

Şekil 4.9: DSML4BDI 2.0 IDE’de Event özelliklerinin girişi

36

4.2.3 Plan Gövdesi Bakış Açısı

Plan’ın sahip olduğu Body elemanı üzerine çift tıklanarak PlanBody bakış açısına ulaşılır. Plan’ın Body kısmı bir takım sıralı işlemden oluşmaktadır. Bir önceki bakış açısının karmaşık olmaması ve Body içeriğinin doğru sıralama ile oluşturulması açısından bu kısım ayrı bir pencere olarak değerlendirilmiştir.

Body içeriğini oluşturması istenilen elemanlar sırasıyla ekrana sürüklenir ve

“termToTerm” bağlantısı ile birbirlerine bağlanır. Bu elemanların her birinin kendine özgü özellikleri mevcuttur. Geliştirici kullandığı elemanın özellik bölümünü de ekran üzerinden dolduracaktır.

Şekil 4.10: DSML4BDI 2.0 somut sözdizimi Plan Gövdesi bakış açısı için modelleme paletinin ekran görüntüsü

4.2.4 Ortam (Environment) Bakış Açısı

Ortam Bakış Açısı geliştiricinin etmenin bağlanarak özelliklerinden faydalanabileceği bir ortam yapısını kurgulayabilmesini sağlar. Şekil 4.11’de gösterilen palette yer alan Workspace, Artifact, Struct, Operation, Function ve obsProperty gibi elemanlar kullanılarak bir ortam tasarımı oluşturulabilir.

Tanımlanan bağlantıların hangi elemanları temsil ettiği isimleri ile açıkça belirtilmiştir. Örneğin, workspaceToArtifact bağlantısı Wokspace elemanıdan Artifact elemanına doğru olan bir bağlantıdır. Diğer elemanlar arasında kullanılmasına izin verilmez. Elemanlar arası bağlantılar üstmodel üzerinde daha ayrıntılı görülebilir (bkz. Şekil 4.1).

Şekil 4.11: DSML4BDI 2.0 somut sözdizimi Ortam Bakış Açısı için modelleme paletinin ekran görüntüsü

Ortam bakış açısı Workspace merkezinde kuruludur. Geliştirici ekrana öncellikle bir Workspace elemanı sürüklemelidir. Struct ve Artifact yapıları doğrudan Workspace’e bağlanma özelliğine sahiplerdir ve diğer elemanlar için buna uygun bir bağlantı bulunmamaktadır. Artifact elemanının diğer bir Artifact, Struct ve Function elemanları ile bağlantı sağlaması için ilişki tanımlanmıştır.

Struct yapısı da bir diğer Struct ve Function ile bağlantı sağlayabilir. ObsPropety ise sadece Artifact elemanına bağlı bulunabilen Operation elemanı ile ilişkilendirilebilir olarak tasarlanmıştır. Bu kurallar dilin statik semantiğine ait kurallara birer örnektir ve modelleme sırasında kontrolleri gerçekleştirilir. Diğer görsel elemanlarda olduğu gibi buradaki elemanlarda da kendilerine ait özellikler bulunmaktadır.

4.2.5 Organizasyon (Organisation) Bakış Açısı

Organizasyon Bakış Açısı MAS sistemi için bir organizasyon tanımı yapılması imkânı sunar. Geliştiriciye organizasyon yapısının tamamını tasarlayabilme yeteneği kazandırır. Fakat diğer bakış açıları ile kıyaslanırsa daha fazla palet elemanına ve daha karmaşık ilişki yapısına sahiptir.

Şekil 4.12’de Organizasyon bakış açısının sahip olduğu palet elemanları gösterilmiştir. Elemanlar birbirleri arasında çeşitli ilişki tanımlarına sahiptir.

Örneğin, Group elemanı Rol ve SubGroup elemanları ile bağlantı kurabilirken, SubGroup’ta Rol ve diğer SubGroup elemanları ile bağlantı kurabilir. Karışıklığın en aza indirilebilmesi ve dilin görsel ara yüzünün basit bir kullanıma sahip olabilmesi için isimlendirmelere dikkat edilmiştir. Bu sayede dili ilk defa kullanacak olan geliştirici için de kolaylık sağlanması amaçlanmıştır.

38

Şekil 4.12: DSML4BDI 2.0 somut sözdizimi Organizasyon bakış açısı için modelleme paletinin ekran görüntüsü

Benzer Belgeler