Genişletilebilir Şablonlu Otomatik Kod Üretim Modelinin Fizibilite Esaslarının Araştırılması

Tübitak – Bilgi İşlem Daire Başkanlığının 2209 no’lu programı çerçevesinde sunmuş olduğum ve kabul edilen “Genişletilebilir Şablonlu Otomatik Kod Üretim Modelinin Fizibilite Esaslarının Araştırılması” adlı çalışmayı nihayet tamamlayabildim(Uykusuz gecelerin ardından). Raporda’da bildirmiş olmamın yanı sıra buradan da Tübitak-BİDEB’na desteklerinden ötürü teşekkür ederim. İlgilenenler ilgili başkanlık biriminden raporu temin edebilirler.

Association for Computing Machinery

2006 yılından bu yana üye olduğum ACM‘den bugüne kadar tam anlamıyla yararlanamadığımı farkettim. İşin açığı sadece makale aratıp indirmede kullandığım toplulukta birçok kitap vs. yanısıra gerçekten işe yarayan online kurs eğitim arşivide varmış. Tüm araştırmacılara tavsiye ederim gerçekten işe yarayan bildiler var. Özelliklede “Special Interest Groups”‘u şiddetle tavsiye ediyorum…

Windows Installer XML (WiX) – Başlangıç 1

Windows Installer Xml kullanımı hakkında yazığım bir yazıyı yazgelistir.com sitesinde yayınladım.

Çoklu Algoritma Desteğine Dayalı E-İmza Uygulaması (E-Signat)

Bu yıl Dumlupınar Üniversitesi’nde gerçekleştirilen Akademik Bilişim konferansında “Çoklu Algoritma Desteğine Dayalı E-İmza Uygulaması (E-Signat)” adlı sözlü bildiriyle katıldım. Yararlı bir konferanstı. Yetkililere teşekkür ederim. Sunum dosyasını indirmek isteyenler Akademik Bilişim’in sitesinden indirebilirler.

Threshold Kriptoloji Sistemine Dayalı Çoklu İmza Uygulaması

Ankara’da düzenlenen “Bilgi Güvenliği ve Kriptoloji” konferansında “Threshold Kriptoloji Sistemine Dayalı Çoklu İmza Uygulaması” adlı poster sunumu gerçekleştirdim. Yazıyı okumak isteyenler ICSTurkey sitesinden bildiriyi indirebilirler.

Independent Games Festival 2006

Bağımsız Oyunlar Festivali 2006’yılı öğrenciler kategorisine “Invader Worm” adlı oyun ile katılımımız kabul edildi. Bu oyunun da yazımında büyük pay sahibi Abdurrahim ÇAKAR’a teşekkür ederim.

Katılımcıların listelendiği sayfaya erişmek için tıklayabilirsiniz.

Tier Generator Modeli Hakkında

Partial Class Generatör modelinin üretimdeki rolünün artırılarak ortaya konulan otomatik kod üretim modelidir. Bu modelin gelişmesi ile birlikte veri erişim katmanının yanı sıra iş (Business) ve kullanıcı arayüzü katmanı gibi birden çok katmanın oluşturulmasına imkân verilmiştir. Böylece Tier Generator Modeli ile otomatik kod üreticilere yeni bir tür olarak komple yazılım üreten araçlarda katılmıştır.
Örnek Model Şeması :

Model Üretim Süreç Şeması :

Partial Class Generator Modeli Hakkında

Partial Class Generator Modeli yazılım mimarisinde veri erişim katmanının temel sınıflarını üretmeye dayalı olan bir modeldir. Bu model yalnızca temel sınıfların üretimine dayalı olduğu için diğer katmanların ve kodların üretimi programcıya kalmaktadır.

Örnek Model Şeması :

Model Üretim Süreç Şeması :

Mixed Code Generator Modeli Hakkında

Inline Code Expander Modeli’nin dez-âvantajlarını kapatmak için geliştirilen kod üretim modelidir. Bu modelde gömülü SQL uygulamaları açıklama satırları olarak girilir. Böylece programcının kodu direk derlemesi mümkün olmakdadır. Ayrıca oluşturulan kaynak kod, üreticinden geçen kodun kendisi olduğundan herhangi bir uyum sorunu da yaşanmamaktadır.

Örnek : Gömülü SQL (CSQL) Dili

1int main(int argc, char *argv[])
2{
3 //SQL select * from users
4 //SQL END
5 return 0;
6
7}

Örnek : C Dili

1#include “db.h”
2int main(int argc, char *argv[])
3{
4 //SQL select * from users
5 DBHandle *db_handle = db_connect();
6 DBQueryData *db_data = db_db_query(db_handle, “select * from users”);
7 for(int record= 0; record< db_data->length;record++)
8 {
9 //Programcı için açıklama alanı
10 }

11 //SQL END
12 return 0;
13}

Örnek Model Şeması :

Model Üretim Süreç Şeması :

Inline Code Expander Modeli Hakkında

Mevcut bir dilde yazılmış olan kaynak kodu hedef dile uygun hazırlanmış şablona göre işleyip sonuçlandıran kod üretim modelidir. Bu model daha çok C dili içinde gömülü SQL (ing embed SQL) uygulamalarına imkân vermek amacıyla kulanılmıştır.

Örnek : Gömülü SQL ((SQLC) Dili)

1int main(int argc, char *argv[])
2{
3 <SQL select * from users>
4 return 0;
5}

6

Şeklinde yazılmış bir gömülü SQL kodunu Inline Code Expander Modeli ile yazılmış bir kod üreticiden geçirildiğinde SQLC kodu aşağıda görüleceği gibi saf C koduna çevrilmektedir.

Çıktı: C Dili

1#include “db.h”
2int main(int argc, char *argv[])
3{
4 DBHandle *db_handle = db_connect();
5 DBQueryData *db_data = db_db_query(db_handle, “select * from users”);
6 for(int record= 0; record< db_data->length;record++)
7 {
8 //Programcı için açıklama alanı
9 }

10 return 0;
11}

Örneğin şeması :

Böylece bir programcıya veritabanı ile yapacağı işlemleri veya birkaç satırda yapabilme olanağı tanınmış olmaktatır. Bu modelin en büyük dez-âvantajı kaynak kodda SQLC kodları yer aldığından bu kodun derlenebilmesi için kod üreticiden geçmesi gereğidir. Ki kod üretiminden geçse de oluşturulan kod farklı bir dosya olduğundan gelişim sürecinde kaynakla çıktı arasında uyumun kaybolmasıdır.

Model Üretim Süreç Şeması :