Erhan zt rk natali s dimo lu gebze y ksek teknoloji enstit s
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

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


  • 185 Views
  • Uploaded on
  • Presentation posted in: General

Erhan ÖztürkNatali S. Dimoğlu Gebze Yüksek Teknoloji Enstitüsü. BİLİMSEL METİN İŞLEME AMAÇLI ALANA ÖZGÜ PROGRAMLAMA DİLİ. AB’2006 Pamukkale Üniversitesi. İçerik. Problem Tanımı Alana Özgü Programlama Dilleri Alan Analizi Dil Tasarımı Modelleme Program Üretme Hata Kontrolleri.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Erhan zt rk natali s dimo lu gebze y ksek teknoloji enstit s

Erhan ÖztürkNatali S. Dimoğlu

Gebze Yüksek Teknoloji Enstitüsü

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

AB’2006 Pamukkale Üniversitesi

Akademik Bilişim 2006

Pamukkale Üniversitesi


B l msel met n leme ama li alana zg programlama d l

Akademik Bilişim 2006

Pamukkale Üniversitesi

İçerik

  • Problem Tanımı

  • Alana Özgü Programlama Dilleri

  • Alan Analizi

  • Dil Tasarımı

  • Modelleme

  • Program Üretme

  • Hata Kontrolleri


Problem tan m

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.

Akademik Bilişim 2006

Pamukkale Üniversitesi


Nerilen yakla m

Ö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.

Akademik Bilişim 2006

Pamukkale Üniversitesi


Alana zg programlama dilleri

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.


Alana zg diller in temel ad mlar

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.


Alan analizi

Akademik Bilişim 2006

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


Alan analizi genel g r nt

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ı

Akademik Bilişim 2006

Pamukkale Üniversitesi


Girdi kt lemleri

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


Veri ay klama lemleri

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


Veri ay klama lemleri1

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.


Matrisler

Akademik Bilişim 2006

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


Matris g sterimleri

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.

Akademik Bilişim 2006

Pamukkale Üniversitesi


Veri bi imlendirme lemleri

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.


Alana zg dil tasar m

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ı.


Sentaks kurallar

Akademik Bilişim 2006

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

<variabletype="integer" name="x" value="0"/>


Eclipse modelleme at s emf

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.


B l msel met n leme ama li alana zg programlama d l

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.

Akademik Bilişim 2006

Pamukkale Üniversitesi


Kod retme

Akademik Bilişim 2006

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.


Ablon tabanl kod retimi

Ş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.

Akademik Bilişim 2006

Pamukkale Üniversitesi


Hata kontrol mekanizmalar

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


B l msel met n leme ama li alana zg programlama d l

İlginize Teşekkürler!

Akademik Bilişim 2006

Pamukkale Üniversitesi


  • Login