Simulink ile Çözülen Problemler

11278
Simulink ile Çözülen Problemler

Bir önceki bölümde Simulink’in ne olduğu anlatmıştık. Bu bölümümüzde ise Simulink kullanarak çözebileceğimiz problem türlerinden bahsedeceğiz. Simulink, güvenlik açısından kritik ürünler üreten ya da yazılım geliştiren genellikle üç farklı aşamaya ayrılan büyük şirketlerin gerçek bir hayat kurtarıcısıdır:

  1. Tanımlama aşaması: Algoritma, şartname ekibi tarafından planlanır veya güncellenir ve yeni bir özellik yayımlanır.
  2. Geliştirme aşaması: Algoritma geliştirme ekibi tarafından uygulanır ve bir yazılım sürümü yapılır.
  3. Test aşaması: Yazılım hem simüle hem de gerçek donanım üzerinde kapsamlı bir test aşamasına girer; Ancak test sonuçları olumlu olduğunda test ekibi, yazılımın üretime hazır olduğunu belirtir.

Not: Bu bölümde anlatacaklarımız daha çok yazılım ile uğraşan kişilerin anlayabilceği düzeydedir.

Yazılım Tanımlama

Güvenlik konusu olan her yazılım projesinde, yazılım geliştirme ancak kararlı bir spesifikasyon çıktığında başlar. Tanımlamalar genellikle her bir cümlenin en düşük gereksinimi tanımladığı ve çok detaylı olması gereken metin belgeleri şeklinde yazılır.

Metin dokümanları olarak spesifikasyonlarla ilgili sorun, geliştirme aşamasına ve hatta test aşamasına kadar belirtilen mantığın doğruluğunu doğrulamak için herhangi bir yol bulunmamasıdır.

Belirtimin yanlış veya eksik olduğu bulgulanırsa, tanımlama ekibine bildirilmeli ve yeni bir sürüm sağlamalıdır. Geliştirme ekibi yeni sürümü geliştirmeli ve test ekibi yeni yazılımı test etmelidir. Tanımlama hatası, büyük bir imalat şirketinde meydana gelebilecek en kötü şeylerden biridir ve genellikle üretim gecikmelerine neden olurken, belirsiz yazılımlar istenmeyen davranışlara neden olabilir.

Simulink, okunabilirlikte hiçbir şey kaybetmeden, doğru ve eksiksiz tanımlamaları yazma amacına ulaşmak için kullanılabilir. Şu küçük gereksinimi göz önüne alalım:

Eğer InputSignal değeri 0’dan büyükse InputSignalFlag değişkeni set edilmelidir. 

Buna karşılık gelen Simulink bloğu aşağıdaki gibi olacaktır:

Simulink Örnek 2

Gerçek ödül nedir? İhtiyacın piyasaya sürülmeden önce test edilebilmesidir. Simulink ile, giriş sinyallerini oluşturmak ve çıktıyı aşağıdaki diyagramda gösterildiği gibi kaydetmek kolaydır:

Simulink Örnek 3

Görüntüyü Scope‘da izlerken, sonuç aşağıdaki diyagrama benzeyecektir:

Simulink Örnek 4

Fakat bekle! Metin gereksinimini inceleyelim; Bayrak çekilmesi gerektiğini söylüyor. InputSignalFlag değişkeninin InputSignal 0 olduğunda veya 0’dan küçük olduğunda sıfırlanıp ayarlanmayacağını belirsiz (belirtilmemiş).

Fakat bu fark, Simulink ile yapılan bir tanımlamada çok açıktır. Aşağıdakiler, InputSignalFlag değişkeninin yürütme çevriminin sonuna kadar ayarlanmış olarak kalmasını şart koşan blok diyagramıdır:

Simulink Örnek 5

Aşağıdaki diyagramda görüldüğü gibi simülasyon sonucunun önceki modelden çok farklı olduğunu görebiliriz:

Simulink Örnek 6

Metinsel ifadeler ve insan dilinin zenginliklerine rağmen bir Boolean mantığını tarif etmede sorun yaşaması gerçeğinden dolayı her zaman gri bir alan vardır. Üstelik piyasaya sürülmeden önce şartları test etmek imkansız olmasa da, son derece zor.

Simulink sayesinde programcı olmayan kişiler tarafından eksiksiz ve anlaşılabilir nitelikte bir ön test yapabilir. Benzer şekilde yazılımcı ekipte aynı sıfır çabayla bunu yapılabilir.

Bir sonraki konumuzda Simulink’in avantaj ve dezavantajlarından bahsedeceğiz.

Kaynak: Getting Started with Simulink By Luca Zamboni

Paylaşır mısınız?
Furkan Gümüş
Karadeniz Teknik Üniversitesi Makine Mühendisliği bölümü mezunu. Yüksek lisans eğitimini Marmara Üniversitesinde Mekatronik alanında tamamladı. Uzmanlığı Robot ve Mekatronik Sistemler, Otomatik Kontrol, Mekanik Tasarım, Gömülü Sistem ve Kontrol Yazılımlarıdır.

Düşünceleriniz Nedir?

Lütfen yorumunuzu buraya yazınız.
Lütfen isminizi buraya yazını.