xcd ve yazılım mimarisi tasarlama

20
XCD VE YAZILIM MİMARİSİ TASARLAMA MUSTAFA UYSAL İSTANBUL KEMERBURGAZÜNİVERSİTESİ [email protected]

Upload: mustafa-uysal

Post on 22-Jan-2018

471 views

Category:

Science


6 download

TRANSCRIPT

Page 1: XCD ve Yazılım Mimarisi Tasarlama

XCD  VE YAZILIMMİMARİSİTASARLAMA

MUSTAFA  UYSAL

İSTANBUL  KEMERBURGAZ  ÜNİVERSİTESİ

[email protected]

Page 2: XCD ve Yazılım Mimarisi Tasarlama

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.

Page 3: XCD ve Yazılım Mimarisi Tasarlama

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.

Page 4: XCD ve Yazılım Mimarisi Tasarlama

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.  

Page 5: XCD ve Yazılım Mimarisi Tasarlama

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

Page 6: XCD ve Yazılım Mimarisi Tasarlama
Page 7: XCD ve Yazılım Mimarisi Tasarlama

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.

Page 8: XCD ve Yazılım Mimarisi Tasarlama

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.

Page 9: XCD ve Yazılım Mimarisi Tasarlama

GENEL COMPONENT  YAPISI

Page 10: XCD ve Yazılım Mimarisi Tasarlama

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…)

Page 11: XCD ve Yazılım Mimarisi Tasarlama

GENEL CONNECTOR   YAPISI

Page 12: XCD ve Yazılım Mimarisi Tasarlama

NÜKLEER SANTRAL SİSTEMİ

Page 13: XCD ve Yazılım Mimarisi Tasarlama

MERKEZİ MİMARİ

Page 14: XCD ve Yazılım Mimarisi Tasarlama

NÜKLEER TESİS XCD  ÖRNEĞİ

Page 15: XCD ve Yazılım Mimarisi Tasarlama

ÖZETLE

• XCD  ile kompleks sistemleri,  fonksiyonel olmayan özellikleri ile birliktetasarlayabiliriz.

• Component  ile Connector  ayrışımı açısındanWright  ADL  ‘e  benzer.• ProMeLa modeli üretebilir.

Page 16: XCD ve Yazılım Mimarisi Tasarlama

ÇALIŞMALAR

• GUI  editör• Online  editör• Desteklenen kanal sayısının artırılması• Dil kapsamının genişletilmesi

Page 17: XCD ve Yazılım Mimarisi Tasarlama

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.

Page 18: XCD ve Yazılım Mimarisi Tasarlama

• Versiyon takibi• Açık kaynağın gücü• Gelişmiş dökümantasyon

Page 19: XCD ve Yazılım Mimarisi Tasarlama

SORULAR?

Page 20: XCD ve Yazılım Mimarisi Tasarlama

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  [email protected]