Tuesday, 8 September 2009
Agile Metodoloji Tanımı
Olay Tasarlama
- Tasarlayıcı oluşturma: set ns [new Simulator]
- Olayı Tasarla: $ns t e
e= gerçekleşecek olay
- Tasarlayıcıyı başlat: $ns run
Simulasyonumuzda yeni bir node oluşturmak için simulator node nesnesi kullanılır. Aşağıda iki adet node oluşturma komutu görülmektedir.
set n0 [$ns node]
set n1 [$ns node]
Çok fazla node oluşturacaksak bir döngü içinde dizi elemanı olarak da tanımlayabiliriz.
for {set i 0} {$i<5}>
Set n($i) [$ns node]
}
Node’ları oluştururken özelliklerini dışarıdan atayabiliriz. Belirleyebileceğimiz özellikler çizelgede görülmektedir.
Monday, 10 August 2009
SVN Keyword Substitution
|
//Foo.java (commit öncesi) package aa; /** //Foo.java (commit sonrası) package aa; /** public class Foo { |
(Not: Yapacak olduğumuz bu ayarı TortoiseSVN ilede yapabiliyoruz.)
|
package aa; /** 2. Sonra aşağıdaki scripti çalıştırıyoruz. svn up |
Thursday, 30 July 2009
Network Simulator-2 (NS2)
Şekil-NS ile Lan simulasyonları için bazı MAC katmanı programları
zamanda NS2 versiyonuna da bağımlı olmasıdır.
Şekil- OTCL Yorumlayıcısının Yapısı
NS'in en büyük bilesenlerinden biriside olay tasarlayıcısıdır(event schedular).NS te olay bir paket ID sidir. Bu ID NS nesnesinin isleyebilmesi için belirli bir zamanla birlikte her paket için tekil olarak tanımlanır. Olay tasarlayıcısı simulasyon sırasında olan bütün olayları kaydeder ve olay kuyruğundan o an olan olayı gerekli network nesnesini uyararak olay kuyruğundan çıkarır.Bir paket bir network nesnesine geldiği zaman o nesnenin olay kuyruğuna seçer.Sonra sırası geldiğinde zaman kuyruktan çıkarılıp islenir ve ilgili nesneye yönlendirilir. Yazdığımız scripti çalıstırdığımızda olaylar sıraya konur ve sırayla çalıstırılır.
NS sadece Otcl ile değil C++ ilede yazılabilir.Fakat etkinlik amacıyla veri yolu ve kontrol yolu birbirinden ayrılmıstır. Paket ve olay isletim süresini düsürebilmek için olay tasarlayıcısı ve basit network bilesenleri C++ ile yazılır. Bu derlenmis C++ ile yazılmıs nesneler Otcl yorumlayıcı tarafından Otcl nesnelerine dönüstürülürler. Bu yolla C++ nesnelerinin kontrolü de Otcl nesnelerine verilir.
Nesneler direkt olarak Otcl ile de olusturulabilir. Sekil-3.3 C++ ve Otcl nesne
hiyerarsisini göstermektedir.
Şekil- C++ OTCL Nesne Hiyerarşisi
Şekil- NS'in genel mimarisi
Topoloji üretimi için 4 seçenek var: NTG, RTG, GT-ITM ve TIERS paketleridir. En azından GT-ITM NS2’nun bir parçasıdır. NS2 ile birlikte çalısabilmesi için Knuth’un cweb ve SGB yazılımı gerektirir, fakat bu yazılımpaketleri zaten NS2’un parçasıdır. Bu topoloji üreteçleri ile tüm topolojileri el iletanımlama ihtiyacı olmaksızın genis network topolojileri olusturabilir.
OTCL Yapılarının Tanımlanması
gerekli bir kaynak vardır. Trafiğin kaynağı ise uygulama(application) olarak isimlendirilir. Bu kaynak belirli bir agent ile iliskilendirilir. Bu yapı asağıdaki şekilde görülmektedir.
1-NS-2 simülasyonu için önce nodelar olusturulur. Sekil-3.6'de Node-1 ve Node-2 olarak görülmektedir.
2- Sonra bu nodeları birbirine bağlamak için bir link olusturulur. Link olustururken bandwith, gecikme süresi, kuyruk tipi gibi değiskenler belirlenir.
3-Sonra nodelara UDP,TCP gibi agentlar atanır. Bu agentlar gidecek paket tipleri gibi node'un özelliklerini belirtir. Bu agentlar her bir node için ayrı olmalıdır.
Eğer node paket göndermeyecekse bile paket alımını gerçeklestirecek “null(sink)” agent olusturulur. Olusturulan agentlarla hangi node diğerine paket gönderecekse o nodelara ait olusturulan agentlar birbirine bağlanırlar.
Asağıdaki yapılar bütün Otcl scriptlerinde olmalıdır.
NS-2' ya Giriş
yazmanız yeterlidir. Burada tclscript_adi sizin yazdığınız tcl dosyasının adı yerine kullanılmıştır. Eğer terminalinizden sadece 'ns' komutunu çalıstırırsanız size koduyazabilmeniz için tcl shell sunar. Çok kullanıslı bir ortam değildir. Yazmış olduğunuz scripti çalıstırdıktan sonra size stout üzerinde bir output olusturur. Bu oluşan dosya NAM gibi editörlerle açılabilir.
XGraph
grafiksel sunumunu olusturan bir çizim programıdır. Orijinal programı herhangi bir X11 görünümü üzerinde çizmeyi destekler ve zoom yapabilmeyi sağlamak gibi bazı ekstra faydalı özelliklere sahiptir.
Orijinal koda 2 yeni özellik eklendi. Birincisi, ilk ham animasyon dataseti
yapar ve sadece bu yüklenen dataseti anime eder. Eğer dosyadaki veriler zamana göre sıralı ve düzenli ise bu yöntem faydalı. Ayrıca kod senin datanı nümerik olarak isletir ve yeni XGraph ekranında gösterir.
Fakat bazı sıkıcı problemler bulunmaktadır. Expose eventler meydana geldiğinde ekranı 4-5 kere refresh etmeye zorlar.