Bu bölümde, Simulink’in ne olduğunu, akademik ve endüstriyel dünyada neden bu kadar yaygın biçimde benimsenmiş olduğunu açıklayacağız. Bu bölümü okuduktan sonra, C dilinin yazılım geliştirme döngüsündeki sınırlarını ve Simulink’in bu sınırları çözmeye nasıl yardımcı olduğunu öğreneceksiniz. Simulink, en iyi grafiksel bir programlama aracı olarak tanımlanır. Bu iki kelimeyi biraz ayrıntılandıralım.
Simulink Nedir?
Programlama
Dijital çağın başlangıcından bu yana, bilgisayara ne yapacağını söylemek büyük bir sorun oldu. İnsanlar, çok ayrıntılı kurallar, tanımlar ve istisnalarla bir dizi sözleşme (diller) aracılığıyla iletişim kurarlar. Yeni diller, insan dünyasında kolaylıkla doğmaz. Peki ya bilgisayarlarda durum nasıl? Boolean mantığı kullanarak 0 ve 1 sayısı akışıyla çalışırlar; biz buna ikili sistemde diyoruz.
Bilgisayar dili hiçbir yerde insan dili kadar karmaşık değildir, ancak bilgisayarların mantıksal sorunları çözmede ne kadar hızlı olduklarını tahmin bile edemezsiniz. Buradaki zorluk, bilgisayara belirli bir sorunun nasıl çözüleceğini anlatmaktır ve bu bir programlama sanatıdır! Günümüzde, en azından birini bilen, birden fazla insanın da yaygın olarak kullandığı pek çok programlama dili var.
Karmaşık, gerçek zamanlı, güvenlik açısından kritik bir uygulamayı yazmak ve hata ayıklama süreci basit bir görev değildir. Büyük otomotiv, havacılık sektörlerinde, yanlış yönlendirilmiş bir yazılım kesinlikle istenmeyecek bir durumdur. Örnek olarak, 327.6 milyon dolarlık NASA Mars Climate Orbiter uzay sondası inişten önce parçalanmıştı. Çünkü zemin kontrol yazılımı, uluslararası metrik sistem yerine imparatorluk metrik (ingiliz birimi) sistemini kullanmıştı. Komik gelebilir, ancak otomobil üreticiniz fren kontrol yazılımında böyle bir hata yaparsa ne olacağını hayal edin?
Saygıdeğer C dilini kullanmanın problemi – ki hala gömülü sistemler için tercih edilen bir dildir – sistem karmaşıklığını ölçeklendirmenin kolay olmamasıdır. Eski iyi araçlar (kod düzenleyicileri, derleyiciler ve hata ayıklayıcılar) yazılım gereksinimlerini yükselterek tüm geliştirme zaman sabitini korumak için artık etkili değildir.
Grafiksel
Moskova’da bir şişe su içmeye istekli bir İtalyan adam düşünün. Muhtemelen bir kelime Rusça bilmediği ya da Rus dükkan sahibinin iki kelimeden daha fazla İtalyanca bilmediği (bella ve ciao) düşünelim.
İtalyan adamımız muhtemelen parmağıyla bir şişe suyu işaret edip içme hareketini taklit ederdi. Rus dükkan sahibi, talebi kabul etmek için gülümseyebilir ve sonra ödemek için fiyatı bildirmek üzere parmaklarını (ya da kalem ve kağıt) kullanırdı. Ne olmuş yani? Görsel iletişim var burada! İşte bizim de anlatmaya çalıştığımız olay tam olarak da bu aslında. Tüm dillerin en basiti görsel dillerdir.
Bir programcı, yöneticisine bir kodun nasıl işlediğini açıklamaya çalışırken, şu basitleştirilmiş örnekteki bloğu kağıda çizmeye başlar:
Mantığın soldan sağa doğru aktığını (oklar itibariyle) anlamak hiçte zor değil. Çıktımız ise iki girdinin (1 ve 2 sayılarının) çarpımı olacağını görüyoruz. Hiç programlama bilmiyorsanız bile bu diyagrama basit bir bakıştan sonra başka hiçbir şey olmadan, bilgisayarın ne yapması için programlandığını anlayabilirsiniz.
Uyarı gerektirmeyen, standartlara uygun bir C kodu ile karşılaştıralım:
#include #include int mul(int, int); int main() { int u1, u2, y1; printf("Enter two numbers\n"); scanf("%d%d", &u1, &u2); y1 = mul(u1, u2); printf("Here's your result,the operation done is a shining 'x'!\n%d\n", y1); return EXIT_SUCCESS; } int mul(int input1, int input2) { return input1*input2; }
Her iki durumda da, kodun görsel bir tasvirinin anlaşılması ve sürdürülmesi daha kolaydır.
Şimdi, sıkı bir stil politikası olmaksızın birkaç kişi tarafından düzenlenen, belirli bir işlemci mimarisi için son derece optimize edilmiş, programcıların çok karşılaştığı bir XXX yazılımı yapıyor olun; bu yazılımınız ise zayıf olarak yorumlanmış, uzun (birkaç yüz satır), kompleks (on onlarca kaynak dosyası) olduğunu hayal edin. Ne kadar yetenekli olursanız olun, kodun ne yaptığını anlamak için büyük zaman harcayacaksınız. Programlamanızı tanımayan bir meslektaşınız için bu kodun açıklanması söz konusu değil.
İşte görsel programlama bunu kurtarmak geliyor! Bir grafik programlama aracı, iş yerinizde sizi sayısız çalışma saatlerinden kurtarabilir. Kodu açıklamak, hata içermeyen bir kod kadar önem taşır.
İşte Simulink böyle bir araçtır. Bir sonraki makalemizde simulink kullanarak çözebileceğimiz problemleri öğreneceğiz: Simulink ile Çözülen Problemler