BİLİMSEL METİN İŞLEME AMAÇLI ALANA ÖZGÜ PROGRAMLAMA DİLİ

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Programlama Güz 2011
Advertisements

İSİM UZAYLARI.
Problemi Çözme Adımları
KONTROL ÖZELLİKLERİ.
Bölüm 2 C Dilinin Temelleri
Bilgi Teknolojisinin Temel Kavramları
BTEP 203 – İnternet ProgramcIlIğI - I
Grup ilkesinin yerel düzenleyicisi Microsoft Windows XP' de, kullanıcı ve bilgisayar grupları için kullanıcı ve bilgisayar yapılandırmaları tanımlamak.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
NESNEYE DAYALI MODELLEME VE TASARIM
Görsel Okur-Yazarlık *
İstatistikte Temel Kavramlar
Temel HTML Eğitimi Erman Yükseltürk.
Bölüm 2 – XML Belgeleri Oluşturmak
Bilgisayar Programlama Güz 2011
Nesneye Dayalı Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Nesneye Dayalı Programlama
BİÇİMLENDİRME İŞLEMLERİ
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
KAM 209 ARAŞTIRMA YÖNTEMLERİ
Lineer Cebir Prof.Dr.Şaban EREN
, Denizli Akademik Bilişim 2006 YAZILIM GELİŞTİRME SÜRECİNDE OTOMATİK KOD ÜRETİCİLER Çağdaş Can BİRANT Kökten Ulaş BİRANT Prof. Dr. Alp KUT.
Fonksiyonlar ile Çalışmak
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
BİLGİSAYAR MUHASEBE YAZILIMLARI
AES S Kutusuna Benzer S Kutuları Üreten Simülatör
Bilgi Teknolojisinin Temel Kavramları
Şahin BAYZAN Kocaeli Üniversitesi Teknik Eğitim Fakültesi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
TEMEL php Dersleri - Ders 1 Değişgenler
PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2015 – 2016 Güz Dönemi Kredi : 3+1
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
Bileşik Mantık Devreleri (Combinational Logic)
SİSTEM VE YAZILIM Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. Yazılım, bilgisayar sistemlerinin bir bileşeni.
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
ÜÇGEN.
BİLİŞİM TEKNOLOJİLERİ DERS KİTAPLARI
Ders 2 Algoritma İfade Şekilleri
İÇERİK YÖNETİM SİSTEMİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
ÇEVİK (Agile) SÜREÇLER Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe.
Geleneksel Tasarım Araçları
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
X3D İLE İNTERNET ÜZERİNDE ÜÇ BOYUT Y. Doç. Dr. Aybars UĞUR Bilg. Müh. Tahir Emre KALAYCI Bilg. Müh. Tahir Emre KALAYCI Ege Üniversitesi Bilgisayar Mühendisliği.
7. HAFTA.
Bilişim Teknolojileri ve Yazılım Dersi
BM-103 Programlamaya Giriş Güz 2016 (4. Sunu)
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
PROGRAMLAMA TEMELLERİ
ACTIONSCRIPT TEMELLER İ SAVAŞ TUNÇER
Problem Çözme Yaklaşımları
Bilgisayar Programlamasına ve Veri Analizine Giriş
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
AES S Kutusuna Benzer S Kutuları Üreten Simulatör
Problemi Çözme Adımları
NİŞANTAŞI ÜNİVERSİTESİ
Discussion: comp.soft-sys.matlab
Tasarım: Ali Topal.
YAZILIM KOD ÜRETEÇLERİ
NİŞANTAŞI ÜNİVERSİTESİ
C ile Programlamaya Giriş
DA MOTOR SÜRÜCÜLERİ İÇİN BULANIK MANTIK DENETİMİ
BİLGİSAYAR PROGRAMLAMA ÖĞRETİMİNDE YENİ BİR YAKLAŞIM
KAVRAM HARİTALARI.
Sunum transkripti:

