Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması
-
Upload
orcun-dayibas -
Category
Technology
-
view
496 -
download
1
description
Transcript of Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması
![Page 1: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/1.jpg)
Tasnif Dışı
Yetenek Modellerinin Gerçekleştirimi Üzerine Bir
Durum ÇalışmasıOrçun Dayıbaş
Aselsan A.Ş. SST-MD-YMMAralık, 2012 / İzmir
![Page 2: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/2.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 2
İçerik
• Giriş• Değişkenlik Yönetimi• Yetenek Modelleri• Yapılandırma Modeli ve Yetenekler• Gerçekleştirim
– Bağımlılık İletimi– Mimari Bağımlılıklar– Tasarımdan Gerçekleştirime Yarı Otomatik Geçiş
• Sonuç• Soru-Cevap
![Page 3: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/3.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 3
Giriş
• Sorun– KULAÇ derinlik ölçüm sonarı (İskandil sistemi)
– Farklı platformlar için farklı GKA(Grafiksel Kullanıcı Arayüz) yazılımları• Denizaltı• Su üstü
• Çözüm– Uyarlanabilir iskandil GKA yazılımı– Sonar projeleri için yeniden kullanılabilir
yetenekler
![Page 4: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/4.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 4
Değişkenlik Yönetimi
• Yazılım ürün hattı (YÜH) bağlamında değişkenlik– Ürün hattı değişkenliği– Yazılım değişkenliği
• YÜH değişkenlik türleri [1]– Ortaklık: Tüm ürünlerde (aile üyesi) ortak olan
işlevler.– Değişkenlik: Bazı ürünlerde ortak olan ama
tüm ürünlerde ortak olmayan işlevler.– Ürüne özel: Sadece bir üründe olan, diğer
üründe olmayan işlevler.
![Page 5: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/5.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 5
Yetenek Modeli
• Yetenek modeli, yazılım ürün hattının kapsadığı tüm olası ürünleri, sıradüzensel (hierarchical) yetenekler ve bu özellikler arası ilişkiler ile ifade eder.
![Page 6: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/6.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 6
Yetenek Modeli
• Yetenek modellerinde en yaygın kullanılan ilişkiler [2]– Sıradüzensel olarak üst-alt özellikler arası
(parental)• Zorunlu (mandatory): Alt özellik gerekli.• Seçimsel (optional): Alt özellik seçimsel.• Veya (or): İlgili gruptaki alt özelliklerden bir veya bir
kaçı seçilebilir.• Alternatif (xor): İlgili gruptaki alt özelliklerinden yalnız
biri seçilebilir.– Sıradüzensel olmayan (cross-tree)
• A gerektirir B: A’nın seçilmesi B’nin de dolaylı olarak seçilmesini gerektirir.
• A dışlar B: A’nın seçilmesi B’nin dolaylı olarak seçilmemesini gerektirir.
![Page 7: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/7.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 7
Yetenek Modeli
• Yetenek modelleme ortamı: FeatureIDE
• Desteklediği geliştirme yöntemleri [3]– Ön işleyici kullanımı– Delta-yönelimli programlama– İlgi-yönelimli programlama– …
![Page 8: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/8.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 8
Yetenek Modeli
• Yetenek modelinin ilk sürümü (sezgisel)
![Page 9: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/9.jpg)
Tasnif Dışı
Yetenek Modeli
• TracWiki üstünde yapılan çalışma– Gereksinimlerin yeteneklere eşlenmesi– Yetenek bağımlılıklarının belirlenmesi– Yetenek gerçekleştirim önceliklerinin
belirlenmesi• Yetenek modelinin FeatureIDE’ye
aktarılması
O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 9
![Page 10: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/10.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 10
Yetenek Modeli
• Yetenek modelinin son sürümü
![Page 11: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/11.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 11
Yapılandırma Modeli
• Yapılandırma modeli, yetenek modeli üzerinde yapılmış bir seçimi ifade eder.– Sadece seçilmiş yetenekleri içerir; değişkenlik
içermez.– Aynı bilgi değişik biçemlerde ifade edilebilir.
![Page 12: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/12.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 12
Gerçekleştirim
• FeatureIDE’nin desteklediği gerçekleştirim yöntemleri– Olgun ve/veya yaygın olmayan çerçeveler.– Var olan gerçekleştirime etkisi yüksek
yöntemler.• Çözüm: Bağımlılık iletimi (DI - Dependency
Injection) tabanlı özgün çözüm.– FeatureIDE çıktısı yapılandırma.– Var olan bileşenlerin yetenek yapılandırmaları
ile uyumlandırılması (gerekirse).– Bağımlılık iletimi çerçevesi ile bağımlılıkların
yönetilmesi (Google Guice [4])
![Page 13: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/13.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 13
Gerçekleştirim
• Bağımlılık İletimi– Nesnelerin özelliklerinin dışarıdan bir birim
tarafından yaratılan olgular ile kurulması ilkesine dayanır [5].
– Sadece arayüz kullanımı (a) yaratım bağımlılığını ortadan kaldırmaz. Bağımlılık iletimi (b) ile bu bağımlılık işlevsel nesnelerin dışına taşınmış olur.
![Page 14: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/14.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 14
Gerçekleştirim
• Mimari Bileşenler ve Yetenekler
![Page 15: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/15.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 15
Büyük Resim
• Yetenekten gerçekleştirime geçiş
![Page 16: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/16.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 16
Sonuç ve Değerlendirme
• Tekrarlanabilir bir yetenek modeli gerçekleştirim yöntemi oluşturulmuştur.– Geliştirici yetenek modeli üzerinden
yapılandırmayı belirterek ürünü oluşturabilir.• Gereksinimlerin yeteneklere eşlenmesi ile
izlenebilirliği olan tüm varlıklar benzer bir yöntemle üretilebilir (Ör: Test yazılımları).
• İlerleyen dönemde bu çalışmanın genişletilerek devamı planlanmaktadır.– Yetenek gereksinimlerinin, model ile uyumlu
olarak ifade edilmesinde karşılaşılan zorlukları çözmek.
– Yetenek özellikleri (non-functional attributes).
![Page 17: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/17.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 17
Teşekkürler…
• Sorularınız?
odayibas
![Page 18: Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması](https://reader033.fdocuments.net/reader033/viewer/2022052622/558c8973d8b42a014b8b45e7/html5/thumbnails/18.jpg)
Tasnif Dışı O.Dayıbaş / UYMK’12 / 7-8 Aralık 2012 18
Kaynakça
[1] F. Van Der Linden, K. Schmid, E. Rommes, “Software Product Lines in Action”, Springer ( 2007).
[2] D. Benavides, A. R. Cortés, P. Trinidad, S. Segura, “A Survey on the Automated Analyses of Feature Models”, JISBD 2006: 367-376 (2006).
[3] T.Thüm, et al. “FeatureIDE: An Extensible Framework for Feature-Oriented Software Development” Science of Computer Programming (2012).
[4] Google Guice http://code.google.com/p/google-guice/[5] M. Fowler, "Inversion of Control Containers and the
Dependency Injection Pattern", http://martinfowler.com/articles/injection.html