BİR VERİ ANALİZİ SİSTEMİNİN 20 YILLIK GELİŞİM SÜRECİ VE 

IRAF'ın Logosu

Yrd.Doç.Dr. Sevinç Gülseçen 17 Mayıs 2001

1. GİRİŞ

Son on yıllık dönemde bilimsel veri analizi sistemleri hem sayı hem de çeşitlilik bakımından çok artmıştır. Astronomi verilerinin analizi konusunda yaygın olarak kullanılan yazılımlar şunlardır:

Bunların yanısıra, bilimadamlarının kendi ihtiyacları doğrultusunda uygulamalar geliştirmelerini kolaylaştıran bir dil olan IDL (Interactive Data Language) de hem astronomide hem de diğer disiplinlerde geniş uygulama alanı bulmaktadır.

Bir kurumda geliştirilen bir veri analizi sistemi, başka bir kurumunun amaçlarına hizmet etmek için o kurumun şartlarına adapte edilebilir. Ancak gerekli altyapı sağlanmış olmalıdır. Buna en güzel örnek IRAF'tır. IRAF bugün bir standart olarak kabul edilmektedir.

Veri analiz sistemlerinin felsefesi UNIX™ ve VAX/VMS™ gibi bazı çok kullanıcılı bilgisayar işletim sistemlerinin felsefesi ile aynıdır: "komut/ileti" ("command/prompt") modunda çalışan ve bir kullanıcı arabirimi gibi hizmet eden bir Komut Dili (Command Language (CL)) vardır. CL, ya komutları tek tek ve etkileşimli olarak, ya da birçok komuttan meydana gelen prosedürleri icra eder. Böyle olunca da bu sistemleri VMS, Unix veya Unix'in türevi olan (Linux gibi) bazı işletim sistemlerinin üzerine yerleştirmek gerekir. Bu işletim sistemleri cok kullanıcılı (multiuser), çoklu is düzeninde (multitasking) çalışan ve çoklu programlama (multiprogramming) özelliğine sahip yazılımlardır.

2. IRAF'ın Yirmi Yıllık Gelişim Macerası

2.1. IRAF Hakkında Genel Bilgiler

