Otomotiv sektöründe gömülü sistemler için yazılım geliştirme web, masaüstü ya da mobil uygulamalar gibi diğer yazılım geliştirme alanlarından oldukça farklıdır. Otomotiv sektörüne yeni adım atmış bir yazılım mühendisi genellikle büyük bir şok ile karşılaşır.
Terimler başkadır, kullanılan derleyici başkadır, kurallar başkadır ve her şeyden de önemlisi hiç kimse bilgi paylaşmaz. Var olan bilgi oldukça genel ve yüzlerce sayfalık (binlerce de olabilir), oldukça yüzeysel, oldukça genel tanımların yapıldığı şartname kitapçıklarında ya da konuyla ilgili piyasada bulabileceğiniz, pratik hayatta pek bir karşılığı olmayan bilgiler kitaplarda yazılıdır.
Bunun yanı sıra pratik olarak kullanılan bilgi, bilgi güvenliği ya da çalışanların bilgiyi kendine saklama gibi dürtülerinden ötürü çoğunlukla hiçbir yerde yazılı olarak bulunmaz.
Büyük bir kaosun ortasında, yeni başlayan bir yazılım mühendisini korkunç zorlu, iğneyle kazarak bir şeyleri öğrenebildiği yeni bir süreç bekler. Bu süreci olabildiğince kısaltmak adına, yıllarını Almanya’da, otomotiv sektöründe gömülü sistemler geliştirerek geçirmiş, AUTOSAR konusunda eğitimler veren bir mühendis olarak, AUTOSAR konusunda Türkçe neredeyse hiçbir yerde bulamayacağınız konulara değineceğim. (ki AUTOSAR hakkında internette ve yazılı medyada Türkçe neredeyse hiçbir şey yok. O anlı şanlı otomotiv mühendislerimiz ne yapıyor acaba?)
Günümüzde üretilen her otomobilin yüzde 80‘i elektronik sistemlerden oluşmaktadır. Her bir otomobilde ortalama 70 ile 90 arasında EKÜ* vardır. AUTOSAR ise bu EKÜ’ler için geliştirilen yazılımda çok önemli bir rol oynar.
*EKÜ: Elektronik Kontrol Ünitesi
Aynı ya da benzer yazılım birleşenlerinin tekrar tekrar geliştirilmesini engellemek, bu birleşenleri belli kurallar altında standartlaşmak amacıyla bir araya gelmiş bir konsorsiyumu. Bu konsorsiyum farklı ortaklık çerçevesinde gelişmiştir. Konsorsiyum BMW, Daimler, VW, Ford, GM, Toyota, PSA, Continental ve Bosch gibi büyük otomotiv devleri tarafından 2003 yılında kurulmuştur.
Otomobil üreticileri, yan sanayi, yazılım ve uygulama üreticileri tek çatı altında toplanmıştır.
1) Donanım ile güçlü bir iletişime, etkileşime sahiptir. (Sensör ve eyleyiciler gibi)
2) CAN*, LIN*, Flexray, Ethernet gibi araç ağlarına bağlantı
3) Tipik olarak 16 Bit ya da 32 Bit olan mikrodenetleyiciye sahip
4) Gerçek zamanlı sistem
5) İç ve dış flash hafızadan program yürütmesi
CAN: Controller Area Network
LIN: Local Interconnect Network
Autosar, gömülü sistem yazılımını 5 ana katmana ayırır. İlk bakışta OSI Modeli‘ni andıran, mantık olarak oldukça benzeyen fakat kendine has yapısı olan bir katman modeli görmekteyiz. Her katmanda belli yazılım modülleri diğer katmanlardan soyutlanır ve katmanlar birbirleri arasında AUTOSAR arayüzleri üzerinden iletişime geçer.
Mikrodenetleyici Soyutlama Katmanı’nın sürücülerine arayüzdür. Arayüz kısaca donanımdan kaç adet ya da donanımın ne yapıda olduğundan bağımsız bir şekilde donanım fonksiyonlarına erişimi sağlar. Arayüz, verinin içeriğini değiştirmez. Örnek: Kaç tane CAN denetleyicisi olduğu bilgisinden bağımsız CAN iletişimine bu arayüzle erişebilir.
Bunun haricinde bu katman enjeksiyon kontrolü, elektrik vana kontrolü gibi AUTOSAR’da standartlaşmamış, harici cihazlar için sürücüler içerir.
Görevi üst katmanları EKÜ’den bağımsız yapmak.
Uygulama ve diğer temel yazılımlar için gerekli temel yazılım modülleri içeren katmandır. Örnek: İşletim sistemi, ağ iletişimi, hafıza yönetimi (NvRAM), tanı servisleri (Diagnostics, UDS) ve hata tanımı, Watchdog, vb.
Görevi, üst katmanları EKÜ ve Mikrodenetleyiciden bağımsız yapmak.
AUTOSAR’ın kalbi diyebileceğimiz katmandır.
Bir EKÜ’nün ya da bir otomobilin uygulama yazılımı birbirine bağlı birden fazla yazılım birleşeninden oluşan bir sistem olarak tasarlanabilir.
AUTOSAR Katmanlı yazılım mimarisiyle bir otomobilde ya da bir EKÜ’de kullanılacak yazılım, donanımdan (EKÜ’den) bağımsız bir şekilde geliştirilebilir ve başka projelere aktarılabilir. Bunun yanında iletişim, hata tanımlama gibi alt yapısal ve tüm otomotiv üreticilerinin ortak kullandığı yazılımlar, standart yazılım pakedi olarak yazılım üreticileri tarafından üretilir, otomotiv üreticileri ve yan sanayi tedarikçileri ise sadece bu yazılım paketlerini belirli masaüstü programlarını kullanarak yapılandırır. (Configuration)
M.Eng.Can Acar
Mechatnom Mühendislik Müdürü