1. XCD
VE YAZILIM MİMARİSİ
TASARLAMA
MUSTAFA
UYSAL
İSTANBUL
KEMERBURGAZ
ÜNİVERSİTESİ
mustafa.uysal@ogr.kemerburgaz.edu.tr
2. ADL
(
MİMARİ
TASARLAMA
DİLLERİ)
• Karmaşık yazılım sistemlerinin tasarlanmasında kullanılır
• Bir sisteminfonksiyonlarını,
bileşenler arası iletişimi,
yapısal
detaylarını ve dinamiklerini tanımlar.
3. MEVCUT DİLLER VE
PROBLEMLERİ
• ADL
akademik bir dil olduğu için uygulayıcılar genellikle başka
modelleme dillerini kullanıyor.
• Mevcut ADL’leri öğrenmesi zor.
• Mevcut diller,
performans ve güvenilirlik analizi desteği
sağlamıyor.
• Sektörde genellikle kullanılmıyor.
Pratikte başarılı bulunmuyor.
4. XCD
• Yeni bir ADL’dir.
• Mevcut dillerin eksikliklerinigidermek için geliştiriliyor.
• Öncelikli olarak mimarinin güvenliğinive ölümcül hataları denetler.
• Fonksiyonelolmayan özellikleri destekliyor.
5. • 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 DbC
kullanılıyor.
7. XCD
ÇEVİRİ
ARACI
• XCD
tanımlamalari ProMeLa diline çevrilebilir.
Çeviri
aşamasında şu adımlar uygulanır:
1. Syntax
kontrolü yapar
2. Mimarinin iyi tanımlanıp tanımlanmadığını kontrol eder
3. Tasarlanan mimariyi ProMeLa modelinin içine yerleştirir.
8. COMPONENT
TASARIMI
• Fonksiyonelbirimleri 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.
10. CONNECTOR
TASARIMI
• Bileşenlerin bir biriyle iletişime geçebilecekleri bağımsız protokoller
sunar.
• 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ğini
tanımlar (senkronize,
buffer
vs…)
15. ÖZETLE
• XCD
ile kompleks sistemleri,
fonksiyonel olmayan özellikleri ile birlikte
tasarlayabiliriz.
• Component
ile Connector
ayrışımı açısından Wright
ADL
‘e
benzer.
• ProMeLa modeli üretebilir.
16. ÇALIŞMALAR
• GUI
editör
• Online
editör
• Desteklenen kanal sayısının artırılması
• Dil kapsamının genişletilmesi
17. 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.