BİLİMSEL METİN İŞLEME AMAÇLI ALANA ÖZGÜ PROGRAMLAMA DİLİ Erhan Öztürk Natali S. Dimoğlu Gebze Yüksek Teknoloji Enstitüsü AB’2006 Pamukkale Üniversitesi Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi İçerik Problem Tanımı Alana Özgü Programlama Dilleri Alan Analizi Dil Tasarımı Modelleme Program Üretme Hata Kontrolleri 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi Problem Tanımı Bilimsel verilerin ayıklanması ve farklı formatlara çevrilmesi. Her çevrim işlemi için farklı bir programa ihtiyaç olması. Farklı girdi/çıktı dosyaları için yapılan benzer işlemler. Tüm programlar bilimsel alana aittir. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi Önerilen Yaklaşım Uygulama mantığını, programlama dilinden daha üst düzeye çekmek. Alana-özgü programlama dili geliştirmek. Otomatik program üretmek. Bilim adamlarının da kendi programlarını yazabilmelerini sağlamak. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Alana Özgü Programlama Dilleri Belli bir alandaki problemlerin uygun notasyonlarla ifade edilmesini sağlar. Daha çabuk ve daha kolay çözümler geliştirilmesine olanak tanır. Sadece alana ait işlerin yapılmasını amaçlar. Problem alanı ve kullanılan dil arasındaki kavramsal mesafeyi azaltır. Programlamayı daha basit ve güvenilir bir hale getirir. Alandaki tüm kavramları kapsayacak kadar geniş olmalıdır. Dildeki kavramlar anlaşılır olmalıdır. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Alana Özgü Diller İçin Temel Adımlar Alan Analizi: Alandaki benzer ve farklı özellikleri ortaya çıkarmayı amaçlar. Dil Tasarımı: Alan analizinin sonuçlarından dilin sentaks kuralları belirlenir. Kod Üretici Oluşturmak: Tasarlanan dil kullanılarak oluşturulan modellerden, uygulama kodu üreten program tasarlamak. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi Alan Analizi Alana özgü dildeki kavramları ortaya çıkartmak için yapılan ön çalışmadır. Alan analizi yapmanın iki farklı yolu: Alandaki uzmanlarla çalışmak Öncede yazılmış kodların incelenmesi Alan analizinin amacı: Ortak ve farklı yönleri bulmak 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Alan Analizi: Genel Görüntü Girdi/Çıktı katmanı Farklı kaynaklardan veri okuma Yeniden biçimlendirilen verinin çıktı dosyasına yazılması Veri Ayıklama Önemli verilerin ayıklanması, kalanlarının atılması Veri Dönüştürme Ayıklanan verinin istenen biçime sokulması 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Girdi/Çıktı İşlemleri Girdi/Çıktı işlemleri kullanıcıdan olabildiğince soyutlanmalıdır. En temel dosya işlemleri şunlardır: Dosya açma Dosya kapama Sonraki satırı okuma Satır atlama Belli bir karakter dizisi ile başlayan satıra atlama Dosyaya yazma 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Veri Ayıklama İşlemleri İlk etapta, dosyanın işimize yarayacak bölümleri ayrıştırılır. Elde edilen verilerden istediğimiz veri yapılarını ayıklarız. Temel işlemler: Tamsayı okuma Ondalık sayı okuma Karakter dizisi okuma Sonraki kelimeyi atlama 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Veri Ayıklama İşlemleri Temel işlemleri birleştirip, daha karmaşık işler yapan işlevler elde edebiliriz. Koordinat verisi okumak için üç tane ondalık sayı okuma işlemi kullanılır. Matris ayıklama işlevi için tamsayı ve ondalık sayı okuma işlemleri yanısıra satır okuma, satır atlama ve kelime atlama işlemleri de kullanılır. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi Matrisler Bilimsel dosyalarda sıkça karşılaşılır. Değişik gösterim biçimleri olduğu için ayıklanması en zor veri tiplerinden bir tanesidir. Matris çeşitleri: Alt-üçgen matris Kare matris Üst-üçgen matris Köşegen problemi 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi Matris Gösterimleri Klasik Gösterim Küçük boyutlu matrisler için uygundur. Parçalı Gösterim Büyük matrislerin karışmaması için uygun bir yöntemdir Dosya içinde takip etmesi zordur. Dizinli Gösterim: Genellikle üst-üçgen matrisler için kullanılır. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Veri Biçimlendirme İşlemleri Ayrıştırılan verinin istenilen formata sokulmasını sağlayan işlemlerdir. Bunlardan bazıları: Normalleştirme fonksiyonu: Verilen bir matris ya da vektör elemanının değeri verilen bir eşik değerden küçükse, eleman verilen hedef değere eşitlenir. Transpoze fonksiyonu: Matrisi devrik hale getirmek için kullanılır. Sayı Formatı: Ondalık sayıların hangi biçimde yazılması gerektiğini belirler. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Alana Özgü Dil Tasarımı Alan analizi sonucunuda belirlenen kavramlardan, bu aşamada sentaks kuralları belirlenir. Alandaki her kavrama denk gelen bir sözcük bulunacaktır. Sentaks kurallarını tanımlamak için genişletilebilir işaretleme dili (XML) kullanılmıştır. XML seçiminin başlıca sebepleri: Daha okunaklı olması. Modelleme için daha elverişli olması. Ayrıştırma işlemlerinin daha kolay olması. Sentaks hatalarının XML ayrıştırıcı tarafından bulunması. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi Sentaks Kuralları Alan analizi aşamasında bulunan kavramların herbirine karşılık gelen bir XML etiketi atanır. Bundan sonra, etiket bilgilerinin dahili elemanlar içinde mi yoksa nitelik (attribute) olarak mı tutulacağı belirlenir. Örnekler: Girdi dosyası aç <input filename=“a.out”/> Satır atlama <skipline numberOf=“3”/> (dahili) <skipline>3</skipline> X isimli değeri 0 olan bir tamsayı tanımlama <variable type="integer" name="x" value="0"/> 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Eclipse Modelleme Çatısı (EMF) Alana özgü modelleme için kullanılmıştır. Yapılandırılmış bir model üzerine, uygulama üretmek için kullanılan modelleme ve kod üretme aracıdır. Üç temel parçadan oluşur: Ecore – Model tanımlamak için kullanılan meta-model EMF.Edit – Model düzenleyicileri oluşturmak için kullanılan genel sınıflardır. EMF.Codegen – EMF modelleri için çalışan düzenleyiciler oluşturmak için gerekli olan herşeyi üretirler. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi EMF XML şeması kullanılarak, çalışan model düzenleyici oluşturulur. Bu düzenleyiciler istenilen şekilde düzenlenebilirler. Çıktı olarak alan modeli elde edilir. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi Kod Üretme Genellikle yazılım geliştirme aşamasında tekrar edilen işler olduğu zaman kullanılan bir yöntemdir. Bir kez kod üretici program yazılır ve tekrar tekrar kullanılır. Uygulama mantığını daha üst seviyeye çekmemizi sağlar. Şablon-tabanlı kod üretme tekniği kullanılmıştır. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Şablon-Tabanlı Kod Üretimi Şablon işlemcisi, model ve kod şablonunu birleştirerek uygulama kodunu üretir. Kod şablonu seçilen bir dilde yazılan ve içinde boşluklar olan kod dosyalarıdır. Şablondaki boşluklar, modelin elemanları ile doldurulur. Üretilen kod, dilin derleyicisi ile derlenerek çalışan uygulama elde edilir. 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Hata Kontrol Mekanizmaları Sentaks hataları, model düzenleyicisi ve XML şema yardımıyla kolaylıkla yakalanabilir. Statik kod analizi Tanımlanmamış değişken kullanımı. Geçersiz referans kullanımı. Program üretme aşamasından önce çalışır. Çalışma zamanında oluşabilecek hatalar. Alana özgü kodda hangi satır yüzünden oluştuğu bilinmelidir. Eşleştirme tablosu 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi

Pamukkale Üniversitesi İlginize Teşekkürler! 9-11 Şubat Akademik Bilişim 2006 Pamukkale Üniversitesi