Professional Documents
Culture Documents
Aselsan Gömülü Sistem Yaklaşımı
Aselsan Gömülü Sistem Yaklaşımı
ASELSAN Yaklaşımı
Evrim Kahraman1 Vedat Ünal2
1,2
ASELSAN A.Ş Mikrodalga ve Sistem Teknolojileri Grubu
1 2
e-posta: ekahraman@aselsan.com.tr e-posta: unal@aselsan.com.tr
Yazılım geliştirme altyapısına ilişkin gereksinimler de bu Belirlenen mimari doğrultusunda, yazılım tasarımının
aşamada değerlendirilmelidir. Gömülü yazılımlarda UML ile gerçekleştirilmesi sağlanabilmektedir. Mimaride
kaynak kısıtları nedeni ile yazılım geliştirme ve derleme yer alan öğeler ve ilişkileri “Nesne Model Diyagram”’ları
hedef platformda yapılamamakta, yazılım geliştirme (Object Model Diagram) ile, öğeler arası etkileşimler
altyapısının bulunabileceği yüksek kabiliyetli ve geniş “Ardıl Etkileşim Diyagram”’ları (Sequence Diagram) ile,
kaynaklara sahip bir başka bilgisayar üzerinde öğelerin iç işleyişi ise “İşleyiş Diyagram”’ları (State
gerçekleştirilmektedir. Böylece oluşturulan çalıştırılabilir Diagram) ile modellenebilmektedir. [4]
yazılım, kaynakları kısıtlı hedef platforma
yüklenebilmektedir. Yazılımın hedef platforma Katmanlar arası soyutlamalar sayesinde değişen/eklenen
yüklenebilmesini sağlayacak altyapının önceden birim ya da donanımlara uyumluluk hızlıca
değerlendirilmiş olması, gerekli bağlantıların sağlanabilmektedir. ASELSAN Silah Sistemleri projeleri
(ethernet/seri kanal gibi) sistem tasarımında yer almış kapsamında katmanlı mimaride uygulanan birim
olması gerekmektedir. Hedef platform ile bağlantıyı soyutlama ve donanım soyutlama örnekleri sırası ile
sağlayan bu altyapılar, yazılım geliştirme aşamasında, Şekil-2 ve Şekil-3’te görülebilmektedir.
yazılımın test edilmesi ve hataların çözümlenmesi
amacıyla da kullanılacak arayüzler olmaktadır.
• Asenkron olarak veri gelebilen dış arayüzlere
FONKSİYON
KATMANI ELEKTRO-OPTİK yönelik tüm bileşenler “Görev” olarak
FONKSİYONLAR belirlenir.
• Kendi içinde işleyişe sahip olan nesneler
Yönlü ilişki
“Görev” olarak belirlenir.
BİRİM
SOYUT KAMERA
• Sistem görevleri arasında daha önemli olanlar
KATMANI
ARAYÜZÜ yüksek öncelikli olarak atanır. Örneğin bir silah
sistemi için ateşleme ve stabilizasyona ilişkin
kalıtım kalıtım kısımlar yüksek öncelikli olarak belirlenirken,
navigasyon yeteneğine ilişkin kısımların
TV KAMERA TERMAL KAMERA önceliği düşük olarak atanabilir.
ARAYÜZÜ ARAYÜZÜ
• Önceliklendirme – çalışma süresi ilişkisi için
eşit önceliklilerin eşit zamana sahip olacağı
mekanizma seçilir.
Şekil 2. Fonksiyon Katmanı - Birim Katmanı arası • Periyodik işler için periyotta kabul edilebilir
soyutlama sapmalar bilinmeli ve tasarım ona göre
şekillendirilmelidir.
• Hata tespit için eklenen işlevler sistemin
BİRİM
KATMANI TERMAL KAMERA ARAYÜZÜ yeteneklerini bozmayacak şekilde düşük olarak
önceliklendirilir.
Yönlü ilişki
UML standardında gerçek zamanlılığa ilişkin tanımlar
SOYUT SERİ KANAL
içerilmektedir. (UML-RT). UML-RT tabanlı bir yazılım
DONANIM
KATMANI
ARAYÜZÜ geliştirme aracı kullanıldığında, “Görev”’lerin ve
“Öncelik”’lerin belirlenmesi model üzerinde
kalıtım kalıtım
yapılabilmekte, otomatik kod üretme yeteneği ile
WİNDOWS İŞLETİM VXWORKS İŞLETİM
belirlenen özelliklerde gerçek zamanlı çalışacak
SİSTEMİ SİSTEMİ yazılımın üretilmesi sağlanabilmektedir. [8]
SERİ KANAL ARAYÜZÜ SERİ KANAL ARAYÜZÜ
• Gerçek zamanlı gömülü sistemlerin, sistem • Gerçek zamanlılık ve donanım kaynak kısıtları
tasarımı aşamasında, gerçek zaman performansı kodlama aşamasında da dikkate alınmıştır.
gözönünde bulundurularak, donanım – yazılım Örneğin, programlama dilinin sunduğu yüksek
görev paylaşımı ve işlemciler arası yük seviye kütüphanelerin içerisindeki bazı hazır
dağılımı analiz edilerek doğru kararların fonksiyonlar gerçek zamanlılık performansını
alınması sağlanmış; bu sayede yazılım olumsuz yönde etkilemesi nedeniyle
geliştirme ve entegrasyon çalışmaları sorunsuz kullanılmamıştır.
halledilebilmiştir.
• Hata tespitinin oldukça zor olduğu gerçek
• Standart bir veri yolu üzerinden birbirine zamanlı gömülü sistemlerde, yazılımın sisteme
bağlanmış donanımlar ile çalışılarak hem hazır entegrasyonu öncesinde yapılan “Beyaz kutu”
ürünler kullanılabilmiş hem de ileri aşamalar ve “Kara kutu” testleri sayesinde entegrasyon
için (özellikle ürün desteği aşaması) çözüm sırasında çıkabilecek problemlerin mümkün
seçenekleri oluşturulmuştur. olduğunca erken tespit edilmesi sağlanmış ve
doğruluğu yüksek yazılımlar elde edilmiştir.
• Gömülü yazılımlarda geliştirme faaliyetleri ayrı
bir platformda gerçekleştirildiğinden, yazılımın 5. Kaynakça
hedef platforma yüklenebilmesini sağlayacak [1] “Embedded System” Wikipedia,
altyapı sistem tasarımı aşamasında belirlenerek, http://www.wikipedia.org/wiki/Embedded_system
gerekli bağlantıların sistem tasarımında yer
alması sağlanmıştır. Bu sayede yazılım [2] “Real Time System” Wikipedia,
geliştirme ve ürün desteği aşamalarında http://www.wikipedia.org/wiki/Real-time_systems
sorunsuz bir altyapı hazır olabilmiştir.
[3] http://www.uml.org/
• Gerçek zamanlı gömülü yazılımların, gerçek
zamanlılık ve gelişmiş donanım erişim [4] Martin Fowler, Kendall Scott, “UML Distilled-
yetenekleri gibi temel ihtiyaçları karşılayabilen Applying The Standard Object Modeling
işletim sistemleri üzerinde geliştirilmesi Language”, Addison-Wesley, 1997
yazılım tasarım sürecini kolaylaştırmıştır.
[5] F. Buschmann, R. Meunier, H. Rohnert, P.
Sommerlad, M. Stal, “Pattern-Oriented Software
Architecture, Volume 1: A System Of Patterns” ,
John Wiley and Sons, 2000
6. Kısaltmalar
BSP : Board Support Package
COTS : Commercial Of The Shelf
FPGA : Field-Programmable Gate Array
PCI : Peripheral Component Interconnect
STL : Standard Template Library
UML : Unified Modeling Language
UML- : Unified Modeling Language Real Time
RT
VME : Versa Module Eurocard