Post on 22-Jan-2018
XCD VE YAZILIMMİMARİSİTASARLAMA
MUSTAFA UYSAL
İSTANBUL KEMERBURGAZ ÜNİVERSİTESİ
mustafa.uysal@ogr.kemerburgaz.edu.tr
ADL ( MİMARİ TASARLAMA DİLLERİ)
• Karmaşık yazılım sistemlerinin tasarlanmasında kullanılır• Bir sistemin fonksiyonlarını, bileşenler arası iletişimi, yapısaldetaylarını ve dinamiklerini tanımlar.
MEVCUT DİLLER VE PROBLEMLERİ
• ADL akademik bir dil olduğu için uygulayıcılar genellikle başkamodelleme dillerini kullanıyor.
• Mevcut ADL’leri öğrenmesi zor.• Mevcut diller, performans ve güvenilirlik analizi desteğisağlamıyor.
• Sektörde genellikle kullanılmıyor. Pratikte başarılı bulunmuyor.
XCD
• Yeni bir ADL’dir.• Mevcut dillerin eksikliklerini gidermek için geliştiriliyor.• Öncelikli olarak mimarinin güvenliğini ve ölümcül hataları denetler.• Fonksiyonel olmayan özellikleri destekliyor.
• Hızlı öğrenilebilmesi için Design-‐by-‐Contract(DbC) yaklaşımınıbenimsiyor.
• DbC sayesinde dil bağımlılığı ortadan kalkıyor.• TDD yapılan projelerde test yöntemlerini geliştirmekte DbCkullanılıyor.
XCD ÇEVİRİ ARACI
• XCD tanımlamalari ProMeLa diline çevrilebilir. Çeviriaşamasında şu adımlar uygulanır:
1. Syntax kontrolü yapar2. Mimarinin iyi tanımlanıp tanımlanmadığını kontrol eder3. Tasarlanan mimariyi ProMeLa modelinin içine yerleştirir.
COMPONENT TASARIMI
• Fonksiyonel birimleri tanımlamayı sağlar• Data ve Port’lardan oluşur.• Portlar dışarısıyla etkileşim noktalarıdır. Tanımlanan tip ve boyuta göre hareket ederler.
GENEL COMPONENT YAPISI
CONNECTOR TASARIMI
• Bileşenlerin bir biriyle iletişime geçebilecekleri bağımsız protokollersunar.
• Hangi bileşenle nasıl iletişim kurulacağını belirler.• Connector tipi, roller ve kanallarla tanımlanır.• Her rol, connector üzerinden bileşen etkileşimi sunar.• Roller data ve port değişkenleriyle tanımlanır.• Kanallar port değişkenleri ile bağlantının nasıl gerçekleşeceğinitanımlar (senkronize, buffer vs…)
GENEL CONNECTOR YAPISI
NÜKLEER SANTRAL SİSTEMİ
MERKEZİ MİMARİ
NÜKLEER TESİS XCD ÖRNEĞİ
ÖZETLE
• XCD ile kompleks sistemleri, fonksiyonel olmayan özellikleri ile birliktetasarlayabiliriz.
• Component ile Connector ayrışımı açısındanWright ADL ‘e benzer.• ProMeLa modeli üretebilir.
ÇALIŞMALAR
• GUI editör• Online editör• Desteklenen kanal sayısının artırılması• Dil kapsamının genişletilmesi
ONLİNE EDİTÖR
• Görsel olarak, yazılım mimarisi tasarlamayı sağlayacak.• UML kullanıcılarına uygun olacak. • Pratiklik sağlayacak. (Kurulum gerekmiyor)• Web tabanlı, sürükle bırak mantığında çalışacak.
• Versiyon takibi• Açık kaynağın gücü• Gelişmiş dökümantasyon
SORULAR?
TEŞEKKÜRLER
• Kaynaklar;• https://sites.google.com/site/ozkayamert1/home/xcd
• http://openaccess.city.ac.uk/4288/1/ccis-‐extended-‐icsoft-‐libre.pdf
• https://www.academia.edu/3277429/Highly_Analysable_Reusable_and_Realisable_Architectural_Designs_with_XCD
• http://openaccess.city.ac.uk/2886/1/facs12-‐xcd.pdf
Mustafa UYSALmustafa.uysal@ogr.kemerburgaz.edu.tr