IRAF (http://iraf.noao.edu/) National Optical Astronomy Observatories (Tucson, Cerro Tololo) (http://www.noao.edu) tarafından geliştirilen bir veri indirgeme ve analiz sistemidir. IRAF'ın, çok çeşitli cihazları destekleyen bir grafik sistemi vardır ve görüntüleme araçları olarak XIMTOOL (Sunview) ve SAOImage'i (X-Windows) destekler. IRAF, network ortamında da kullanılabilir.

Diğer sistemler - STSDAS (Space Telescope Science Institute), PROS (ROSAT X-ray Observatory) ve IUE veri indirgeme ve analizi sistemi, IRAF temel alınarak geliştirilmiştir ve böylece IRAF ile kırmızıötesi datadan X-ışın datasına kadar tüm data çeşitleri üzerinde işlem yapılabilir.

IRAF'ın adı ilk olarak 1981 yılında telaffuz edilmeye başlandı ve bugün o, içinde yüzlerce uygulamayı barındıran ve çok çeşitli işletim sistemi platformlarında çalışabilen bir sistemdir. Gerek ABD'de gerek diğer ülkelerde pek çok kurum, proje ve kişi bu yirmi yıllık süre içerisinde IRAF için yazılım geliştirmiştir. Günümüzde yarım düzine kadar büyük grubun yanı sıra, IRAF için yazılım geliştiren küçük gruplar ve kişiler vardır. Bunların çalışmaları ve IRAF'ın bilimsel açıdan gelişimi "IRAF User's Commitee" isimli bir komite tarafından izlenir ve yönlendirilir.

IRAF'ın ömrünü uzatabilmek için bilgisayar dünyasındaki her gelişme sisteme yansıtılmaya çalışılmaktadır ve böylece IRAF sürekli gelişmektedir. Sistemin 1985 yılından bu yana olan gelişimini ve hangi platformlarda çalıştırılabildiğini özetleyen bir grafiği Şekil 1'de görebilirsiniz.

2.2. IRAF'a Kimler Nasıl Başladı?

IRAF projesi 1981 yılının sonbaharında Kitt Peak Gözlemevinde başladı. O zamanlar NOAO henüz yoktu. Sistemin ilk tasarımı 1982 yılının başlarında tamamlandı ve komut dilinin (CL) ilk versiyonu ile uygulama geliştirme (programlama) ortamı yılın sonuna kadar tamamlandı. NOAO IRAF programlama grubu 1983 yılında oluşturuldu. Sistemin iç kullanıma yönelik ilk versiyonu 1984 yılında ve bazı kurumların kullanımına (dış kullanıma) yönelik beta versiyonu 1985 yılında tamamlandı.

IRAF sistemini hala geliştirmeye devam eden ekip aşağıdaki elemanlardan oluşmaktadır.

 IRAF Proje Araştırmacısı

IRAF Programlama Grubu

IRAF Destek Grubu

Bunlardan Doug Tody, Lindsey Davis, Mike Fitzpatrick ve Dave Bell Resim 1'de yer almaktadır. Resimde ayrıca IRAF'a uzun yıllar çok emek veren ve 2000 yılının Mayıs ayında emekli olan Jeannette Barnes da yer almaktadır.

2.3. IRAF Sistem Mimarisi

IRAF sisteminin temel bileşenleri şunlardır:

Command Language (CL) kullanıcı arabirimi ve komut yorumlayıcı
Applications Programs sistem hizmet programları ve bilimsel uygulama programları
Virtual Operating System (VOS) sistem kütüphanesi ve tüm g/ç arabirimleri
Host System Interface (HSI) diğer hizmet programları ve çekirdek önişlemci komutlar

Şekil 1. IRAF'ın yıllara göre gelişimi ve uygulanabildiği platformlar (http://iraf.noao.edu/~fitz/IRAF_PORT.gif)

Resim 1. IRAF Ekibinin beş üyesi

Bu yapıya ilaveten 2000 yılında IRAF'a ve OpenIRAF projesinin bir bölümü olarak VOS programlarının yanısıra, C ve FORTRAN dillerinden başka dillerde de IRAF'a program yazmak için bazı özellikler kazandırılmıştır. Yeni özelliklerden bir diğeri de "component packaging" olarak bilinir. Bunun sayesinde, IRAF'ın sadece istenen bir bölümü alınıp çalıştırılabilir. 

IRAF'ın programlama dili olan CL (Command Language), IRAF'ı oluşturan sistem ve uygulama programlarını belli bir hiyerarşi içerisinde düzenler. Sistem ve uygulama programlarının her birine task (belirli bir işi yapan program), benzer işleri yapan programların oluşturduğu programlar grubuna da paket (package) adı verilmiştir. 

IRAF'ta programlar genellikle yaptıklarını çağrıştıran kelimelerle isimlendirilir. Örneğin FITS formatındaki dataları okuma taskı RFITS (ReadFITS), görüntüler ile ilgili taskların (HEDIT, IMARITH, IMDELETE v.b) toplandığı paket program IMAGES adını alır. 

Tasklar ve paketler, IRAF komut satırından (bkz. Bölüm 2.2) o paket ya da taskın adı yazılarak icra edilir ve bir paket program bir ya da birden fazla iç içe alt programdan oluşur. Bu hiyerarşik yapı, ana dizin-alt dizin (directory-subdirectory) ya da (an program-alt program) yapılarının benzeridir; bazı programları çalıştırmak için belli bir yol (path) izleyerek onların bulunduğu yere gidilmeli, bazı programlar ise her yerden çalıştırılabilir. Bu özellik, IRAF'ın yapısında Nesne Yönelimli sınıf yapısı (Object Oriented class structure) özelliğinden kaynaklanır. Yani bir task, ait olduğu paket programın özelliklerini "miras yolu" (inheritance) ile kazanmıştır.

IRAF'ın tüm paket program ve tasklarının listesi www.istanbul.edu.tr/fen/astronomy/elkitap/main.htm adresinde bulunan "Yeni Başlayanlar İçin IRAF El Kitabı" (S. Gülseçen, H. Gülseçen) bölümünde yer almaktadır.

3. Bugün IRAF

IRAF dünya çapında 1500 kurumda binlerce astronom tarafından kullanılmaktadır. IRAF'ı kullanan bazı büyük projeler aşağıda listelenmiştir:

AXAF - Advanced X-ray Astrophysics Facility

EUVE - Extreme Ultraviolet Explorer

FTOOLS - FITS utility package from HEASARC

GONG - Global Oscillation Network Group

PROS - ROSAT XRAY Data Analysis System

      STSDAS - Space Telescope Science Data Analysis System

IRAF ile ilgili ve 2000 yılından bugüne kadar yapılmış olan ana geliştirmeler ve eklemeler aşağıda bilgi alınabilecek şekilde listelenmiştir.

New

GUI Applications Package Released (updated 08Nov2000)
IRAF Fits Kernel User's Guide Available Online
(updated 06Oct2000)
IRAF and RedHat 7 -- Works!
(updated 28Sep2000)
V2.11.3b Patch Now Available
(updated 18Sep2000)
SYSINFO Diagnostic Tool (Beta) Available
(updated 11Aug2000)

IRAF Upgrades:

V2.11.3a Applications Patch (updated 11Feb2000)

Şu anda IRAF'ın en son sürümü V2.11.3'tür. IRAF ekibi 2001 yazında V2.11.4 sürümünü kullanıma açmayı planlamaktadır.

4. Sonuç

Yirmi yıldan beri geliştirilmekte olan ve kodu milyon mertebesinde satırı bulan bir sistemi tamamiyle öğrenmek mümkün değildir ve buna gerek de yoktur. Bugün bilimadamları, IRAF'ın sadece yaptıkları çalışmaya hizmet edecek bölümünü öğrenerek onu kullanmaktadırlar. NOAO web sitesinde bulunan onlarca dökümandan ve IRAF ekibinin elemanları ile yapılan bire bir görüşmelerden (e-mail ile) yardım alınabilmektedir.

KAYNAKLAR

Bell J.F. ve P.J. Young, W. H. Roberts, K.M. Sebo, "A Pipeline Tool for CCD Image Processing", ASP Conference Series Vol. 172, pp. 183-186

STSDAS User's Guide, Ver. 1.3, Space Telescope Science Institute, April 1994

Gülseçen S., A.T. Saygaç, H. Gülseçen, H.H. Esenoğlu, "Astronomi Tabanlı Çalışmalarda Hizmet Verecek Bir Bilgi Yönetim Sistemi", Endüstri Mühendisliği Dergisi (ISSN 1300-3410), Cilt 10, Sayı 3, Eylül 1999, s. 19-24

Gülseçen S.,H. Gülseçen, "Yeni Başlayanlar İçin IRAF Kullanım El Kitabı", 2000

(http://iraf.noao.edu/)

(http://iraf.noao.edu/~fitz/IRAF_PORT.gif)