ULUSAL YAZILIM MİMARİSİ KONFERANSI (UYMK 2016) KONFERANS PROGRAMI VE BİLDİRİ ÖZETLERİ 1.Gün: 5 Eylül 2016 Yazılım Süreç Modelleme ve Essence Çerçevesi Çalıştayı 09:00-09:15 Görkem Giray, Giriş 09:15-10:15 Bedir Tekinerdogan, Wageningen Üniversitesi, Process Modeling and Metamodeling 10:15-10:30 Ara / Kahve Molası 10:30-11:30 Görkem Giray, Essence Framework 11:30-12:30 Eray Tüzün, Yagup Macit, HAVELSAN, Applications of the Essence Framework 12:30-14:00 Öğle Yemeği Programın kısa özetini ekte bulabilirsiniz. 3. Ulusal Yazılım Ürün Aile Mühendisliği Çalıştayı 14:00-14:15 Giriş 14:15-14:45 Bedir Tekinerdogan, İkinci Nesil Yazılım Ürün Aile Mühendisliği ve Ötesi, Wageningen 14:45-15:30 İbrahim Niyazi Ülgür, ARÇELİK, RCOS+ Reusable connected software platform 15:30-15:45 Ara / Kahve Molası 15:45-16:30 Hakime Koç, ASELSAN, Çoklu Ürün Aile Mühendisliği için Süreç Modellemesi 16:30-17:15 Orhan Uğurlu, TÜSAŞ, Uydu Uçuş Yazılımları için Ürün Hattı Yaklaşımı 17:15-18:00 Özgür Tüfekçi, ELEKTROMED, Akıllı Sayaç Sistemleri için Aile Mühendisliği Uygulaması 1
2. Gün : 6 Eylül 2016 09:00 09:15 Kayıt 9:15 10:30 Akademik Davetli Konuşmacı, Prof. Dr. Uwe ASSMANN 10:30 10:45 Endüstriyel Davetli Konuşmacı, Kariyer.net Yazılım Mimarisi Deneyimleri 10:45-11:00 Ara / Kahve Molası 11:00-12:40 I. Bildiri Sunumları 12:40-14:00 Öğle Yemeği 11:00-11:20 Gülsüm Ece Ekşi, Bedir Tekinerdoğan. Yazılım Mimarisi Bakış Açılarındaki Tutarlılık Kontrolü için Sistematik Bir Yöntem 11:20-11:40 Necdet Engin Öztuna, Uğur Melih Sürme, Orhan Uğurlu. TUSAŞ Sistem Entegrasyon Laboratuvarı Doğrulama Yazılımları Altyapısı (SDYA) 11:40-12:00 Murat Pasa Uysal, Erhan Mergen. Yazılım Yeniden Yapılandırmaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım 12:00-12:20 Ömer Köksal, Mirun Akyüz. Veri Dağıtım Servisi (DDS) Tabanlı Sistemler için İlgiye Yönelik Geliştirme Aracı 12:20-12:40 Mehmet Mustafa Gürsul, Muhammet Asan, Tahsin Alp Yanar, GPS Mesajlarının Nesneye Yönelik Yazılım Tasarım Prensiplerinden Genişlemeye Açık, Değişikliğe Kapalı Prensibine Göre Ele Alınması 14:00-15:20 II. Bildiri Sunumları 14:00-14:20 Murat Cihan Sorkun, Salih Bayar. Gömülü Sistem Üzerinde Uygulanan İkili Yedekleme Yöntemi İle Aksaklığa Dayanıklı Yazılım Mimarisi 14:20-14:40 Alparslan Fisne, Demodülasyon Algoritmaları için En iyilenmiş Windows İşletim Sistemi Uygulamaları. 14:40-15:00 Akhan Akbulut, Fatma Patlar Akbulut, Hakan Köseokur, Çağatay Çatal. Son Kullanıcı Geliştirme için Otomatik Kod Üretim Aracının Tasarımı ve Gerçeklenmesi 15:00-15:20 Görkem Giray, Bedir Tekinerdogan, Eray Tüzün. Sentez Tabanlı Mimari Tasarım Yaklaşımının Essence Çerçevesiyle Modellenmesi 15:20-16:00 Ara / Kahve Molası 16:00-17:30 Panel Son teknolojik gelişmelerin yazılım mimari alanına etkileri Moderatör: Mehmet Akşit, Twente Üniversitesi Konuşmacılar: Bedir Tekinerdoğan, Wageningen Üniv. Melih Sürme, TUSAŞ (TAI) Yagup Macit, Havelsan Hasan Sözer, Özyeğin Üniv. Özgür Tüfekçi, Elektromed 2
UYMK 2016 BİLDİRİ ÖZETLERİ Yazılım Mimarisi Bakış Açılarındaki Tutarlılık Kontrolü için Sistematik Bir Yöntem Gülsüm Ece Ekşi, Bedir Tekinerdoğan Literatürde, tasarım amaçlarına ulaşmayı sağlayan ve kodla yazılım mimarisi arasındaki uyumsuzlukları bulmaya yarayan bir takım çalışmalar öne sürülmüştür. Mimari bakış açıları ve kod arasındaki uyum nasıl olmalıysa, aynı şekilde her bir bakış açısı da kendi içinde ve diğer bakış açılarıyla uyumlu olmalıdır. Ancak, varolan mimari uygunluğu yöntemleri öncelik olarak kod ile mimari arasındaki uyuma odaklanmış ve bakış açılarının kendi arasındaki uyumsuzlukları dikkate almamıştır. Bu makalede, mimari bakış açılarının kendi aralarındaki tutarsızlığı ele alan sistematik bir yöntem sunmaktayız. Bu amaç doğrultusunda, metamodelleri tanımlanan mimari bakış açılarını uygulamaya sokan ArchViewChecker adında bir araç geliştirdik ve örnek bir çalışma üzerinde aracımızı değerlendirdik. TUSAŞ Sistem Entegrasyon Laboratuvarı Doğrulama Yazılımları Altyapısı (SDYA) Necdet Engin Öztuna, Uğur Melih Sürme, Orhan Uğurlu TUSAŞ ta Emniyet kritik/güvenilir uçuş yazılımlarının (On-Board Software vb.) entegrasyon ve test aşamalarında kullanılan simülasyon yazılımları ve modellerinin geliştirilmesine olanak sağlaması amacıyla Özgün Sistem Entegrasyon Laboratuvarı Doğrulama Yazılımları Alt yapısı (SDYA) geliştirilmiştir. SDYA nın geliştirilmesi sürecinde Capability Maturity Model Integration (CMMI) Seviye-3 uyumlu TUSAŞ Uzay Sistemleri Grup Başkanlığı (USGB) süreçleri rehber alınmıştır. Bu makalede, SDYA nın geliştirilmesinde platform bağımsızlık, dağıtık mimari, gerçek zamanlı simülasyon altyapısı, grafik kullanıcı arayüzü, aviyonik veri yolları arayüzleri (MIL- STD-1553, Ethernet, Seri vb) için oluşturulan teknik çözüm, uygulanan süreçler, kullanılan teknolojiler ile SDYA nın uydu alanındaki projelerde kullanım potansiyelinden bahsedilmektedir. Yazılım Yeniden Yapılandırmaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım Murat Pasa Uysal, Erhan Mergen Literatüredeki araştırmalar, yoğun iş gücü ve kaynak kullanımını gerektiren Yazılım Yeniden Yapılama (YYY) (Software Re-Engineering) süreçlerinin otomatik hale getirilebilmesi ile ortaya çıkan yazılım ürünlerinin daha sonra kullanılabilmesinin gerektiğini göstermektedir. YYY projelerinde karşılaşılan diğer problem ise ilgili kuruma ait değişen iş süreçleri, buna bağlı veri yönetimi ile yeni teknolojilerin mevcut sistem ve altyapıyla nasıl bütünleştirileceğidir. Buna ek olarak, farklı mimari ve platformlardaki yeniden yapılanacak yazılım sistemlerin birbirleriyle anlamsal iletişimi ve birlikte çalışabilirliği konusu da karşılaşılan bir diğer problemdir. Dolayısıyla bu çalışmada, YYY ile ilgili söz konusu araştırma problemlerine yönelik bir Kurumsal Mimari geliştirilmiş, ontolojik yöntemlerle test ve değerlendirilmiştir. Tasarım Bilimi Araştırma Yöntemi doğrultusunda yürütülen araştırmanın ana bileşenleri ve teorik temellerini YYY, Model Güdümlü Mimari, Kurumsal Mimari ve Ontoloji bilgi alanları oluşturmuştur. Çalışmanın yazılım mühendisliği alanına olan katkılarını, (a) YYY sürecine KM ile bütüncül yaklaşılması ve (b) YYY süreçlerinin anlamsal yapılarının ontolojik yöntemlerle iyileştirilmesi olarak göstermek mümkündür. İlk izlenimlerimiz, geliştirilen KM nin değişik soyutlama düzeylerindeki YYY problemlerine farklı bakış açılarını kazandırarak yazılımla ilgili paydaşların görüş ve ihtiyaçlarını karşılayabileceği yönündedir. 3
Veri Dağıtım Servisi (DDS) Tabanlı Sistemler için İlgiye Yönelik Geliştirme Aracı Ömer Köksal, Mirun Akyüz Object Management Group (OMG) - Veri Dağıtım Servisi (Data Distribution Service - DDS), günümüzde dağıtık yazılım geliştirmede yaygın olarak kullanılan, veri bazlı bir arakatmandır. Yayınla-abone ol mekanizması kullanan başka arakatmanlar olmasına rağmen DDS, sağladığı ön tanımlı servis kalitesi parametreleri ile öne çıkmaktadır. Öte yandan, DDS teki pek çok ilgi, tek bir modül içine toplanamayacak şekilde dağıtıktır. İlgilerin yazılım modülleri üzerinde dağıtık bulunması program bakımı, yeniden kullanırlık ve benzeri kalite faktörleri için problem oluşturmaktadır. Maalesef bu sıkıntı, DDS tasarımında fazlasıyla göz önüne alınmış bir durum değildir. Bu makalede, DDS ile alakalı, temel enine kesen ilgi problemleri ve bunların ilgiye yönelik programlama metodolojisi ile çözümleri üzerinde duruldu. Bu amaçla geliştirdiğimiz ilgiye yönelik yazılım geliştirme aracının (DDS-AST) özelliklerden bahsedildi. Örnek çalışma kapsamında geliştirdiğimiz mini deniz komuta kontrol sisteminde, DDS-AST kullanılarak yazılım geliştiricilere ve testçilere sağladığı faydalar değerlendirildi. GPS Mesajlarının Nesneye Yönelik Yazılım Tasarım Prensiplerinden Genişlemeye Açık, Değişikliğe Kapalı Prensibine Göre Ele Alınması Mehmet Mustafa Gürsul, Muhammet Asan, Tahsin Alp Yanar NMEA 0183; deniz sistemlerindeki elektronik cihazlar arasındaki iletişimde kullanılan bir standarttır. Bu uygulama bildirisinde; ilk önce NMEA 0183 standardı ile ilgili genel bilgiler verilecektir. Sonra ise; GPS alıcısından gönderilen NMEA 0183 standardındaki mesajların nesneye yönelik programlamanın temel prensiplerinden olan open for extension, close for modification prensibine uygun olarak strateji ve fabrika tasarım kalıpları ile yazılım tasarımının nasıl yapıldığı anlatılacaktır. Gömülü Sistem Üzerinde Uygulanan İkili Yedekleme Yöntemi İle Aksaklığa Dayanıklı Yazılım Mimarisi Murat Cihan Sorkun, Salih Bayar Bu bildiride e-fatura işlenmesinden sorumlu DIARIST gömülü sistem cihazı üzerinde gerçekleştirilen, ikili yedekleme yöntemi (DMR) ile aksaklığa dayanıklılık uygulaması anlatılmaktadır. DIARIST cihazı kullanıcı tarafında bulunan, e-faturaların işlenmesini, saklanması, yazıcıya aktarılmasını ve sunucu ile haberleşerek yedeklenmesini sağlayan özelleşmiş bir gömülü sistemdir. DIARIST sistemi vergi süreçlerini doğrudan etkilediği için kesintisiz ve hatasız hizmet vermesi gerekmektedir. Kesintisiz ve hatasız hizmet verebilmesi için, sistem üzerinde ikili yedekleme yazılım mimarisi ve uygulaması gerçeklenmiştir. Demodülasyon Algoritmaları için En iyilenmiş Windows İşletim Sistemi Uygulamaları Alparslan Fisne Telsiz yayınlarından seslerin elde edilmesi için yazılım tabanlı almaçlar kullanılmaktadır. Almaçtan elde edilen sesler aynı zamanda kaydedilmiş ham verilerden çevrimdışı olarak elde edilebilmektedir. Dolayısıyla veri kayıtları üzerinde JAVA tabanlı Kullanıcı Arayüzü nde çevrimdışı olarak demodülasyon işlemleri yapılabilmektedir. Gerçek zamanlı ses işleme için demodülasyon algoritma işlem hızının ses çaldırma hızından yüksek olması gerekir. Bu çalışmada, gerçek zamanlı ses işleme için Intel işlemci mimarisi tabanlı optimizasyonlardan bahsedilmektedir. JNI yöntemi kullanılarak yapılan optimizasyonlar sayesinde JAVA tabanlı yazılımda demodülasyon işlemleri için 10 kat hızlanma gözlemlenmiştir. Optimizasyonlar sayesinde Kullanıcı Arayüzü nde demodülasyon işlemleri yüksek bant genişliğine sahip sinyaller için gerçek zamanlı olarak yapılabilmektedir. 4
Son Kullanıcı Geliştirme için Otomatik Kod Üretim Aracının Tasarımı ve Gerçeklenmesi Akhan Akbulut, Fatma Patlar Akbulut, Hakan Köseokur, Çağatay Çatal Son kullanıcı geliştirme yaklaşımları; yazılım mühendisi olmayan kullanıcıların, yazılım çıktılarını kendilerinin oluşturabileceği, değiştirebileceği ve uyarlayabileceği teknolojiler ve yöntemlere odaklanmaktadır. Bu amaçla; birleştirme teknolojileri, örnek ile programlama, görsel programlama, model tabanlı yaklaşımlar, servis yönelimli mimariler ve otomatik kod üretimi kullanılabilmektedir. Bu çalışmada, görsel programlama ile birlikte otomatik kod üretimi tercih edilmiş ve bir son kullanıcı geliştirme aracı gerçeklenmiştir. Seçilen uygulama alanı olan rezervasyon sistemleri için otomatik kod üretimi sağlanmıştır. Bu sürecin temel faydası; geliştirme zamanın kısaltılması, son kullanıcıların geliştirmesini yapabilmesi ve sistem tasarımı ile üretilen uygulama arasındaki farklılıkların en aza indirgenerek, tutarlılığın sağlanmasıdır. Farklı rezervasyon sistemleri için kullanılması amaçlanan bu sistem, kullanıcıların iş modellerini görsel ara yüzler ile tanımlamalarına ve bu tasarımdan web tabanlı uygulamanın çalışması için gerekli tüm dosyaların üretilmesine imkan tanımaktadır. Son kullanıcılarda web teknolojilerine ait herhangi bir geliştirme tecrübesi aranmayıp, uygulamanın çalışması için gerekli ara yüzler, stil ve tasarım dosyaları, veritabanının oluşturulması otomatik kod üretimi ile gerçekleştirilmiştir. Bu çalışmada; son kullanıcı geliştirme için görsel programlama ve otomatik kod üretimi tekniklerinin, alana özel uygulanması gerektiği, jenerik yaklaşımların etkin olmayacağı sonucuna varılmıştır. Sentez Tabanlı Mimari Tasarım Yaklaşımının Essence Çerçevesiyle Modellenmesi Görkem Giray, Bedir Tekinerdogan, Eray Tüzün Yazılım mimarisi tasarımı, yazılım geliştirme sürecindeki çok önemli ve zor bir aşamadır. Paydaşların çelişen amaçlarını yönetmek ve ilgili gereksinimlerden mimari soyutlamalar türetmek önemlidir. Ayrıca mevcut çözüm alanı bilgisi üzerinde temellendirilmiş semantik açıdan zengin artefaktlar üretmek dikkat edilmesi gereken bir husustur. Elde edilen mimari artefaktlar yazılım geliştirme sürecinin geri kalanına kılavuzluk eder ve planlamayı kolaylaştırır. Yakın dönemde yazılım geliştirme yöntemlerinin ve etkinliklerinin eşlenebileceği yazılım mühendisliğine soyut ve genel bir bakış sunan Essence çerçevesi önerilmiştir. Bu çalışmada, sentez tabanlı yazılım mimarisi tasarımı etkinliklerinin Essence çerçevesiyle eşleştirilmesi hakkında bilgi verilmektedir. Böylece, yazılım mühendisliğinin soyut ve genel bir modeli kullanılarak bu etkinliklerin açıklanması amaçlanmıştır. Ayrıca, sentez tabanlı yazılım mimarisi tasarım etkinlikleri için durum tabanlı etkinlik izleme düzeneği önerilmiştir. Essence çerçevesi ve sentez tabanlı mimari tasarımı yaklaşımı hakkında elde edilen deneyim paylaşılmaktadır. 5