SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
XCD	
  VE YAZILIM Mİ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 sisteminfonksiyonlarını,	
  bileşenler arası iletişimi,	
  yapısal
detaylarını ve dinamiklerini tanımlar.
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.
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.	
  
• 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.
XCD ve Yazılım Mimarisi Tasarlama
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.
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.
GENEL COMPONENT	
  YAPISI
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…)
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 birlikte
tasarlayabiliriz.
• Component	
  ile Connector	
  ayrışımı açısından Wright	
  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_Desig
ns_with_XCD
• http://openaccess.city.ac.uk/2886/1/facs12-­‐xcd.pdf
Mustafa	
  UYSAL
mustafa.uysal@ogr.kemerburgaz.edu.tr

Mais conteúdo relacionado

Semelhante a XCD ve Yazılım Mimarisi Tasarlama

sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007Efe Eyüboğlu
 
FPGA ve VHDL Ders - 3
FPGA ve VHDL Ders - 3FPGA ve VHDL Ders - 3
FPGA ve VHDL Ders - 3SerkanDereli2
 
Bilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCABilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCAFeza BUZLUCA
 
C sharp-proje
C sharp-projeC sharp-proje
C sharp-projesersld30
 
C sharp-2013
C sharp-2013C sharp-2013
C sharp-2013sersld30
 
C sharp-kitabi
C sharp-kitabiC sharp-kitabi
C sharp-kitabisersld30
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama girişkarmuhtam
 
C sharp-kitaplari
C sharp-kitaplariC sharp-kitaplari
C sharp-kitaplarisersld30
 
C sharp-tasarimi
C sharp-tasarimiC sharp-tasarimi
C sharp-tasarimisersld30
 
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...Tolga Kaprol
 
C sharp-dokumani
C sharp-dokumaniC sharp-dokumani
C sharp-dokumanisersld30
 
C kitaplari
C kitaplariC kitaplari
C kitaplarisersld30
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-iemre61
 
C konferansi
C konferansiC konferansi
C konferansisersld30
 
C sharp-2017
C sharp-2017C sharp-2017
C sharp-2017sersld30
 
Development of Dynamic Engine and Graphical User Interface Software for Railw...
Development of Dynamic Engine and Graphical User Interface Software for Railw...Development of Dynamic Engine and Graphical User Interface Software for Railw...
Development of Dynamic Engine and Graphical User Interface Software for Railw...Mahmut Bulut
 
C sharp-projeleri
C sharp-projeleriC sharp-projeleri
C sharp-projelerisersld30
 
Mikroprogramlanmis kontrol
Mikroprogramlanmis kontrolMikroprogramlanmis kontrol
Mikroprogramlanmis kontrolAykut Gündoğdu
 

Semelhante a XCD ve Yazılım Mimarisi Tasarlama (20)

sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007
 
FPGA ve VHDL Ders - 3
FPGA ve VHDL Ders - 3FPGA ve VHDL Ders - 3
FPGA ve VHDL Ders - 3
 
Bilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCABilgisayar Mimarisi 01, Feza BUZLUCA
Bilgisayar Mimarisi 01, Feza BUZLUCA
 
C sharp-proje
C sharp-projeC sharp-proje
C sharp-proje
 
C sharp-2013
C sharp-2013C sharp-2013
C sharp-2013
 
C sharp-kitabi
C sharp-kitabiC sharp-kitabi
C sharp-kitabi
 
1. nesneye dayalı programlama giriş
1. nesneye dayalı programlama   giriş1. nesneye dayalı programlama   giriş
1. nesneye dayalı programlama giriş
 
C sharp-kitaplari
C sharp-kitaplariC sharp-kitaplari
C sharp-kitaplari
 
C sharp-tasarimi
C sharp-tasarimiC sharp-tasarimi
C sharp-tasarimi
 
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
 
C sharp-dokumani
C sharp-dokumaniC sharp-dokumani
C sharp-dokumani
 
C kitaplari
C kitaplariC kitaplari
C kitaplari
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-i
 
C konferansi
C konferansiC konferansi
C konferansi
 
C sharp-2017
C sharp-2017C sharp-2017
C sharp-2017
 
Development of Dynamic Engine and Graphical User Interface Software for Railw...
Development of Dynamic Engine and Graphical User Interface Software for Railw...Development of Dynamic Engine and Graphical User Interface Software for Railw...
Development of Dynamic Engine and Graphical User Interface Software for Railw...
 
Rust'a Giriş v1
Rust'a Giriş v1Rust'a Giriş v1
Rust'a Giriş v1
 
C sharp-projeleri
C sharp-projeleriC sharp-projeleri
C sharp-projeleri
 
Mikroprogramlanmis kontrol
Mikroprogramlanmis kontrolMikroprogramlanmis kontrol
Mikroprogramlanmis kontrol
 
delphi
delphidelphi
delphi
 

XCD ve Yazılım Mimarisi Tasarlama

  • 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…)
  • 14. NÜKLEER TESİS XCD  ÖRNEĞİ
  • 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.
  • 18. • Versiyon takibi • Açık kaynağın gücü • Gelişmiş dökümantasyon
  • 20. 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_Desig ns_with_XCD • http://openaccess.city.ac.uk/2886/1/facs12-­‐xcd.pdf Mustafa  UYSAL mustafa.uysal@ogr.kemerburgaz.edu.tr