Image for post
Image for post

Endüstriyel nesnelerin interneti, robotik, otonom araçlar, komuta kontrol, silah kontrol gibi sistemler birden fazla karmaşık alt sistemi entegre eden sistemlerdir. Bu sistemler aslında farklı alt sistemlerin bir bir sistem gibi çalışmasını temel alan dağıtık sistemlerdir. Entegre edilen GPS, Radar, motor kontrol, kamera gibi sistemler kendi özel protokolü ve girdi/çıktı ara yüzü ile gelmektedir.

Bir önceki yazıda girdi/çıktı donanımı ve ilgili sürücü yazılımının Girdi/Çıktı Donanım Adaptasyonu ile soyutlandığından bahsetmiştik.

İkinci seviye soyutlama ise cihazın veri, kontrol ve durum mesajlarının ortak bir iletişim yöntemi ile soyutlamasıdır (Alt sistem Adaptasyonu). Böylelikle;

  1. Donanım hazır olmadan diğer birimlerin geliştirilebilmesi ve test edilebilmesi,
  2. Farklı cihazların sisteme…

Image for post
Image for post
Picture: Ankara Nallıhan Bird Paradise

The Need

The software developed as distributed modules need to cooperate at different levels, especially data exchange. For the communication of these applications running in a distributed environment, the middleare software libraries can be used instead of using low level communication libraies. Middleware is seen as a layer between distributed applications and the operating system and communication protocol. It saves high-level applications from complexity by managing all the differences in a heterogeneous system developed with different languages ​​such as C ++, Java, GO, running on different operating systems such as Windows, Linux, Vx-Works and /or having different hardware architectures such as Intel…


Image for post
Image for post

Gömülü sistemler donanımla yakın çalışan sistemlerdir. Bu sistemlerde sensörler ve eyleyiciler(actuator) ile bilgi alışverişi sayısal ya da analog girdi/çıktı yöntemiyle yapılabilir. Kimi zaman daha karmaşık sensör, eyleyici ya da cihazlar sisteme eternet, seri, usb, Mil-STD 1553, Can-Bus gibi veri yolları ve bunlar üzerinden koşan standart yada firma özel protokoller üzerinden erişirler. Bu ara yüzler gerek donanım açısından gerekse sürücü yazılımı açısından farklı ara yüzlere sahip olabilmektedir. Bu durumda herhangi bir donanım değişikliği bütün yazılım modüllerinde değişikliğe sebep olabilecektir. Gömülü sistemlerde bu donanım bağımlılığını azaltmak üzere girdi/çıktı donanımı, iletişim donanımı, sürücü yazılımının (Girdi/Çıktı Donanım Adaptasyonu) soyutlanması sağlanmaktadır.


What is DDS middleware:

Image for post
Image for post

Data Distribution Service (DDS) middleware is used for data transmission in real time systems operating in a distributed environment.


Image for post
Image for post

What a good software engineer/architect should know and what competencies should he/she have are among the most frequently asked questions. This issue has been one of the areas that I have been thinking about and trying to answer. I find it worth examining two studies in this field that I have come across recently. Khalil Smeller has constructed his knowledge on top of each other like ISO layers and interpreted one layer to use the accumulation in the next layer. Kamran Ahmet has created the technology roadmap for positions such as backend developer, frontend developer and devops. Both studies are…


Image for post
Image for post

Open Architecture can be defined as a computer or software architecture that has been developed using open standards and makes it easier to add, change and replace new components. Openness refers to the use of standards that are published and freely available on hardware and software interfaces. The open standard allows development by other companies using the same standard.

In large-scale complex projects, it is critical in terms of time and cost to develop a new product, test it and see that it works correctly in the field. Pioneering studies on open architecture were created to reduce the costs of…


Image for post
Image for post
Picture taken from Nasa news

Robot Operating System (ROS) is a set of open source algorithms, hardware driver software and tools developed to develop robot control software. Even though it has operating system in its name it is not an operating system. It is

  • Communication System (Publish Subscribe and Remote Method Invocation),
  • Framework & Tools (Build system & dependency management, Visualization, Record and Replay)
  • Ecosystem (Language bindings, Drivers, libraries and simulation (Gazebo)).

The first version of ROS was mostly used in academic projects. ROS 2 was developed so that it can be used in commercial projects. The biggest change that came with ROS2 was the…


Image for post
Image for post

ROS robot kontrol yazılımı geliştirmek için geliştirilmiş açık kaynak bir yazılımdır. İsminde işletim sistemi geçmesine rağmen bir işletim sistemi değildir. Temel olarak

  • İletişim altyapısı (yayımla-abone ol tabanlı iletişim ve uzaktan metot çağrısı),
  • Çerçeve yazılımları ve araçlar (görselleştirme, yapılandırma altyapısı, kayıt yeniden oynatma) ve
  • Ekosistem (simülatörler, algoritmalar, sürücüler ve programlama dili arayüzleri vb.) bütünüdür.

İlk versiyon ROS daha çok akademik projelerde kullanım alanı görüyordu. Ticari projelerde de kullanım sağlamak üzere ROS geliştirilerek şu anki versiyon olan ROS2 yayımlandı. ROS2 ile gelen en büyük değişiklik iletişim katmanı için DDS ara katmanının seçilmesi oldu. Savunma sanayi projelerinde rüştünü ispat etmiş olan DDS ara…


Image for post
Image for post
Çubuk Karagöl, Ankara

Veri Tasarım Kalıpları

DDS ile geliştirilen bir sistemde yüzlerce konu (topic) olabilir. Hangi konunun hangi servis kalitesi ile iletilmesini ayrı ayrı düşünmek ve karar vermek zor olacaktır. DDS kullanan sistemlerdeki veri iletimini incelediğimizde belirli davranışları gösteren konuları bir araya getirebileceğimizi görürüz. Bu sınıflandırmaları Kullanım Durumları ya da Veri Kalıpları (pattern) kalıpları olarak sınıflandırabiliriz. Tespit edilmiş ve kullanılan DDS Veri Kalıpları aşağıdaki gibidir:

Sürekli Veri (Continuous Data) Kalıbı:

Genellikle bir sensörden periyodik olarak okuma ölçüm verileri bu sınıflandırmaya girer. Örnek olarak sıcaklık verisi güncellemesi, hisse senedi güncellemeleri, araçların pozisyon ve hız bilgi güncellemesi verilebilir.

Sürekli Veri kalıbına uyan konular için DDS servis kalitesi ayarları…


Image for post
Image for post

Dünyanın yeni petrolüveri’ kavramı verinin önemini vurgulamak için kullanılan bir deyiştir. Sistemler birbiri ile entegre oldukça veri mimarisinin önemi artmaktadır. Günümüzde Akıllı Şehirler, Endüstriyel Nesnelerin İnterneti, Sistemlerin Sistemi Entegrasyonu ve makine öğrenmesi alanları verinin etkin bir şekilde işlenmesini öne çıkartmaktadır. Geleneksel kurumsal mimarilerde verinin veri tabanında etkin olarak tutulmasını ve erişilmesini temel alan Veri Modelleme temel önemde idi. Günümüzde ise verinin nasıl toplanacağı, saklanacağı, dönüştürüleceği, dağıtılacağı ve kullanılacağını tanımlamak üzere veri modeli, kurallar ve standartların belirlendiği daha kapsamlı kavrama Veri Mimarisi denmektedir.

Veri mimarisi, model tabanlı geliştirme, servisler ve sistemler arası ara yüzleri tanımlama, entegrasyon ara yüzü tanımlama ve…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store