Page 12 - bilgem-teknoloji-dergisi-7
P. 12
Oğuz DİKENELLİ, Cemil AKDEMİR, Yasemin TİMAR Dağıtık Simülasyon Sistemlerinde HLA ve Federe Yönetim Katmanı
• Federasyon Yönetimi (Federation yardımı ile federenin federasyona dahil metotları sunar. Kullanıcı değer atama sınıf ile çözümler ve mesajı kullanıcının katmanında yeralan ilgili kodlayıcı sınıf uygulama katmanında aynı periyotta
Management): Federasyona olması, yayınlayacağı ve üye olacağı işlemlerini bu metotları kullanarak kayıt ettirdiği geri çağrım fonksiyonuna vasıtası ile kodlar ve RTILink katmanı yapılması istenen işlemler için
katılım/ayrılma, tüm federasyon ile ilgili nesne ve etkileşimlerin tanımlanması gerçekleştirir. Her bir nesne üzerinde hazır bir nesne sınıfı olarak geçer üzerinden federasyona yayınlar kullanılabilir.
işlemleri (senkronizasyon noktarı vb.) işlemlerini otomatik olarak yapar. bulunan yayınlama metodu ise, nesne (Şekil 5). (Şekil 6).
içerir. Böylelikle kullanıcı kaynaklı hatalar en üzerine atanmış son değerlerin RTI Uygulama katmanında farklı
aza indirgenmiş olur. Şekil 3’te Federe üzerinden yayınlanmasını sağlar. Bu “Nesne Dinleyici” sınıfı üye olunan Gelen mesajlar ise önce RTILink periyotlarla yapılması gereken işlemler
• Bildirim Yönetimi (Declaration yönetim katmanı mimarisinin çizimi metodun bir nesne üzerinde çağrılması nesnelerin kayıt, güncellenme ve katmanından “Etkileşim Yöneticisi” de olabilmektedir. Bu tip işlemler için
Management): Federelerin verilmiştir. durumunda, Nesne Yöneticisi, silinme olayları için geri çağrım sınıfına iletilir. Bu sınıf FOMLink sadece tek bir periyot değerinin
yayınlama/abone (publish/subscribe) FOMLink katmanında bulunan ilgili fonksiyonları kayıt edilebilmesine imkân katmanından ilgili çözücü sınıfı belirtildiği bileşen yapısı uygun
mekanizması için gerekli yönlendirme, Federe Yönetim Katmanı kullanıcıya kodlama sınıfına nesnenin kodlama verir. kullanarak, etkileşimin, kayıt edilmiş düşmemektedir. Farklı zamanlarda
çevirme, gruplama işlemlerini içerir. benzetim ortamına yayınlanmak üzere işlemini yaptırarak, kodlanmış veriyi geri çağrım metodu üzerinden tetiklenmesi gereken bu tip işlemler için
yerel nesne oluşturma, bu nesneleri benzetim ortamına yayınlamak üzere uygulamaya geçirilmesini sağlar katmanda çizelgeleme mekanizması
• Nesne Yönetimi (Object silme, başka federeler tarafından Uygulama Katmanı Geri Çağrım (Şekil 7). sunulmuştur. Bu mekanizma ile
Fonksiyonu
Management): Federele arasında nesne gönderilen nesne güncellemelerini alma RTILink katmanına iletir. RTILink kullanıcı, katmana farklı zamanlar için
katmanı ise bu verinin RTI üzerinden
ve etkileşim sınıfları ile veri alış verişinin ve etkileşim mesajı gönderip alma gibi yayınlanması işlemini gerçekleştirir. geri çağrım fonksiyonu ekle / çıkar farklı işlemler kayıt ettirebilmektedir.
sağlandığı işlemleri içermektedir. hizmetleri haberleşme altyapısından Şekil 4’te nesne yayınlama akışı şema Uygulama Katmanı Geri Çağrım Çizelgeleyici, bu işlemleri kayıt ettirilmiş
Fonksiyonu
bağımsız olarak sunar. periyotlar içerisinde çağırma görevini
• Sahiplik Yönetimi (Ownership olarak verilmiştir. Benzetim Yöneticisi yerine getirir.
Management): Benzetimde bulunan Benzetim ortamından gelen mesajların HLA standartlarının bir gereği olarak geri çağrım fonksiyonu ekle / çıkar
varlıkların ve niteliklerin HLA uygulamaya geçirilmesi geri çağrım nesne güncellemeleri kısmi olarak FOMLink Federenin yayınladığı nesne
kurallarına uygun olarak her zaman bir metotları üzerinden yapılır. Bu yapı ile gerçekleştirilebilmektedir. Buna göre sınıflarının durumları istenilen zamanda
Nesne
sahibinin bulunması gerekir. Ayrıca uygulama tarafından kayıt ettirilen geri belirli bir nesne sınıfının Dinleyici çöz Benzetim Yöneticisi yine katman tarafından
koşum zamanında bu sahiplik bilgisi çağrım fonksiyonları, RTILink’ten gelen değişkenlerinden sadece bir kısmının saklanabilmektedir. Bu saklama işlemi,
değişebilir. Bu işlevler sahiplik yönetimi mesajların tipine uygun olarak çağrılır. federasyona gönderilmesi mümkündür. üye ol / üyeliği iptal et FOMLink benzetimi yapılan tüm yerel nesneleri,
işlemleri ile karşılanır. Etkileşim RTILink katmanı tarafından alınmış
Katman, bu amaçla kullanıcıya her bir Yöneticisi çöz
• Zaman Yönetimi (Time Uygulama Katmanı nesne tipinin değişkenlerine özel RTILink ancak henüz uygulama katmanına
geçilmemiş mesajları ve uygulama
Management): Olayların düzgün bir kontrol metotları kayıt ettirebilme üye ol / üyeliği iptal et tarafından o an için Federe Yönetim
sıraya göre gerçekleşmesinin imkânı sunmaktadır. Belirli bir nesne Şekil 5. Nesne alma. Katmanına kayıt ettirilmiş olan geri
sağlanması, mantıksal zamanın Benzetim Yöneticisi güncellemesi federasyona RTILink çağrım metotlarını içerir. Kullanıcı
kullanılması, federelerin mantıksal FOMLink gönderilmeden önce nesnenin her bir istediği herhangi bir anda kayıt edilmiş
zamanlarının senkronizasyonu için Etkileşim Nesne Nesne değişkenin güncelleme içerisinde yer 3.2. Etkileşim Haberleşmesi bu duruma geri dönebilir. Bu durumda
tanımlanmış işlemleri içerir. Yöneticisi Dinleyici Yöneticisi alıp almayacağına bu metot kullanılarak Şekil 7. Etkileşim alma.
karar verilir. Böylelikle gereksiz verilerin “Etkileşim Yöneticisi” sınıfı ise gelen katman, yukarıda bahsi geçen tüm
• Veri Dağıtım Yönetimi (Data ağ üzerinden gönderilmesinin önüne ve giden etkileşim mesajlarını yöneten 3.3. İleri Servisler durumları kayıt anındaki değerlerine
Distribution Management): Federelerin RTILink geçilmesi sağlanır. sınıftır. “Etkileşim Yöneticisi” giden getirmekten sorumludur. Katmanın bu
benzetimde koşum zamanı varolan mesajların uygulama katmanından Nesne ve etkileşimlere üye olunması özelliği kullanılarak, özellikle koşum
nesnelerinin ve etkileşimlerinin iletimi Şekil 3. Federe yönetim katmanı. RTILink katmanına iletilmesini, gelen geri çağrım fonksiyonuna bağlı olarak esnasında önemli olan benzetim anları
ile ilgili filtreleme işlemlerini içerir. Kontrol mesajların ise RTILink katmanından otomatik yapılır. Uygulama kayıt edilerek, istenilen herhangi bir
Uygulama Katmanı Metodu uygulama katmanına geçirilmesini katmanından bir nesne/etkileşim için anda bu kayıt anlarına geri dönülmesi
Federe Yönetim Katmanı ile RTI
3. FEDERE YÖNETİM arasındaki bağlantıyı RTILink kurar. yarat güncelle sil kodla sağlar. geri çağrım fonksiyonu tanımlandığı mümkün olmaktadır.
KATMANI (FYK) RTILink Federe Yönetim Katmanının, Nesne sınıflarına benzer olarak zaman federasyondaki Benzetim sistemlerinin gerçek zamanlı
benzetim alt yapısında kullanılan “Etkileşim Yöneticisi”, gönderilecek her nesneye/etkileşime üye olunur; kayıtlı çalıştırılması yanında ölçeklendirilmiş
BTE kapsamında büyük ölçekli HLA fonksiyon silindiğinde ise
tabanlı benzetim projeleri geliştirme mimariden bağımsız olarak Benzetim Yöneticisi bir etkileşimi önce FOMLink nesneye/etkileşime olan üyelik zamanda çalışmaları da bu sistemlerden
beklenen özellikler arasında yeralabilir.
deneyimimiz, benzetim modelini RTI çalışabilmesini sağlamaktadır. FOMLink sonlandırılır. Bu dinamik yapı ile Ölçeklendirilmiş işletme, bir sistemin
katmanından soyutlayan bir katmanın Haberleşme altyapısının bu şekilde kullanımda olmayan mesajlar gerçek zamana göre daha yavaş ya da
yazılmasının hem federasyon hem de tanımlanması, Federe Yönetim Nesne Uygulama Katmanı alınmamakta ve ağın verimli kullanımı gerçek zamandan daha hızlı işletilmesi
federe geliştirme sürecinin etkinliğini Katmanının HLA dışında başka Dinleyici sağlanmaktadır. anlamına gelir. Federe Yönetim Katmanı
artırdığını göstermiştir. Bu doğrultuda mimariler üzerinde de kullanılmasına zaman işletme servislerini belirli bir
Federe Yönetim Katmanı (FYK) isimli imkân tanıyacaktır. Kullanıcılar her benzetim çevriminde çarpanla ölçeklendirme imkânını da
bir uygulama çerçevesi geliştirilmiştir. RTILink Benzetim Yöneticisi periyodik olarak gerçekleştirmek
3.1. Nesne Haberleşmesi istedikleri işlemleri, bileşen yapısını sunmaktadır. Katman tarafından
Federe Yönetim Katmanı, uygulama FOMLink kullanarak Federe Yönetim Katmanına sağlanan ilgili servisler kullanılarak,
kodunu benzetim altyapısından Federe tarafından benzetim ortamına Şekil 4. Nesne yayınlama. Etkileşim kodla kayıt ettirebilirler. Katman, kayıtlı her benzetim çevrimlerinin belirlenen
soyutlayan bir katmandır. Uygulamada yayınlanacak olan nesnelerin Yöneticisi bileşeni belirtilen aralıkta çağırır. ölçekte işletilmesi mümkündür. Katman
benzetimden beklenen ve benzetim oluşturulması, güncellemelerin Abone olunan uzak nesnelerin Böylelikle uygulamada ihtiyaç duyulacak aynı zamanda sunduğu bileşen ve
ortamına aktarılacak verilerin akışı bu yayınlanması için hazır hale getirilmesi güncellemelerinin uygulama katmanına periyodik işlemler için ayrıca bir zaman çizelgeleme olaylarının da bu
katman üzerinden sağlanır. ve bu nesnelerin silinme işlemleri iletilmesinden “Nesne Dinleyici” mekanizmasının işletilmesi gerekmeden, ölçeklendirmeye uygun olarak
Uygulamanın üye olacağı ve “Nesne Yöneticisi” sınıfı ile sağlanır. sorumludur. “Nesne Dinleyici”, RTILink RTILink tüm bu işlemler benzetim çevriminde ve işletilmesini sağlar.
yayınlayacağı nesne ve etkileşim sınıfları Yerel nesne sınıfları kullanıcıya sahip katmanından gelen nesne bilgilerini benzetim zamanı ile eş zamanlı olarak
bir yapılandırma dosyasında belirtilir. oldukları değişkenlere değer atama FOMLink katmanındaki uygun çözücü Şekil 6. Etkileşim yayınlama. gerçekleştirilebilmektedir. Bileşen yapısı
Federe yönetim katmanı bu dosya
20 Sayı 07 · Eylül-Aralık 2011 http://www.bilgem.tubitak.gov.tr/ 21